
    J$di                        d Z ddlZddlmZm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 ddlmZ dd	lmZ dd
lmZ ddlmZmZmZmZmZ ddlZ G d dej        j        j                   Z!dS )z&Tests for the Auth and AuthZ logging.
    N)srvsvc	dnsserver)libsmb_samba_internal)param)SamDB)DONT_USE_KERBEROSMUST_USE_KERBEROS)NTSTATUSError)call)LdbError)EVT_ID_SUCCESSFUL_LOGONEVT_ID_UNSUCCESSFUL_LOGONEVT_LOGON_NETWORKEVT_LOGON_INTERACTIVEEVT_LOGON_NETWORK_CLEAR_TEXTc                   x    e Zd Z fdZ fdZ	 	 d<dZd Zd Zd Zd	 Z	d
 Z
d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd  Z d! Z!d" Z"d# Z#d$ Z$d% Z%d& Z&d' Z'd( Z(d) Z)d* Z*d+ Z+d, Z,d- Z-d. Z.d/ Z/d0 Z0d1 Z1d2 Z2d3 Z3d4 Z4d5 Z5d6 Z6d7 Z7d8 Z8d9 Z9d: Z:d; Z; xZ<S )=AuthLogTestsc                     t          t          |                                            t          j        d         | _        d S )N	CLIENT_IP)superr   setUposenvironremoteAddressself	__class__s    6/usr/lib/python3/dist-packages/samba/tests/auth_log.pyr   zAuthLogTests.setUp+   s4    lD!!'')))Z4    c                 V    t          t          |                                            d S N)r   r   tearDownr   s    r   r"   zAuthLogTests.tearDown/   s%    lD!!**,,,,,r   yesFc                    |                                  }t          j                    }|                    |j                   |                    d|           |                    d|           t          j        | j        d|||          S )Nzclient use spnegozclient ntlmv2 authsysvol)lpcreds
force_smb1)	get_loadparms3paramget_contextload
configfilesetlibsmbConnserver)r   r'   
use_spnegontlmv2_authr(   r&   s3_lps          r   smb_connectionzAuthLogTests.smb_connection2   s       #%%

2=!!! 			%z222		&444{4;U%&02 2 2 	2r   c                 T   fd}|rd|z  }dk    r3t          j         d| j        ||                                 |          }n8dk    r2t          j        d| j        ||                                 |          }|                     ||          }	 ||	|           d S )Nc                     | d         dk    oM| d         d         dk    p| d         d         k    o)| d         d         d         k    o| d         d         k    S NtypeAuthorizationserviceDescriptionDCE/RPCauthTyper   transportProtection )msg	authTypes
protectionservices    r   isLastExpectedMessagez>AuthLogTests._test_rpc_ncacn_np.<locals>.isLastExpectedMessageB   s    K?2 N)*>?9L K)*>?7JN (4	!DN ()>?:M	Or   [%s]r   z	ncacn_np:r   r   r1   r)   r   waitForMessages)
r   rA   r'   rC   bindingrB   checkFunctionrD   xmessagess
    ` ` `    r   _test_rpc_ncacn_npzAuthLogTests._test_rpc_ncacn_np@   s    	O 	O 	O 	O 	O 	O 	O  	'w&Gk!!##t{{GG$L$($5$5$7$7$)+ +AA   ggF"//11#% %A ''(=qAAh	7GZHHHHHr   c                 ,   t          t          d t          j        d                              |                              }d|v r|                     |d           d S d|v r|                     |d           d S |                     |ddg           d S )Nc                     | S r!   r?   )rJ   s    r   <lambda>zBAuthLogTests._assert_ncacn_np_serviceDescription.<locals>.<lambda>_   s    ! r   z[\[,\]]smb2SMB2smb1SMB)listfilterrecompilesplitassertEqualassertIn)r   rH   r;   binding_lists       r   #_assert_ncacn_np_serviceDescriptionz0AuthLogTests._assert_ncacn_np_serviceDescriptionZ   s    
 RZ	%:%:%@%@%I%IJJKK 	 \!!/88888|##/77777MM,ufo>>>>>r   c                    t          |          }|                     |t          |          d           |d         }|                     d|d                    |                     d|d         d                    |                     t          |d         d                    |                     t          |d         d                    |                     ||d         d	                    |                     |d
         |d         d                    |d
         }|                     d|d                    |                     ||d         d	                    |                     |d         |d         d                    |                     d|d         d                    |                     |                     |d         d                              |dk    rfd}|d         }|                     d|d                    |                     d|d         d                    |                      ||d         d	                              |                     |d         |d         d                    |                     t          |d         d                    |                     t          |d         d                    d S d S )N/Did not receive the expected number of messagesr   Authenticationr9   NT_STATUS_OKstatuseventId	logonTyper;      authDescriptionr:      r=   rS   r>   	sessionId   c                     | dk    p| k    S )Nr<   r?   )descrC   s    r   checkServiceDescriptionzEAuthLogTests.rpc_ncacn_np_ntlm_check.<locals>.checkServiceDescription   s    	)<TW_=r      lenrY   r   r   r\   
assertTrueis_guid)	r   rK   rA   rC   rH   rB   expected_messagesr@   rk   s	      `     r   rpc_ncacn_np_ntlm_checkz$AuthLogTests.rpc_ncacn_np_ntlm_checki   s4     	NN*h--K	M 	M 	M
 qk)3v;777-=)>x)HIII#S)9%:9%E	G 	G 	Gs#34[A	C 	C 	C00S)*+?@	B 	B 	B1./0AB	D 	D 	D qk#f+66600S)*>?	A 	A 	A1s?';J'GHHHO 45J KLLLS%9+%FGGHHH !!> > > > > 1+C-s6{;;;^S1A-B8-LMMMOO''()*>?A AB B B Yq\!"234EFH H H'-=)>y)IK K K!3'7#8#EG G G G G "!r   c                 l   t          |          }|                     |t          |          d           |d         }|                     d|d                    |                     d|d         d                    |                     d|d         d                    |                     |d	         |d         d
                    |                     t          |d         d                    |                     t          |d         d                    |d	         }|                     d|d                    |                     d|d         d                    |                     d|d         d                    |                     |d         |d         d
                    |                     t          |d         d                    |                     t          |d         d                    |d         }|                     d|d                    |                     ||d         d                    |                     |d         |d         d                    |                     d|d         d                    |                     |                     |d         d                              d S )Nr^   r   r_   r9   r`   ra   Kerberos KDCr;   rd   re   rb   rc   rf   r:   rl   r=   rS   r>   rg   rm   r   rK   rA   rC   rH   rB   rq   r@   s           r   rpc_ncacn_np_krb5_checkz$AuthLogTests.rpc_ncacn_np_krb5_check   s     	NN*h--K	M 	M 	M qk)3v;777-=)>x)HIII./0DE	G 	G 	G1./0AB	D 	D 	D#S)9%:9%E	G 	G 	Gs#34[A	C 	C 	C qk)3v;777-=)>x)HIII./0DE	G 	G 	G1./0AB	D 	D 	D#S)9%:9%E	G 	G 	Gs#34[A	C 	C 	C qk#f+66600S)*>?	A 	A 	A1s?';J'GHHHO 45J KLLLS%9+%FGGHHHHHr   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Ntemplatekerberos_stateNTLMSSPr|   r|   r|   r   signSIGNinsta_credsget_credentialsr   rL   rr   r   r'   s     r   test_rpc_ncacn_np_ntlm_dns_signz,AuthLogTests.test_rpc_ncacn_np_ntlm_dns_sign   sq      $*>*>*@*@0A ! C C !, !, !, !&{FF $ <	> 	> 	> 	> 	>r   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r{   r   r}   r~   r   r   s     r   test_rpc_ncacn_np_ntlm_srv_signz,AuthLogTests.test_rpc_ncacn_np_ntlm_srv_sign   sq      $*>*>*@*@0A ! C C !, !, !, !&x $ <	> 	> 	> 	> 	>r   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   ncacn_npr|   r|   r    rS   r   r   s     r   test_rpc_ncacn_np_ntlm_dnsz'AuthLogTests.test_rpc_ncacn_np_ntlm_dns   sq      $*>*>*@*@0A ! C C !, !, !, !&{B $ <		> 	> 	> 	> 	>r   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r   r   r   rS   r   r   s     r   test_rpc_ncacn_np_ntlm_srvz'AuthLogTests.test_rpc_ncacn_np_ntlm_srv   sq      $*>*>*@*@0A ! C C !, !, !, !&xU $ <		> 	> 	> 	> 	>r   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   krb5ENC-TS Pre-authenticationr   r   r   r}   r~   r   r   r	   rL   rv   r   s     r   test_rpc_ncacn_np_krb_dns_signz+AuthLogTests.test_rpc_ncacn_np_krb_dns_sign   sq      $*>*>*@*@0A ! C C !) !) !) !&{FF $ <	> 	> 	> 	> 	>r   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r   r   r}   r~   r   r   s     r   test_rpc_ncacn_np_krb_srv_signz+AuthLogTests.test_rpc_ncacn_np_krb_srv_sign   sq      $*>*>*@*@0A ! C C !) !) !) !&x $ <	> 	> 	> 	> 	>r   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r   r   r   r   r   r   rS   r   r   s     r   test_rpc_ncacn_np_krb_dnsz&AuthLogTests.test_rpc_ncacn_np_krb_dns	  sq      $*>*>*@*@0A ! C C !) !) !) !&{B $ <	> 	> 	> 	> 	>r   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r   r   rP   rS   r   r   s     r   test_rpc_ncacn_np_krb_dns_smb2z+AuthLogTests.test_rpc_ncacn_np_krb_dns_smb2  sq      $*>*>*@*@0A ! C C !) !) !) !&{FE $ <	> 	> 	> 	> 	>r   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r   r   r   rS   r   r   s     r   test_rpc_ncacn_np_krb_srvz&AuthLogTests.test_rpc_ncacn_np_krb_srv  sq      $*>*>*@*@0A ! C C !) !) !) !&xU $ <	> 	> 	> 	> 	>r   c                 P   fd}|rd|z  }|dk    r3t          j         d| j        ||                                 |          }n8|dk    r2t          j        d| j        ||                                 |          }|                     ||          }	 ||	||           d S )Nc                     | d         dk    o;| d         d         dk    o)| d         d         d         k    o| d         d         k    S r8   r?   )r@   rA   rB   s    r   rD   zBAuthLogTests._test_rpc_ncacn_ip_tcp.<locals>.isLastExpectedMessage)  se    K?2 N()=>)KN(4	!DN ()>?:MOr   rE   r   zncacn_ip_tcp:r   rF   )
r   rA   r'   rC   rH   rB   rI   rD   connrK   s
    `   `    r   _test_rpc_ncacn_ip_tcpz#AuthLogTests._test_rpc_ncacn_ip_tcp'  s    	O 	O 	O 	O 	O 	O  	'w&Gk!!&&'+{{GG<!!## DD   ==WW!M!%!2!2!4!4!&( (D ''(=tDDh	7GZHHHHHr   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 )Nr^   r   r:   r9   r<   r;   rd   r=   NONEr>   rg   r_   r`   ra   rf   re   rb   rc   rn   rY   ro   rp   r   r   ru   s           r   rpc_ncacn_ip_tcp_ntlm_checkz(AuthLogTests.rpc_ncacn_ip_tcp_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#S)9%:9%E	G 	G 	Gs#34[A	C 	C 	C 	C 	Cr   c                 l   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         }|                     d|d                    |                     d|d         d                    |                     d|d         d                    |                     |d         |d         d                    |                     t          |d         d                    |                     t
          |d         d                    d S )Nr^   r   r:   r9   r<   r;   rd   r=   r   r>   rg   r_   r`   ra   rt   rf   re   rb   rc   r   ru   s           r   rpc_ncacn_ip_tcp_krb5_checkz(AuthLogTests.rpc_ncacn_ip_tcp_krb5_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#S)9%:9%E	G 	G 	Gs#34[A	C 	C 	C qk)3v;777-=)>x)HIII./0DE	G 	G 	G1./0AB	D 	D 	D#S)9%:9%E	G 	G 	Gs#34[A	C 	C 	C 	C 	Cr   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r|   ncacn_ip_tcpr|   r   r}   r~   r   r   r   r   r   r   s     r   #test_rpc_ncacn_ip_tcp_ntlm_dns_signz0AuthLogTests.test_rpc_ncacn_ip_tcp_ntlm_dns_sign  v      $*>*>*@*@0A ! C C## %0 %0 %0 %*;$($D		F 	F 	F 	F 	Fr   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r   r   r   r   r   r}   r~   r   r   r	   r   r   r   s     r   #test_rpc_ncacn_ip_tcp_krb5_dns_signz0AuthLogTests.test_rpc_ncacn_ip_tcp_krb5_dns_sign  y      $*>*>*@*@0A ! C C## %B %B %B %*;$($D	F 	F 	F 	F 	Fr   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r   r   r   r~   r   r   s     r   test_rpc_ncacn_ip_tcp_ntlm_dnsz+AuthLogTests.test_rpc_ncacn_ip_tcp_ntlm_dns  sv      $*>*>*@*@0A ! C C## %0 %0 %0 %*;F$($D		F 	F 	F 	F 	Fr   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r   r   r   r~   r   r   s     r   test_rpc_ncacn_ip_tcp_krb5_dnsz+AuthLogTests.test_rpc_ncacn_ip_tcp_krb5_dns  sy      $*>*>*@*@0A ! C C## %B %B %B %*;F$($D	F 	F 	F 	F 	Fr   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r   r   connectr   r   r   s     r   &test_rpc_ncacn_ip_tcp_ntlm_dns_connectz3AuthLogTests.test_rpc_ncacn_ip_tcp_ntlm_dns_connect  sv      $*>*>*@*@0A ! C C## %0 %0 %0 %*;	6$($D		F 	F 	F 	F 	Fr   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r   r   r   r   r   r   s     r   &test_rpc_ncacn_ip_tcp_krb5_dns_connectz3AuthLogTests.test_rpc_ncacn_ip_tcp_krb5_dns_connect  sy      $*>*>*@*@0A ! C C## %B %B %B %*;	6$($D	F 	F 	F 	F 	Fr   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r   r   sealSEALr   r   s     r   #test_rpc_ncacn_ip_tcp_ntlm_dns_sealz0AuthLogTests.test_rpc_ncacn_ip_tcp_ntlm_dns_seal  r   r   c                     |                      |                                 t                    }|                     g d|ddd| j                   d S )Nrx   r   r   r   r   r   r   s     r   #test_rpc_ncacn_ip_tcp_krb5_dns_sealz0AuthLogTests.test_rpc_ncacn_ip_tcp_krb5_dns_seal  r   r   c                    d }t          dt          j        d         z  |                                 |                                           | _        |                     |          }|                     dt          |          d           |d         }|                     d|d	                    |                     d
|d         d                    |                     d|d         d                    |                     d|d         d                    | 	                    |d         d         dk               |                     t          |d         d                    |                     t          |d         d                    |d         }|                     d|d	                    |                     d
|d         d                    |                     d|d         d                    |                     d|d         d                    | 	                    |d         d         dk               |                     t          |d         d                    |                     t          |d         d                    d S )Nc                     | d         dk    o5| d         d         dk    o#| d         d         dk    o| d         d         dk    S )	Nr9   r:   r;   LDAPr>   r   r=   r   r?   r@   s    r   rD   z5AuthLogTests.test_ldap.<locals>.isLastExpectedMessage  s]    K?2 ?()=>&H?()>?6I? (4>@r   	ldap://%sSERVERurlr&   credentialsrl   r^   r   r_   r9   r`   ra   rt   r;   r   re   durationrb   rc   rd   r   r   r   r)   r   samdbrG   rY   rn   ro   r   r   r   rD   rK   r@   s       r   	test_ldapzAuthLogTests.test_ldap  s   	@ 	@ 	@ {RZ-AA"//11'+';';'='=? ? ?
 ''(=>>h--K	M 	M 	M
 qk)3v;777-=)>x)HIII./0DE	G 	G 	G4./0AB	D 	D 	D,-j9A=>>>#S)9%:9%E	G 	G 	Gs#34[A	C 	C 	C qk)3v;777-=)>x)HIII./0DE	G 	G 	G4./0AB	D 	D 	D,-j9A=>>>#S)9%:9%E	G 	G 	Gs#34[A	C 	C 	C 	C 	Cr   c                    d }t          dt          j        d         z  |                                 |                                           | _        |                     |          }|                     dt          |          d           |d         }|                     d|d	                    |                     d
