summaryrefslogtreecommitdiffstats
path: root/librpc
diff options
context:
space:
mode:
authorSamuel Cabrero <scabrero@zentyal.com>2014-07-04 12:45:59 +0200
committerAndrew Bartlett <abartlet@samba.org>2014-07-07 05:22:33 +0200
commitd747372d28273542298f86530e715e8faaf907f2 (patch)
tree15d7e4fbf16e25ad085b9d0d08cb11c62a7d1670 /librpc
parent331fb7fc64c0a4f64c28001a1644a2a6a923be75 (diff)
downloadsamba-d747372d28273542298f86530e715e8faaf907f2.tar.gz
samba-d747372d28273542298f86530e715e8faaf907f2.tar.xz
samba-d747372d28273542298f86530e715e8faaf907f2.zip
idl:drsuapi: Manage all possible lengths of drsuapi_DsBindInfo
Signed-off-by: Samuel Cabrero <scabrero@zentyal.com> Reviewed-by: Kamen Mazdrashki <kamenim@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Kamen Mazdrashki <kamenim@samba.org>
Diffstat (limited to 'librpc')
-rw-r--r--librpc/idl/drsuapi.idl21
1 files changed, 21 insertions, 0 deletions
diff --git a/librpc/idl/drsuapi.idl b/librpc/idl/drsuapi.idl
index f1c6cd6e91..b78a8655d9 100644
--- a/librpc/idl/drsuapi.idl
+++ b/librpc/idl/drsuapi.idl
@@ -129,6 +129,14 @@ interface drsuapi
uint32 repl_epoch;
} drsuapi_DsBindInfo28;
+ typedef [public] struct {
+ drsuapi_SupportedExtensions supported_extensions;
+ GUID site_guid;
+ uint32 pid;
+ uint32 repl_epoch;
+ drsuapi_SupportedExtensionsExt supported_extensions_ext;
+ } drsuapi_DsBindInfo32;
+
/* this is used by w2k8 */
typedef [public] struct {
drsuapi_SupportedExtensions supported_extensions;
@@ -139,6 +147,17 @@ interface drsuapi
GUID config_dn_guid;
} drsuapi_DsBindInfo48;
+ /* this is used by w2k12 R2 [MS-DRSR] Section 5.39 */
+ typedef [public] struct {
+ drsuapi_SupportedExtensions supported_extensions;
+ GUID site_guid;
+ uint32 pid;
+ uint32 repl_epoch;
+ drsuapi_SupportedExtensionsExt supported_extensions_ext;
+ GUID config_dn_guid;
+ drsuapi_SupportedExtensionsExt supported_capabilities_ext;
+ } drsuapi_DsBindInfo52;
+
typedef [public] struct {
[flag(NDR_REMAINING)] DATA_BLOB info;
} drsuapi_DsBindInfoFallBack;
@@ -146,7 +165,9 @@ interface drsuapi
typedef [nopull, nopush, noprint] [nodiscriminant] union {
[case(24)][subcontext(0), subcontext_size(24)] drsuapi_DsBindInfo24 info24;
[case(28)][subcontext(0), subcontext_size(28)] drsuapi_DsBindInfo28 info28;
+ [case(32)][subcontext(0), subcontext_size(32)] drsuapi_DsBindInfo32 info32;
[case(48)][subcontext(0), subcontext_size(48)] drsuapi_DsBindInfo48 info48;
+ [case(52)][subcontext(0), subcontext_size(52)] drsuapi_DsBindInfo52 info52;
/*
* The size for the defaut case is a bit arbitrary it in fact the value
* of the switch but we can't reference it.