
    b                     v    d Z ddlZddlZddlmZ ddlmZmZmZ ddl	m
Z
mZmZ ddlmZ  G d de          ZdS )	z.Tests for the CreateTrustedDomainRelax wrapper    N)TestCase)lsasecuritydrsblobs)CredentialsSMB_ENCRYPTION_REQUIREDSMB_ENCRYPTION_OFF)CreateTrustedDomainRelaxc                   8     e Zd Z fdZd ZddZd Zd Z xZS )CreateTrustedDomainRelaxTestc                 V    t          t          |                                            d S )N)superr   setUp)self	__class__s    E/usr/lib/python3/dist-packages/samba/tests/dcerpc/createtrustrelax.pyr   z"CreateTrustedDomainRelaxTest.setUp   s&    *D117799999    c                    t                      }|                                 t          j                            d          }t          j                            d          }t          j                            d          }|                    |           |                    |           |                    |           |S )NDOMAINUSERNAMEPASSWORD)r   guesssambatestsenv_get_var_value
set_domainset_usernameset_password)r   cdomainusernamepasswords        r   get_user_credsz+CreateTrustedDomainRelaxTest.get_user_creds!   s    MM				..x88;00<<;00<<	V	x   	x   r   Tc                    |                                  }|r|                    t                     n|                    t                     |                                 }dt
          j                            d          z  }t          j	        |||          }|r(| 
                    |                                           n'|                     |                                           t          j                    }t          j                    |_        |                    d|t"          j                  }|                     |           t          j                    }d|_        	 |                    ||t          j                  }	|                    ||	j        j                   n# t6          $ r Y nw xY wt          j                    }	|j        |	j        _        d|	j        _        t#          j        d          |	_        t          j         t          j!        z  |	_"        t          j#        |	_$        t          j%        |	_&        t          j'        d(                    d                    }
tS          j*                    }tW          |
          |_,        |
|_-        tS          j.                    }d	|_/        t          j0        |_1        ||_2        tS          j3                    }d
|_4        |g|_5        tS          j6                    }d
|_4        ||_7        d }	 tq          |||	t"          j9        ||          }nI# t
          j:        $ r}tw          |          d }~wtx          $ r}|rtw          |          Y d }~nd }~ww xY w|r2|                     |           |                    ||	j                   d S | =                    |           d S )Nzncacn_np:%sSERVER ztests.samba.example.comcreatetrustrelaxz&S-1-5-21-538490383-3740119673-95748416r"   z	utf-16-ler      )>r#   set_smb_encryptionr   r	   get_loadparmr   r   r   r   lsarpc
assertTruetransport_encryptedassertFalseObjectAttributeQosInfosec_qosOpenPolicy2r   SEC_FLAG_MAXIMUM_ALLOWEDassertIsNotNoneStringstringQueryTrustedDomainInfoByName!LSA_TRUSTED_DOMAIN_INFO_FULL_INFODeleteTrustedDomaininfo_exsidRuntimeErrorTrustDomainInfoInfoExdomain_namenetbios_namedom_sidLSA_TRUST_DIRECTION_INBOUNDLSA_TRUST_DIRECTION_OUTBOUNDtrust_directionLSA_TRUST_TYPE_UPLEVEL
trust_type%LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVEtrust_attributesstring_to_byte_arrayencoder   AuthInfoClearlensizer"   AuthenticationInformationLastUpdateTimeTRUST_AUTH_TYPE_CLEARAuthTypeAuthInfoAuthenticationInformationArraycountarraytrustAuthInOutBlobcurrentr
   SEC_STD_DELETENTSTATUSErrorAssertionErrorOSErrorassertIsNone)r   
smbencryptcredslpbinding_stringlsa_conn
objectAttr
pol_handlenameinfopassword_blobclear_value clear_authentication_information authentication_information_arrayoutgoingtrustdom_handlentes                     r   _create_trust_relaxz0CreateTrustedDomainRelaxTest._create_trust_relax,   s   ##%% 	9$$%<====$$%7888  '5;+H+H+R+RS:nb%88 	=OOH88::;;;;X99;;<<<(**
 []]
))"*4*2*KM M
 	Z(((z||/	88T9<9^` `D ((T\5EFFFF 	 	 	D	 (**"&+#5 #$LMM">Aaa4 # I2:3D3D[3Q3QRR,..}--,+3+M+O+O(:;(7474M(14?(1+3+R+T+T(12(.2R1S(..00;	(6x7A7;7?7N7?7?A AOO " 	% 	% 	% $$$ 	( 	( 	( ($Q'''( ( ( ( (	(  	/  111((TX>>>>>o.....s7   %AF' '
F43F4L, ,M2;M

M2M--M2c                 0    |                      d           d S )NTrm   r   s    r   test_create_trust_relax_encryptz<CreateTrustedDomainRelaxTest.test_create_trust_relax_encrypt   s      &&&&&r   c                 0    |                      d           d S )NFro   rp   s    r   test_create_trust_relax_no_encz;CreateTrustedDomainRelaxTest.test_create_trust_relax_no_enc   s      '''''r   )T)	__name__
__module____qualname__r   r#   rm   rq   rs   __classcell__)r   s   @r   r   r      s~        : : : : :	 	 	Q/ Q/ Q/ Q/f' ' '( ( ( ( ( ( (r   r   )__doc__osr   samba.testsr   samba.dcerpcr   r   r   samba.credentialsr   r   r	   samba.trust_utilsr
   r    r   r   <module>r      s   ( 5 4 				              0 0 0 0 0 0 0 0 0 0 V V V V V V V V V V 6 6 6 6 6 6f( f( f( f( f(8 f( f( f( f( f(r   