|d         d                    |                     d|d         d                    |                     d|d         d                    | 	                    |d         d         dk               |                     t          |d         d                    |                     t          |d         d                    d S )Nc                     | d         dk    o5| d         d         dk    o#| d         d         dk    o| d         d         dk    S )	Nr9   r:   r;   r   r>   r   r=   r|   r?   r   s    r   rD   z:AuthLogTests.test_ldap_ntlm.<locals>.isLastExpectedMessage  s`    K?2 B()=>&HB()>?6IB (4	ACr   r   	SERVER_IPr   rf   r^   r   r_   r9   r`   ra   r   r;   r|   re   r   rb   rc   r   r   s       r   test_ldap_ntlmzAuthLogTests.test_ldap_ntlm  s   	C 	C 	C {RZ-DD"//11'+';';'='=? ? ?
 ''(=>>h--K	M 	M 	M qk)3v;777-=)>x)HIII./0DE	G 	G 	GC(8$9:K$LMMM,-j9A=>>>#S)9%:9%E	G 	G 	Gs#34[A	C 	C 	C 	C 	Cr   c                 r   d }|                      |                                           }|                    |                                d|                                           t          dt          j        d         z  |                                 |          | _	        | 
                    |          }|                     dt          |          d           |d	         }|                     d
|d                    |                     d|d
         d                    |                     d|d
         d                    |                     d|d
         d                    |                     t          |d
         d                    |                     t          |d
         d                    d S )Nc                     | d         dk    o5| d         d         dk    o#| d         d         dk    o| d         d         dk    S )	Nr9   r:   r;   r   r>   TLSr=   zsimple bindr?   r   s    r   rD   zAAuthLogTests.test_ldap_simple_bind.<locals>.isLastExpectedMessage  s`    K?2 F()=>&HF()>?5HF (4EGr   ry   \
