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: //lib/python3/dist-packages/samba/tests/__pycache__/credentials.cpython-310.pyc
o

�/a�X�@sLdZddlmZddlZddlZddlZddlmZGdd�dejj	�Z
dS)z�Tests for the Credentials Python bindings.

Note that this just tests the bindings work. It does not intend to test
the functionality, that's already done in other tests.
�)�credentialsN)�misccsteZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.�Z/S)Y�CredentialsTestscstt|���t��|_dS�N)�superr�setUpr�Credentials�creds��self��	__class__��9/usr/lib/python3/dist-packages/samba/tests/credentials.pyr!szCredentialsTests.setUpcC�"|j�d�|�d|j���dS)N�somebody)r	�set_username�assertEqual�get_usernamer
rrr�test_set_username%�z"CredentialsTests.test_set_usernamecCr)N�S3CreT)r	�set_passwordr�get_passwordr
rrr�test_set_password)rz"CredentialsTests.test_set_passwordcC�6d}|�d�}|�|j�|��|�||j���dS)N�S3cRet�	utf-16-le)�encode�
assertTruer	�set_utf16_passwordrr�r�password�	passbytesrrr�test_set_utf16_password-�
z(CredentialsTests.test_set_utf16_passwordcCs:|�d|j���|�|j�d��|�d|j���dS)N�S3c0ndS3CreT)rr	�get_old_passwordr�set_old_passwordr
rrr�test_set_old_password3sz&CredentialsTests.test_set_old_passwordcCr)N�	0ldS3cRetr)rrr	�set_old_utf16_passwordrr'r!rrr�test_set_old_utf16_password8r%z,CredentialsTests.test_set_old_utf16_passwordcCs4|j�d�|�d|j���|�|j��d�dS)N�ABMAS)r	�
set_domainr�
get_domain�
get_principalr
rrr�test_set_domain>�z CredentialsTests.test_set_domaincCs4|j�d�|�d|j���|�|j��d�dS)N�myrealm�MYREALM)r	�	set_realmr�	get_realmr0r
rrr�test_set_realmCr2zCredentialsTests.test_set_realmcCs4|j�d�|�d|j���|�d|j���dS)N�%��r	�parse_stringrrrr
rrr�test_parse_string_anonHr2z'CredentialsTests.test_parse_string_anoncCs4|j�d�|�d|j���|�d|j���dS)Nzsomeone%�someoner9r:r
rrr�test_parse_string_empty_pwMr2z+CredentialsTests.test_parse_string_empty_pwcCs4|j�d�|�d|j���|�d|j���dS)Nr=r:r
rrr�test_parse_string_none_pwRr2z*CredentialsTests.test_parse_string_none_pwcCsF|j�d�|�d|j���|�d|j���|�d|j���dS)Nzdom\someone%secrr=�secr�DOM)r	r;rrrr/r
rrr� test_parse_string_user_pw_domainWsz1CredentialsTests.test_parse_string_user_pw_domaincCs4|�d|j���|j�d�|�d|j���dS)Nz
dc=foo,cn=bar)rr	�get_bind_dn�set_bind_dnr
rrr�test_bind_dn]szCredentialsTests.test_bind_dncCsV|j�d�|�|j���|j�d�|�|j���|j��|�|j���dS�Nr9r)r	rr�is_anonymous�assertFalse�
set_anonymousr
rrr�test_is_anonbs
zCredentialsTests.test_is_anoncCr)N�	myworksta)r	�set_workstationr�get_workstationr
rrr�test_workstationjsz!CredentialsTests.test_workstationcCs:|�tj|j���|j�tj�|�tj|j���dSr)rr�
SEC_CHAN_NULLr	�get_secure_channel_type�set_secure_channel_type�SEC_CHAN_BDCr
rrr�test_secure_channel_typeps��z)CredentialsTests.test_secure_channel_typecCsBd}d}|j�|�|�||j���|�t�|�|j���dS)N�geheim� c2ae1fe6e648846352453e816f2aeb93)r	rrr�binascii�a2b_hex�get_nt_hash)rr"�
hex_nthashrrr�test_get_nt_hashws�z!CredentialsTests.test_get_nt_hashcCs�d}d}d}d}d}|j�d�|j�d�|j�|�|�||j���|�t�|�|j���|jj	t
jt�|�d�}|�|d	t�|��|�|d
t�|��|�|dt
j�dS)N�SecREt01�0123456789abcdef� cd06ca7c7e10c99b1d33b7485a2ed808� 3f373ea8e4af954f14faa506f8eebdc4�025a98c1c31e81847466b29b2df4680f39958fb8c213a9cc6�fred�nurk)�flags�	challenge�nt_response�nt_session_keyrb)r	rr.rrrrVrWrX�get_ntlm_responser�CLI_CRED_NTLM_AUTH)rr"�
hex_challengerY�hex_session_key�hex_ntlm_response�responserrr�test_get_ntlm_responses$�
�z'CredentialsTests.test_get_ntlm_responsecCsJ|j�d�d}|j�|�|�d|j���|�t�|�|j���dS)NTrU)r	�set_password_will_be_nt_hashrrrrVrWrX)rrYrrr�test_get_nt_hash_string�s�z(CredentialsTests.test_get_nt_hash_stringcCs|j��dSr)r	�set_cmdline_callbacksr
rrr�test_set_cmdline_callbacks�sz+CredentialsTests.test_set_cmdline_callbackscCs<|j�d�|�|j���|j�d�|�|j���dSrF)r	rrH�authentication_requestedrr
rrr�test_authentication_requested�sz.CredentialsTests.test_authentication_requestedcCs|�|j���dSr)rHr	�wrong_passwordr
rrr�test_wrong_password�sz$CredentialsTests.test_wrong_passwordcCs�t��}tj��}dtjd<|�|�|�|�	�d�|�|�
�|�d����|�|�
�d�|�|��d|�
��|�|��d�|�|��d�dS)N�env_user�USER�	workgroup�env_user@%sF)rr�samba�tests�env_loadparm�os�environ�guessrrr/�get�upperr6r0rGrq�rr	�lprrr�
test_guess�s


