summaryrefslogtreecommitdiff
path: root/source4/librpc/idl
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-03-04 12:26:05 +0100
committerGünther Deschner <gd@samba.org>2008-03-06 17:40:05 +0100
commit74dba5e33ce0b7b1d7e092b1029979f26fb8b727 (patch)
treee0151c5cc82fc6ded3cacf387f60f9c954f6bbc8 /source4/librpc/idl
parente24d47ec2e2020d19167061e3c8eea670911dfde (diff)
downloadsamba-74dba5e33ce0b7b1d7e092b1029979f26fb8b727.tar.gz
samba-74dba5e33ce0b7b1d7e092b1029979f26fb8b727.tar.bz2
samba-74dba5e33ce0b7b1d7e092b1029979f26fb8b727.zip
Add new Windows 2008 Kerberos PAC Type 12 (apparently again undocumented).
We need at least to parse this in order to correctly support kerberized session setup from w2k8 as well as local pam_winbind logons using kerberos. Guenther (cherry picked from commit 4ba62d49d740c43cf17ceef1534cf1c8a7e4a130) (This used to be commit ef0971206cda598e6bfad2ff06a3d2e9e8131682)
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r--source4/librpc/idl/krb5pac.idl17
1 files changed, 16 insertions, 1 deletions
diff --git a/source4/librpc/idl/krb5pac.idl b/source4/librpc/idl/krb5pac.idl
index efd4aa860f..eed68e1387 100644
--- a/source4/librpc/idl/krb5pac.idl
+++ b/source4/librpc/idl/krb5pac.idl
@@ -31,6 +31,19 @@ interface krb5pac
samr_RidWithAttributeArray res_groups;
} PAC_LOGON_INFO;
+ typedef struct {
+ [value(2*strlen_m(upn_name))] uint16 upn_size;
+ uint16 unknown1; /* 0x10 */
+ [value(2*strlen_m(domain_name))] uint16 domain_size;
+ uint16 unknown2; /* 0x50 */
+ uint16 unknown3; /* 0x01 */
+ uint16 unknown4;
+ uint32 unknown5;
+ [charset(UTF16)] uint8 upn_name[upn_size+2];
+ [charset(UTF16)] uint8 domain_name[domain_size+2];
+ uint32 unknown6;
+ } PAC_UNKNOWN_12;
+
typedef [public] struct {
[value(0x00081001)] uint32 unknown1;
[value(0xCCCCCCCC)] uint32 unknown2;
@@ -44,7 +57,8 @@ interface krb5pac
PAC_TYPE_SRV_CHECKSUM = 6,
PAC_TYPE_KDC_CHECKSUM = 7,
PAC_TYPE_LOGON_NAME = 10,
- PAC_TYPE_CONSTRAINED_DELEGATION = 11
+ PAC_TYPE_CONSTRAINED_DELEGATION = 11,
+ PAC_TYPE_UNKNOWN_12 = 12
} PAC_TYPE;
typedef [public,nodiscriminant,gensize] union {
@@ -52,6 +66,7 @@ interface krb5pac
[case(PAC_TYPE_SRV_CHECKSUM)] PAC_SIGNATURE_DATA srv_cksum;
[case(PAC_TYPE_KDC_CHECKSUM)] PAC_SIGNATURE_DATA kdc_cksum;
[case(PAC_TYPE_LOGON_NAME)] PAC_LOGON_NAME logon_name;
+ [case(PAC_TYPE_UNKNOWN_12)] PAC_UNKNOWN_12 unknown;
} PAC_INFO;
typedef [public,nopush,nopull,noprint] struct {