ldaps://%sr   r   rf   r^   r   r_   r9   r`   ra   r   r;   simple bind/TLSre   rb   rc   )r   r   set_bind_dn
get_domainget_usernamer   r   r   r)   r   rG   rY   rn   r   r   r   rD   r'   rK   r@   s        r   test_ldap_simple_bindz"AuthLogTests.test_ldap_simple_bind  s   	G 	G 	G   $*>*>*@*@ AAe&6&6&8&8&8&8&+&8&8&:&:&:< 	= 	= 	= |bj.BB"//11',. . .
 ''(=>>h--K	M 	M 	M
 qk)3v;777-=)>x)HIII./0DE	G 	G 	G*./0AB	D 	D 	D#S)9%:9%E	G 	G 	G(#.>*?*L	N 	N 	N 	N 	Nr   c                 D   d }|                      |                                           }|                    d           |                    |                                d|                                           d}	 t          dt          j        d         z  | 	                                |          | _
        n# t          $ r d	}Y nw xY w|                     |d	           |                     |          }|                     d
t          |          d           d S )Nc                     | d         dk    oc| d         d         dk    oQ| d         d         dk    o?| d         d         dk    o-| d         d	         t           k    o| d         d
         t          k    S )Nr9   r_   r;   r   ra   NT_STATUS_WRONG_PASSWORDre   r   rb   rc   r   r   r   s    r   rD   zNAuthLogTests.test_ldap_simple_bind_bad_password.<locals>.isLastExpectedMessage@  s    K#33 	6()*>?6I	6)*8423	6 )*+<=)*		6 )*9512	6 )*;745	7r   r   badPasswordr   Fr   r   r   Trd   r^   )r   r   set_passwordr   r   r   r   r   r   r)   r   r   rY   rG   rn   r   rD   r'   thrownrK   s        r   "test_ldap_simple_bind_bad_passwordz/AuthLogTests.test_ldap_simple_bind_bad_password?  sU   
	7 
	7 
	7   $*>*>*@*@ AA=)))e&6&6&8&8&8&8&+&8&8&:&:&:< 	= 	= 	= 	<"*X2F#F"&"3"3"5"5+02 2 2DJJ  	 	 	FFF	&&&''(=>>h--K	M 	M 	M 	M 	Ms   <B? ?CCc                    d }|                      |                                           }|                    |                                dd           d}	 t	          dt
          j        d         z  |                                 |          | _        n# t          $ r d	}Y nw xY w| 
                    |d	           |                     |          }| 
                    d
