s3: Consolidate getting the name out of a pipes_struct
authorVolker Lendecke <vl@samba.org>
Sun, 8 Nov 2009 09:43:34 +0000 (10:43 +0100)
committerVolker Lendecke <vl@samba.org>
Sun, 8 Nov 2009 12:12:14 +0000 (13:12 +0100)
source3/include/proto.h
source3/rpc_server/srv_lsa_hnd.c
source3/rpc_server/srv_pipe.c
source3/rpc_server/srv_pipe_hnd.c

index a0355732e7886aad48989e5288da6d01b5d60fa5..3d62e505b36ff3cbbb29a9c2dba619842e2c6501 100644 (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,
index 695164679f50eacf65418a29de35f629dd70fdd4..4233b6f0e6d8d49d41c96e5ffdb78cb7d8650bd2 100644 (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;
        }
index 90eb4f96c3f2d9cc2f12ab2cf35601a754e03c51..17cc13edf5a39ba7c0a063b3ede1d89803cf3ff6 100644 (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 */
 
index 254241c74368a24816d3fd02905a82906c7b88ae..e7d94d70ec2418a5510934dbc54faefcac138835 100644 (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;
        }