From ce7166752c7881e8c309e042f56fceb53e64afcb Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Mon, 12 Sep 2005 13:16:56 +0000 Subject: 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) --- source4/librpc/idl/krb5pac.idl | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'source4/librpc/idl') 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 ); -- cgit