r21413: fix pushing of supplementalCredentials
authorStefan Metzmacher <metze@samba.org>
Sun, 18 Feb 2007 00:05:34 +0000 (00:05 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:48:28 +0000 (14:48 -0500)
metze
(This used to be commit 18a5bf850bad9643e09e111d8c2c4e2c2efce989)

source4/librpc/idl/drsblobs.idl

index 096329fc47ffe6f831d51b4a98ea814b987bc4f4..ec2e2163f1ee1fafc2148c4d00375e791bcbe567 100644 (file)
@@ -230,7 +230,7 @@ interface drsblobs {
        /* this are 0x30 (48) whitespaces (0x20) followed by 'P' (0x50) */
        const string SUPPLEMENTAL_CREDENTIALS_PREFIX = "                                                P";
 
-       typedef struct {
+       typedef [gensize] struct {
                [value(SUPPLEMENTAL_CREDENTIALS_PREFIX),charset(UTF16)] uint16 prefix[0x31];
                uint16 num_packages;
                supplementalCredentialsPackage packages[num_packages];
@@ -238,7 +238,7 @@ interface drsblobs {
 
        typedef [public] struct {
                [value(0)] uint32 unknown1;
-               uint32 __ndr_size;
+               [value(ndr_size_supplementalCredentialsSubBlob(&sub, ndr->flags))] uint32 __ndr_size;
                [value(0)] uint32 unknown2;
                [subcontext(0),subcontext_size(__ndr_size)] supplementalCredentialsSubBlob sub;
                [value(0)] uint8 unknown3;
@@ -266,8 +266,8 @@ interface drsblobs {
                uint32 keytype;
                [value((value?value->length:0))] uint32 value_len;
                [relative,subcontext(0),subcontext_size(value_len),flag(NDR_REMAINING)] DATA_BLOB *value;
-               uint32 unknown1;
-               uint32 unknown2;
+               [value(0)] uint32 unknown1;
+               [value(0)] uint32 unknown2;
        } package_PrimaryKerberosKey;
 
        typedef [public] struct {
@@ -275,8 +275,8 @@ interface drsblobs {
                uint16 num_keys1;
                uint16 num_keys2;
                package_PrimaryKerberosString salt;
-               uint32 unknown1;
-               uint32 unknown2;
+               [value(0)] uint32 unknown1;
+               [value(0)] uint32 unknown2;
                package_PrimaryKerberosKey keys1[num_keys1];
                package_PrimaryKerberosKey keys2[num_keys2];
                udlong unknown3_1[num_keys1];