t          |          d           d S )Nc                     | d         dk    oc| d         d         dk    oQ| d         d         dk    o?| d         d         dk    o-| d         d	         t           k    o| d         d
         t          k    S Nr9   r_   r;   r   ra   NT_STATUS_NO_SUCH_USERre   r   rb   rc   r   r   s    r   rD   zJAuthLogTests.test_ldap_simple_bind_bad_user.<locals>.isLastExpectedMessage`      K#33 	6()*>?6I	6)*8401	6 )*+<=)*		6 )*9512	6 )*;745	7r   r   r   badUserFr   r   r   Trd   r^   r   r   r   r   r   r   r   r)   r   r   rY   rG   rn   r   s        r   test_ldap_simple_bind_bad_userz+AuthLogTests.test_ldap_simple_bind_bad_user_  s)   
	7 
	7 
	7   $*>*>*@*@ AAe&6&6&8&8&8&8))DEEE	<"*X2F#F"&"3"3"5"5+02 2 2DJJ  	 	 	FFF	&&&''(=>>h--K	M 	M 	M 	M 	M   <B B'&B'c                    d }|                      |                                           }|                    |                                dd           d}	 t	          dt
          j        d         z  |                                 |          | _        n# t          $ r d	}Y nw xY w| 
                    |d	           |                     |          }| 
                    d
t          |          d           d S )Nc                     | d         dk    oc| d         d         dk    oQ| d         d         dk    o?| d         d         dk    o-| d         d	         t           k    o| d         d
         t          k    S r   r   r   s    r   rD   zRAuthLogTests.test_ldap_simple_bind_unparseable_user.<locals>.isLastExpectedMessage~  r   r   r   r   abdcefFr   r   r   Trd   r^   r   r   s        r   &test_ldap_simple_bind_unparseable_userz3AuthLogTests.test_ldap_simple_bind_unparseable_user}  s)   
	7 
	7 
	7   $*>*>*@*@ AAe&6&6&8&8&8&8((CDDD	<"*X2F#F"&"3"3"5"5+02 2 2DJJ  	 	 	FFF	&&&''(=>>h--K	M 	M 	M 	M 	Mr   c                 n   d }|                      |                                           }|                                 t          dt          j        d         z  |                                 |          | _        |                     |          }| 	                    dt          |          d           d S )Nc                     dS )NTr?   r   s    r   rD   zPAuthLogTests.test_ldap_anonymous_access_bind_only.<locals>.isLastExpectedMessage  s    4r   r   r   r   r   r   r^   )r   r   set_anonymousr   r   r   r)   r   rG   rY   rn   r   rD   r'   rK   s       r   $test_ldap_anonymous_access_bind_onlyz1AuthLogTests.test_ldap_anonymous_access_bind_only  s    	 	 	   $*>*>*@*@ AA|bj.BB"//11',. . .
 ''(=>>h--K	M 	M 	M 	M 	Mr   c                     d }|                      |                                           }|                                 t          dt          j        d         z  |                                 |          | _        	 | j                            | j        	                                           | 
                    d           n# t          $ r Y nw xY w|                     |          }|                     dt          |          d	           d S )
Nc                     | d         dk    oG| d         d         dk    o5| d         d         dk    o#| d         d         dk    o| d         d	         d
k    S )Nr9   r:   r;   r   r>   r   accountANONYMOUS LOGONr=   zno bindr?   r   s    r   rD   zFAuthLogTests.test_ldap_anonymous_access.<locals>.isLastExpectedMessage  s{    K?2 B()=>&HB()>?5HB (37HHB (4	A	Cr   r   r   r   r   )basezExpected an LdbError exceptionrd   r^   )r   r   r   r   r   r   r)   r   search	domain_dnfailr   rG   rY   rn   r   s       r   test_ldap_anonymous_accessz'AuthLogTests.test_ldap_anonymous_access  s-   	C 	C 	C   $*>*>*@*@ AA|bj.BB"//11',. . .
	J4:#7#7#9#9:::II67777 	 	 	D	 ''(=>>h--K	M 	M 	M 	M 	Ms   =AC 
CCc                 X   d }|                      |                                           }|                     |           |                     |          }|                     dt          |          d           |d         }|                     d|d                    |                     d|d         d	                    |                     d
|d         d                    |                     d|d         d                    |                     t          |d         d                    |                     t          |d         d                    |d         }|                     d|d                    |                     d|d         d	                    |                     d
|d         d                    |                     d|d         d                    |                     t          |d         d                    |                     t          |d         d                    d S )Nc                     | d         dk    o3d| d         d         v o#| d         d         dk    o| d         d         dk    S )Nr9   r:   rS   r;   r=   r   r>   r?   r   s    r   rD   z4AuthLogTests.test_smb.<locals>.isLastExpectedMessage  s`    K?2 IS12FGGI(4>I ()>?5HJr   r   rl   r^   r   r_   r9   r`   ra   rt   r;   r   re   rb   rc   rd   )r   r   r5   rG   rY   rn   r   r   r   s        r   test_smbzAuthLogTests.test_smb  sw   	J 	J 	J   $*>*>*@*@ AAE"""''(=>>h--K	M 	M 	M qk)3v;777-=)>x)HIII./0DE	G 	G 	G4./0AB	D 	D 	D0./	:	< 	< 	<*./<	> 	> 	> qk)3v;777-=)>x)HIII./0DE	G 	G 	G4./0AB	D 	D 	D0./	:	< 	< 	<*./<	> 	> 	> 	> 	>r   c                    d }|                      |                                           }|                    t                     |                    d           d}	 |                     |           n# t          $ r d}Y nw xY w|                     |d           |                     |          }|                     dt          |          d           d S )Nc                     | d         dk    o5| d         d         dk    o#| d         d         dk    o| d         d         dk    S )	Nr9   r_   r;   rt   ra   r   re   r   r?   r   s    r   rD   zAAuthLogTests.test_smb_bad_password.<locals>.isLastExpectedMessage  sk    K#33 5)*+?@&'5 )*84235
 )*+<=346r   r   r   FTrd   r^   )
r   r   set_kerberos_stater	   r   r5   r
   rY   rG   rn   r   s        r   test_smb_bad_passwordz"AuthLogTests.test_smb_bad_password  s   	6 	6 	6   $*>*>*@*@ AA  !2333=)))	&&&& 	 	 	FFF	&&&''(=>>h--K	M 	M 	M 	M 	M   A4 4BBc                    d }|                      |                                           }|                    t                     |                    d           d}	 |                     |           n# t          $ r d}Y nw xY w|                     |d           |                     |          }|                     dt          |          d           d S )Nc                     | d         dk    oc| d         d         dk    oQ| d         d         dk    o?| d         d         dk    o-| d         d	         t           k    o| d         d
         t          k    S )Nr9   r_   r;   rt   ra   r   re   zAS-REQrb   rc   r   r   r   s    r   rD   z=AuthLogTests.test_smb_bad_user.<locals>.isLastExpectedMessage  s    K#33 
+)*+?@&'
+ )*8401
+
 )*+<= !
+ )*9512
+ )*;7)*
,r   r   r   FTrd   r^   )
r   r   r  r	   set_usernamer5   r
   rY   rG   rn   r   s        r   test_smb_bad_userzAuthLogTests.test_smb_bad_user  s   	, 	, 	,   $*>*>*@*@ AA  !23339%%%	&&&& 	 	 	FFF	&&&''(=>>h--K	M 	M 	M 	M 	Mr	  c                    d }t           j        d         }d|z  }d}t          d||ddg           |                     |          }|                     dt          |          d	           |d
         }|                     d|d                    |                     d|d         d                    |                     d|d         d                    |                     d|d         d                    |                     d|d         d                    |                     t          |d         d                    |                     t          |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 )Nc                     | d         dk    oG| d         d         dk    o5| d         d         dk    o#| d         d         dk    o| d         d	         dk    S )
Nr9   r:   r;   rS   r=   r|   r   r   r>   r?   r   s    r   rD   z?AuthLogTests.test_smb1_anonymous.<locals>.isLastExpectedMessage,  s{    K?2 I()=>%GI(4	AI (37HHI ()>?5H	Jr   r   	//%s/IPC$-Nbin/smbclientz-mNT1-c quitrl   r^   r   r_   r9   r   ra   rS   r;   r|   re   No-PasswordpasswordTyperb   rc   rd   r`   r   becameAccount	r   r   r   rG   rY   rn   r   r   r   r   rD   r1   pathauthrK   r@   s          r   test_smb1_anonymousz AuthLogTests.test_smb1_anonymous+  s   	J 	J 	J H%V#otT7I>???''(=>>h--K	M 	M 	M
 qk)3v;7771./9	; 	; 	;./0DE	G 	G 	G./0AB	D 	D 	D./?	A 	A 	A2./	:	< 	< 	<*./<	> 	> 	> qk)3v;777./9	; 	; 	;./0DE	G 	G 	G./0AB	D 	D 	D./?	A 	A 	A*./@	B 	B 	B0./	:	< 	< 	<*./<	> 	> 	> 	> 	>r   c                    d }t           j        d         }d|z  }d}t          d||ddg           |                     |          }|                     dt          |          d	           |d
         }|                     d|d                    |                     d|d         d                    |                     d|d         d                    |                     d|d         d                    |                     d|d         d                    |                     t          |d         d                    |                     t          |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 )Nc                     | d         dk    oG| d         d         dk    o5| d         d         dk    o#| d         d         dk    o| d         d	         d
