
    b                         d Z ddlZddlmZ ddlmZ ddlmZ ddl	Zddl
mZmZ  G d dej        j        j                  ZdS )	z&Tests for the Auth and AuthZ logging.
    N)DONT_USE_KERBEROS)AS_SYSTEM_MAGIC_PATH_TOKEN)samr)EVT_ID_SUCCESSFUL_LOGONEVT_LOGON_NETWORKc                   @     e Zd Z fdZ fdZd Zd Zd Zd Z xZ	S )AuthLogTestsNcalrpcc                 n    t          t          |                                            t          | _        d S N)superr	   setUpr   remoteAddressself	__class__s    >/usr/lib/python3/dist-packages/samba/tests/auth_log_ncalrpc.pyr   zAuthLogTestsNcalrpc.setUp"   s.    !4((..0007    c                 V    t          t          |                                            d S r   )r   r	   tearDownr   s    r   r   zAuthLogTestsNcalrpc.tearDown&   s&    !4((1133333r   c                     fd}|rd|z  }t          j         d|z  |                                 |           |                     |          } ||           d S )Nc                     | d         dk    o;| d         d         dk    o)| d         d         d         k    o| d         d         k    S )NtypeAuthorizationserviceDescriptionDCE/RPCauthTyper   transportProtection )msg	authTypes
protections    r   isLastExpectedMessagezEAuthLogTestsNcalrpc._test_rpc_ncaclrpc.<locals>.isLastExpectedMessage,   se    F. JO$%9:iGJO$Z0IaL@J O$%:;zI	Kr   z[%s]z
ncalrpc:%s)r   get_loadparmwaitForMessages)r   r    bindingcredsr!   checkFunctionr"   messagess    `  `   r   _test_rpc_ncaclrpcz&AuthLogTestsNcalrpc._test_rpc_ncaclrpc)   s    	K 	K 	K 	K 	K 	K  	'w&G	,($*;*;*=*=uEEE''(=>>h	:66666r   c                    t          |          }|                     |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                    |                     t          |d         d                    |                     t
          |d         d                    d S )Nz/Did not receive the expected number of messagesr   r   r   r   r      r   NONEr   	sessionIdAuthenticationNT_STATUS_OKstatus   authDescriptioneventId	logonType)lenassertEqual
assertTrueis_guidr   r   )r   r(   r    r!   expected_messagesr   s         r   rpc_ncacn_np_ntlm_checkz+AuthLogTestsNcalrpc.rpc_ncacn_np_ntlm_check:   s   	NN*h--K	M 	M 	M
 qk#f+666o./CD	F 	F 	F1s?';J'GHHH_!56K!LMMMS%9+%FGGHHH qk)3v;777-=)>x)HIII./0DE	G 	G 	G1./0AB	D 	D 	D0./	:	< 	< 	<*./<	> 	> 	> 	> 	>r   c                     |                      |                                 t                    }|                     g dd|d| j                   d S )Ntemplatekerberos_stateNTLMSSPncalrpcr@    SIGNinsta_credsget_credentialsr   r)   r:   r   r&   s     r   test_ncalrpc_ntlm_dns_signz.AuthLogTestsNcalrpc.test_ncalrpc_ntlm_dns_signW   so      $*>*>*@*@0A ! C C !, !, !, !#E6 $ <		> 	> 	> 	> 	>r   c                     |                      |                                 t                    }|                     g dd|d| j                   d S )Nr<   r?   sealSEALrD   rG   s     r   test_ncalrpc_ntlm_dns_sealz.AuthLogTestsNcalrpc.test_ncalrpc_ntlm_dns_seala   so      $*>*>*@*@0A ! C C !, !, !, !'v $ <		> 	> 	> 	> 	>r   )
__name__
__module____qualname__r   r   r)   r:   rH   rL   __classcell__)r   s   @r   r	   r	       s        8 8 8 8 84 4 4 4 47 7 7"> > >:> > >> > > > > > >r   r	   )__doc__samba.testssambasamba.credentialsr   samba.dcerpc.dcerpcr   samba.dcerpcr   samba.tests.auth_log_basesamba.dcerpc.windows_event_idsr   r   testsauth_log_baseAuthLogTestBaser	   r   r   r   <module>r\      s   $      / / / / / / : : : : : :                     I> I> I> I> I>%+3C I> I> I> I> I>r   