r10171: This seems to work for encoding/decoding a PAC at the buffers only
authorAndrew Bartlett <abartlet@samba.org>
Mon, 12 Sep 2005 13:16:56 +0000 (13:16 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:38:05 +0000 (13:38 -0500)
level (required for signature verification).

Andrew Bartlett
(This used to be commit 76c224f28885759daae45e02a7637f2451dc84d3)

source4/librpc/idl/krb5pac.idl

index ff920b61bf5aee7c8573ad239378a9643dfeaf46..976901d4215c498beacb2d45c8a341edb82ec343 100644 (file)
@@ -64,10 +64,31 @@ interface krb5pac
                PAC_BUFFER buffers[num_buffers];
        } PAC_DATA;
 
+       typedef struct {
+               [flag(NDR_REMAINING)] DATA_BLOB remaining;
+       } DATA_BLOB_REM;
+
+       typedef [public] struct {
+               PAC_TYPE type;
+               uint32 ndr_size;
+               [relative,subcontext(0),subcontext_size(NDR_ROUND(r->ndr_size,8)),flag(NDR_ALIGN8)] DATA_BLOB_REM *info;
+               [value(0)] uint32 _pad; /* Top half of a 64 bit pointer? */
+       } PAC_BUFFER_RAW;
+
+       typedef [public] struct {
+               uint32 num_buffers;
+               uint32 version;
+               PAC_BUFFER_RAW buffers[num_buffers];
+       } PAC_DATA_RAW;
+
        void decode_pac(
                [in] PAC_DATA pac
                );
 
+       void decode_pac_raw(
+               [in] PAC_DATA_RAW pac
+               );
+
        void decode_login_info(
                [in] PAC_LOGON_INFO logon_info
                );