summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2005-09-12 13:16:56 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:38:05 -0500
commitce7166752c7881e8c309e042f56fceb53e64afcb (patch)
treec91a15e51378b3dbe81eb076dc570b43f486d4ca /source4/librpc
parent76277d1813b4c86f30f785a416c16360c86600d7 (diff)
downloadsamba-ce7166752c7881e8c309e042f56fceb53e64afcb.tar.gz
samba-ce7166752c7881e8c309e042f56fceb53e64afcb.tar.bz2
samba-ce7166752c7881e8c309e042f56fceb53e64afcb.zip
r10171: This seems to work for encoding/decoding a PAC at the buffers only
level (required for signature verification). Andrew Bartlett (This used to be commit 76c224f28885759daae45e02a7637f2451dc84d3)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/krb5pac.idl21
1 files changed, 21 insertions, 0 deletions
diff --git a/source4/librpc/idl/krb5pac.idl b/source4/librpc/idl/krb5pac.idl
index ff920b61bf..976901d421 100644
--- a/source4/librpc/idl/krb5pac.idl
+++ b/source4/librpc/idl/krb5pac.idl
@@ -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
);