summaryrefslogtreecommitdiff
path: root/source3/librpc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-07-22 12:28:07 +0200
committerMichael Adam <obnox@samba.org>2008-07-23 23:10:05 +0200
commitae7bae6147c3fa49c9e600e67177944b3eb37797 (patch)
tree91603215fdea18337bdb4ee87851c6f26b553558 /source3/librpc
parent6b7134e2d3af3d6df942fe50818dfb47fb873214 (diff)
downloadsamba-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.idl37
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;