[SCM] Samba Shared Repository - branch master updated

Simo Sorce idra at samba.org
Thu Sep 27 17:14:01 MDT 2012


The branch, master has been updated
       via  a6be8a9 Support UPN_DNS_INFO in the PAC
      from  322e3d4 Fix bug #9209 - Parse of invalid SMB2 create blob can cause smbd crash.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit a6be8a97f705247c1b1cbb0595887d8924740a71
Author: Simo Sorce <idra at samba.org>
Date:   Thu Sep 27 14:12:06 2012 -0400

    Support UPN_DNS_INFO in the PAC
    
    Previously marked as UNKNOWN_12 the UPN_DNS_INFO is defined in MS-PAC
    
    Autobuild-User(master): Simo Sorce <idra at samba.org>
    Autobuild-Date(master): Fri Sep 28 01:13:44 CEST 2012 on sn-devel-104

-----------------------------------------------------------------------

Summary of changes:
 librpc/idl/krb5pac.idl |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/idl/krb5pac.idl b/librpc/idl/krb5pac.idl
index 8a6540c..0fce16b 100644
--- a/librpc/idl/krb5pac.idl
+++ b/librpc/idl/krb5pac.idl
@@ -37,18 +37,20 @@ interface krb5pac
 		[size_is(num_transited_services)] lsa_String *transited_services;
 	} PAC_CONSTRAINED_DELEGATION;
 
+	typedef [public,bitmap32bit] bitmap {
+		UDI_ACCT_HAS_NO_UPN	= 0x00000001 /* 1= User account has no UPN */
+	} upn_dns_info_flags;
+
 	typedef struct {
 		[value(2*strlen_m(upn_name))] uint16 upn_size;
 		uint16 upn_offset;
 		[value(2*strlen_m(domain_name))] uint16 domain_size;
 		uint16 domain_offset;
-		uint16 unknown3; /* 0x01 */
-		uint16 unknown4;
-		uint32 unknown5;
+		upn_dns_info_flags flags;
+		uint32 padding;
 		[charset(UTF16)] uint8 upn_name[upn_size+2];
 		[charset(UTF16)] uint8 domain_name[domain_size+2];
-		uint32 unknown6; /* padding */
-	} PAC_UNKNOWN_12;
+	} PAC_UPN_DNS_INFO;
 
 	typedef [public] struct {
 		PAC_LOGON_INFO *info;
@@ -64,7 +66,7 @@ interface krb5pac
 		PAC_TYPE_KDC_CHECKSUM = 7,
 		PAC_TYPE_LOGON_NAME = 10,
 		PAC_TYPE_CONSTRAINED_DELEGATION = 11,
-		PAC_TYPE_UNKNOWN_12 = 12
+		PAC_TYPE_UPN_DNS_INFO = 12
 	} PAC_TYPE;
 
 	typedef struct {
@@ -78,12 +80,12 @@ interface krb5pac
 		[case(PAC_TYPE_LOGON_NAME)]	PAC_LOGON_NAME logon_name;
 		[case(PAC_TYPE_CONSTRAINED_DELEGATION)][subcontext(0xFFFFFC01)]
 			PAC_CONSTRAINED_DELEGATION_CTR constrained_delegation;
+		[case(PAC_TYPE_UPN_DNS_INFO)]	PAC_UPN_DNS_INFO upn_dns_info;
 		/* when new PAC info types are added they are supposed to be done
 		   in such a way that they are backwards compatible with existing
 		   servers. This makes it safe to just use a [default] for
 		   unknown types, which lets us ignore the data */
 		[default]	[subcontext(0)] DATA_BLOB_REM unknown;
-		/* [case(PAC_TYPE_UNKNOWN_12)]	PAC_UNKNOWN_12 unknown; */
 	} PAC_INFO;
 
 	typedef [public,nopush,nopull,noprint] struct {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list