diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/rpc_server/rpc_handles.c | 15 | ||||
-rw-r--r-- | source3/rpc_server/srv_pipe.c | 22 | ||||
-rw-r--r-- | source3/rpc_server/srv_pipe_hnd.c | 16 | ||||
-rwxr-xr-x | source3/wscript_build | 3 |
4 files changed, 36 insertions, 20 deletions
diff --git a/source3/rpc_server/rpc_handles.c b/source3/rpc_server/rpc_handles.c index 70c3919e61..409299abce 100644 --- a/source3/rpc_server/rpc_handles.c +++ b/source3/rpc_server/rpc_handles.c @@ -27,6 +27,7 @@ #include "rpc_server/rpc_pipes.h" #include "../libcli/security/security.h" #include "lib/tsocket/tsocket.h" +#include "librpc/ndr/ndr_table.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_RPC_SRV @@ -218,7 +219,8 @@ bool init_pipe_handles(struct pipes_struct *p, const struct ndr_syntax_id *synta DEBUG(10,("init_pipe_handle_list: created handle list for " "pipe %s\n", - get_pipe_name_from_syntax(talloc_tos(), syntax))); + ndr_interface_name(&syntax->uuid, + syntax->if_version))); } /* @@ -235,7 +237,7 @@ bool init_pipe_handles(struct pipes_struct *p, const struct ndr_syntax_id *synta DEBUG(10,("init_pipe_handle_list: pipe_handles ref count = %lu for " "pipe %s\n", (unsigned long)p->pipe_handles->pipe_ref_count, - get_pipe_name_from_syntax(talloc_tos(), syntax))); + ndr_interface_name(&syntax->uuid, syntax->if_version))); return True; } @@ -412,8 +414,8 @@ void close_policy_by_pipe(struct pipes_struct *p) TALLOC_FREE(p->pipe_handles); DEBUG(10,("Deleted handle list for RPC connection %s\n", - get_pipe_name_from_syntax(talloc_tos(), - &p->contexts->syntax))); + ndr_interface_name(&p->contexts->syntax.uuid, + p->contexts->syntax.if_version))); } } @@ -456,8 +458,9 @@ void *_policy_handle_create(struct pipes_struct *p, struct policy_handle *hnd, if (p->pipe_handles->count > MAX_OPEN_POLS) { DEBUG(0, ("ERROR: Too many handles (%d) for RPC connection %s\n", (int) p->pipe_handles->count, - get_pipe_name_from_syntax(talloc_tos(), - &p->contexts->syntax))); + ndr_interface_name(&p->contexts->syntax.uuid, + p->contexts->syntax.if_version))); + *pstatus = NT_STATUS_INSUFFICIENT_RESOURCES; return NULL; } diff --git a/source3/rpc_server/srv_pipe.c b/source3/rpc_server/srv_pipe.c index c46c98acc1..0807405743 100644 --- a/source3/rpc_server/srv_pipe.c +++ b/source3/rpc_server/srv_pipe.c @@ -41,6 +41,7 @@ #include "rpc_server/srv_pipe.h" #include "rpc_server/rpc_contexts.h" #include "lib/param/param.h" +#include "librpc/ndr/ndr_table.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_RPC_SRV @@ -336,7 +337,8 @@ static bool check_bind_req(struct pipes_struct *p, bool ok; DEBUG(3,("check_bind_req for %s\n", - get_pipe_name_from_syntax(talloc_tos(), abstract))); + ndr_interface_name(&abstract->uuid, + abstract->if_version))); /* we have to check all now since win2k introduced a new UUID on the lsaprpc pipe */ if (rpc_srv_pipe_exists_by_id(abstract) && @@ -580,7 +582,8 @@ static bool api_pipe_bind_req(struct pipes_struct *p, if (NT_STATUS_IS_ERR(status)) { DEBUG(3,("api_pipe_bind_req: Unknown rpc service name " "%s in bind request.\n", - get_pipe_name_from_syntax(talloc_tos(), &id))); + ndr_interface_name(&id.uuid, + id.if_version))); return setup_bind_nak(p, pkt); } @@ -595,8 +598,10 @@ static bool api_pipe_bind_req(struct pipes_struct *p, } else { DEBUG(0, ("module %s doesn't provide functions for " "pipe %s!\n", - get_pipe_name_from_syntax(talloc_tos(), &id), - get_pipe_name_from_syntax(talloc_tos(), &id))); + ndr_interface_name(&id.uuid, + id.if_version), + ndr_interface_name(&id.uuid, + id.if_version))); return setup_bind_nak(p, pkt); } } @@ -1206,7 +1211,8 @@ static bool api_pipe_request(struct pipes_struct *p, TALLOC_CTX *frame = talloc_stackframe(); DEBUG(5, ("Requested %s rpc service\n", - get_pipe_name_from_syntax(talloc_tos(), &pipe_fns->syntax))); + ndr_interface_name(&pipe_fns->syntax.uuid, + pipe_fns->syntax.if_version))); ret = api_rpcTNP(p, pkt, pipe_fns->cmds, pipe_fns->n_cmds, &pipe_fns->syntax); @@ -1237,7 +1243,7 @@ static bool api_rpcTNP(struct pipes_struct *p, struct ncacn_packet *pkt, /* interpret the command */ DEBUG(4,("api_rpcTNP: %s op 0x%x - ", - get_pipe_name_from_syntax(talloc_tos(), syntax), + ndr_interface_name(&syntax->uuid, syntax->if_version), pkt->u.request.opnum)); if (DEBUGLEVEL >= 50) { @@ -1276,7 +1282,7 @@ static bool api_rpcTNP(struct pipes_struct *p, struct ncacn_packet *pkt, /* do the actual command */ if(!api_rpc_cmds[fn_num].fn(p)) { DEBUG(0,("api_rpcTNP: %s: %s failed.\n", - get_pipe_name_from_syntax(talloc_tos(), syntax), + ndr_interface_name(&syntax->uuid, syntax->if_version), api_rpc_cmds[fn_num].name)); data_blob_free(&p->out_data.rdata); return False; @@ -1299,7 +1305,7 @@ static bool api_rpcTNP(struct pipes_struct *p, struct ncacn_packet *pkt, } DEBUG(5,("api_rpcTNP: called %s successfully\n", - get_pipe_name_from_syntax(talloc_tos(), syntax))); + ndr_interface_name(&syntax->uuid, syntax->if_version))); /* Check for buffer underflow in rpc parsing */ if ((DEBUGLEVEL >= 10) && diff --git a/source3/rpc_server/srv_pipe_hnd.c b/source3/rpc_server/srv_pipe_hnd.c index 3f8ff44767..fcbfa77c7b 100644 --- a/source3/rpc_server/srv_pipe_hnd.c +++ b/source3/rpc_server/srv_pipe_hnd.c @@ -30,6 +30,7 @@ #include "rpc_server/rpc_config.h" #include "../lib/tsocket/tsocket.h" #include "../lib/util/tevent_ntstatus.h" +#include "librpc/ndr/ndr_table.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_RPC_SRV @@ -281,7 +282,8 @@ static ssize_t read_from_internal_pipe(struct pipes_struct *p, char *data, } DEBUG(6,(" name: %s len: %u\n", - get_pipe_name_from_syntax(talloc_tos(), &p->contexts->syntax), + ndr_interface_name(&p->contexts->syntax.uuid, + p->contexts->syntax.if_version), (unsigned int)n)); /* @@ -299,7 +301,8 @@ static ssize_t read_from_internal_pipe(struct pipes_struct *p, char *data, DEBUG(5,("read_from_pipe: too large read (%u) requested on " "pipe %s. We can only service %d sized reads.\n", (unsigned int)n, - get_pipe_name_from_syntax(talloc_tos(), &p->contexts->syntax), + ndr_interface_name(&p->contexts->syntax.uuid, + p->contexts->syntax.if_version), RPC_MAX_PDU_FRAG_LEN )); n = RPC_MAX_PDU_FRAG_LEN; } @@ -320,7 +323,8 @@ static ssize_t read_from_internal_pipe(struct pipes_struct *p, char *data, DEBUG(10,("read_from_pipe: %s: current_pdu_len = %u, " "current_pdu_sent = %u returning %d bytes.\n", - get_pipe_name_from_syntax(talloc_tos(), &p->contexts->syntax), + ndr_interface_name(&p->contexts->syntax.uuid, + p->contexts->syntax.if_version), (unsigned int)p->out_data.frag.length, (unsigned int)p->out_data.current_pdu_sent, (int)data_returned)); @@ -341,7 +345,8 @@ static ssize_t read_from_internal_pipe(struct pipes_struct *p, char *data, DEBUG(10,("read_from_pipe: %s: fault_state = %d : data_sent_length " "= %u, p->out_data.rdata.length = %u.\n", - get_pipe_name_from_syntax(talloc_tos(), &p->contexts->syntax), + ndr_interface_name(&p->contexts->syntax.uuid, + p->contexts->syntax.if_version), (int)p->fault_state, (unsigned int)p->out_data.data_sent_length, (unsigned int)p->out_data.rdata.length)); @@ -363,7 +368,8 @@ static ssize_t read_from_internal_pipe(struct pipes_struct *p, char *data, if(!create_next_pdu(p)) { DEBUG(0,("read_from_pipe: %s: create_next_pdu failed.\n", - get_pipe_name_from_syntax(talloc_tos(), &p->contexts->syntax))); + ndr_interface_name(&p->contexts->syntax.uuid, + p->contexts->syntax.if_version))); return -1; } diff --git a/source3/wscript_build b/source3/wscript_build index e4417eaa0d..7a12f17cd8 100755 --- a/source3/wscript_build +++ b/source3/wscript_build @@ -672,7 +672,8 @@ bld.SAMBA3_LIBRARY('msrpc3', deps='''ndr ndr-standard RPC_NDR_EPMAPPER NTLMSSP_COMMON COMMON_SCHANNEL LIBCLI_AUTH LIBTSOCKET gse dcerpc-binding - libsmb''', + libsmb + ndr-table''', vars=locals(), private_library=True) |