o
    Žõ±jy=  ã                	   @   s(  d dl mZmZmZmZmZmZmZmZ d dl	m
Z
 d dlmZmZ d dlmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d d	lmZ ed
ƒZ G dd„ deƒZ!d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ƒZ0G d*d+„ d+eƒZ1G d,d-„ d-eƒZ2G d.d/„ d/eƒZ3G d0d1„ d1eƒZ4G d2d3„ d3eƒZ5G d4d5„ d5eƒZ6G d6d7„ d7eƒZ7G d8d9„ d9eƒZ8G d:d;„ d;eƒZ9G d<d=„ d=eƒZ:G d>d?„ d?eƒZ;G d@dA„ dAeƒZ<G dBdC„ dCeƒZ=G dDdE„ dEeƒZ>G dFdG„ dGeƒZ?G dHdI„ dIeƒZ@G dJdK„ dKeƒZAG dLdM„ dMeƒZBG dNdO„ dOeƒZCG dPdQ„ dQeƒZDG dRdS„ dSeƒZEG dTdU„ dUeƒZFG dVdW„ dWeƒZGG dXdY„ dYeƒZHG dZd[„ d[eƒZIG d\d]„ d]eƒZJG d^d_„ d_eƒZKG d`da„ daeƒZLG dbdc„ dceƒZMG ddde„ deeƒZNeGeHfeMeNfe?e@feKeLfeEeFfeCeDfeIeJfeAeBfdfœZOeefdgdh„ZPe)jQd difdjdk„ZRe)jQd difdldm„ZSe)jQd difdndo„ZTe)jQfdpdq„ZUe)jQd difdrds„ZVe)jQfdtdu„ZWdvS )wé    )ÚULONGÚLONGÚPRPC_SIDÚRPC_UNICODE_STRINGÚLPWSTRÚPRPC_UNICODE_STRINGÚNTSTATUSÚNULL)ÚEnum)ÚLSAPR_HANDLEÚPLSAPR_TRUST_INFORMATION_ARRAY)ÚNDRCALLÚ	NDRSTRUCTÚNDRENUMÚ
NDRPOINTERÚNDRUniConformantArray)ÚSID_NAME_USE)Úuuidtup_to_bin)ÚDCERPCException)ÚunpackÚpack)Úlogger)z$12345778-1234-ABCD-EF00-0123456789ABz0.0c                   @   s   e Zd Zddd„ZdS )ÚDCERPCSessionErrorNc                 C   s   t  | |||¡ d S )N)r   Ú__init__)ÚselfÚerror_stringÚ
error_codeÚpacket© r   úˆ/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/dcerpc/v5/lsat.pyr   $   s   zDCERPCSessionError.__init__)NNN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   #   s    r   i   c                   @   s"   e Zd ZdefdefdeffZdS )ÚLSAPR_REFERENCED_DOMAIN_LISTÚEntriesÚDomainsÚ
MaxEntriesN)r    r!   r"   r   r   Ú	structurer   r   r   r   r#   1   ó
    ýr#   c                   @   ó   e Zd ZdeffZdS )ÚPLSAPR_REFERENCED_DOMAIN_LISTÚDataN)r    r!   r"   r#   Úreferentr   r   r   r   r*   8   ó    ÿr*   c                   @   ó"   e Zd ZdefdefdeffZdS )ÚLSA_TRANSLATED_SIDÚUseÚ
RelativeIdÚDomainIndexN©r    r!   r"   r   r   r   r'   r   r   r   r   r/   >   r(   r/   c                   @   ó   e Zd ZeZdS )ÚLSA_TRANSLATED_SID_ARRAYN)r    r!   r"   r/   Úitemr   r   r   r   r5   F   ó    r5   c                   @   r)   )ÚPLSA_TRANSLATED_SID_ARRAYr+   N)r    r!   r"   r5   r,   r   r   r   r   r8   I   r-   r8   c                   @   ó   e Zd ZdefdeffZdS )ÚLSAPR_TRANSLATED_SIDSr$   ÚSidsN)r    r!   r"   r   r8   r'   r   r   r   r   r:   N   ó    þr:   c                   @   s   e Zd ZG dd„ deƒZdS )ÚLSAP_LOOKUP_LEVELc                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	zLSAP_LOOKUP_LEVEL.enumItemsé   é   é   é   é   é   é   N)
r    r!   r"   ÚLsapLookupWkstaÚLsapLookupPDCÚLsapLookupTDLÚLsapLookupGCÚLsapLookupXForestReferralÚLsapLookupXForestResolveÚLsapLookupRODCReferralToFullDCr   r   r   r   Ú	enumItemsV   s    rL   N)r    r!   r"   r
   rL   r   r   r   r   r=   U   s    r=   c                   @   r)   )ÚLSAPR_SID_INFORMATIONÚSidN)r    r!   r"   r   r'   r   r   r   r   rM   `   r-   rM   c                   @   r4   )ÚLSAPR_SID_INFORMATION_ARRAYN)r    r!   r"   rM   r6   r   r   r   r   rO   f   r7   rO   c                   @   r)   )ÚPLSAPR_SID_INFORMATION_ARRAYr+   N)r    r!   r"   rO   r,   r   r   r   r   rP   i   r-   rP   c                   @   r9   )ÚLSAPR_SID_ENUM_BUFFERr$   ÚSidInfoN)r    r!   r"   r   rP   r'   r   r   r   r   rQ   n   r<   rQ   c                   @   r.   )ÚLSAPR_TRANSLATED_NAMEr0   ÚNamer2   N)r    r!   r"   r   r   r   r'   r   r   r   r   rS   u   r(   rS   c                   @   r4   )ÚLSAPR_TRANSLATED_NAME_ARRAYN)r    r!   r"   rS   r6   r   r   r   r   rU   }   r7   rU   c                   @   r)   )ÚPLSAPR_TRANSLATED_NAME_ARRAYr+   N)r    r!   r"   rU   r,   r   r   r   r   rV   €   r-   rV   c                   @   r9   )ÚLSAPR_TRANSLATED_NAMESr$   ÚNamesN)r    r!   r"   r   rV   r'   r   r   r   r   rW   …   r<   rW   c                   @   ó(   e Zd ZdefdefdefdeffZdS )ÚLSAPR_TRANSLATED_NAME_EXr0   rT   r2   ÚFlagsN)r    r!   r"   r   r   r   r   r'   r   r   r   r   rZ   Œ   ó    ürZ   c                   @   r4   )ÚLSAPR_TRANSLATED_NAME_EX_ARRAYN)r    r!   r"   rZ   r6   r   r   r   r   r]   •   r7   r]   c                   @   r)   )ÚPLSAPR_TRANSLATED_NAME_EX_ARRAYr+   N)r    r!   r"   r]   r,   r   r   r   r   r^   ˜   r-   r^   c                   @   r9   )ÚLSAPR_TRANSLATED_NAMES_EXr$   rX   N)r    r!   r"   r   r^   r'   r   r   r   r   r_   �   r<   r_   c                   @   s(   e Zd ZdefdefdefdeffZdS )ÚLSAPR_TRANSLATED_SID_EXr0   r1   r2   r[   Nr3   r   r   r   r   r`   ¤   r\   r`   c                   @   r4   )ÚLSAPR_TRANSLATED_SID_EX_ARRAYN)r    r!   r"   r`   r6   r   r   r   r   ra   ­   r7   ra   c                   @   r)   )ÚPLSAPR_TRANSLATED_SID_EX_ARRAYr+   N)r    r!   r"   ra   r,   r   r   r   r   rb   °   r-   rb   c                   @   r9   )ÚLSAPR_TRANSLATED_SIDS_EXr$   r;   N)r    r!   r"   r   rb   r'   r   r   r   r   rc   µ   r<   rc   c                   @   rY   )ÚLSAPR_TRANSLATED_SID_EX2r0   rN   r2   r[   N)r    r!   r"   r   r   r   r   r'   r   r   r   r   rd   ¼   r\   rd   c                   @   r4   )ÚLSAPR_TRANSLATED_SID_EX2_ARRAYN)r    r!   r"   rd   r6   r   r   r   r   re   Å   r7   re   c                   @   r)   )ÚPLSAPR_TRANSLATED_SID_EX2_ARRAYr+   N)r    r!   r"   re   r,   r   r   r   r   rf   È   r-   rf   c                   @   r9   )ÚLSAPR_TRANSLATED_SIDS_EX2r$   r;   N)r    r!   r"   r   rf   r'   r   r   r   r   rg   Í   r<   rg   c                   @   r4   )ÚRPC_UNICODE_STRING_ARRAYN)r    r!   r"   r   r6   r   r   r   r   rh   Ó   r7   rh   c                   @   s&   e Zd ZdZdefdefdeffZdS )ÚLsarGetUserNameé-   Ú