zCredentialsTests.test_guesscCs�t��}tj��}dtjd<|�|�|��|�	|�
�d�|�	|��d�|�	|��d�|�	|�
�d�|�	|��d�|�	|��d�dS)Nrurvr9TF)rrryrzr{r|r}r~rIrrr/r6r0rGrqr�rrr�test_set_anonymous�s


z#CredentialsTests.test_set_anonymouscCsd}d}d}d}tj�|jd�}t|d�}|�d|�|�d|�|�d	|�|�d
|�|��|j�|�|�	|j�
�|�|�	|j��|�|�	|j��|�
��|�	|j��|�
��|�	|j��d||�
�f�|�	|j��d�|�	|j��d
�t�|�dS)N�realm.example.com�dom�pass�user�
parse_file�x�	realm=%s
�
domain=%s
zusername=%s
�password=%s
�%s@%sFT�r|�path�join�tempdir�open�write�closer	r�rrrr/r�r6r0rGrq�unlink�r�realm�domainr"�username�passwd_file_name�passwd_file_fdrrr�test_parse_file_1�s(
z"CredentialsTests.test_parse_file_1cCsd}d}d}d}tj�|jd�}t|d�}|�d|�|�d|�|�d	||f�|�d
|�|��|j�|�|�	|j�
�|�|�	|j��|�|�	|j��|�
��|�	|j��|�
��|�	|j��d||�
�f�|�	|j��d�|�	|j��d
�t�|�dS)Nr�r�r�r�r�r�r�r�zusername=%s\%s
r�r�FTr�r�rrr�test_parse_file_2�s(
z"CredentialsTests.test_parse_file_2cCsd}d}d}d}d}tj�|jd�}t|d�}|�d|�|�d	|�|�d
||f�|�d|�|��|j�|�|�	|j�
�|�|�	|j��|�|�	|j��|�
��|�	|j��|�
��|�	|j��d||�
�f�|�	|j��d
�|�	|j��d�t�|�dS)Nr�r�r"r��userdomr�r�r�r�zusername=%s/%s
r�r�FTr�)rr�r�r"r�r�r�r�rrr�test_parse_file_3�s*
z"CredentialsTests.test_parse_file_3cCsd}d}d}tj�|jd�}t|d�}|�d|||f�|�d�|�d�|�d	�|��|j�|�|�	|j�
�|�|�	|j��|�|�	|j��|�
��|�	|j��|�
��|�	|j��d
||�
�f�|�	|j��d�|�	|j��d�t�|�dS)
Nr"r�r�r�r��username=%s\%s%%%s
�realm=ignorerealm
�domain=ignoredomain
�password=ignorepassword
r�FTr��rr"r�r�r�r�rrr�test_parse_file_4s&



z"CredentialsTests.test_parse_file_4cCsd}d}d}tj�|jd�}t|d�}|�d�|�d|||f�|�d�|�d	�|��|j�|�|�	|j�
�|�|�	|j��|�|�	|j��|�
��|�	|j��|�
��|�	|j��d
||�
�f�|�	|j��d�|�	|j��d�t�|�dS)
Nr"r�r�r�r�r�r�r�r�r�FTr�r�rrr�test_parse_file_5s&



z"CredentialsTests.test_parse_file_5cCs�t��}tj��}dtjd<|�|�|�d�|�	|�
�d�|�	|��|�d��
��|�	|��d�|�	|��d|�d��
��|�	|��d�|�	|��d�dS)Nrurvr�rw�user@%sFT)rrryrzr{r|r}r~r;rrr/rr�r6r0rGrqr�rrr�test_parse_username_04s



z&CredentialsTests.test_parse_username_0cCs�t��}tj��}dtjd<|�|�d}|�|tj	�|�
d�|�|��d�|�|�
�|�d����|�|��|���|�|��d|���|�|��d�|�|��d�dS)	Nrurvr�r�rwr�FT)rrryrzr{r|r}r~r5�SMB_CONFr;rrr/rr�r6r0rGrq�rr	r�r�rrr�test_parse_username_1As