k    S )Nr9   r:   r;   rQ   r=   r|   r   r   r>   rS   r?   r   s    r   rD   z?AuthLogTests.test_smb2_anonymous.<locals>.isLastExpectedMessagea  s{    K?2 I()=>&HI(4	AI (37HHI ()>?5H	Jr   r   r  r  r  z-mSMB3r  rl   r^   r   r_   r9   r   ra   rQ   r;   r|   re   r  r  rb   rc   rd   r`   r   r  r  r  s          r   test_smb2_anonymousz AuthLogTests.test_smb2_anonymous`  s   	J 	J 	J H%V#otT8Y?@@@''(=>>h--K	M 	M 	M
 qk)3v;7771./9	; 	; 	;./0DE	G 	G 	G./0AB	D 	D 	D./?	A 	A 	A2./	:	< 	< 	<*./<	> 	> 	> qk)3v;777./9	; 	; 	;./0DE	G 	G 	G./0AB	D 	D 	D./?	A 	A 	A*./@	B 	B 	B0./	:	< 	< 	<*./<	> 	> 	> 	> 	>r   c                    d }|                      |                                 t                    }|                     |           |                     |          }|                     dt          |          d           |d         }|                     d|d                    |                     d|d         d	                    |                     |d         d
         ddg           |                     d|d         d                    |                     d|d         d                    |                     t          |d         d                    |                     t          |d         d                    d S )Nc                     | d         dk    o3d| d         d         v o#| d         d         dk    o| d         d         dk    S )Nr9   r:   rS   r;   r=   r|   r>   r?   r   s    r   rD   zBAuthLogTests.test_smb_no_krb_spnego.<locals>.isLastExpectedMessage  s`    K?2 IS12FGGI(4	AI ()>?5HJr   rx   rf   r^   r   r_   r9   r`   ra   r;   rS   rQ   r|   re   NTLMv2r  rb   rc   )
r   r   r   r5   rG   rY   rn   rZ   r   r   r   s        r   test_smb_no_krb_spnegoz#AuthLogTests.test_smb_no_krb_spnego  s   	J 	J 	J   $*>*>*@*@0A ! C CE"""''(=>>h--K	M 	M 	M qk)3v;777-=)>x)HIIIc*+,@Afo	' 	' 	'./0AB	D 	D 	D./?	A 	A 	A0./	:	< 	< 	<*./<	> 	> 	> 	> 	>r   c                    d }|                      |                                 t                    }|                    d           d}	 |                     |           n# t
          $ r d}Y nw xY w|                     |d           |                     |          }|                     dt          |          d           d S )Nc                    | d         dk    osd| d         d         v oc| d         d         dk    oQ| d         d         dk    o?| d         d	         d
k    o-| d         d         t           k    o| d         d         t          k    S )Nr9   r_   rS   r;   re   r|   r  r"  ra   r   rb   rc   r  r   s    r   rD   zOAuthLogTests.test_smb_no_krb_spnego_bad_password.<locals>.isLastExpectedMessage  s    K#33 	+S!123GHH	+()*;<	I	+ ().9XE	+ )*8423		+ )*9512	+ )*;7)*	,r   rx   r   FTrd   r^   	r   r   r   r   r5   r
   rY   rG   rn   r   s        r   #test_smb_no_krb_spnego_bad_passwordz0AuthLogTests.test_smb_no_krb_spnego_bad_password  s    
	, 
	, 
	,   $*>*>*@*@0A ! C C=)))	&&&& 	 	 	FFF	&&&''(=>>h--K	M 	M 	M 	M 	M   
A   A/.A/c                    d }|                      |                                 t                    }|                    d           d}	 |                     |           n# t
          $ r d}Y nw xY w|                     |d           |                     |          }|                     dt          |          d           d S )Nc                    | d         dk    osd| d         d         v oc| d         d         dk    oQ| d         d         dk    o?| d         d	         d
