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

�/a�L�@s�dZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
ddlmZm
Z
ddlmZddlmZdd	lmZdd
lmZddlmZmZmZddlmZd
ZGdd�dee�ZdS)z.
    auth logging tests that exercise winbind
�N)�system_session)�Credentials)�
get_string�	get_bytes)�AUTH_EVENT_NAME�MSG_AUTH_LOG)�UF_NORMAL_ACCOUNT)�	Messaging)�LoadParm)�SamDB)�delete_force�BlackboxProcessError�BlackboxTestCase)�AuthLogTestBase�WBALUcs`eZdZdd�Zdd�Z�fdd�Z�fdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Z�ZS)�AuthLogTestsWinbindc
s&t��\}}t��}|dkr|Stjd}t�}|�|�dd�}�fdd�}td|d�}|�t�|df}	|j	|	t
d	�g�_t��}
t��|
d
krY|�
d�t��|
d
ksLtt|�j��}|rs|D]}t�|t|d��qent�|td
��t�|�|j|	t
d	�|�t�t�d�dS)Nr�DC_SERVERCONFFILEcSs2|durdSt�|�}|ddko|dddkS)NF�type�Authentication�serviceDescription�SamLogon)�json�loads)�m�msg�r�>/usr/lib/python3/dist-packages/samba/tests/auth_log_winbind.py�is_sam_logon>s
�z4AuthLogTestsWinbind.dc_watcher.<locals>.is_sam_logoncst|��j�|�dS�N)�print�dc_msgs�append)�context�msgType�src�message��selfrr�message_handlerHsz7AuthLogTestsWinbind.dc_watcher.<locals>.message_handler)�)�lp_ctx)�msg_typer)g�������?�
zNone
)�os�pipe�fork�environr
�loadr	�
irpc_add_namer�registerrr �time�	loop_once�list�filter�writer�close�
deregister�irpc_remove_name�_exit)
r'�r1�w1�pid�config_filer*rr(�msg_ctx�msg_handler_and_context�
start_time�msgsrrr&r�
dc_watcher.s8




��

zAuthLogTestsWinbind.dc_watchercCsdd�}tt||��S)NcSs4|ddkr|dddkr|dddkrdSdS)	Nr�
AuthorizationrzDCE/RPC�authType�ncacn_npFTr�rrrr�keepps
z1AuthLogTestsWinbind.filter_messages.<locals>.keep)r6r7)r'�messagesrJrrr�filter_messagesosz#AuthLogTestsWinbind.filter_messagescsztt|���tjd|_tjd|_tjd|_|��|_	|�
�|_t�|_
td�|j�|j
|j|j	d�|_|��dS)N�DOMAIN�SERVER�	DC_SERVERz
ldap://{0})�url�session_info�credentials�lp)�superr�setUpr-r0�domain�host�dc�get_loadparmrS�get_credentialsrRr�sessionr�format�ldb�create_user_accountr&��	__class__rrrUzs


�zAuthLogTestsWinbind.setUpcs tt|���t|j|j�dSr)rTr�tearDownrr]�user_dnr&r_rrra�szAuthLogTestsWinbind.tearDowncCs�|��|_t|_d|j|j��f|_t|j|j�dt|j��	d�}|j�
|jdd|jtt�|d��t
�|_|j�|���|j�|j�|j�|j�|j�|j�dS)Nzcn=%s,%sz"%s"z	utf-16-le�userz%s)�dn�objectclass�sAMAccountName�userAccountControl�
unicodePwd)�random_password�	user_pass�	USER_NAME�	user_namer]�	domain_dnrbrr�encode�add�strrr�
user_creds�guessrY�set_password�set_username�set_workstation�server)r'�utf16pwrrrr^�s"
�z'AuthLogTestsWinbind.create_user_accountcCs�t�|d�}t|�}t|�dks|dkr|�d�d}|�d�D]}t�t|��}||ddkr3nd}q |dur?|�d�|�d|d�|�||dd�|�d	|dd
�|�||dd�dS)Ni r�Nonez'No Domain server authentication messager,r�logonIdrrr�authDescription)	r-�readr�len�fail�splitrr�assertEqual)r'r.�logon_id�descriptionrKrr%rrr�"check_domain_server_authentication�s(


�
�z6AuthLogTestsWinbind.check_domain_server_authenticationcCs�dd�}|��}d}|jd�||j��|j���dd�|�|�}|�|�}d}|�|t	|�d�|d	}|�d
|d�|�
|d
d�d
��|�d|d
d�|�d|d
d�|�d|d
d�|�d|d
d�|�d|d
d�|�d|d
d�|�|j|d
d�|�d|d
d�|�|j��|d
d�|�|j�
�|d
d�|�
|d
ddu�|d
d}|�||d�dS) NcS�Bd}|ddko |dddko |ddduo |dd�|�S)NzPAM_AUTH, ntlm_authrrr�winbindrz��
startswith�r�DESCrrr�isLastExpectedMessage�����zAAuthLogTestsWinbind.test_ntlm_auth.<locals>.isLastExpectedMessagez
bin/ntlm_authz!{0} --username={1} --password={2}�ntlm_auth failedrIr)�/Did not receive the expected number of messagesrrrrzzPAM_AUTH, ntlm_auth,r�r�	Plaintext�passwordType��	logonType��eventId�unix:�
remoteAddress�localAddress�clientDomain�NT_STATUS_OK�status�
clientAccount�workstationry�interactive)rE�	check_runr\rR�get_username�get_password�waitForMessagesrLrr|�
assertTruer�rV�
get_domainr��r'r�r.�COMMANDrK�expected_messagesrr�rrr�test_ntlm_auth�sV��

���
�
�
�z"AuthLogTestsWinbind.test_ntlm_authcCs�dd�}|��}d}z|jd�||j��|j���dd�Wn	ty'Ynw|�|�}|�|�}d}|�	|t
|�d�|d	}|�	d
|d�|�|d
d�d
��|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	|j��|d
d�|�	d|d
d�|d
d}|d}|�	d
|d�|�|d
d�d ��|�	d|d
d�|�	||d
d�|�	d!|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	|j��|d
d�|�	d|d
d�|d}|�	d
|d�|�|d
d�d"��|�	d|d
d�|�	d|d
d�|�	d#|d
d�|�	d$|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	|j��|d
d�|�	|j�
�|d
d�|d
d}|�||d%�dS)&NcSr��NzNTLM_AUTH, wbinforrrr�rzr�r�rrrr�r�z>AuthLogTestsWinbind.test_wbinfo.<locals>.isLastExpectedMessage�
bin/wbinfoz{0} -a {1}%{2}r�rI�r�rrrrz�PASSDB, wbinfo,r�r�r��r�r�r�r��r��NT_STATUS_NO_SUCH_USERr��NTLMv2r�r�ryr)�PAM_AUTHr��NTLM_AUTH, wbinfo,r�r��network�rEr�r\rRr�r�r
r�rLrr|r�r�r�r�r�rrr�test_wbinfo�s��
��

��
�
�
��
�
�
��
�
�
�zAuthLogTestsWinbind.test_wbinfocCs�dd�}|��}d}z|jd�||j��|j���dd�Wn	ty'Ynw|�|�}|�|�}d}|�	|t
|�d�|d	}|�	d
|d�|�|d
d�d
��|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	|j��|d
d�|�	d|d
d�|d
d}|d}|�	d
|d�|�|d
d�d ��|�	d|d
d�|�	||d
d�|�	d!|d
d�|�	d"|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	d|d
d�|�	|j��|d
d�|�	d|d
d�|d}|�	d
|d�|�|d
d�d#��|�	d|d
d�|�	d$|d
d�|�	d|d
d�|�	d%|d
d�|�	d&|d
d�|�	d|d
d�|�	d|d
d�|�	|j��|d
d�|�	|j�
�|d
d�|d
d}|�||d'�dS)(NcSr�r�r�r�rrrr�fr�zEAuthLogTestsWinbind.test_wbinfo_ntlmv1.<locals>.isLastExpectedMessager�z{0} --ntlmv1 -a {1}%{2}r�rIr�r�rrrrzr�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�ryr)r�r�r�r��NTLMv1r�r�r�r�r�rrr�test_wbinfo_ntlmv1es��
��

��
�
�
��
�
�
��
�
�
�
�z&AuthLogTestsWinbind.test_wbinfo_ntlmv1)
�__name__�
__module__�__qualname__rErLrUrar^r�r�r�r��
__classcell__rrr_rr(sA7fr)�__doc__rr-r4�
samba.authr�samba.credentialsr�samba.commonrr�samba.dcerpc.messagingrr�
samba.dsdbr�samba.messagingr	�samba.paramr
�samba.samdbr�samba.testsrr
r�samba.tests.auth_log_baserrkrrrrr�<module>s