o
    j                     @   s   d dl mZmZmZmZmZ d dlmZmZm	Z	 d dl
mZmZmZmZ d dlmZ d dlmZ dZdZdZd	Zd
ZdZdZeZG dd deZG dd deZG dd de	Zd dl
mZ G dd deZG dd deZ G dd de	Z!G dd deZ"G dd deZ#G dd deZ$G d d! d!e	Z%G d"d# d#eZ&G d$d% d%eZ'G d&d' d'eZ(G d(d) d)eZ)G d*d+ d+eZ*G d,d- d-eZ+G d.d/ d/eZ,G d0d1 d1eZ-G d2d3 d3eZ.G d4d5 d5eZ/G d6d7 d7eZ0G d8d9 d9eZ1G d:d; d;eZ2d<S )=    )ULONGRPC_UNICODE_STRINGFILETIMEPRPC_SIDUSHORT)	NDRSTRUCTNDRUniConformantArray
NDRPOINTER)USER_SESSION_KEYCHAR_FIXED_8_ARRAYPUCHAR_ARRAYPRPC_UNICODE_STRING_ARRAY)TypeSerialization1)	Structure            
         c                   @      e Zd ZdefdeffZdS )KERB_SID_AND_ATTRIBUTESSid
AttributesN)__name__
__module____qualname__PISIDr   	structure r    r    /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/minikerberos/protocol/external/pac.pyr   +       r   c                   @      e Zd ZeZdS )KERB_SID_AND_ATTRIBUTES_ARRAYN)r   r   r   r   itemr    r    r    r!   r$   1       r$   c                   @      e Zd ZdeffZdS )PKERB_SID_AND_ATTRIBUTES_ARRAYDataNr   r   r   r$   referentr    r    r    r!   r(   4       r(   )PGROUP_MEMBERSHIP_ARRAYc                   @   "   e Zd ZdefdefdeffZdS )DOMAIN_GROUP_MEMBERSHIPDomainId
GroupCountGroupIdsN)r   r   r   r   r   r-   r   r    r    r    r!   r/   =   
    r/   c                   @   r#   )DOMAIN_GROUP_MEMBERSHIP_ARRAYN)r   r   r   r/   r%   r    r    r    r!   r4   D   r&   r4   c                   @   r'   )PDOMAIN_GROUP_MEMBERSHIP_ARRAYr)   Nr*   r    r    r    r!   r5   G   r,   r5   c                   @      e Zd ZdZdS )PACTYPE))cBuffers<L=0Versionr9   )Buffers:Nr   r   r   r   r    r    r    r!   r7   M   r&   r7   c                   @   r6   )PAC_INFO_BUFFER))ulTyper9   )cbBufferSizer9   )Offset<Q=0Nr>   r    r    r    r!   r?   U   r&   r?   c                   @   s*  e Zd Zg defdefdefdefdefdefdefdefd	efd
efdefdefdefdefdefdefdefdefdefdefdefdefde	fde
fdefdefdefdefdefdefdefd efd!efd"efd#efR Zd$S )%KERB_VALIDATION_INFO	LogonTime
LogoffTimeKickOffTimePasswordLastSetPasswordCanChangePasswordMustChangeEffectiveNameFullNameLogonScriptProfilePathHomeDirectoryHomeDirectoryDrive
LogonCountBadPasswordCountUserIdPrimaryGroupIdr1   r2   	UserFlagsUserSessionKeyLogonServerLogonDomainNameLogonDomainIdLMKeyUserAccountControlSubAuthStatusLastSuccessfulILogonLastFailedILogonFailedILogonCount	Reserved3SidCount	ExtraSidsResourceGroupDomainSidResourceGroupCountResourceGroupIdsN)r   r   r   r   r   r   r   r-   r
   r   r   r(   r   r   r    r    r    r!   rD   ]   s    	
 !#%&'(
rD   c                   @   r'   )PKERB_VALIDATION_INFOr)   N)r   r   r   rD   r+   r    r    r    r!   rf      r,   rf   c                   @   r6   )PAC_CREDENTIAL_INFO)r:   )EncryptionTyper9   )SerializedDatar=   Nr>   r    r    r    r!   rg      r&   rg   c                   @   r.   )SECPKG_SUPPLEMENTAL_CREDPackageNameCredentialSizeCredentialsN)r   r   r   r   r   r   r   r    r    r    r!   rj      r3   rj   c                   @   r#   )SECPKG_SUPPLEMENTAL_CRED_ARRAYN)r   r   r   rj   r%   r    r    r    r!   rn      r&   rn   c                   @   r   )PAC_CREDENTIAL_DATACredentialCountrm   N)r   r   r   r   rn   r   r    r    r    r!   ro      r"   ro   c                   @   s    e Zd ZdefdefddfZdS )NTLM_SUPPLEMENTAL_CREDENTIALr;   Flags)
LmPassword16s=b"")
NtPasswordrt   N)r   r   r   r   r   r    r    r    r!   rq      s    rq   c                   @   r6   )PAC_CLIENT_INFO))ClientIdrC   )
NameLength<H=0)_Namez_-Namezself["NameLength"])Namer=   Nr>   r    r    r    r!   rv      r&   rv   c                   @   r6   )PAC_SIGNATURE_DATA))SignatureTypez<l=0)	Signaturer=   Nr>   r    r    r    r!   r|      r&   r|   c                   @   r.   )S4U_DELEGATION_INFOS4U2proxyTargetTransitedListSizeS4UTransitedServicesN)r   r   r   r   r   r   r   r    r    r    r!   r      r3   r   c                   @   r6   )UPN_DNS_INFO))	UpnLengthry   )	UpnOffsetry   )DnsDomainNameLengthry   )DnsDomainNameOffsetry   )rr   r9   Nr>   r    r    r    r!   r      r&   r   c                   @   r6   )PAC_CLIENT_CLAIMS_INFO)Claimsr=   Nr>   r    r    r    r!   r      r&   r   c                
   @   sF   e Zd Zdefdefdefdefdefdefdefdefd	eff	Zd
S )PAC_DEVICE_INFOrS   rT   AccountDomainIdAccountGroupCountAccountGroupIdsra   rb   DomainGroupCountDomainGroupN)	r   r   r   r   r   r-   r(   r5   r   r    r    r    r!   r      s    r   c                   @   r6   )PAC_DEVICE_CLAIMS_INFOr   Nr>   r    r    r    r!   r      r&   r   c                   @   r'   )VALIDATION_INFOr)   N)r   r   r   rf   r   r    r    r    r!   r      r,   r   N)3%minikerberos.protocol.external.dtypesr   r   r   r   r   "minikerberos.protocol.external.ndrr   r   r	   #minikerberos.protocol.external.nrpcr
   r   r   r   $minikerberos.protocol.external.rpcrtr   (minikerberos.protocol.external.structurer   PAC_LOGON_INFOPAC_CREDENTIALS_INFOPAC_SERVER_CHECKSUMPAC_PRIVSVR_CHECKSUMPAC_CLIENT_INFO_TYPEPAC_DELEGATION_INFOPAC_UPN_DNS_INFOr   r   r$   r(   r-   r/   r4   r5   r7   r?   rD   rf   rg   rj   rn   ro   rq   rv   r|   r   r   r   r   r   r   r    r    r    r!   <module>   sJ   	,		