SystemNameÚUserNameÚ
DomainNameN)r    r!   r"   Úopnumr   r   r'   r   r   r   r   ri   Ú   s    ýri   c                   @   s"   e Zd ZdefdefdeffZdS )ÚLsarGetUserNameResponserl   rm   Ú	ErrorCodeN)r    r!   r"   r   r   r'   r   r   r   r   ro   â   r(   ro   c                   @   s>   e Zd ZdZ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 )
ÚLsarLookupNames4éM   ÚCountrX   ÚTranslatedSidsÚLookupLevelÚMappedCountÚLookupOptionsÚClientRevisionN)	r    r!   r"   rn   r   rh   rg   r=   r'   r   r   r   r   rq   ê   ó    ùrq   c                   @   rY   )ÚLsarLookupNames4ResponseÚReferencedDomainsrt   rv   rp   N©r    r!   r"   r*   rg   r   r   r'   r   r   r   r   rz   ö   r\   rz   c                	   @   óD   e Zd 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fZ	d
S )ÚLsarLookupNames3éD   ÚPolicyHandlers   rX   rt   ru   rv   rw   rx   N)
r    r!   r"   rn   r   r   rh   rg   r=   r'   r   r   r   r   r~   ÿ   ó    ør~   c                   @   rY   )ÚLsarLookupNames3Responser{   rt   rv   rp   Nr|   r   r   r   r   r‚     r\   r‚   c                	   @   r}   )ÚLsarLookupNames2é:   r€   rs   rX   rt   ru   rv   rw   rx   N)
r    r!   r"   rn   r   r   rh   rc   r=   r'   r   r   r   r   rƒ     r�   rƒ   c                   @   rY   )ÚLsarLookupNames2Responser{   rt   rv   rp   N)r    r!   r"   r*   rc   r   r   r'   r   r   r   r   r…   "  r\   r…   c                   @   s8   e Zd ZdZdefdefdefdefdefdeffZ	dS )	ÚLsarLookupNamesé   r€   rs   rX   rt   ru   rv   N)
r    r!   r"   rn   r   r   rh   r:   r=   r'   r   r   r   r   r†   +  ó    úr†   c                   @   rY   )ÚLsarLookupNamesResponser{   rt   rv   rp   N)r    r!   r"   r*   r:   r   r   r'   r   r   r   r   r‰   6  r\   r‰   c                   @   s8   e Zd ZdZdefdefdefdefdefdeffZdS )	ÚLsarLookupSids3éL   ÚSidEnumBufferÚTranslatedNamesru   rv   rw   rx   N)	r    r!   r"   rn   rQ   r_   r=   r   r'   r   r   r   r   rŠ   ?  rˆ   rŠ   c                   @   rY   )ÚLsarLookupSids3Responser{   r�   rv   rp   N©r    r!   r"   r*   r_   r   r   r'   r   r   r   r   rŽ   J  r\   rŽ   c                   @   s>   e Zd ZdZ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 )
ÚLsarLookupSids2é9   r€   rŒ   r�   ru   rv   rw   rx   N)
r    r!   r"   rn   r   rQ   r_   r=   r   r'   r   r   r   r   r�   S  ry   r�   c                   @   rY   )ÚLsarLookupSids2Responser{   r�   rv   rp   Nr�   r   r   r   r   r’   _  r\   r’   c                   @   s2   e Zd ZdZdefdefdefdefdeffZ	dS )ÚLsarLookupSidsé   r€   rŒ   r�   ru   rv   N)
r    r!   r"   rn   r   rQ   rW   r=   r   r'   r   r   r   r   r“   h  s    ûr“   c                   @   rY   )ÚLsarLookupSidsResponser{   r�   rv   rp   N)r    r!   r"   r*   rW   r   r   r'   r   r   r   r   r•   r  r\   r•   )r‡   r”   rj   r‘   r„   r   r‹   rr   c                 Ã   s0   �t ƒ }t|d< ||d< ||d< |  |¡I d H S )Nrk   rl   rm   )ri   r	   Úrequest)ÚdceÚuserNameÚ
domainNamer–   r   r   r   ÚhLsarGetUserName‹  s   €rš   r>   c                 Ã   sn   �t ƒ }t|ƒ|d< |D ]}tƒ }||d< |d  |¡ qt|d d< ||d< ||d< ||d< |  |¡I d H S )	Nrs   r+   rX   rt   r;   ru   rw   rx   )rq   Úlenr   Úappendr	   r–   )r—   ÚnamesÚlookupLevelÚlookupOptionsÚclientRevisionr–   ÚnameÚitemnr   r   r   ÚhLsarLookupNames4’  s   €r£   c           	      Ã   óv   �t ƒ }||d< t|ƒ|d< |D ]}tƒ }||d< |d  |¡ qt|d d< ||d< ||d< ||d	< |  |¡I d H S ©
Nr€   rs   r+   rX   rt   r;   ru   rw   rx   )r~   r›   r   rœ   r	   r–   ©	r—   ÚpolicyHandler�   rž   rŸ   r    r–   r¡   r¢   r   r   r   ÚhLsarLookupNames3   ó   €r¨   c           	      Ã   r¤   r¥   )rƒ   r›   r   rœ   r	   r–   r¦   r   r   r   ÚhLsarLookupNames2¯  r©   rª   c                 Ã   sf   �t ƒ }||d< t|ƒ|d< |D ]}tƒ }||d< |d  |¡ qt|d d< ||d< |  |¡I d H S )Nr€   rs   r+   rX   rt   r;   ru   )r†   r›   r   rœ   r	   r–   )r—   r§   r�   rž   r–   r¡   r¢   r   r   r   ÚhLsarLookupNames¾  s   €r«   c           	      Ã   s„   �t ƒ }||d< t|ƒ|d d< |D ]}tƒ }|d  |¡ |d d  |¡ qt|d d< ||d< ||d	< ||d
< |  |¡I d H S )Nr€   rŒ   r$   rN   rR   r�   rX   ru   rw   rx   )r�   r›   rM   ÚfromCanonicalrœ   r	   r–   )	r—   r§   Úsidsrž   rŸ   r    r–   Úsidr¢   r   r   r   ÚhLsarLookupSids2Ë  s   €r¯   c                 Ã   st   �t ƒ }||d< t|ƒ|d d< |D ]}tƒ }|d  |¡ |d d  |¡ qt|d d< ||d< |  |¡I d H S )	Nr€   rŒ   r$   rN   rR   r�   rX   ru   )r“   r›   rM   r¬   rœ   r	   r–   )r—   r§   r­   rž   r–   r®   r¢   r   r   r   ÚhLsarLookupSidsÛ  s   €r°   N)XÚaiosmb.dcerpc.v5.dtypesr   r   r   r   r   r   r   r	   Úaiosmb.dcerpc.v5.enumr
   Úaiosmb.dcerpc.v5.lsadr   r   Úaiosmb.dcerpc.v5.ndrr   r   r   r   r   Úaiosmb.dcerpc.v5.samrr   Úaiosmb.dcerpc.v5.uuidr   Úaiosmb.dcerpc.v5.rpcrtr   Ústructr   r   Úaiosmbr   ÚLOGÚMSRPC_UUID_LSATr   ÚPOLICY_LOOKUP_NAMESr#   r*   r/   r5   r8   r:   r=   rM   rO   rP   rQ   rS   rU   rV   rW   rZ   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   ro   rq   rz   r~   r‚   rƒ   r…   r†   r‰   rŠ   rŽ   r�   r’   r“   r•   ÚOPNUMSrš   rE   r£   r¨   rª   r«   r¯   r°   r   r   r   r   Ú<module>   s�   (									
ø