1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-03 13:47:25 +03:00

s3: Consolidate getting the name out of a pipes_struct

This commit is contained in:
Volker Lendecke 2009-11-08 10:43:34 +01:00
parent daa964013b
commit 9621306351
4 changed files with 39 additions and 60 deletions

View File

@ -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,

View File

@ -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;
}

View File

@ -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 */

View File

@ -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;
}