summaryrefslogtreecommitdiffstats
path: root/source/librpc/rpc/dcerpc.h
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2007-02-23 11:00:20 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:48:48 -0500
commit2d8c85397d9027485ed6dbdcca87cc1ec84c7b76 (patch)
tree02a447dd2d29be650a97f9de55f9a3c4427b1e70 /source/librpc/rpc/dcerpc.h
parent22bc6d541e9de2dc494cda154d6fabbc3c907da8 (diff)
downloadsamba-2d8c85397d9027485ed6dbdcca87cc1ec84c7b76.tar.gz
samba-2d8c85397d9027485ed6dbdcca87cc1ec84c7b76.tar.xz
samba-2d8c85397d9027485ed6dbdcca87cc1ec84c7b76.zip
r21515: add some more PFC_FLAGS from the DCERPC spec, and fix some names
also make it possible to pass and get the assoc_group_id for a pipe. also make it possible to pass the DCERPC_PFC_FLAG_CONC_MPX flag in bind requests. From the spec it triggers support for concurrent multiplexing on a single connection. w2k3 uses the assoc_group_id feature when it becomes a domain controller of an existing domain. Know the ugly part, with this it's possible to use a policy handle from one connection on a different one... typically the DsBind() call is on the 1st connection while DsGetNCChanges() call using the first connections bind handle are on the 2nd connection. The second connection also has the DCERPC_PFC_FLAG_CONC_MPX flag attached, but that doesn't seem to be related to the cross connection handle usage Can anyone think of a nice way to implement the assoc_group_id stuff in our server? metze
Diffstat (limited to 'source/librpc/rpc/dcerpc.h')
-rw-r--r--source/librpc/rpc/dcerpc.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/librpc/rpc/dcerpc.h b/source/librpc/rpc/dcerpc.h
index 6bde842371d..b9d0f395ee8 100644
--- a/source/librpc/rpc/dcerpc.h
+++ b/source/librpc/rpc/dcerpc.h
@@ -94,6 +94,8 @@ struct dcerpc_connection {
struct dcerpc_pipe {
uint32_t context_id;
+ uint32_t assoc_group_id;
+
struct dcerpc_syntax_id syntax;
struct dcerpc_syntax_id transfer_syntax;
@@ -151,6 +153,9 @@ struct dcerpc_pipe {
/* select NTLM auth */
#define DCERPC_AUTH_NTLM (1<<18)
+/* this triggers the DCERPC_PFC_FLAG_CONC_MPX flag in the bind request */
+#define DCERPC_CONCURRENT_MULTIPLEX (1<<19)
+
/*
this is used to find pointers to calls
*/
@@ -197,6 +202,7 @@ struct dcerpc_binding {
const char *endpoint;
const char **options;
uint32_t flags;
+ uint32_t assoc_group_id;
};