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__/ntlm_auth.cpython-310.pyc
o

�/aO4�@sDddlZddlmZmZddlmZddlmZGdd�de�ZdS)�N)�Popen�PIPE)�NTLMAuthTestCase)�
get_stringcs�eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Z�ZS)�NTLMAuthHelpersTestscs|tt|���tjd|_tjd|_tjd|_t|�	d|j��}|�
d�d|_|�|j�
d��|jdd�|_dS)	N�DC_USERNAME�DC_PASSWORD�DOMAINzwbinfo -n %s� rz	S-1-5-21-���)�superr�setUp�os�environ�username�password�domainr�check_output�split�	group_sid�
assertTrue�
startswith�
bad_group_sid)�self�out��	__class__��7/usr/lib/python3/dist-packages/samba/tests/ntlm_auth.pyr
szNTLMAuthHelpersTests.setUpc	Cs`d}d}d}|j||||||dd�}|�|�d}d}d}|j||||||dd�}|�|�dS)z! ntlm_auth with specified domain �foo�secret�FOOF)�client_username�client_password�
client_domain�server_username�server_password�
server_domain�server_use_winbind�fOoN��
run_helperr�rrrr�retrrr�test_specified_domain$s0�
�z*NTLMAuthHelpersTests.test_specified_domaincCs&|j|j|j|jdd�}|�|�dS)z ntlm_auth against winbindd T)r"r#r$r(N�r+rrrr�rr-rrr�test_against_winbindAs�z)NTLMAuthHelpersTests.test_against_winbindcC�6d}d}d}|j||||||dddd�	}|�|�dS)	z5 ntlm_auth with NTLMSSP client and gss-spnego server rr r)�ntlmssp-client-1�
gss-spnegoF�	r"r#r$r%r&r'�
client_helper�
server_helperr(Nr*r,rrr�test_ntlmssp_gss_spnegoJ��	z,NTLMAuthHelpersTests.test_ntlmssp_gss_spnegocCr2)	z@ ntlm_auth with NTLMSSP gss-spnego-client and gss-spnego server rr r)�gss-spnego-clientr4Fr5Nr*r,rrr�test_gss_spnego\r9z$NTLMAuthHelpersTests.test_gss_spnegocCs*|j|j|j|jdddd�}|�|�dS)zX ntlm_auth with NTLMSSP gss-spnego-client and gss-spnego server
        against winbind r:r4T)r"r#r$r6r7r(Nr/r0rrr�test_gss_spnego_winbindns�z,NTLMAuthHelpersTests.test_gss_spnego_winbindc	CsXd|j|j|j|jf}d|g}|�|d�|j|j|j|jddddd�}|�|�dS)	ze ntlm_auth with NTLMSSP client and gss-spnego server against
        winbind with cached credentials z--ccache-save=%s%s%s%%%s�wbinforTr3r4)r"r#r$�client_use_cached_credsr6r7r(N)r�winbind_separatorrr�check_exit_coder+r)r�param�	cache_cmdr-rrr�$test_ntlmssp_gss_spnego_cached_credszs$���z9NTLMAuthHelpersTests.test_ntlmssp_gss_spnego_cached_credscCsP|j|j|j|j|jdd�}|�|�|j|j|j|j|jdd�}|�|�dS)z7 ntlm_auth against winbindd with require-membership-of T)r"r#r$�require_membershipr(N�r+rrrrrr�assertFalser0rrr�test_require_membership�s�
�z,NTLMAuthHelpersTests.test_require_membershipc	CsX|j|j|j|j|jdddd�}|�|�|j|j|j|j|jdddd�}|�|�dS)zs ntlm_auth with NTLMSSP gss-spnego-client and gss-spnego server
        against winbind with require-membership-of r:r4T)r"r#r$rDr6r7r(NrEr0rrr�"test_require_membership_gss_spnego�s$�
�z7NTLMAuthHelpersTests.test_require_membership_gss_spnegocCs�t|jd|jddgtttd�}d|j|j|j|jf}|j|�	d�d�\}}|�
|jd�|�|�
d	��t|jd|jddgtttd�}d|j|j|j|jf}|j|�	d�d�\}}|�
|jd�|�|�
d
��dS)z? ntlm_auth plaintext authentication with require-membership-of �--require-membership-of�--helper-protocolzsquid-2.5-basic��stdout�stdin�stderrz
%s%s%s %s
�utf-8��inputrsOK
sERR
N)r�ntlm_auth_pathrrrr?rr�communicate�encode�assertEqual�
returncoderrr)r�proc�credsr�errrrr�test_plaintext_with_membership�s6��
����z3NTLMAuthHelpersTests.test_plaintext_with_membershipcCs,gd�}t|jddddgtttd�}d�|�}|j|�d�d	�\}}|�|jd
�|�d�}|�t	|�d�|�|d
d
�|�|dd�|�|dd�|�|dd�d|d
<t|jddddgtttd�}d�|�}|j|�d�d	�\}}|�|jd
�|�d�}|�t	|�d�|�|d
d�dS)z- ntlm_auth ntlm-server-1 with fixed password )�"LANMAN-Challenge: 0123456789abcdef�=NT-Response: 25a98c1c31e81847466b29b2df4680f39958fb8c213a9cc6zNT-Domain: TESTzUsername: testuser�Request-User-Session-Key: Yes�.
�
--password�SecREt01rJ�
ntlm-server-1rK�
rOrPr�
��Authenticated: Yes�s2User-Session-Key: 3F373EA8E4AF954F14FAA506F8EEBDC4��.��z"LANMAN-Challenge: A123456789abcdef��Authenticated: NoN)
rrRr�joinrSrTrUrVr�len�r�	ntlm_cmdsrW�bufrrY�linesrrr�&test_ntlm_server_1_with_fixed_password�s>��

���

z;NTLMAuthHelpersTests.test_ntlm_server_1_with_fixed_passwordcCsPd|jd|jd|jddg}t|jd|jddgtttd	�}d
�|�}|j|�	d�d�\}}|�
|jd
�|�d�}|�
t
|�d�|�
|d
d�|�
|dd�|�
|dd�t|jd|jddgtttd	�}d
�|�}|j|�	d�d�\}}|�
|jd
�|�d�}|�
t
|�d�|�
|d
d�|�
|dd�|�
|dd�dS)zA ntlm_auth ntlm-server-1 with plaintext password against winbind zPassword: %s�
NT-Domain: %s�Username: %sr]r^rIrJrarKrbrOrPrrcrirerfrhrgrjrlN)rrrrrRrrrmrSrTrUrVrrnrrorrr�)test_ntlm_server_1_with_plaintext_winbind�sD���

��

z>NTLMAuthHelpersTests.test_ntlm_server_1_with_plaintext_winbindcCs�ddd|jd|jddg}t|jddgtttd	�}d
�|�}|j|�d�d�\}}|�|j	d
�|�
d�}|�t|�d�|�|d
d�dS)zO ntlm_auth ntlm-server-1 with incorrect fixed password against
        winbind r[r\rtrur]r^rJrarKrbrOrPrrcrkrlN)rrrrRrrmrSrTrUrVrrnrorrr�2test_ntlm_server_1_with_incorrect_password_winbind&s$���

zGNTLMAuthHelpersTests.test_ntlm_server_1_with_incorrect_password_winbindcCs,|jd|jd|jd|jdg}|�|d�dS)z ntlm_auth diagnostics z
--usernamer_z--domainz
--diagnosticsrN)rRrrrr@)r�cmd_linerrr�test_diagnostics>s�z%NTLMAuthHelpersTests.test_diagnostics)�__name__�
__module__�__qualname__r
r.r1r8r;r<rCrGrHrZrsrvrwry�
__classcell__rrrrrs
	+*r)	r�
subprocessrr�samba.tests.ntlm_auth_baser�samba.commonrrrrrr�<module>s