HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/samba/tests/__pycache__/join.cpython-310.pyc
o

�/a��@s�ddlZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
mZddlm
Z
ddlmZddd	�ZGd
d�de�ZdS)
�N)�DNSTKeyTest)�
DCJoinContext)�drsuapi�misc�dns)�Credentials)�interface_ips_v4�subunitcCs(ddl}|�|�}|�|�tj��|S)zGet a logger object.rN)�logging�	getLogger�
addHandler�
StreamHandler�sys�stderr)�namer
�logger�r�2/usr/lib/python3/dist-packages/samba/tests/join.py�
get_loggers
rcs8eZdZ�fdd�Z�fdd�Zdd�Zdd�Z�ZS)	�JoinTestCasec
s�tj�d�|_tj�d�|_tt|���tj��|_	|�
�|_d|_t
�}t|j|j|��|j|jd|dd�|_tjjtjjB|j_|jjtjtjBO_|jj|j_tj|j_|j��d|j_|j� �dS)N�SERVER�	SERVER_IP�	jointest1�SAMBA_INTERNAL)�server�creds�lp�netbios_name�	targetdir�domainr�dns_backendT)!�samba�tests�env_get_var_valuer�	server_ip�superr�setUp�env_loadparmr�get_credentialsrrrr�get_loadparm�tempdir�join_ctx�dsdb�UF_SERVER_TRUST_ACCOUNT�UF_TRUSTED_FOR_DELEGATION�userAccountControl�
replica_flagsr�DRSUAPI_DRS_WRIT_REP�!DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS�domain_replica_flagsr�SEC_CHAN_BDC�secure_channel_type�cleanup_old_join�
force_all_ips�do_join)�selfr��	__class__rrr&'s2

���

zJoinTestCase.setUpcs�z|jj}Wntyd}Ynw|durNt�|j�t�|j�t�tj�	|j
d��t�tj�	|j
d��t�tj�	|j
d��t�tj�	|j
d��|jjdd�t
t|���dS)N�etczmsg.lockz	names.tdbzbind-dnsT)�force)r+�paths�AttributeError�shutil�rmtree�private_dir�	state_dir�os�path�joinr*�unlinkr6r%r�tearDown)r9r>r:rrrHDs�zJoinTestCase.tearDowncCs^|�tj�}g}|jj}|�|tjtj�}|�|�t	|j
dd�}|�||�|j||j
d�\}}|�|tj�|�|tj�|�|jt|��g}d|jj|jjf}|�|tjtj�}|�|�|�||�|j||j
d�\}}|�|tj�|�|tj�|�|jdt|��|�|jdjtj�|�|jdj|jj�|�|jdjtj�dS)z9create a query packet containing one query record via TCPT��all_interfaces��hostz%s._msdcs.%s�rN)�make_name_packetr�DNS_OPCODE_QUERYr+�dnshostname�make_name_question�DNS_QTYPE_A�
DNS_QCLASS_IN�appendrr�finish_name_packet�dns_transaction_tcpr$�assert_dns_rcode_equals�DNS_RCODE_OK�assert_dns_opcode_equals�assertEqual�ancount�len�	ntds_guid�	dnsforest�answers�rr_type�DNS_QTYPE_CNAME�rdata)r9�p�	questionsr�q�IPs�response�response_packetrrr�test_join_makes_recordsVs.

z$JoinTestCase.test_join_makes_recordscCs�t�}|�|jj�|�|jj�|j|d�|�tj�}|�	|jj
tjtj�}g}|�
|�|�||�g}t|jdd�}|dd�D]A}d|vrdt��}|jj|_tj|_tj|_d|_d|_|}	nt��}|jj|_tj|_tj|_d|_d|_|}	|	|_|�
|�qDt|�|_||_|�||j�}
|� ||j!�\}}|�"|tj#�|�$|||
�|�tj%�}g}|jj}
|�	|
tjtj�}|�
|�|�||�|j&||j!d�\}}|�"|tj#�|�'|tj%�|�(|j)d�dS)	N)rTrIrM�:ri��rK)*r�guessr+r�set_machine_account�
tkey_transrNr�DNS_OPCODE_UPDATErQ�	dnsdomain�
DNS_QTYPE_SOArSrTrUr�res_recrPr�DNS_QTYPE_AAAAr`�DNS_QCLASS_NONE�rr_class�ttl�lengthrRrbr\�nscount�nsrecs�sign_packet�key_name�dns_transaction_udpr$rWrX�
verify_packetrOrVrYrZr[)r9�dc_credsrcrerd�updatesrf�IP�rrb�macrg�
response_prrhrrr�test_join_records_can_updatews`
�




z)JoinTestCase.test_join_records_can_update)�__name__�
__module__�__qualname__r&rHrir��
__classcell__rrr:rr&s
!r)r	)r!rr@rD�samba.tests.dns_baser�
samba.joinr�samba.dcerpcrrr�samba.credentialsr�samba.provisionrrrrrrr�<module>s