diff options
author | Volker Lendecke <vl@samba.org> | 2009-11-08 10:43:34 +0100 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2009-11-08 13:12:14 +0100 |
commit | 9621306351cdb469ef393a6d8cbeea456bc4bd9f (patch) | |
tree | f3317aca52f1ca5c3cc9f7ed4a429250295941d4 | |
parent | daa964013bc5d036f4da571ce22c0052ef40943a (diff) | |
download | samba-9621306351cdb469ef393a6d8cbeea456bc4bd9f.tar.gz samba-9621306351cdb469ef393a6d8cbeea456bc4bd9f.tar.bz2 samba-9621306351cdb469ef393a6d8cbeea456bc4bd9f.zip |
s3: Consolidate getting the name out of a pipes_struct
-rw-r--r-- | source3/include/proto.h | 1 | ||||
-rw-r--r-- | source3/rpc_server/srv_lsa_hnd.c | 5 | ||||
-rw-r--r-- | source3/rpc_server/srv_pipe.c | 44 | ||||
-rw-r--r-- | source3/rpc_server/srv_pipe_hnd.c | 49 |
4 files changed, 39 insertions, 60 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index a0355732e7..3d62e505b3 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -5836,6 +5836,7 @@ bool api_pipe_request(pipes_struct *p); pipes_struct *get_first_internal_pipe(void); pipes_struct *get_next_internal_pipe(pipes_struct *p); +const char *get_pipe_name_tos(struct pipes_struct *p); bool fsp_is_np(struct files_struct *fsp); NTSTATUS np_open(TALLOC_CTX *mem_ctx, const char *name, diff --git a/source3/rpc_server/srv_lsa_hnd.c b/source3/rpc_server/srv_lsa_hnd.c index 695164679f..4233b6f0e6 100644 --- a/source3/rpc_server/srv_lsa_hnd.c +++ b/source3/rpc_server/srv_lsa_hnd.c @@ -286,8 +286,7 @@ void close_policy_by_pipe(pipes_struct *p) SAFE_FREE(p->pipe_handles); DEBUG(10,("close_policy_by_pipe: deleted handle list for " - "pipe %s\n", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); + "pipe %s\n", get_pipe_name_tos(p))); } } @@ -329,7 +328,7 @@ void *_policy_handle_create(struct pipes_struct *p, struct policy_handle *hnd, if (p->pipe_handles->count > MAX_OPEN_POLS) { DEBUG(0, ("policy_handle_create: ERROR: too many handles (%d) " "on pipe %s.\n", (int)p->pipe_handles->count, - get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); + get_pipe_name_tos(p))); *pstatus = NT_STATUS_INSUFFICIENT_RESOURCES; return NULL; } diff --git a/source3/rpc_server/srv_pipe.c b/source3/rpc_server/srv_pipe.c index 90eb4f96c3..17cc13edf5 100644 --- a/source3/rpc_server/srv_pipe.c +++ b/source3/rpc_server/srv_pipe.c @@ -647,7 +647,7 @@ static bool pipe_ntlmssp_verify_final(pipes_struct *p, DATA_BLOB *p_resp_blob) bool ret; DEBUG(5,("pipe_ntlmssp_verify_final: pipe %s checking user details\n", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); + get_pipe_name_tos(p))); ZERO_STRUCT(reply); @@ -671,8 +671,7 @@ static bool pipe_ntlmssp_verify_final(pipes_struct *p, DATA_BLOB *p_resp_blob) if (!(a->ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_SIGN)) { DEBUG(0,("pipe_ntlmssp_verify_final: pipe %s : packet integrity requested " "but client declined signing.\n", - get_pipe_name_from_syntax(talloc_tos(), - &p->syntax))); + get_pipe_name_tos(p))); return False; } } @@ -680,8 +679,7 @@ static bool pipe_ntlmssp_verify_final(pipes_struct *p, DATA_BLOB *p_resp_blob) if (!(a->ntlmssp_state->neg_flags & NTLMSSP_NEGOTIATE_SEAL)) { DEBUG(0,("pipe_ntlmssp_verify_final: pipe %s : packet privacy requested " "but client declined sealing.\n", - get_pipe_name_from_syntax(talloc_tos(), - &p->syntax))); + get_pipe_name_tos(p))); return False; } } @@ -996,8 +994,7 @@ static bool check_bind_req(struct pipes_struct *p, int i=0; struct pipe_rpc_fns *context_fns; - DEBUG(3,("check_bind_req for %s\n", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); + DEBUG(3,("check_bind_req for %s\n", get_pipe_name_tos(p))); /* we have to check all now since win2k introduced a new UUID on the lsaprpc pipe */ @@ -1609,8 +1606,7 @@ bool api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p) /* No rebinds on a bound pipe - use alter context. */ if (p->pipe_bound) { DEBUG(2,("api_pipe_bind_req: rejecting bind request on bound " - "pipe %s.\n", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); + "pipe %s.\n", get_pipe_name_tos(p))); return setup_bind_nak(p); } @@ -1693,8 +1689,7 @@ bool api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p) for (i = 0; i < rpc_lookup_size; i++) { if (strequal(rpc_lookup[i].pipe.clnt, - get_pipe_name_from_syntax(talloc_tos(), - &p->syntax))) { + get_pipe_name_tos(p))) { DEBUG(3, ("api_pipe_bind_req: \\PIPE\\%s -> \\PIPE\\%s\n", rpc_lookup[i].pipe.clnt, rpc_lookup[i].pipe.srv)); break; @@ -1703,11 +1698,8 @@ bool api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p) if (i == rpc_lookup_size) { DEBUG(0, ("module %s doesn't provide functions for " - "pipe %s!\n", - get_pipe_name_from_syntax(talloc_tos(), - &p->syntax), - get_pipe_name_from_syntax(talloc_tos(), - &p->syntax))); + "pipe %s!\n", get_pipe_name_tos(p), + get_pipe_name_tos(p))); goto err_exit; } } @@ -2364,8 +2356,7 @@ bool api_pipe_request(pipes_struct *p) changed_user = True; } - DEBUG(5, ("Requested \\PIPE\\%s\n", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); + DEBUG(5, ("Requested \\PIPE\\%s\n", get_pipe_name_tos(p))); /* get the set of RPC functions for this context */ @@ -2378,8 +2369,7 @@ bool api_pipe_request(pipes_struct *p) } else { DEBUG(0,("api_pipe_request: No rpc function table associated with context [%d] on pipe [%s]\n", - p->hdr_req.context_id, - get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); + p->hdr_req.context_id, get_pipe_name_tos(p))); } if (changed_user) { @@ -2400,14 +2390,12 @@ static bool api_rpcTNP(pipes_struct *p, uint32 offset1, offset2; /* interpret the command */ - DEBUG(4,("api_rpcTNP: %s op 0x%x - ", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax), + DEBUG(4,("api_rpcTNP: %s op 0x%x - ", get_pipe_name_tos(p), p->hdr_req.opnum)); if (DEBUGLEVEL >= 50) { fstring name; - slprintf(name, sizeof(name)-1, "in_%s", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax)); + slprintf(name, sizeof(name)-1, "in_%s", get_pipe_name_tos(p)); prs_dump(name, p->hdr_req.opnum, &p->in_data.data); } @@ -2435,8 +2423,7 @@ static bool api_rpcTNP(pipes_struct *p, fn_num, api_rpc_cmds[fn_num].fn)); /* 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(), &p->syntax), + DEBUG(0,("api_rpcTNP: %s: %s failed.\n", get_pipe_name_tos(p), api_rpc_cmds[fn_num].name)); prs_mem_free(&p->out_data.rdata); return False; @@ -2460,14 +2447,13 @@ static bool api_rpcTNP(pipes_struct *p, prs_set_offset(&p->out_data.rdata, offset1); if (DEBUGLEVEL >= 50) { fstring name; - slprintf(name, sizeof(name)-1, "out_%s", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax)); + slprintf(name, sizeof(name)-1, "out_%s", get_pipe_name_tos(p)); prs_dump(name, p->hdr_req.opnum, &p->out_data.rdata); } prs_set_offset(&p->out_data.rdata, offset2); DEBUG(5,("api_rpcTNP: called %s successfully\n", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); + get_pipe_name_tos(p))); /* Check for buffer underflow in rpc parsing */ diff --git a/source3/rpc_server/srv_pipe_hnd.c b/source3/rpc_server/srv_pipe_hnd.c index 254241c743..e7d94d70ec 100644 --- a/source3/rpc_server/srv_pipe_hnd.c +++ b/source3/rpc_server/srv_pipe_hnd.c @@ -55,6 +55,11 @@ pipes_struct *get_next_internal_pipe(pipes_struct *p) return p->next; } +const char *get_pipe_name_tos(struct pipes_struct *p) +{ + return get_pipe_name_from_syntax(talloc_tos(), &p->syntax); +} + /**************************************************************************** Initialise an outgoing packet. ****************************************************************************/ @@ -177,7 +182,7 @@ static void set_incoming_fault(pipes_struct *p) p->in_data.pdu_received_len = 0; p->fault_state = True; DEBUG(10, ("set_incoming_fault: Setting fault state on pipe %s\n", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); + get_pipe_name_tos(p))); } /**************************************************************************** @@ -344,10 +349,8 @@ static void free_pipe_context(pipes_struct *p) "%lu\n", (unsigned long)talloc_total_size(p->mem_ctx) )); talloc_free_children(p->mem_ctx); } else { - p->mem_ctx = talloc_init( - "pipe %s %p", get_pipe_name_from_syntax(talloc_tos(), - &p->syntax), - p); + p->mem_ctx = talloc_init("pipe %s %p", get_pipe_name_tos(p), + p); if (p->mem_ctx == NULL) { p->fault_state = True; } @@ -515,7 +518,7 @@ static void process_complete_pdu(pipes_struct *p) if(p->fault_state) { DEBUG(10,("process_complete_pdu: pipe %s in fault state.\n", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); + get_pipe_name_tos(p))); set_incoming_fault(p); setup_fault_pdu(p, NT_STATUS(DCERPC_FAULT_OP_RNG_ERROR)); return; @@ -544,14 +547,12 @@ static void process_complete_pdu(pipes_struct *p) case DCERPC_PKT_PING: /* CL request - ignore... */ DEBUG(0,("process_complete_pdu: Error. Connectionless packet type %u received on pipe %s.\n", (unsigned int)p->hdr.pkt_type, - get_pipe_name_from_syntax(talloc_tos(), - &p->syntax))); + get_pipe_name_tos(p))); break; case DCERPC_PKT_RESPONSE: /* No responses here. */ DEBUG(0,("process_complete_pdu: Error. DCERPC_PKT_RESPONSE received from client on pipe %s.\n", - get_pipe_name_from_syntax(talloc_tos(), - &p->syntax))); + get_pipe_name_tos(p))); break; case DCERPC_PKT_FAULT: @@ -564,8 +565,7 @@ static void process_complete_pdu(pipes_struct *p) case DCERPC_PKT_CANCEL_ACK: DEBUG(0,("process_complete_pdu: Error. Connectionless packet type %u received on pipe %s.\n", (unsigned int)p->hdr.pkt_type, - get_pipe_name_from_syntax(talloc_tos(), - &p->syntax))); + get_pipe_name_tos(p))); break; case DCERPC_PKT_BIND: @@ -581,8 +581,7 @@ static void process_complete_pdu(pipes_struct *p) case DCERPC_PKT_BIND_NAK: DEBUG(0,("process_complete_pdu: Error. DCERPC_PKT_BINDACK/DCERPC_PKT_BINDNACK packet type %u received on pipe %s.\n", (unsigned int)p->hdr.pkt_type, - get_pipe_name_from_syntax(talloc_tos(), - &p->syntax))); + get_pipe_name_tos(p))); break; @@ -597,8 +596,7 @@ static void process_complete_pdu(pipes_struct *p) case DCERPC_PKT_ALTER_RESP: DEBUG(0,("process_complete_pdu: Error. DCERPC_PKT_ALTER_RESP on pipe %s: Should only be server -> client.\n", - get_pipe_name_from_syntax(talloc_tos(), - &p->syntax))); + get_pipe_name_tos(p))); break; case DCERPC_PKT_AUTH3: @@ -612,8 +610,7 @@ static void process_complete_pdu(pipes_struct *p) case DCERPC_PKT_SHUTDOWN: DEBUG(0,("process_complete_pdu: Error. DCERPC_PKT_SHUTDOWN on pipe %s: Should only be server -> client.\n", - get_pipe_name_from_syntax(talloc_tos(), - &p->syntax))); + get_pipe_name_tos(p))); break; case DCERPC_PKT_CO_CANCEL: @@ -652,8 +649,7 @@ static void process_complete_pdu(pipes_struct *p) if (!reply) { DEBUG(3,("process_complete_pdu: DCE/RPC fault sent on " - "pipe %s\n", get_pipe_name_from_syntax(talloc_tos(), - &p->syntax))); + "pipe %s\n", get_pipe_name_tos(p))); set_incoming_fault(p); setup_fault_pdu(p, NT_STATUS(DCERPC_FAULT_OP_RNG_ERROR)); prs_mem_free(&rpc_in); @@ -808,8 +804,7 @@ static ssize_t read_from_internal_pipe(struct pipes_struct *p, char *data, size_ return -1; } - DEBUG(6,(" name: %s len: %u\n", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax), + DEBUG(6,(" name: %s len: %u\n", get_pipe_name_tos(p), (unsigned int)n)); /* @@ -826,8 +821,7 @@ static ssize_t read_from_internal_pipe(struct pipes_struct *p, char *data, size_ if(n > RPC_MAX_PDU_FRAG_LEN) { 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->syntax), + (unsigned int)n, get_pipe_name_tos(p), RPC_MAX_PDU_FRAG_LEN )); n = RPC_MAX_PDU_FRAG_LEN; } @@ -848,7 +842,7 @@ static ssize_t read_from_internal_pipe(struct pipes_struct *p, char *data, size_ 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->syntax), + get_pipe_name_tos(p), (unsigned int)prs_offset(&p->out_data.frag), (unsigned int)p->out_data.current_pdu_sent, (int)data_returned)); @@ -869,8 +863,7 @@ static ssize_t read_from_internal_pipe(struct pipes_struct *p, char *data, size_ DEBUG(10,("read_from_pipe: %s: fault_state = %d : data_sent_length " "= %u, prs_offset(&p->out_data.rdata) = %u.\n", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax), - (int)p->fault_state, + get_pipe_name_tos(p), (int)p->fault_state, (unsigned int)p->out_data.data_sent_length, (unsigned int)prs_offset(&p->out_data.rdata) )); @@ -891,7 +884,7 @@ static ssize_t read_from_internal_pipe(struct pipes_struct *p, char *data, size_ if(!create_next_pdu(p)) { DEBUG(0,("read_from_pipe: %s: create_next_pdu failed.\n", - get_pipe_name_from_syntax(talloc_tos(), &p->syntax))); + get_pipe_name_tos(p))); return -1; } |