diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-01-09 08:34:05 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:08:34 -0500 |
commit | 6836f5d0b167027908da9a08b9b219520997b563 (patch) | |
tree | be9fcc45bd4cb753a7be128a4b9fed39666ed010 /source4/rpc_server | |
parent | 3feb4423f3ec35dd3dfa2c358797a4f6a86b2fb5 (diff) | |
download | samba-6836f5d0b167027908da9a08b9b219520997b563.tar.gz samba-6836f5d0b167027908da9a08b9b219520997b563.tar.bz2 samba-6836f5d0b167027908da9a08b9b219520997b563.zip |
r4616: the first phase in the addition of proper support for
dcerpc_alter_context and multiple context_ids in the dcerpc client
library.
This stage does the following:
- split "struct dcerpc_pipe" into two parts, the main part being "struct dcerpc_connection", which
contains all the parts not dependent on the context, and "struct dcerpc_pipe" which has
the context dependent part. This is similar to the layering in libcli_*() for SMB
- disable the current dcerpc_alter code. I've used a #warning until i
get the 2nd phase finished. I don't know how portable #warning is, but
it won't be long before I add full alter context support anyway, so it won't last long
- cleanup the allocation of dcerpc_pipe structures. The previous code
was quite awkward.
(This used to be commit 4004c69937be7e5dae56f9567ca607f982d395d3)
Diffstat (limited to 'source4/rpc_server')
-rw-r--r-- | source4/rpc_server/remote/dcesrv_remote.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/source4/rpc_server/remote/dcesrv_remote.c b/source4/rpc_server/remote/dcesrv_remote.c index 8feb54a500..83c550974d 100644 --- a/source4/rpc_server/remote/dcesrv_remote.c +++ b/source4/rpc_server/remote/dcesrv_remote.c @@ -105,7 +105,7 @@ static NTSTATUS remote_op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CT name = table->calls[opnum].name; call = &table->calls[opnum]; - if (private->c_pipe->flags & DCERPC_DEBUG_PRINT_IN) { + if (private->c_pipe->conn->flags & DCERPC_DEBUG_PRINT_IN) { ndr_print_function_debug(call->ndr_print, name, NDR_IN | NDR_SET_VALUES, r); } @@ -118,7 +118,8 @@ static NTSTATUS remote_op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CT return NT_STATUS_NET_WRITE_FAULT; } - if ((dce_call->fault_code == 0) && (private->c_pipe->flags & DCERPC_DEBUG_PRINT_OUT)) { + if ((dce_call->fault_code == 0) && + (private->c_pipe->conn->flags & DCERPC_DEBUG_PRINT_OUT)) { ndr_print_function_debug(call->ndr_print, name, NDR_OUT, r); } @@ -212,9 +213,9 @@ static BOOL remote_fill_interface(struct dcesrv_interface *iface, const struct d static BOOL remote_op_interface_by_uuid(struct dcesrv_interface *iface, const char *uuid, uint32_t if_version) { - struct dcerpc_interface_list *l; + const struct dcerpc_interface_list *l; - for (l=dcerpc_pipes;l;l=l->next) { + for (l=librpc_dcerpc_pipes();l;l=l->next) { if (l->table->if_version == if_version && strcmp(l->table->uuid, uuid)==0) { return remote_fill_interface(iface, l->table); @@ -226,9 +227,9 @@ static BOOL remote_op_interface_by_uuid(struct dcesrv_interface *iface, const ch static BOOL remote_op_interface_by_name(struct dcesrv_interface *iface, const char *name) { - struct dcerpc_interface_list *l; + const struct dcerpc_interface_list *l; - for (l=dcerpc_pipes;l;l=l->next) { + for (l=librpc_dcerpc_pipes();l;l=l->next) { if (strcmp(l->table->name, name)==0) { return remote_fill_interface(iface, l->table); } |