k    o-| d         d         t           k    o| d         d         t          k    S )Nr9   r_   rS   r;   re   r|   r  r"  ra   r   rb   rc   r  r   s    r   rD   zKAuthLogTests.test_smb_no_krb_spnego_bad_user.<locals>.isLastExpectedMessage  s    K#33 	+S!123GHH	+()*;<	I	+ ().9XE	+ )*8401		+ )*9512	+ )*;7)*	,r   rx   r   FTrd   r^   	r   r   r   r  r5   r
   rY   rG   rn   r   s        r   test_smb_no_krb_spnego_bad_userz,AuthLogTests.test_smb_no_krb_spnego_bad_user  s    
	, 
	, 
	,   $*>*>*@*@0A ! C C9%%%	&&&& 	 	 	FFF	&&&''(=>>h--K	M 	M 	M 	M 	Mr(  c                     d }|                      |                                 t                    }|                     |ddd           |                     |          }|                     dt          |          d           |d         }|                     d	|d
                    |                     d|d	         d                    |                     d|d	         d                    |                     d|d	         d                    |                     d|d	         d                    |                     t          |d	         d                    |                     t          |d	         d                    d S )Nc                     | d         dk    o5| d         d         dk    o#| d         d         dk    o| d         d         dk    S )Nr9   r:   r;   rS   r=   	bare-NTLMr>   r?   r   s    r   rD   zOAuthLogTests.test_smb_no_krb_no_spnego_no_ntlmv2.<locals>.isLastExpectedMessage  s`    K?2 I()=>%GI(4CI ()>?5HJr   rx   Tnor(   r3   r2   rf   r^   r   r_   r9   r`   ra   rS   r;   r/  re   NTLMv1r  rb   rc   )	r   r   r   r5   rG   rY   rn   r   r   r   s        r   #test_smb_no_krb_no_spnego_no_ntlmv2z0AuthLogTests.test_smb_no_krb_no_spnego_no_ntlmv2  s   	J 	J 	J   $*>*>*@*@0A ! C CE'+(,'+ 	 	- 	- 	-
 ''(=>>h--K	M 	M 	M qk)3v;777-=)>x)HIII./0DE	G 	G 	G./0AB	D 	D 	D./?	A 	A 	A0./	:	< 	< 	<*./<	> 	> 	> 	> 	>r   c                    d }|                      |                                 t                    }|                    d           d}	 |                     |ddd           n# t
          $ r d}Y nw xY w|                     |d           |                     |          }|                     dt          |          d	           d S )
Nc                    | d         dk    ou| d         d         dk    oc| d         d         dk    oQ| d         d         dk    o?| d         d	         d
k    o-| d         d         t           k    o| d         d         t          k    S )Nr9   r_   r;   rS   re   r/  r  r2  ra   r   rb   rc   r  r   s    r   rD   z\AuthLogTests.test_smb_no_krb_no_spnego_no_ntlmv2_bad_password.<locals>.isLastExpectedMessage  s    K#33 	+()*>?5H	+()*;<K	+ ().9XE	+ )*8423		+ )*9512	+ )*;7)*	,r   rx   r   FTr0  r1  rd   r^   r&  r   s        r   0test_smb_no_krb_no_spnego_no_ntlmv2_bad_passwordz=AuthLogTests.test_smb_no_krb_no_spnego_no_ntlmv2_bad_password  s   
	, 
	, 
	,   $*>*>*@*@0A ! C C=)))	+/,0+/   1 1 1 1  	 	 	FFF	&&&''(=>>h--K	M 	M 	M 	M 	M   
A$ $A32A3c                    d }|                      |                                 t                    }|                    d           d}	 |                     |ddd           n# t
          $ r d}Y nw xY w|                     |d           |                     |          }|                     dt          |          d	           d S )
Nc                    | d         dk    ou| d         d         dk    oc| d         d         dk    oQ| d         d         dk    o?| d         d	         d
k    o-| d         d         t           k    o| d         d         t          k    S )Nr9   r_   r;   rS   re   r/  r  r2  ra   r   rb   rc   r  r   s    r   rD   zXAuthLogTests.test_smb_no_krb_no_spnego_no_ntlmv2_bad_user.<locals>.isLastExpectedMessage/  s    K#33 	+()*>?5H	+()*;<K	+ ().9XE	+ )*8401		+ )*9512	+ )*;7)*	,r   rx   r   FTr0  r1  rd   r^   r+  r   s        r   ,test_smb_no_krb_no_spnego_no_ntlmv2_bad_userz9AuthLogTests.test_smb_no_krb_no_spnego_no_ntlmv2_bad_user.  s   
	, 
	, 
	,   $*>*>*@*@0A ! C C9%%%	+/,0+/   1 1 1 1  	 	 	FFF	&&&''(=>>h--K	M 	M 	M 	M 	Mr7  c                 p   dfd}t           j        d         }t           j        d         }t           j        d         }d||dfz  }t          dd	|d
