diff options
author | Gerald Carter <jerry@samba.org> | 2003-08-14 21:14:28 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2003-08-14 21:14:28 +0000 |
commit | 96bc2abfcb0dd0912696fad76e43cb217b33e061 (patch) | |
tree | efc101223b2a096f787e23307adf25d7d5c1349c /source/include/ntdomain.h | |
parent | ce5b8d2ec20fe1f4d3d1956020d88272fb84124a (diff) | |
download | samba-96bc2abfcb0dd0912696fad76e43cb217b33e061.tar.gz |
Attempt at fixing bug #283. There however is no solution.
There is a workaround documented in the bug report.
This patch does:
* add server support for the LSA_DS UUID on the lsarpc pipe
* store a list of context_ids/api_structs in the pipe_struct
so that we don't have to lookup the function table for a pipe.
We just match the context_id. Note that a dce/rpc alter_context
does not destroy the previous context so it is possible to
have multiple bindings active on the same pipe. Observed from
standalone win2k sp4 client.
* added server code for DsROleGetPrimaryDOmainInfo() but disabled it
since it causes problems enumerating users and groups from a 2ksp4
domain member in a Samba domain.
Diffstat (limited to 'source/include/ntdomain.h')
-rw-r--r-- | source/include/ntdomain.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/source/include/ntdomain.h b/source/include/ntdomain.h index b6ab4fd0c50..ccbc190c59d 100644 --- a/source/include/ntdomain.h +++ b/source/include/ntdomain.h @@ -165,10 +165,21 @@ struct dcinfo }; +typedef struct pipe_rpc_fns { + + struct pipe_rpc_fns *next, *prev; + + /* RPC function table associated with the current rpc_bind (associated by context) */ + + struct api_struct *cmds; + int n_cmds; + uint32 context_id; + +} PIPE_RPC_FNS; + /* * DCE/RPC-specific samba-internal-specific handling of data on * NamedPipes. - * */ typedef struct pipes_struct @@ -180,7 +191,12 @@ typedef struct pipes_struct fstring name; fstring pipe_srv_name; - + + /* linked list of rpc dispatch tables associated + with the open rpc contexts */ + + PIPE_RPC_FNS *contexts; + RPC_HDR hdr; /* Incoming RPC header. */ RPC_HDR_REQ hdr_req; /* Incoming request header. */ |