diff options
author | Stefan Metzmacher <metze@samba.org> | 2008-07-22 12:28:07 +0200 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2008-07-23 23:10:05 +0200 |
commit | ae7bae6147c3fa49c9e600e67177944b3eb37797 (patch) | |
tree | 91603215fdea18337bdb4ee87851c6f26b553558 /source3/librpc | |
parent | 6b7134e2d3af3d6df942fe50818dfb47fb873214 (diff) | |
download | samba-ae7bae6147c3fa49c9e600e67177944b3eb37797.tar.gz samba-ae7bae6147c3fa49c9e600e67177944b3eb37797.tar.bz2 samba-ae7bae6147c3fa49c9e600e67177944b3eb37797.zip |
drsblobs.idl: add idl for Primary:Kerberos-Newer-Keys blob in supplementalCredentials
metze
(cherry picked from commit 97b7901afbccc9647ad2958d4cf12300de2655d1)
(This used to be commit 5db983d1538453f0ba35d67a099396a18c7ab736)
Diffstat (limited to 'source3/librpc')
-rw-r--r-- | source3/librpc/idl/drsblobs.idl | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/source3/librpc/idl/drsblobs.idl b/source3/librpc/idl/drsblobs.idl index b6d444ff0d..2d82976f4d 100644 --- a/source3/librpc/idl/drsblobs.idl +++ b/source3/librpc/idl/drsblobs.idl @@ -215,6 +215,9 @@ interface drsblobs { * as non termiated UTF16 strings with * a UTF16 NULL byte as separator * + * 'Primary:Kerberos-Newer-Keys': + * ... + * * 'Primary:Kerberos': * ... * @@ -303,6 +306,40 @@ interface drsblobs { [in] package_PrimaryKerberosBlob blob ); + typedef struct { + [value(0)] uint32 unknown1; + [value(0)] uint32 unknown2; + [value(0x00001000)] uint32 unknown3; /* could the the iterator for the AES key creation */ + uint32 keytype; + [value((value?value->length:0))] uint32 value_len; + [relative,subcontext(0),subcontext_size(value_len),flag(NDR_REMAINING)] DATA_BLOB *value; + } package_PrimaryKerberosNewerKey; + + typedef struct { + uint16 num_keys; + [value(0)] uint16 unknown1; + uint16 num_old_keys1; + uint16 num_old_keys2; + package_PrimaryKerberosString salt; + [value(0x00001000)] uint32 unknown2; /* could the the iterator for the AES key creation */ + package_PrimaryKerberosNewerKey keys[num_keys]; + package_PrimaryKerberosNewerKey old_keys1[num_old_keys1]; + package_PrimaryKerberosNewerKey old_keys2[num_old_keys2]; + } package_PrimaryKerberosNewerCtr4; + + typedef [nodiscriminant] union { + [case(4)] package_PrimaryKerberosNewerCtr4 ctr4; + } package_PrimaryKerberosNewerCtr; + + typedef [public] struct { + [value(4)] uint32 version; + [switch_is(version)] package_PrimaryKerberosNewerCtr ctr; + } package_PrimaryKerberosNewerBlob; + + void decode_PrimaryKerberosNewer( + [in] package_PrimaryKerberosNewerBlob blob + ); + typedef [public] struct { [flag(STR_NOTERM|NDR_REMAINING)] string cleartext; } package_PrimaryCLEARTEXTBlob; |