diff options
author | Stefan Metzmacher <metze@samba.org> | 2007-01-13 15:28:24 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:40:33 -0500 |
commit | 04103008107442c6f561b35d7824f644470bb3e9 (patch) | |
tree | b96dca28207e8d030e678e94de99b2e0808c87a1 | |
parent | 7dd80e872dacacf95d16b0460119296275a18ab0 (diff) | |
download | samba-04103008107442c6f561b35d7824f644470bb3e9.tar.gz samba-04103008107442c6f561b35d7824f644470bb3e9.tar.xz samba-04103008107442c6f561b35d7824f644470bb3e9.zip |
r20732: add idl for storing the prefixMap attribute
as w2k3 doesn't return it when you ask for we don't know
the exact format, but we assume that it starts with a uint32 version
and as this attribute is not replicated we can chosse our own version...
metze
(This used to be commit cf546b7c182f6a9b636023377b5260d155bc15dd)
-rw-r--r-- | source4/librpc/idl/drsblobs.idl | 31 | ||||
-rw-r--r-- | source4/librpc/idl/drsuapi.idl | 2 |
2 files changed, 32 insertions, 1 deletions
diff --git a/source4/librpc/idl/drsblobs.idl b/source4/librpc/idl/drsblobs.idl index f5147d2a45..96ef65003e 100644 --- a/source4/librpc/idl/drsblobs.idl +++ b/source4/librpc/idl/drsblobs.idl @@ -144,6 +144,37 @@ interface drsblobs { [in] partialAttributeSetBlob blob ); + /* + * prefixMap + * w2k unknown + * w2k3 unknown + * samba4 uses 0x44544442 'DSDB' + * + * as we windows don't return the prefixMap attribute when you ask for + * we don't know the format, but the attribute is not replicated + * so that we can choose our own format... + */ + typedef [v1_enum] enum { + PREFIX_MAP_VERSION_DSDB = 0x44544442 + } prefixMapVersion; + + typedef [nodiscriminant] union { + [case(PREFIX_MAP_VERSION_DSDB)] drsuapi_DsReplicaOIDMapping_Ctr dsdb; + } prefixMapCtr; + + typedef [public] struct { + prefixMapVersion version; + uint32 reserved; + [switch_is(version)] prefixMapCtr ctr; + } prefixMapBlob; + + void decode_prefixMap( + [in] prefixMapBlob blob + ); + + /* + * the cookie for the LDAP dirsync control + */ typedef [nodiscriminant,gensize] union { [case(0)]; [default] replUpToDateVectorBlob uptodateness_vector; diff --git a/source4/librpc/idl/drsuapi.idl b/source4/librpc/idl/drsuapi.idl index e537b94d9c..a605271ad0 100644 --- a/source4/librpc/idl/drsuapi.idl +++ b/source4/librpc/idl/drsuapi.idl @@ -336,7 +336,7 @@ interface drsuapi drsuapi_DsReplicaOID oid; } drsuapi_DsReplicaOIDMapping; - typedef struct { + typedef [public] struct { [range(0,0x100000)] uint32 num_mappings; [size_is(num_mappings)] drsuapi_DsReplicaOIDMapping *mappings; } drsuapi_DsReplicaOIDMapping_Ctr; |