ó
    cÛ–iL  ã                   ó®  • S SK JrJrJr  S SKJr  S SKJrJrJ	r	J
r
  S SKJr  S SKJr  S\S\S\R                   S	\S
\4
S jrS\R&                  S\R(                  S\R*                  S\S\R,                  S\R,                  4S jrS\R&                  S\R(                  S\R*                  S
\S\S\R                   S\R,                  S\R,                  4S jrg)é    )ÚlsaÚdrsblobsÚmisc)Úndr_pack)ÚNTSTATUSErrorÚntstatusÚaead_aes_256_cbc_hmac_sha512Úarcfour_encrypt)Úcrypto)Útoken_bytesÚsystem_nameÚ
in_versionÚin_revision_infoÚsec_qosÚaccess_maskc                 óH  • U " 5       n[         R                  " 5       nU(       a7  [         R                  " 5       nSUl        SUl        SUl        SUl        X‡l        Sn	Ub   UR                  UUUUU5      u  p«nOSn	U	(       a7  Sn
[         R                  " 5       nSUl        SUl        UR#                  XU5      nUW
WW4$ ! [         aW  nUR                  S   [        R                  :X  a  Sn	UR                  S   [        R                  :X  a  U " US9nSn	 S nANŸe S nAff = f)Né   é   é   r   FT)Úbasis_connection)r   ÚObjectAttributeÚQosInfoÚlenÚimpersonation_levelÚcontext_modeÚeffective_onlyr   ÚOpenPolicy3r   Úargsr   Ú"NT_STATUS_RPC_PROCNUM_OUT_OF_RANGEÚNT_STATUS_ACCESS_DENIEDÚrevision_info1ÚrevisionÚsupported_featuresÚOpenPolicy2)Únew_lsa_connr   r   r   r   r   ÚconnÚattrÚqosÚopen_policy2Úout_versionÚout_rev_infoÚpolicyÚes                 Ú1/usr/lib/python3/dist-packages/samba/lsa_utils.pyÚOpenPolicyFallbackr/       s"  € ñ ‹>€Dä×ÒÓ €DÞÜ�kŠk‹mˆØˆŒØ"#ˆÔØˆÔØˆÔàŒà€LØÑ#ð	Ø04×0@Ñ0@ØØØØØ ó1Ñ-ˆK¡vð$ ˆæØˆÜ×)Ò)Ó+ˆØ !ˆÔØ*+ˆÔ'à×!Ñ! +°[ÓAˆà�˜l¨FÐ2Ð2øô+ ó 		Ø�v‰v�a‰yœH×GÑGÓGØ#�Ø�v‰v�a‰yœH×<Ñ<Ó<á#°TÑ:�à#•àûð		ús   Á!C  Ã 
D!Ã
ADÄDÄD!Úlsaconnr,   Ú
trust_infoÚmaskÚin_blobÚout_blobc                 ó  • SS jnU R                   n U R                  5       (       a  [        R                  " 5         U" UUUS9n[        R                  " 5         U R                  XXƒ5      $ ! [        R                  " 5         f = f)Nc                 óH  • [        [        S5      5      n[        R                  " 5       nX4l        X$l        Xl        [        U5      n[        X5      n[        R                  " 5       n[        U5      Ul        [        U5      Ul        [        R                  " 5       nXxl        U$ )Ni   )Úlistr   r   ÚtrustDomainPasswordsÚ
confounderÚoutgoingÚincomingr   r
   r   Ú	DATA_BUF2r   ÚsizeÚdataÚTrustDomainInfoAuthInfoInternalÚ	auth_blob)	Úsession_keyr;   r:   r9   Ú	trustpassÚtrustpass_blobÚencrypted_trustpassr@   Ú	auth_infos	            r.   Úgenerate_AuthInfoInternalÚ;CreateTrustedDomainRelax.<locals>.generate_AuthInfoInternala   s…   € Üœ+ cÓ*Ó+ˆ
ä×1Ò1Ó3ˆ	à)ÔØ%ÔØ%Ôä! )Ó,ˆä-¨kÓJÐä—M’M“Oˆ	ÜÐ0Ó1ˆ	ŒÜÐ1Ó2ˆ	Œä×7Ò7Ó9ˆ	Ø'ÔàÐó    )r;   r:   ©NN)rA   Útransport_encryptedr   Úset_relax_modeÚset_strict_modeÚCreateTrustedDomainEx2)	r0   r,   r1   r2   r3   r4   rF   rA   rE   s	            r.   ÚCreateTrustedDomainRelaxrN   X   sx   € ôð, ×%Ñ%€Kð!Ø×&Ñ&×(Ñ(Ü×!Ò!Ô#Ù-¨kØ7>Ø7?ñAˆ	ô 	×ÒÔ à×)Ñ)¨&¸iÓNÐNøô 	×ÒÕ ús   “2A, Á,Br&   Úpolicy_handleÚsrv_versionÚsrv_revision_info1c                 óÔ  •   SS jnUS:X  aÌ  UR                   S:X  a¼  UR                  [        R                  -  (       aš  U" U R                  Xg5      u  pšn[        R
                  " 5       n[        U	5      Ul        [        U	5      Ul	        [        R                  " 5       nXÍl        [        U
5      Ul        [        U5      Ul        U R                  UUUU5      $ [        U UUUUU5      $ )Nc                 óæ   • [         R                  " 5       nX#l        Xl        [	        U5      nSR                  5       S-   nSR                  5       S-   n[        S5      n[        UU UUU5      u  p‰X‡U	4$ )Nz=Microsoft LSAD encryption key AEAD-AES-256-CBC-HMAC-SHA512 16ó    z6Microsoft LSAD MAC key AEAD-AES-256-CBC-HMAC-SHA512 16é   )r   r8   r:   r;   r   Úencoder   r	   )
rA   r;   r:   rB   rC   Úlsa_aes256_enc_keyÚlsa_aes256_mac_keyÚivÚ
ciphertextÚ	auth_datas
             r.   Úgenerate_AuthInfoInternalAESÚACreateTrustedDomainFallback.<locals>.generate_AuthInfoInternalAES�   s”   € ô
 ×1Ò1Ó3ˆ	à%ÔØ%Ôä! )Ó,ˆð L×RÑRÓTØñð 	ð
 E×KÑKÓMØñð 	ô
 ˜‹_ˆÜ <ØØØØØó!
Ñˆ
ð ˜yÐ(Ð(rH   r   rI   )r"   r#   r   Ú$LSA_FEATURE_TDO_AUTH_INFO_AES_CIPHERrA   r<   r   r=   r7   r>   Ú"TrustDomainInfoAuthInfoInternalAESÚcipherÚsaltr[   ÚCreateTrustedDomainEx3rN   )r&   rO   r1   r   rP   rQ   r3   r4   r\   rZ   rY   r[   r@   rE   s                 r.   ÚCreateTrustedDomainFallbackrc   …   së   € ð Øô)ð@ 	�qÓØ×'Ñ'¨1Ó,Ø×2Ñ2Ü×7Ñ7÷8ñ %AØ×Ñ˜gó%
Ñ!ˆ
˜	ô —M’M“Oˆ	Ü˜Z›ˆ	ŒÜ˜jÓ)ˆ	Œä×:Ò:Ó<ˆ	Ø$ÔÜ˜b›ˆ	ŒÜ" 9›oˆ	Ôà×*Ñ*ØØØØó	
ð 	
ô $ØØØØØØóð rH   N)Úsamba.dcerpcr   r   r   Ú	samba.ndrr   Úsambar   r   r	   r
   r   Úsecretsr   ÚstrÚintr!   Úboolr/   ÚlsarpcrO   ÚTrustDomainInfoInfoExÚtrustAuthInOutBlobrN   rc   © rH   r.   Ú<module>ro      s=  ð÷& -Ñ ,Ý ÷ó õ Ý ð53ð ð	53ð
 ð53ð ×(Ñ(ð53ð ð53ð ô53ðp*OØ�Z‰Zð*Oà×Ñð*Oð ×)Ñ)ð*Oð ð	*Oð
 ×(Ñ(ð*Oð ×)Ñ)ô*OðZJØ
�*‰*ðJà×%Ñ%ðJð ×)Ñ)ðJð ð	Jð
 ðJð ×*Ñ*ðJð ×(Ñ(ðJð ×)Ñ)õJrH   