|g           |                     |          }|                     |          }t          |          }|                     d|dk    p|dk    d           d S )Nr   c                    | d         dk    ox| d         d         dk    of| d         d         dk    oT| d         d         dk    oB| d         d	         d
z  k    o-| d         d         t           k    o| d         d         t          k    S )Nr9   r_   r;   SamLogonre   interactivera   r`   workstation\\%srb   rc   )r   r   r@   r?  s    r   rD   zEAuthLogTests.test_samlogon_interactive.<locals>.isLastExpectedMessageR  s    K#33 /)*+?@"#/ )*+<=%&/
 ()(3~E/ )*=9+-./ )*95/0/ )*;7-.0r   r   USERNAMEPASSWORDsamlogon %s %s %s %drd   bin/rpcclient-c-U%Trh      r^   r   r   r   rG   remove_netlogon_messagesrn   assertIs	r   rD   r1   userpasswordsamlogonrK   receivedr?  s	           @r   test_samlogon_interactivez&AuthLogTests.test_samlogon_interactiveN  s    $	0 	0 	0 	0 	0 H%z*%:j))T8[!,LLotXuf=>>>''(=>>00::x==d1}5AG	I 	I 	I 	I 	Ir   c                 P   dfd}t           j        d         }t           j        d         }d}d||dfz  }t          dd	|d
|g           |                     |          }|                     |          }t          |          }|                     d|dk    p|dk    d           d S )Nr   c                    | d         dk    ox| d         d         dk    of| d         d         dk    oT| d         d         dk    oB| d         d	         d
z  k    o-| d         d         t           k    o| d         d         t          k    S )Nr9   r_   r;   r=  re   r>  ra   r   r?  r@  rb   rc   r   r   rA  s    r   rD   zRAuthLogTests.test_samlogon_interactive_bad_password.<locals>.isLastExpectedMessager  s    K#33 /)*+?@"#/ )*+<=%&/
 )*8423/ )*=9+-./ )*9512/ )*;7-.0r   r   rB  r   rD  rd   rE  rF  rG  Trh   rH  r^   rI  rL  s	           @r   &test_samlogon_interactive_bad_passwordz3AuthLogTests.test_samlogon_interactive_bad_passwordn  s    $	0 	0 	0 	0 	0 H%z*% )T8[!,LLotXuf=>>>''(=>>00::x==d1}5AG	I 	I 	I 	I 	Ir   c                 P   dfd}t           j        d         }d}t           j        d         }d||dfz  }t          dd	|d
|g           |                     |          }|                     |          }t          |          }|                     d|dk    p|dk    d           d S )Nr   c                    | d         dk    ox| d         d         dk    of| d         d         dk    oT| d         d         dk    oB| d         d	         d
z  k    o-| d         d         t           k    o| d         d         t          k    S )Nr9   r_   r;   r=  re   r>  ra   r   r?  r@  rb   rc   rT  rA  s    r   rD   zNAuthLogTests.test_samlogon_interactive_bad_user.<locals>.isLastExpectedMessage  s    K#33 /)*+?@"#/ )*+<=%&/
 )*8401/ )*=9+-./ )*9512/ )*;7-.0r   r   r   rC  rD  rd   rE  rF  rG  Trh   rH  r^   rI  rL  s	           @r   "test_samlogon_interactive_bad_userz/AuthLogTests.test_samlogon_interactive_bad_user  s    $	0 	0 	0 	0 	0 H%:j))T8[!,LLotXuf=>>>''(=>>00::x==d1}5AG	I 	I 	I 	I 	Ir   c                 p   dfd}t           j        d         }t           j        d         }t           j        d         }d||dfz  }t          dd	|d
|g           |                     |          }|                     |          }t          |          }|                     d|dk    p|dk    d           d S )Nr   c                    | d         dk    ox| d         d         dk    of| d         d         dk    oT| d         d         dk    oB| d         d	         d
z  k    o-| d         d         t           k    o| d         d         t          k    S Nr9   r_   r;   r=  re   networkra   r`   r?  r@  rb   rc   r   r   rA  s    r   rD   zAAuthLogTests.test_samlogon_network.<locals>.isLastExpectedMessage  s    K#33 
+)*+?@"#
+ ()*;<	I
+ ()(3~E	
+
 )*=9+-.