z&CredentialsTests.test_parse_username_1cCs�t��}tj��}dtjd<|�|�|�d�|�	|�
�d�|�	|��d�|�	|��d�|�	|�
�d�|�	|��d�|�	|��d�dS)	Nrurv�domain\userr��DOMAIN�user@DOMAINFT�rrryrzr{r|r}r~r;rrr/r6r0rGrqr�rrr�!test_parse_username_with_domain_0P�



z2CredentialsTests.test_parse_username_with_domain_0cCsXt��}tj��}dtjd<|�|�d}|�|tj	�|�
|��d�|�
|��|�
d����|�
|��|���|�
|��d|���|�d�|�
|��d�|�
|��|�
d����|�
|��|���|�
|��d�|�d�|�
|��d�|�
|��d	�|�
|��|���|�
|��d
�|�
|��d�|�
|��d�dS�
Nrurvr�rwrxzunknown@realm.example.comr�r�r�r�FT)rrryrzr{r|r}r~r5r�rrr/rr�r6r0�
set_principalr;rGrqr�rrr�!test_parse_username_with_domain_1]s,




z2CredentialsTests.test_parse_username_with_domain_1cCsTt��}tj��}dtjd<|�|�d}|�|tj	�|�
|��d�|�
|��|�
d����|�
|��|���|�
|��d|���|�d�|�
|��d�|�
|��|�
d����|�
|��|���|�
|��d�|�d�|�
|��d�|�
|��d	�|�
|��d	�|�
|��d
�|�
|��d�|�
|��d�dSr�)rrryrzr{r|r}r~r5�	SPECIFIEDrrr/rr�r6r0r�r;rGrqr�rrr�!test_parse_username_with_domain_2us,




z2CredentialsTests.test_parse_username_with_domain_2cCs�t��}tj��}dtjd<|�|�|�d�|�	|�
�d�|�	|��d�|�	|��d�|�	|�
�d�|�	|��d�|�	|��d�dS)Nrurv�user@samba.orgr9�	SAMBA.ORGFTr�r�rrr�test_parse_username_with_realm�r�z/CredentialsTests.test_parse_username_with_realmcCs�t��}tj��}dtjd<|�|�|�d�|�	|�
�d�|�	|��d�|�	|��|�
d��|�	|��d�|�	|��d|�
d��|�	|��d�|�	|��d	�dS)
Nrurvz	user%passr�r�rwr�FT)rrryrzr{r|r}r~r;rrrr/rr6r0rGrqr�rrr�test_parse_username_pw�s



z'CredentialsTests.test_parse_username_pwcCs�t��}tj��}dtjd<|�|�|�d�|�	|�
�d�|�	|��d�|�	|��d�|�	|�
�d�|�	|��d�|�	|��d�|�	|��d	�dS)
Nrurvzdomain\user%passr�r�r�r�FT�rrryrzr{r|r}r~r;rrr/rr6r0rGrqr�rrr�"test_parse_username_with_domain_pw��



z3CredentialsTests.test_parse_username_with_domain_pwcCs�t��}tj��}dtjd<|�|�|�d�|�	|�
�d�|�	|��d�|�	|��d�|�	|�
�d�|�	|��d�|�	|��d�|�	|��d	�dS)
Nrurvzuser@samba.org%passr�r9r�r�FTr�r�rrr�!test_parse_username_with_realm_pw�r�z2CredentialsTests.test_parse_username_with_realm_pwcC�<t��}|�|��tj�|�tj�|�|��tj�dSr)rrr�get_smb_signing�SMB_SIGNING_DEFAULT�set_smb_signing�SMB_SIGNING_REQUIRED�rr	rrr�test_smb_signing��z!CredentialsTests.test_smb_signingcC�ltj��}t��}|�|�|�|��tj�|�	tj
�|�|��tj
�|�|�|�|��tj
�dSr)ryrzr{rr�set_confrr�r�r��SMB_SIGNING_OFF�rr�r	rrr�test_smb_signing_set_conf��


z*CredentialsTests.test_smb_signing_set_confcCr�r)rrr�get_smb_ipc_signingr��set_smb_ipc_signingr�r�rrr�test_smb_ipc_signing�r�z%CredentialsTests.test_smb_ipc_signingcCr�r)ryrzr{rrr�rr�r�r�r�r�rrr�test_smb_ipc_signing_set_conf�r�z.CredentialsTests.test_smb_ipc_signing_set_confcCr�r)rrr�get_smb_encryption�SMB_ENCRYPTION_DEFAULT�set_smb_encryption�SMB_ENCRYPTION_REQUIREDr�rrr�test_smb_encryption�r�z$CredentialsTests.test_smb_encryptioncCr�r)ryrzr{rrr�rr�r�r��SMB_ENCRYPTION_OFFr�rrr�test_smb_encryption_set_conf�r�z-CredentialsTests.test_smb_encryption_set_conf)0�__name__�
__module__�__qualname__rrrr$r)r,r1r7r<r>r?rBrErJrNrSrZrlrnrprrrtr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��
__classcell__rrrrrsZ



r)�__doc__ryr�samba.testsr|rV�samba.dcerpcrrz�TestCaseInTempDirrrrrr�<module>s