+ )*95/0
+ )*;7)*
,r   r   rB  rC  rD  rf   rE  rF  rG  Trh   rH  r^   rI  rL  s	           @r   test_samlogon_networkz"AuthLogTests.test_samlogon_network  s    $	, 	, 	, 	, 	, H%z*%:j))T8[!,LLotXuf=>>>''(=>>00::x==d1}5AG	I 	I 	I 	I 	Ir   c                 P   dfd}t           j        d         }t           j        d         }d}d||dfz  }t          dd	|d
|g           |                     |          }|                     |          }t          |          }|                     d|dk    p|dk    d           d S )Nr   c                    | d         dk    ox| d         d         dk    of| d         d         dk    oT| d         d         dk    oB| d         d	         d
z  k    o-| d         d         t           k    o| d         d         t          k    S )Nr9   r_   r;   r=  re   r\  ra   r   r?  r@  rb   rc   r  rA  s    r   rD   zNAuthLogTests.test_samlogon_network_bad_password.<locals>.isLastExpectedMessage  s    K#33 +)*+?@"#+ ()*;<	I+ )*8423	+ )*=9+-.+ )*9512+ )*;7)*,r   r   rB  r   rD  rf   rE  rF  rG  Trh   rH  r^   rI  rL  s	           @r   "test_samlogon_network_bad_passwordz/AuthLogTests.test_samlogon_network_bad_password  s    $	, 	, 	, 	, 	, H%z*% )T8[!,LLotXuf=>>>''(=>>00::x==d1}5AG	I 	I 	I 	I 	Ir   c                 P   dfd}t           j        d         }d}t           j        d         }d||dfz  }t          dd	|d
|g           |                     |          }|                     |          }t          |          }|                     d|dk    p|dk    d           d S )Nr   c                    | d         dk    ox| d         d         dk    of| d         d         dk    oT| d         d         dk    oB| d         d	         d
z  k    o-| d         d         t           k    o| d         d         t          k    S )Nr9   r_   r;   r=  re   r\  ra   r   r?  r@  rb   rc   r  rA  s    r   rD   zJAuthLogTests.test_samlogon_network_bad_user.<locals>.isLastExpectedMessage  s    [$44 +)*+?@"#+ )*+<=J+ )*8401	+ )*=9+-.+ )*9512+ )*;7)*,r   r   r   rC  rD  rf   rE  rF  rG  Trh   rH  r^   rI  rL  s	           @r   test_samlogon_network_bad_userz+AuthLogTests.test_samlogon_network_bad_user  s    $	, 	, 	, 	, 	, H%:j))T8[!,LLotXuf=>>>''(=>>00::x==d1}5AG	I 	I 	I 	I 	Ir   c                 p   dfd}t           j        d         }t           j        d         }t           j        d         }d||dfz  }t          dd	|d
|g           |                     |          }|                     |          }t          |          }|                     d|dk    p|dk    d           d S )Nr   c                 2   | d         dk    o| d         d         dk    ox| d         d         dk    of| d         d         dk    oT| d         d	         d
k    oB| d         d         dz  k    o-| d         d         t           k    o| d         d         t          k    S )Nr9   r_   r;   r=  re   r\  ra   r`   r  MSCHAPv2r?  r@  rb   rc   r]  rA  s    r   rD   zHAuthLogTests.test_samlogon_network_mschap.<locals>.isLastExpectedMessage  s    [$44 +)*+?@"#+ )*+<=J+ )*84F	+
 )*>:jH+ )*=9+-.+ )*95/0+ )*;7)*,r   r   rB  rC  samlogon %s %s %s %d 0x00010000rf   rE  rF  rG  Trh   rH  r^   rI  rL  s	           @r   test_samlogon_network_mschapz)AuthLogTests.test_samlogon_network_mschap  s    $	, 	, 	, 	, 	, H%z*%:j)4(K8, , 	otXuf=>>>''(=>>00::x==d1}5AG	I 	I 	I 	I 	Ir   c                 P   dfd}t           j        d         }t           j        d         }d}d||dfz  }t          dd	|d
|g           |                     |          }|                     |          }t          |          }|                     d|dk    p|dk    d           d S )Nr   c                 2   | d         dk    o| d         d         dk    ox| d         d         dk    of| d         d         dk    oT| d         d	         d
k    oB| d         d         dz  k    o-| d         d         t           k    o| d         d         t          k    S )Nr9   r_   r;   r=  re   r\  ra   r   r  rg  r?  r@  rb   rc   r  rA  s    r   rD   zUAuthLogTests.test_samlogon_network_mschap_bad_password.<locals>.isLastExpectedMessage4  s    [$44 +)*+?@"#+ )*+<=J+ )*8423	+ )*>:jH+ )*=9+-.+ )*9512+ )*;7)*,r   r   rB  r   rh  rf   rE  rF  rG  Trh   rH  r^   rI  rL  s	           @r   )test_samlogon_network_mschap_bad_passwordz6AuthLogTests.test_samlogon_network_mschap_bad_password0  s    $	, 	, 	, 	, 	, H%z*% 4(K8, , 	otXuf=>>>''(=>>00::x==d1}5AG	I 	I 	I 	I 	Ir   c                 P   dfd}t           j        d         }d}t           j        d         }d||dfz  }t          dd	|d
|g           |                     |          }|                     |          }t          |          }|                     d|dk    p|dk    d           d S )Nr   c                 2   | d         dk    o| d         d         dk    ox| d         d         dk    of| d         d         dk    oT| d         d	         d
k    oB| d         d         dz  k    o-| d         d         t           k    o| d         d         t          k    S )Nr9   r_   r;   r=  re   r\  ra   r   r  rg  r?  r@  rb   rc   r  rA  s    r   rD   zQAuthLogTests.test_samlogon_network_mschap_bad_user.<locals>.isLastExpectedMessageV  s    [$44 +)*+?@"#+ )*+<=J+ )*8401	+ )*>:jH+ )*=9+-.+ )*9512+ )*;7)*,r   r   r   rC  rh  rf   rE  rF  rG  Trh   rH  r^   rI  rL  s	           @r   %test_samlogon_network_mschap_bad_userz2AuthLogTests.test_samlogon_network_mschap_bad_userR  s    $	, 	, 	, 	, 	, H%:j)4(K8, , 	otXuf=>>>''(=>>00::x==d1}5AG	I 	I 	I 	I 	Ir   c                   	 d		fd}t           j        d         }t           j        d         }t           j        d         }d|d|d	}t          dd	|d
|g           |                     |          }|                     |          }t          |          }|                     d|dk    p|dk    d           |d         }|                     d|d                    |                     d|d         d                    |                     d|d         d                    |                     d|d         d                    |                     | 	                    |d         d                              d S )Nr   c                    | d         dk    ox| d         d         dk    of| d         d         dk    oT| d         d         dk    oB| d         d	         d
z  k    o-| d         d         t           k    o| d         d         t          k    S r[  r]  rA  s    r   rD   zGAuthLogTests.test_samlogon_schannel_seal.<locals>.isLastExpectedMessagex      [$44 
+)*+?@"#
+ )*+<=J
+ )*84F	
+
 )*=9+-.
+ )*95/0
+ )*;7)*
,r   r   rB  rC  zschannel;samlogon  rE  rF  rG  Trh   rH  r^   r:   r9   r<   r;   schannelr=   r   r>   rg   
r   r   r   rG   rJ  rn   rK  rY   ro   rp   
r   rD   r1   rM  rN  rO  rK   rP  r@   r?  s
            @r   test_samlogon_schannel_sealz(AuthLogTests.test_samlogon_schannel_sealt  s   $	, 	, 	, 	, 	, H%z*%:j)3744;;OotXuf=>>>''(=>>00::x==d1}5AG	I 	I 	I
 rl#f+666o./CD	F 	F 	FS%9*%EFFF_!56K!LMMMS%9+%FGGHHHHHr   c                   	 d		fd}t           j        d         }t           j        d         }t           j        d         }d|d|d	}t          dd	|d
|g           |                     |          }|                     |          }t          |          }|                     d|dk    p|dk    d           |d         }|                     d|d                    |                     d|d         d                    |                     d|d         d                    |                     d|d         d                    |                     | 	                    |d         d                              d S )Nr   c                    | d         dk    ox| d         d         dk    of| d         d         dk    oT| d         d         dk    oB| d         d	         d
z  k    o-| d         d         t           k    o| d         d         t          k    S r[  r]  rA  s    r   rD   zGAuthLogTests.test_samlogon_schannel_sign.<locals>.isLastExpectedMessage  rr  r   r   rB  rC  zschannelsign;samlogon rs  rE  rF  rG  Trh   rH  r^   rt  r:   r9   r<   r;   ru  r=   r   r>   rg   rv  rw  s
            @r   test_samlogon_schannel_signz(AuthLogTests.test_samlogon_schannel_sign  s   $	, 	, 	, 	, 	, H%z*%:j)DD(((KK) 	otXuf=>>>''(=>>00::x==d1}5AG	I 	I 	I
 rl#f+666o./CD	F 	F 	FS%9*%EFFF_!56K!LMMMS%9+%FGGHHHHHr   )r#   r#   F)=__name__
__module____qualname__r   r"   r5   rL   r\   rr   rv   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r#  r'  r,  r3  r6  r:  rQ  rU  rX  r^  ra  rd  ri  rl  ro  rx  r{  __classcell__)r   s   @r   r   r   )   s(       5 5 5 5 5- - - - - CH"'2 2 2 2I I I4? ? ?0G 0G 0Gd2I 2I 2Ih> > >> > >> > >> > >> > >> > >> > >> > >> > >I I I0C C C<)C )C )CVF F FF F FF F FF F FF F FF F FF F FF F F+C +C +CZC C C:N N NBM M M@M M M<M M MDM M M$M M M4&> &> &>PM M M4M M M<3> 3> 3>j3> 3> 3>j> > ><M M M:M M M:> > >BM M M@M M M@I I I@I I IBI I IBI I I>I I I@I I I@I I IB I  I  ID I  I  ID&I &I &IT'I 'I 'I 'I 'I 'I 'Ir   r   )"__doc__samba.testssambasamba.dcerpcr   r   r   samba.samba3r   r/   r   r*   samba.samdbr   samba.tests.auth_log_basesamba.credentialsr   r	   r
   
subprocessr   ldbr   samba.dcerpc.windows_event_idsr   r   r   r   r   rV   testsauth_log_baseAuthLogTestBaser   r?   r   r   <module>r     sm  $      * * * * * * * * 				 8 8 8 8 8 8 ) ) ) ) ) )               B B B B B B B B                                
			\I \I \I \I \I5;,< \I \I \I \I \Ir   