
    b~                    L   d dl Z d dlZd dlZe j                            d d           dej        d<   d dlmc mZ d dlmc m	Z	 d dl
mc mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dlmZ d dlmZ dZdZ G d	 d
e          Zedk    rdZdZd dlZ ej                     dS dS )    Nz
bin/python1PYTHONUNBUFFERED)gensec)RawDCERPCTest)NT_STATUS_SUCCESSFc                       e Zd Z f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-d,e.j/        fd-Z0e.j/        fd.Z1d/ Z2d0 Z3d1 Z4d2 Z5d3 Z6d4 Z7d5 Z8d6 Z9d7 Z:d8 Z;d9 Z<d: Z=d; Z>d< Z?d= Z@d> ZAd? ZBd@ ZCdA ZDdB ZEdC ZFdD ZGdE ZHdF ZIdG ZJdH ZKdI ZL	 	 	 	 	 	 	 	 	 	 	 	 ddLZM	 	 	 	 	 	 	 	 	 	 	 ddMZN	 	 	 	 	 	 	 	 	 	 	 ddNZOdO ZPdP ZQdQ ZRdR ZSdS ZTdT ZUdU ZVdV ZWdW ZXdX ZYdY ZZdZ Z[d[ Z\d\ Z]	 	 	 	 	 	 	 	 dd]Z^d^ Z_d_ Z`d` Zada Zbdb Zcdc Zddd Zede Zfdf Zgdg Zhdh Zidi Zj	 	 	 	 	 ddjZkdk Zldl Zmdm Zndn Zodo Zpdp Zqdq Zrdr Zsds Ztdt Zu	 	 dduZvdv Zwdw Zxdx Zydy Zzdz Z{dd{Z|d| Z}d} Z~d~ Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Ze.j        dKd,fdZe.j        fdZe.j        d,d,dfdZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZddZd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdÄ ZdĄ Zdń ZdƄ ZdǄ ZdȄ ZdɄ Zdʄ Zd˄ Zd̄ Zd̈́ Zd΄ Zdτ ZdЄ Zdф Zd҄ Zdӄ ZdԄ ZdՄ Zdք Zdׄ Zd؄ Zdل Zdڄ Zdۄ Zd܄ Zd݄ Zdބ Zd߄ Zd Zd Zd Z xZS )TestDCERPC_BINDc                     t          t          |                                            t          | _        t
          | _        d S N)superr	   setUpglobal_ndr_printdo_ndr_printglobal_hexdump
do_hexdump)self	__class__s    A/usr/lib/python3/dist-packages/samba/tests/dcerpc/raw_protocol.pyr   zTestDCERPC_BIND.setUp.   s2    ot$$**,,,,(    c                 X   t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |                     d||g          }|                     |           |                                 }|                     |t          j        |j        |d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j                    | !                    |j        j        d         j"        |           |                     |j        j#        d           | $                    d|j        dd	          }|                     |           |                                 }|                     |t          j%        |j        d
           |                     |j        j&        d           |                     |j        j        |j        j                   |                     |j        j'        d           | (                    t          |j        j)                  |j        j&                   d S )N   r   call_id	pfc_flagsctx_listr   auth_length   %d   r   r   
context_idopnumstubr   *basetransfer_syntax_ndrdcerpcr   r"   lennum_transfer_syntaxessambamgmtabstract_syntaxtransfer_syntaxesgenerate_bindsend_pdurecv_pdu
verify_pduDCERPC_PKT_BIND_ACKr   assertEqualumax_xmit_fragmax_recv_fragassertNotEqualassoc_group_idsecondary_address_sizesecondary_addresstcp_portassertPadding_pad1num_resultsresult!DCERPC_BIND_ACK_RESULT_ACCEPTANCEreason$DCERPC_BIND_ACK_REASON_NOT_SPECIFIEDassertNDRSyntaxEqualssyntax	auth_infogenerate_requestDCERPC_PKT_RESPONSE
alloc_hintcancel_countassertGreaterEqualstub_and_verifierr   req_pfc_flagsrep_pfc_flagsndr32	tsf1_listctx1reqreps           r   $_test_no_auth_request_bind_pfc_flagsz4TestDCERPC_BIND._test_no_auth_request_bind_pfc_flags3   s&   (**G	  %(^^"$|0@@BB!*  mtf UUcmmooV7"/Q 	 	@ 	@ 	@,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444 ##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOOOr   c                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |                     d|g          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j                    | !                    |j        j        d         j"        |           |                     |j        j#        d           | $                    d||g	          }|                     |           |                                 }|                     |t          j%        |j        |d
           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j                    | !                    |j        j        d         j"        |           |                     |j        j#        d           | &                    d|j        dd          }|                     |           |                                 }|                     |t          j'        |j        d           |                     |j        j(        d           |                     |j        j        |j        j                   |                     |j        j)        d           | *                    t          |j        j+                  |j        j(                   d S )Nr   r   r   r   r%   r   r   r    r   r   r    r!   ),r'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   generate_alterDCERPC_PKT_ALTER_RESPrH   rI   rJ   rK   rL   rM   rN   s           r   %_test_no_auth_request_alter_pfc_flagsz5TestDCERPC_BIND._test_no_auth_request_alter_pfc_flags^   s   (**G	  %(^^"$|0@@BB!*  dV <<cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444 !!!}PTv!VVcmmooV93;"/Q 	 	@ 	@ 	@,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990"55535;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444 ##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOOOr   c                     |                      dt          j        z  t          j        z  dt          j        z  t          j        z            S Nr   rO   rP   rV   r)   DCERPC_PFC_FLAG_FIRSTDCERPC_PFC_FLAG_LASTr   s    r   test_no_auth_requestz$TestDCERPC_BIND.test_no_auth_request   sZ    8867(.(D7E(.(C7D 78(.(D7E(.(C7D	 9 E E 	Er   c                 d    |                      ddt          j        z  t          j        z            S r^   r`   rc   s    r    test_no_auth_request_bind_pfc_00z0TestDCERPC_BIND.test_no_auth_request_bind_pfc_00   sB    887*67(.(D7E(.(C7D 9 E E 	Er   c                     |                      dt          j        z  dz  dt          j        z  t          j        z            S r^   r`   rc   s    r   #test_no_auth_request_bind_pfc_FIRSTz3TestDCERPC_BIND.test_no_auth_request_bind_pfc_FIRST   V    8867(.(D7E()7* 78(.(D7E(.(C7D	 9 E E 	Er   c                     |                      dt          j        z  dz  dt          j        z  t          j        z            S r^   )rV   r)   rb   ra   rc   s    r   "test_no_auth_request_bind_pfc_LASTz2TestDCERPC_BIND.test_no_auth_request_bind_pfc_LAST   sV    8867(.(C7D()7* 78(.(D7E(.(C7D	 9 E E 	Er   c                     |                      dt          j        z  dz  dt          j        z  t          j        z  t          j        z            S r^   )rV   r)   #DCERPC_PFC_FLAG_SUPPORT_HEADER_SIGNra   rb   rc   s    r   )test_no_auth_request_bind_pfc_HDR_SIGNINGz9TestDCERPC_BIND.test_no_auth_request_bind_pfc_HDR_SIGNING   sd    8867(.(R7S()7* 78(.(D7E(.(C7D )/(R7S	 9 T T 	Tr   c                 d    |                      ddt          j        z  t          j        z            S N   r   r_   r`   rc   s    r    test_no_auth_request_bind_pfc_08z0TestDCERPC_BIND.test_no_auth_request_bind_pfc_08   sD    887* 78(.(D7E(.(C7D	 9 E E 	Er   c                     |                      dt          j        z  dz  dt          j        z  t          j        z  t          j        z            S r^   )rV   r)   DCERPC_PFC_FLAG_CONC_MPXra   rb   rc   s    r   &test_no_auth_request_bind_pfc_CONC_MPXz6TestDCERPC_BIND.test_no_auth_request_bind_pfc_CONC_MPX   sd    8867(.(G7H()7* 78(.(D7E(.(C7D )/(G7H	 9 I I 	Ir   c                     |                      dt          j        z  dz  dt          j        z  t          j        z            S r^   )rV   r)   DCERPC_PFC_FLAG_DID_NOT_EXECUTEra   rb   rc   s    r   -test_no_auth_request_bind_pfc_DID_NOT_EXECUTEz=TestDCERPC_BIND.test_no_auth_request_bind_pfc_DID_NOT_EXECUTE   sV    8867(.(N7O()7* 78(.(D7E(.(C7D	 9 E E 	Er   c                     |                      dt          j        z  dz  dt          j        z  t          j        z            S r^   )rV   r)   DCERPC_PFC_FLAG_MAYBEra   rb   rc   s    r   #test_no_auth_request_bind_pfc_MAYBEz3TestDCERPC_BIND.test_no_auth_request_bind_pfc_MAYBE   ri   r   c                     |                      dt          j        z  dz  dt          j        z  t          j        z            S r^   )rV   r)   DCERPC_PFC_FLAG_OBJECT_UUIDra   rb   rc   s    r   )test_no_auth_request_bind_pfc_OBJECT_UUIDz9TestDCERPC_BIND.test_no_auth_request_bind_pfc_OBJECT_UUID   sV    8867(.(J7K()7* 78(.(D7E(.(C7D	 9 E E 	Er   c                     |                      ddt          j        z  t          j        z  t          j        z  t          j        z            S N   r   r_   )rV   r)   ra   rb   rm   rt   rc   s    r   !_test_no_auth_request_bind_pfc_ffz1TestDCERPC_BIND._test_no_auth_request_bind_pfc_ff   s`    887* 78(.(D7E(.(C7D )/(R7S )/(G	7H	 9 I I 	Ir   c                 d    |                      ddt          j        z  t          j        z            S r^   r\   r)   ra   rb   rc   s    r   !test_no_auth_request_alter_pfc_00z1TestDCERPC_BIND.test_no_auth_request_alter_pfc_00  sB    997*67(.(D7E(.(C7D : E E 	Er   c                     |                      dt          j        z  dz  dt          j        z  t          j        z            S r^   r   rc   s    r   $test_no_auth_request_alter_pfc_FIRSTz4TestDCERPC_BIND.test_no_auth_request_alter_pfc_FIRST  V    9967(.(D7E()7* 78(.(D7E(.(C7D	 : E E 	Er   c                     |                      dt          j        z  dz  dt          j        z  t          j        z            S r^   )r\   r)   rb   ra   rc   s    r   #test_no_auth_request_alter_pfc_LASTz3TestDCERPC_BIND.test_no_auth_request_alter_pfc_LAST  sV    9967(.(C7D()7* 78(.(D7E(.(C7D	 : E E 	Er   c                     |                      dt          j        z  dz  dt          j        z  t          j        z  t          j        z            S r^   )r\   r)   rm   ra   rb   rc   s    r   *test_no_auth_request_alter_pfc_HDR_SIGNINGz:TestDCERPC_BIND.test_no_auth_request_alter_pfc_HDR_SIGNING!  sd    9967(.(R7S()7* 78(.(D7E(.(C7D )/(R7S	 : T T 	Tr   c                 d    |                      ddt          j        z  t          j        z            S rp   r   rc   s    r   !test_no_auth_request_alter_pfc_08z1TestDCERPC_BIND.test_no_auth_request_alter_pfc_08+  sD    997* 78(.(D7E(.(C7D	 : E E 	Er   c                     |                      dt          j        z  dz  dt          j        z  t          j        z            S r^   )r\   r)   rt   ra   rb   rc   s    r   'test_no_auth_request_alter_pfc_CONC_MPXz7TestDCERPC_BIND.test_no_auth_request_alter_pfc_CONC_MPX4  sV    9967(.(G7H()7* 78(.(D7E(.(C7D	 : E E 	Er   c                     |                      dt          j        z  dz  dt          j        z  t          j        z            S r^   )r\   r)   rw   ra   rb   rc   s    r   .test_no_auth_request_alter_pfc_DID_NOT_EXECUTEz>TestDCERPC_BIND.test_no_auth_request_alter_pfc_DID_NOT_EXECUTE=  sV    9967(.(N7O()7* 78(.(D7E(.(C7D	 : E E 	Er   c                     |                      dt          j        z  dz  dt          j        z  t          j        z            S r^   )r\   r)   rz   ra   rb   rc   s    r   $test_no_auth_request_alter_pfc_MAYBEz4TestDCERPC_BIND.test_no_auth_request_alter_pfc_MAYBEF  r   r   c                     |                      dt          j        z  dz  dt          j        z  t          j        z            S r^   )r\   r)   r}   ra   rb   rc   s    r   *test_no_auth_request_alter_pfc_OBJECT_UUIDz:TestDCERPC_BIND.test_no_auth_request_alter_pfc_OBJECT_UUIDO  sV    9967(.(J7K()7* 78(.(D7E(.(C7D	 : E E 	Er   c                 ~    |                      ddt          j        z  t          j        z  t          j        z            S r   )r\   r)   ra   rb   rm   rc   s    r   !test_no_auth_request_alter_pfc_ffz1TestDCERPC_BIND.test_no_auth_request_alter_pfc_ffX  sR    997* 78(.(D7E(.(C7D )/(R7S	 : T T 	Tr   c                 h   |                      d          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j	        t          j
                   |                     |j        j        d           |                     |j        j        d         j        |j                   |                     |j        j        d         j        |j                   |                     |j        j        d           d S Nr   r   r%   r      )r0   r1   r2   r3   r)   DCERPC_PKT_BIND_NAKr   r5   r6   reject_reason$DCERPC_BIND_NAK_REASON_NOT_SPECIFIEDnum_versionsversionsrpc_versrpc_vers_minorr>   _padr   rT   rU   s      r   test_no_auth_no_ctxz#TestDCERPC_BIND.test_no_auth_no_ctxb  s      ++cmmooV7$% 	 	' 	' 	', E	G 	G 	G+Q///*3S\BBB*93;MNNN35:q)))))r   c                    |                      d          }t          j        |_        |                     |           |                                 }|                     |t          j        |j        d           | 	                    |j
        j        t          j                   | 	                    |j
        j        d           | 	                    |j
        j        d         j        |j                   | 	                    |j
        j        d         j        |j                   |                     |j
        j        d           d S r   )r0   r)   DCERPC_AUTH_TRAILER_LENGTHr   r1   r2   r3   r   r   r5   r6   r   5DCERPC_BIND_NAK_REASON_PROTOCOL_VERSION_NOT_SUPPORTEDr   r   r   r   r>   r   r   s      r   test_invalid_auth_noctxz'TestDCERPC_BIND.test_invalid_auth_noctxp  s      ++ ;cmmooV7$% 	 	' 	' 	', V	X 	X 	X+Q///*3S\BBB*93;MNNN35:q)))))r   c                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |                     d|g          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j                    | !                    |j        j        d         j"        |           |                     |j        j#        d           |g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |                     d|g          }|                     |           |                                 }|                     |t          j$        |j        d           |                     |j        j%        t          j&                   |                     |j        j'        d           |                     |j        j(        d         j)        |j)                   |                     |j        j(        d         j*        |j*                   |                     |j        j+        d	           |                                 }| ,                    |           | -                                 d S )
Nr   r   rX   r%   r   r   r    r   r   ).r'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r   r   r   r   r   r   r   r   assertIsNoneassertNotConnected)r   rQ   rR   rS   rT   rU   	tsf2_listctx2s           r    test_no_auth_valid_valid_requestz0TestDCERPC_BIND.test_no_auth_valid_valid_request~  s   (**G	  %(^^"$|0@@BB!*  dV <<cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444 G	  %(^^"$|0@@BB!*  dV <<cmmooV7$% 	 	' 	' 	', E	G 	G 	G+Q///*3S\BBB*93;MNNN35:q))) mmoo#!!!!!r   c                    |                      d          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j	        t          j
                   |                     |j        j        d           |                     |j        j        d         j        |j                   |                     |j        j        d         j        |j                   |                     |j        j        d           |                                 }|                     |           |                                  d S r   )r0   r1   r2   r3   r)   r   r   r5   r6   r   r   r   r   r   r   r>   r   r   r   r   s      r   "test_no_auth_invalid_valid_requestz2TestDCERPC_BIND.test_no_auth_invalid_valid_request  sA      ++cmmooV7$% 	 	' 	' 	', E	G 	G 	G+Q///*3S\BBB*93;MNNN35:q))) mmoo#!!!!!r   c                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |                     d|g          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j                    | !                    |j        j        d         j"        |           |                     |j        j#        d           | $                    dg           }|                     |           |                                 }|                     |t          j%        |j        |j&        t          j'        z  d	           |                     |j        j(        d           |                     |j        j        d           |                     |j        j)        d           |                     |j        j*        d           |                     |j        j+        t          j,                   |                     |j        j-        d           |                     t          |j        j.                  d           |                                 }| /                    |           | 0                                 d S 
Nr   r   rX   r%   r   r   r    r   r   )1r'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rZ   DCERPC_PKT_FAULTr   rw   rJ   rK   flagsstatusDCERPC_NCA_S_PROTO_ERRORreservederror_and_verifierr   r   )r   rQ   rR   rS   rT   rU   s         r   test_alter_no_auth_no_ctxz)TestDCERPC_BIND.test_alter_no_auth_no_ctx  s   (**G	  %(^^"$|0@@BB!*  dV <<cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444 !!!b!99cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'FGGG+++SU566::: mmoo#!!!!!r   c                 P   t          j                    }t          j                    }||g}t	          j                    }d|_        t          |          |_        t          j        j
                                        |_        ||_        |                     d|g          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                    |                     |j        j        d         j!        t          j"                   | #                    |j        j        d         j$        |           |                     |j        j%        d           | &                    d|g          }|                     |           |                                 }|                     |t          j'        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                    |                     |j        j        d         j!        t          j"                   | #                    |j        j        d         j$        |           |                     |j        j%        d           | (                    d|j        d	d
          }|                     |           |                                 }|                     |t          j)        |j        |j*        t          j+        z  d           |                     |j        j,        d           |                     |j        j        |j                   |                     |j        j-        d           |                     |j        j.        d           |                     |j        j/        t          j0                   |                     |j        j1        d           |                     t          |j        j2                  d           d S Nr   r   rX   r%   r   r   r    r     r!   r   )3r'   r(   miscndr_syntax_idr)   r   r"   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rZ   r[   rH   r   r   rw   rJ   rK   r   r   DCERPC_NCA_S_OP_RNG_ERRORr   r   r   rQ   zero_syntaxrR   rS   rT   rU   s          r   $test_no_auth_presentation_ctx_valid1z4TestDCERPC_BIND.test_no_auth_presentation_ctx_valid1  s7   (**(** %(	  %(^^"$|0@@BB!*  dV <<cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444 !!!tf!==cmmooV93;$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444##A/3*0), $ . . 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)4?;;;+Q///a(((v'GHHH+++SU566:::::r   c                    t          j                    }t          j                    }|g}t	          j                    }d|_        t          |          |_        ||_	        ||_
        |                     d|g          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j                    | !                    |j        j        d         j"        |           |                     |j        j#        d           | $                    d|g          }|                     |           |                                 }|                     |t          j%        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j                    | !                    |j        j        d         j"        |           |                     |j        j#        d           | &                    dd	dd
          }|                     |           |                                 }|                     |t          j'        |j        |j(        t          j)        z  d           |                     |j        j*        d           |                     |j        j        d           |                     |j        j+        d           |                     |j        j,        d           |                     |j        j-        t          j.                   |                     |j        j/        d           |                     t          |j        j0                  d           | $                    d|g          }|                     |           |                                 }|                     |t          j%        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j                    | !                    |j        j        d         j"        |           |                     |j        j#        d           d S )Nr   r   rX   r%   r   r   r    r   i90  r!   r   r   )1r'   r(   r   r   r)   r   r"   r*   r+   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   )DCERPC_BIND_ACK_RESULT_PROVIDER_REJECTIONrC   4DCERPC_BIND_ACK_REASON_ABSTRACT_SYNTAX_NOT_SUPPORTEDrE   rF   rG   rZ   r[   rH   r   r   rw   rJ   rK   r   r   DCERPC_NCA_S_UNKNOWN_IFr   r   r   s          r   &test_no_auth_presentation_ctx_invalid1z6TestDCERPC_BIND.test_no_auth_presentation_ctx_invalid1=  s   (**(**G	  %(^^"$!*  dV <<cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 J	L 	L 	L*1 U	W 	W 	W""35>!#4#;[III)444 !!!tf!==cmmooV93;$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q99935;****A...*1 J	L 	L 	L*1 U	W 	W 	W""35>!#4#;[III)444##A/4*+), $ . . 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'EFFF+++SU566::: !!!tf!==cmmooV93;$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q99935;****A...*1 J	L 	L 	L*1 U	W 	W 	W""35>!#4#;[III)44444r   c                    t          j                    }t          j                    }g }t	          j                    }d|_        t          |          |_        t          j        j
                                        |_        ||_        |                     d|g          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        t          j                   |                     |j        j        d           |                     |j        j        d         j        |j                   |                     |j        j        d         j        |j                   |                     |j        j        d           |                                 }|                     |           |                                  d S )Nr   r   rX   r%   r   )r'   r(   r   r   r)   r   r"   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r   r   r5   r6   r   r   r   r   r   r   r>   r   r   r   )r   rQ   r   
tsf1a_listctx1arT   rU   s          r   &test_no_auth_presentation_ctx_invalid2z6TestDCERPC_BIND.test_no_auth_presentation_ctx_invalid2  s   (**(**
!!&)*oo# % 1 A A C C",  eW ==cmmooV7$% 	 	' 	' 	', E	G 	G 	G+Q///*3S\BBB*93;MNNN35:q))) mmoo#!!!!!r   c                 ~	   t          j                    }t          j                    }||||g}t	          j                    }d|_        t          |          |_        t          j        j
                                        |_        ||_        |                     d|g          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                    |                     |j        j        d         j!        t          j"                   | #                    |j        j        d         j$        |           |                     |j        j%        d           g }t	          j                    }d|_        t          |          |_        t          j        j
                                        |_        ||_        | &                    d|g          }|                     |           |                                 }|                     |t          j'        |j        |j(        t          j)        z  d	           |                     |j        j*        d           |                     |j        j        d           |                     |j        j+        d           |                     |j        j,        d           |                     |j        j-        t          j.                   |                     |j        j/        d           |                     t          |j        j0                  d           |                                 }| 1                    |           | 2                                 d S r   )3r'   r(   r   r   r)   r   r"   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rZ   r   r   rw   rJ   rK   r   r   r   r   r   r   r   	r   rQ   r   r   r   rT   rU   
tsf1b_listctx1bs	            r   &test_no_auth_presentation_ctx_invalid3z6TestDCERPC_BIND.test_no_auth_presentation_ctx_invalid3  s   (**(**!5%7
!!&)*oo# % 1 A A C C",  eW ==cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444
!!&)*oo# % 1 A A C C", !!!ug!>>cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'FGGG+++SU566::: mmoo#!!!!!r   c                 	   t          j                    }t          j                    }t          j                    }||||g}t          j                    }d|_        t          |          |_	        t          j        j                                        |_        ||_        |                     d|g          }|                     |           |                                 }|                     |t
          j        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j         t
          j!                   |                     |j        j        d         j"        t
          j#                   | $                    |j        j        d         j%        |           |                     |j        j&        d           |t          j        j'                                        |g}t          j                    }	d|	_        t          |          |	_	        t          j        j                                        |	_        ||	_        | (                    d|	g          }|                     |           |                                 }|                     |t
          j)        |j        |j*        t
          j+        z  d	           |                     |j        j,        d           |                     |j        j        d           |                     |j        j-        d           |                     |j        j.        d           |                     |j        j/        t
          j0                   |                     |j        j1        d           |                     t          |j        j2                  d           |                                 }| 3                    |           | 4                                 d S r   )5r'   r(   transfer_syntax_ndr64r   r   r)   r   r"   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   epmapperrZ   r   r   rw   rJ   rK   r   r   r   r   r   r   r   )
r   rQ   ndr64r   r   r   rT   rU   r   r   s
             r   &test_no_auth_presentation_ctx_invalid4z6TestDCERPC_BIND.test_no_auth_presentation_ctx_invalid4  s%   (***,,(**!5%7
!!&)*oo# % 1 A A C C",  eW ==cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444 "5<#8#H#H#J#JER
!!&)*oo# % 1 A A C C", !!!ug!>>cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'FGGG+++SU566::: mmoo#!!!!!r   c                 X   t          j                    }t          j                    }||||g}t	          j                    }d|_        t          |          |_        t          j        j
                                        |_        ||_        |                     d|g          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                    |                     |j        j        d         j!        t          j"                   | #                    |j        j        d         j$        |           |                     |j        j%        d           |t          j        j&                                        g}t	          j                    }d|_        t          |          |_        t          j        j
                                        |_        ||_        | '                    d|g          }|                     |           |                                 }|                     |t          j(        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j)                   |                     |j        j        d         j!        t          j*                   | #                    |j        j        d         j$        |           |                     |j        j%        d           | +                    d|j        d	d
          }|                     |           |                                 }|                     |t          j,        |j        |j-        t          j.        z  d           |                     |j        j/        d           |                     |j        j        |j                   |                     |j        j0        d           |                     |j        j1        d           |                     |j        j2        t          j3                   |                     |j        j4        d           |                     t          |j        j5                  d           d S r   )6r'   r(   r   r   r)   r   r"   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r   rZ   r[   r   6DCERPC_BIND_ACK_REASON_TRANSFER_SYNTAXES_NOT_SUPPORTEDrH   r   r   rw   rJ   rK   r   r   r   r   r   r   s	            r   $test_no_auth_presentation_ctx_valid2z4TestDCERPC_BIND.test_no_auth_presentation_ctx_valid2*  s   (**(**!5%7
!!&)*oo# % 1 A A C C",  eW ==cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444 "5<#8#H#H#J#JK
!!&)*oo# % 1 A A C C", !!!ug!>>cmmooV93;$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q99935;****A...*1 J	L 	L 	L*1 W	Y 	Y 	Y""35>!#4#;[III)444##A/4/?*0), $ . . 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)5+;<<<+Q///a(((v'GHHH+++SU566:::::r   c                 8E   t          j                    }t          j                    }|g}t	          j                    }d|_        t          |          |_        ||_	        ||_
        |                     d|g          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j                    | !                    |j        j        d         j"        |           |                     |j        j#        d	           |g}t	          j                    }d|_        t          |          |_        tH          j        j%        	                                |_	        ||_
        | &                    d|g          }|                     |           |                                 }|                     |t          j'        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j(                   |                     |j        j        d         j        t          j)                   | !                    |j        j        d         j"        |           |                     |j        j#        d	           | *                    d|j        dd	
          }|                     |           |                                 }|                     |t          j+        |j        d           |                     |j        j,        d           |                     |j        j        |j        j                   |                     |j        j-        d           | .                    t          |j        j/                  |j        j,                   ||g}	t	          j                    }
d|
_        t          |	          |
_        tH          j        j%        	                                |
_	        |	|
_
        | &                    d|
g          }|                     |           |                                 }|                     |t          j'        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j(                   |                     |j        j        d         j        t          j)                   | !                    |j        j        d         j"        |           |                     |j        j#        d	           | *                    d|
j        dd	
          }|                     |           |                                 }|                     |t          j+        |j        d           |                     |j        j,        d           |                     |j        j        |j        j                   |                     |j        j-        d           | .                    t          |j        j/                  |j        j,                   ||g}t	          j                    }d|_        t          |          |_        tH          j        j%        	                                |_	        ||_
        | &                    d|g          }|                     |           |                                 }|                     |t          j'        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j(                   |                     |j        j        d         j        t          j)                   | !                    |j        j        d         j"        |           |                     |j        j#        d	           | *                    d|j        dd	
          }|                     |           |                                 }|                     |t          j+        |j        d           |                     |j        j,        d           |                     |j        j        |j        j                   |                     |j        j-        d           | .                    t          |j        j/                  |j        j,                   |g}t	          j                    }d|_        t          |          |_        tH          j        j%        	                                |_	        ||_
        |g}t	          j                    }d|_        t          |          |_        tH          j        j%        	                                |_	        ||_
        | &                    d||g          }|                     |           |                                 }|                     |t          j'        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j(                   |                     |j        j        d         j        t          j)                   | !                    |j        j        d         j"        |           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j0                   | !                    |j        j        d         j"        |           |                     |j        j#        d	           | *                    d|j        dd	
          }|                     |           |                                 }|                     |t          j+        |j        d           |                     |j        j,        d           |                     |j        j        |j        j                   |                     |j        j-        d           | .                    t          |j        j/                  |j        j,                   | &                    d||g          }|                     |           |                                 }|                     |t          j'        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j(                   |                     |j        j        d         j        t          j)                   | !                    |j        j        d         j"        |           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j0                   | !                    |j        j        d         j"        |           |                     |j        j#        d	           | *                    d|j        dd	
          }|                     |           |                                 }|                     |t          j+        |j        d           |                     |j        j,        d           |                     |j        j        |j        j                   |                     |j        j-        d           | .                    t          |j        j/                  |j        j,                   | *                    d|j        dd	
          }|                     |           |                                 }|                     |t          j+        |j        d           |                     |j        j,        d           |                     |j        j        |j        j                   |                     |j        j-        d           | .                    t          |j        j/                  |j        j,                   | &                    d||g          }|                     |           |                                 }|                     |t          j'        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j(                   |                     |j        j        d         j        t          j)                   | !                    |j        j        d         j"        |           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j0                   | !                    |j        j        d         j"        |           |                     |j        j#        d	           | *                    d|j        dd	
          }|                     |           |                                 }|                     |t          j+        |j        d           |                     |j        j,        d           |                     |j        j        |j        j                   |                     |j        j-        d           | .                    t          |j        j/                  |j        j,                   | *                    d|j        dd	
          }|                     |           |                                 }|                     |t          j+        |j        d           |                     |j        j,        d           |                     |j        j        |j        j                   |                     |j        j-        d           | .                    t          |j        j/                  |j        j,                   |g}t	          j                    }d|_        t          |          |_        tH          j        j%        	                                |_	        ||_
        |g}t	          j                    }d|_        t          |          |_        tH          j        j%        	                                |_	        ||_
        | &                    d||g          }|                     |           |                                 }|                     |t          j'        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j(                   |                     |j        j        d         j        t          j)                   | !                    |j        j        d         j"        |           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j0                   | !                    |j        j        d         j"        |           |                     |j        j#        d	           | *                    d|j        dd	
          }|                     |           |                                 }|                     |t          j+        |j        d           |                     |j        j,        d           |                     |j        j        |j        j                   |                     |j        j-        d           | .                    t          |j        j/                  |j        j,                   | &                    d||g          }|                     |           |                                 }|                     |t          j'        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j(                   |                     |j        j        d         j        t          j)                   | !                    |j        j        d         j"        |           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j0                   | !                    |j        j        d         j"        |           |                     |j        j#        d	           | *                    d|j        dd	
          }|                     |           |                                 }|                     |t          j+        |j        d           |                     |j        j,        d           |                     |j        j        |j        j                   |                     |j        j-        d           | .                    t          |j        j/                  |j        j,                   d S )Ni1  r   rX   r%   r   r   r    r   r   r!   r   "   +   ,      7   )1r'   r(   r   r   r)   r   r"   r*   r+   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   r   rC   r   rE   rF   rG   r,   r-   rZ   r[   rB   rD   rH   rI   rJ   rK   rL   rM   r   )r   rQ   r   	tsfZ_listctxZrT   rU   	tsf0_listctx0rR   rS   r   r   	tsf3_listctx3	tsf4_listctx4tsf5mgmt_listctx5mgmttsf5epm_listctx5epms                        r   &test_no_auth_presentation_ctx_no_ndr64z6TestDCERPC_BIND.test_no_auth_presentation_ctx_no_ndr64w  s   (**(** M	  %(^^"*!*  dV <<cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 J	L 	L 	L*1 U	W 	W 	W""35>!#4#;[III)444G	  %(^^"$|0@@BB!*!!!tf!==cmmooV93;$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO %(	  %(^^"$|0@@BB!*!!!tf!==cmmooV93;$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOEN	  %(^^"$|0@@BB!*!!!tf!==cmmooV93;$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOG	  %(^^"$|0@@BB!*G	  %(^^"$|0@@BB!*!!"d|!DDcmmooV93;$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC*1 J	L 	L 	L*1 W	Y 	Y 	Y""35>!#4#;[III)444##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO!!"d|!DDcmmooV93;$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC*1 J	L 	L 	L*1 W	Y 	Y 	Y""35>!#4#;[III)444##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO!!"d|!DDcmmooV93;$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC*1 J	L 	L 	L*1 W	Y 	Y 	Y""35>!#4#;[III)444##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO?$$),]););&#(<#4#D#D#F#F %2"w/##(+L(9(9%"',"3"C"C"E"E$0!!!"'7J!KKcmmooV93;$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC*1 J	L 	L 	L*1 W	Y 	Y 	Y""35>!#4#;[III)444##A/7/B*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO!!"'7J!KKcmmooV93;$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC*1 J	L 	L 	L*1 W	Y 	Y 	Y""35>!#4#;[III)444##A/7/B*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOOOr   c                 
   d}t          j        |          }t          j                    }|g}t	          j                    }d|_        t          |          |_        ||_	        ||_
        |                     d|g          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        |           |                      |j        j        d         j!        |           |                     |j        j"        d           d S 	Nr   r   rX   r%   r   r   r    r   )#r'   bind_time_features_syntaxr   r   r)   r   r"   r*   r+   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   $DCERPC_BIND_ACK_RESULT_NEGOTIATE_ACKrC   rE   rF   rG   r   featuresbtfr   rR   rS   rT   rU   s           r   "test_no_auth_bind_time_none_simplez2TestDCERPC_BIND.test_no_auth_bind_time_none_simple  s%   ,X66(**E	  %(^^"*!*  dV <<cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 E	G 	G 	G*18<<<""35>!#4#;[III)44444r   c                    d}t          j        |          }t          j        }|t          j        z  }t          j        |          }t          j                    }t          j                    }|||g}t          j                    }d|_	        t          |          |_        ||_        ||_        |                     d|g          }	|                     |	           |                                 }
|                     |
t          j        |	j        d           |                     |
j        j        |	j        j                   |                     |
j        j        |	j        j                   |                     |
j        j        |	j        j                   |                     |
j        j        d           |                     |
j        j        d| j        z             |                     |
j        j        d           |                     |
j        j        d           |                     |
j        j        d         j         t          j!                   |                     |
j        j        d         j"        |           | #                    |
j        j        d         j$        |           |                     |
j        j%        d           d S r   )&r'   r   r)   *DCERPC_BIND_TIME_KEEP_CONNECTION_ON_ORPHAN.DCERPC_BIND_TIME_SECURITY_CONTEXT_MULTIPLEXINGr   r   r   r   r"   r*   r+   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   r   rC   rE   rF   rG   r   	features1btf1	features2btf2r   r   rR   rS   rT   rU   s              r   -test_no_auth_bind_time_none_ignore_additionalz=TestDCERPC_BIND.test_no_auth_bind_time_none_ignore_additional  s]   	-i88E	VJJ	-i88(***,,4-	  %(^^"$!*  dV <<cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 E	G 	G 	G*19===""35>!#4#;[III)44444r   c                 x   t           j        }t          j        |          }t           j        }t          j        |          }t          j                    }||||g}t          j                    }d|_        t          |          |_
        ||_        ||_        |                     d|g          }|                     |           |                                 }	|                     |	t           j        |j        d           |                     |	j        j        |j        j                   |                     |	j        j        |j        j                   |                     |	j        j        |j        j                   |                     |	j        j        d           |                     |	j        j        d| j        z             |                     |	j        j        d           |                     |	j        j        d           |                     |	j        j        d         j        t           j                    |                     |	j        j        d         j!        t           j"                   | #                    |	j        j        d         j$        |           |                     |	j        j%        d           d S 	Nr   r   rX   r%   r   r   r    r   )&r)   r   r'   r   r   r   r   r   r"   r*   r+   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   r   rC   r   rE   rF   rG   )
r   r   r   r   r   r   rR   rS   rT   rU   s
             r   !test_no_auth_bind_time_only_firstz1TestDCERPC_BIND.test_no_auth_bind_time_only_first4  sT   E	-i88I	-i88(** $k:	  %(^^"*!*  dV <<cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 J	L 	L 	L*1 U	W 	W 	W""35>!#4#;[III)44444r   c                    t           j        }t          j        |          }t           j        }t          j        |          }t          j                    }|g}t          j                    }d|_        t          |          |_
        ||_        ||_        |g}t          j                    }	d|	_        t          |          |	_
        ||	_        ||	_        |                     d||	g          }
|                     |
           |                                 }|                     |t           j        |
j        d           |                     |j        j        t           j                   |                     |j        j        d           |                     |j        j        d         j        |
j                   |                     |j        j        d         j        |
j                   |                     |j        j        d           |                                 }|                     |           |                                  d S )Nr   r    r   rX   r%   r   )r)   r   r'   r   r   r   r   r   r"   r*   r+   r.   r/   r0   r1   r2   r3   r   r   r5   r6   r   r   r   r   r   r   r>   r   r   r   )r   r   r   r   r   r   rR   rS   r   r   rT   rU   s               r   test_no_auth_bind_time_twicez,TestDCERPC_BIND.test_no_auth_bind_time_twiceW  s   E	-i88I	-i88(**F	  %(^^"*!*F	  %(^^"*!*  dD\ BBcmmooV7$% 	 	' 	' 	', E	G 	G 	G+Q///*3S\BBB*93;MNNN35:q))) mmoo#!!!!!r   c                    t           j        }t          j        |          }t	          j                    }|g}t          j                    }d|_        t          |          |_	        ||_
        ||_        |                     d|g          }|                     |           |                                 }|                     |t           j        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t           j                   |                     |j        j        d         j         |           | !                    |j        j        d         j"        |           |                     |j        j#        d           d S r   )$r)   r   r'   r   r   r   r   r"   r*   r+   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   r   rC   rE   rF   rG   r   s           r   ,test_no_auth_bind_time_keep_on_orphan_simplez<TestDCERPC_BIND.test_no_auth_bind_time_keep_on_orphan_simple  s(   D,X66(**E	  %(^^"*!*  dV <<cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 E	G 	G 	G*18<<<""35>!#4#;[III)44444r   c                    t           j        }t          j        |          }t           j        }t          j        |          }t          j                    }t          j                    }|||g}t          j                    }d|_	        t          |          |_        ||_        ||_        |                     d|g          }	|                     |	           |                                 }
|                     |
t           j        |	j        d           |                     |
j        j        |	j        j                   |                     |
j        j        |	j        j                   |                     |
j        j        |	j        j                   |                     |
j        j        d           |                     |
j        j        d| j        z             |                     |
j        j        d           |                     |
j        j        d           |                     |
j        j        d         j         t           j!                   |                     |
j        j        d         j"        |           | #                    |
j        j        d         j$        |           |                     |
j        j%        d           d S r   )&r)   r   r'   r   r   r   r   r   r   r"   r*   r+   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   r   rC   rE   rF   rG   r   s              r   7test_no_auth_bind_time_keep_on_orphan_ignore_additionalzGTestDCERPC_BIND.test_no_auth_bind_time_keep_on_orphan_ignore_additional  sS   E	-i88I	-i88(***,,4-	  %(^^"$!*  dV <<cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 E	G 	G 	G*19===""35>!#4#;[III)44444r   c                    t           j        }t          j        |          }t           j        }t          j        |          }t          j                    }t          j                    }|||g}t          j                    }d|_	        t          |          |_        ||_        ||_        |                     d|g          }	|                     |	           |                                 }
|                     |
t           j        |	j        d           |                     |
j        j        |	j        j                   |                     |
j        j        |	j        j                   |                     |
j        j        |	j        j                   |                     |
j        j        d           |                     |
j        j        d| j        z             |                     |
j        j        d           |                     |
j        j        d           |                     |
j        j        d         j         t           j!                   |                     |
j        j        d         j"        |           | #                    |
j        j        d         j$        |           |                     |
j        j%        d           d S r   )&r)   r   r'   r   r   r   r   r   r   r"   r*   r+   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   r   rC   rE   rF   rG   r   s              r   0test_no_auth_bind_time_sec_ctx_ignore_additionalz@TestDCERPC_BIND.test_no_auth_bind_time_sec_ctx_ignore_additional  sS   I	-i88E	-i88(***,,4-	  %(^^"$!*  dV <<cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 E	G 	G 	G*19===""35>!#4#;[III)44444r   Nc                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |g}d}	||                     ||||	t          j                  }
d}|
d                             |          \  }}|                     |           |                     |
d         |
d         |
d         |	          }nd
}|                     |||	|	          }|                     d||          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        |           |                     |j        j        d           |                     |j        j        d         j        |j                   |                     |j        j        d         j        |j                   |                     |j        j        d           |                                 }|                     |           |                                   d S )Nr   r   )	auth_type
auth_levelauth_context_idg_auth_levelr   r   r  r  r  r  r  r  	auth_blob   noner   r   rG   r%   r   )!r'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   get_auth_context_credsDCERPC_AUTH_LEVEL_INTEGRITYupdateassertFalsegenerate_authr0   r1   r2   r3   r   r   r5   r6   r   r   r   r   r   r>   r   r   r   )r   r  r  credsrC   rQ   rR   rS   r   r  auth_contextfrom_serverfinished	to_serverrG   rT   rU   s                    r   _test_auth_type_level_bind_nakz.TestDCERPC_BIND._test_auth_type_level_bind_nak  sz   (**G	  %(^^"$|0@@BB!*666uAJBLGVDJDf	 7 h hL
 K$0$:$A$A+$N$N!XyX&&&**\+5N6B<6P;GHY;Z5> + @ @II
  I**Y6@;J5> + @ @I
   *2+4 ! 6 6 	cmmooV7$% 	 	' 	' 	',f555+Q///*3S\BBB*93;MNNN35:q))) mmoo#!!!!!r   c                 F    |                      t          j        ||          S )N)r  r  rC   )r  r)   DCERPC_AUTH_LEVEL_NONE)r   r  rC   s      r   _test_auth_none_level_bindz*TestDCERPC_BIND._test_auth_none_level_bind  s-    22V=Z>HQW 3 Y Y 	Yr   c                 X    |                      t          j        t          j                  S NrC   )r   r)   r  r   rc   s    r   test_auth_none_none_bindz(TestDCERPC_BIND.test_auth_none_none_bind  s-    ..v/L6<6a / c c 	cr   c                 @    |                      t          j                  S r   )r   r)   DCERPC_AUTH_LEVEL_CONNECTrc   s    r   test_auth_none_connect_bindz+TestDCERPC_BIND.test_auth_none_connect_bind#      ..v/OPPPr   c                 @    |                      t          j                  S r   )r   r)   DCERPC_AUTH_LEVEL_CALLrc   s    r   test_auth_none_call_bindz(TestDCERPC_BIND.test_auth_none_call_bind&  s    ..v/LMMMr   c                 @    |                      t          j                  S r   )r   r)   DCERPC_AUTH_LEVEL_PACKETrc   s    r   test_auth_none_packet_bindz*TestDCERPC_BIND.test_auth_none_packet_bind)  s    ..v/NOOOr   c                 @    |                      t          j                  S r   )r   r)   r  rc   s    r   test_auth_none_integrity_bindz-TestDCERPC_BIND.test_auth_none_integrity_bind,  s    ..v/QRRRr   c                 @    |                      t          j                  S r   )r   r)   DCERPC_AUTH_LEVEL_PRIVACYrc   s    r   test_auth_none_privacy_bindz+TestDCERPC_BIND.test_auth_none_privacy_bind/  r(  r   c                 D    |                      dt          j                  S Nr   r#  r   r)   r   rc   s    r   test_auth_none_0_bindz%TestDCERPC_BIND.test_auth_none_0_bind2  *    ..q6<6a / c c 	cr   c                 D    |                      dt          j                  S N   r#  r6  rc   s    r   test_auth_none_7_bindz%TestDCERPC_BIND.test_auth_none_7_bind6  r8  r   c                 D    |                      dt          j                  S Nr   r#  r6  rc   s    r   test_auth_none_255_bindz'TestDCERPC_BIND.test_auth_none_255_bind:  s*    ..s6<6a / c c 	cr   c                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |g}t          j        }d}|                     d|          }|                     |           |                                 }	|                     |	t          j        |j                   |                     |	j        j        |j        j                   |                     |	j        j        |j        j                   |                     |	j        j        |j        j                   |                     |	j        j        d           |                     |	j        j        d| j        z             |                     |	j        j        d           |                     |	j        j        d           |                     |	j        j        d         j        t          j                   |                     |	j        j        d         j         t          j!                   | "                    |	j        j        d         j#        |           |                     t          |	j        j$                  d           | %                    d|j        dd          }|                     |           |                                 }	|                     |	t          j&        |j        d	           |                     |	j        j'        d           |                     |	j        j        |j        j                   |                     |	j        j(        d           | )                    t          |	j        j*                  |	j        j'                   | +                    |||d
          }
| %                    d|j        dd|
          }|                     |           |                                 }	|                     |	t          j,        |j        d	           |                     |	j        j'        d           |                     |	j        j        |j        j                   |                     |	j        j(        d           |                     |	j        j-        d           |                     |	j        j.        t          j/                   |                     |	j        j0        d           |                     t          |	j        j1                  d           |                                 }	| 2                    |	           | 3                                 d S )Nr   r   rX   r   r   r    r   r!   r%   r  r  r   r   r"   r#   r$   rG   )4r'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   DCERPC_AUTH_TYPE_NONEr0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   r  r   r   r   DCERPC_FAULT_ACCESS_DENIEDr   r   r   r   )r   r  rQ   rR   rS   r   r  r  rT   rU   rG   s              r   _test_auth_none_level_requestz-TestDCERPC_BIND._test_auth_none_level_request>  s   (**G	  %(^^"$|0@@BB!*60	  *2 ! 4 4 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCSU_--q111 ##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO&&2<7F18 ' : :	
 ##A/3*+),.7	 $ 9 9
 	cmmooV4ck$% 	 	' 	' 	'CE,a000)35+;<<<+Q///a(((v'HIII+++SU566::: mmoo#!!!!!r   c                 @    |                      t          j                  S r   )rD  r)   r  rc   s    r   test_auth_none_none_requestz+TestDCERPC_BIND.test_auth_none_none_request      11&2OPPPr   c                 @    |                      t          j                  S r   )rD  r)   r&  rc   s    r   test_auth_none_connect_requestz.TestDCERPC_BIND.test_auth_none_connect_request  s    11&2RSSSr   c                 @    |                      t          j                  S r   )rD  r)   r*  rc   s    r   test_auth_none_call_requestz+TestDCERPC_BIND.test_auth_none_call_request  rG  r   c                 @    |                      t          j                  S r   )rD  r)   r-  rc   s    r   test_auth_none_packet_requestz-TestDCERPC_BIND.test_auth_none_packet_request  s    11&2QRRRr   c                     t           j        }t           j        }d}d }d }d}d}d }d }	d }
d }d }d }|                     |||||||||	|
|||          S Nr    Fauth_context_2ndexpected_call_idexpected_context_idnot_executedconc_mpxforced_call_idforced_context_idforced_opnumforced_auth_context_idforced_auth_typeforced_auth_level)r)   DCERPC_AUTH_TYPE_NTLMSSPDCERPC_FAULT_SEC_PKG_ERROR_test_generic_auth_first_lastr   r  expected_faultrQ  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  s                 r   (test_ntlmssp_multi_auth_first1_lastSame2z8TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_lastSame2  s    3	:" !% 11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   c                     t           j        }t           j        }d}d }d }d}d}d}d }	d }
d }d }d }|                     |||||||||	|
|||          S )Nr    Fr   rP  r)   r\  r   r^  r_  s                 r   (test_ntlmssp_multi_auth_first1_lastNext2z8TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_lastNext2  s    3	8" !% 11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   c                     t           j        }d }d}d }d }d}d}d }d}	d}
d}d}d}|                     |||||||||	|
|||          S Nr   Fo   rP  )r)   r\  r^  r_  s                 r   *test_ntlmssp_multi_auth_first1_lastSame111z:TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_lastSame111  s    3	"!$11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   c                     t           j        }t           j        }d}d }d }d}d}d}d}	d}
d}d}d}|                     |||||||||	|
|||          S )Nr   Fr   rg  rP  rc  r_  s                 r   *test_ntlmssp_multi_auth_first1_lastNext111z:TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_lastNext111  s    3	8"!$11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   c                     t           j        }t           j        }d}d}d}d}d}d}d}	d}
d}d}d}|                     |||||||||	|
|||          S Nr   r   r   FTrg  rP  rc  r_  s                 r   .test_ntlmssp_multi_auth_MPX_first1_lastNext111z>TestDCERPC_BIND.test_ntlmssp_multi_auth_MPX_first1_lastNext111  s    3	8!$11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   c                     t           j        }t           j        }d }d }d }d}d}d }d }	d }
d }d }d }|                     |||||||||	|
|||          S NFrP  rc  r_  s                 r   +test_ntlmssp_multi_auth_first1_lastSameNonez;TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_lastSameNone"  s    3	8" !% 11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   c                     t           j        }t           j        }d }d }d }d}d}d }d }	d }
d }d }d }|                     |||||||||	|
|||          S NFTrP  rc  r_  s                 r   /test_ntlmssp_multi_auth_MPX_first1_lastSameNonez?TestDCERPC_BIND.test_ntlmssp_multi_auth_MPX_first1_lastSameNone>  s    3	8" !% 11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   c                     t           j        }t           j        }d }d }d }d}d}d}d }	d }
d }d }d }|                     |||||||||	|
|||          S NFr   rP  rc  r_  s                 r   +test_ntlmssp_multi_auth_first1_lastNextNonez;TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_lastNextNoneZ  s    3	8" !% 11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   c                     t           j        }t           j        }d }d}d}d}d}d}d }	d }
d }d }d }|                     |||||||||	|
|||          S Nr   r   FTrP  rc  r_  s                 r   /test_ntlmssp_multi_auth_MPX_first1_lastNextNonez?TestDCERPC_BIND.test_ntlmssp_multi_auth_MPX_first1_lastNextNonev  s    3	8 !% 11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   c                     t           j        }t           j        }d }d }d }d}d}d }d}	d}
d }d }d }|                     |||||||||	|
|||          S NFrg  rP  rc  r_  s                 r   .test_ntlmssp_multi_auth_first1_lastSameNone111z>TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_lastSameNone111  s    3	8"!% 11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   c                     t           j        }t           j        }d }d }d }d}d}d }d}	d}
d }d }d }|                     |||||||||	|
|||          S NFTrg  rP  rc  r_  s                 r   2test_ntlmssp_multi_auth_MPX_first1_lastSameNone111zBTestDCERPC_BIND.test_ntlmssp_multi_auth_MPX_first1_lastSameNone111  s    3	8"!% 11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   c                     t           j        }t           j        }d }d }d }d}d}d}d}	d}
d }d }d }|                     |||||||||	|
|||          S NFr   rg  rP  rc  r_  s                 r   .test_ntlmssp_multi_auth_first1_lastNextNone111z>TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_lastNextNone111  s    3	8"!% 11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   c                     t           j        }t           j        }d }d}d}d}d}d}d}	d}
d }d }d }|                     |||||||||	|
|||          S Nr   r   FTrg  rP  rc  r_  s                 r   2test_ntlmssp_multi_auth_MPX_first1_lastNextNone111zBTestDCERPC_BIND.test_ntlmssp_multi_auth_MPX_first1_lastNextNone111  s    3	8!% 11)2@CSCSFY?K;CAODU?KI_CSDU 2 W W 	Wr   r    Fc           	         t           j        }t           j        }d}t           j        }d}|                                 }t
          j         j                                        }t          j	                    }|g}t
          j         j         
                                }d|_        t          |          |_        ||_        ||_        |                     ||||d          }|                     ||||d          }t           j        t           j        z  }|r|t           j        z  }|                     d||          }|                     d|||j        j        d          }|dk    r$|                     d|||j        j        d          }| j        }| j        } t
          j         j                                        }!|!}"|r?t2          j                            d	t
          j                            |"          z             t
          j                            |"          }#|#d
z  }#| rDt2          j                            dt          |#          |                     |#          fz             d}$|j        }%|"                                 }&|st
          j         j         j        }'|#dd         }(| !                    |$|%|'|&t          |#          |(|          })| "                    |)||            | #                    d          }*| $                    |*           | %                                 |dk    r|&                                }+n|dk    r|&                                }+nd }+t           j        t           j        z  },||%}||$}|	r|,t           j'        z  },|
|
}$||}%||}&|||+d<   |||+d<   |||+d<   t
          j         j         j        }'|#dd         }(| !                    |$|%||&t          |(          |(|+          })| "                    |)||            || (                    d||"d|           d S | #                                }*| )                    |*t           j*        ||,d           | +                    |*j        j,        d           | -                    |*j        j        |           | -                    |*j        j.        d           | -                    |*j        j/        d           | -                    |*j        j0        |           | -                    |*j        j1        d           | -                    t          |*j        j2                  d           |	rA| #                    d          }*| $                    |*           | %                                 d S | #                                }*| $                    |*           | 3                                 d S )Nr   r    Fr  r  r  r  hdr_signingr   )r   ctxr   Tr   r  r  r:   start_with_alterzin: %ss-   zstub_in: %d
%sr      )r   r"   r   r#   rJ   r$   r  	ndr_printhexdump{Gz?timeoutr  r  r  )r   r  iosend_reqr  r   )4r)   r\  r  r-  get_user_credsr,   r-   r.   r'   r(   r   r"   r*   r+   r/   r  ra   rb   rt   do_generic_bindr6   r:   r   r   
inq_if_idssysstderrwritendrndr_print_inndr_pack_inr  r#   generate_request_authr1   r2   r   assertIsConnectedcopyrw   do_single_requestr3   r   r9   rJ   r5   rK   r   r   r   r   r   )-r   r  pfc_flags_2ndr`  rQ  
skip_firstrR  rS  rU  rT  rV  rW  rX  rY  rZ  r[  auth_level1auth_context_id1auth_level2auth_context_id2r  abstracttransferrR   r  auth_context1auth_context2bind_pfc_flagsack0ack1ack2r  r  r  r  stub_inr   r"   r#   r   stub_in_tmprT   rU   auth_context_copyexpected_pfc_flagss-                                                r   _test_generic_auth_first_2ndz,TestDCERPC_BIND._test_generic_auth_first_2nd  s     3	85##%%<$4466+--J	l!**,,$'	NN!& )33%>G?JDT@E	 4 G G
 33%>G?JDT@E	 4 G G  58SS 	>f==N##A(+.< $ > > ##A(+1>59V5J59	 $ ; ;
 q  '',/5B9=9N9=	 ( ? ?D %	/\&1133
 	DJX	(>(>r(B(BBCCC)''++: 	XJ.#g,,W@U@U1VVWWW^


 	%+AI!!B$-K,,W8B7@388;G2=:G - I IC MM#GMDDD-----Cc"""""$$$ q   - 2 2 4 4"" - 2 2 4 4 $#9F<WW&",#& 	I&"HH%$G(*J# E!-3I/0'-=k*(.?l+L'=	ben((4>3@/4474D4D.96G ) I I 	cY@@@!""1#"u[h"iiiFmmooV46F"4$% 	 	' 	' 	' 	CE,a000)+>???+Q///a(((~666+++SU566::: 	-----Cc"""""$$$F mmoo#!!!!!r   c                 t    t           j        j        j        }|                     ||||||||||	|
|||          S NrP  )r,   r)   rb   r  r   r  r`  rQ  rR  rS  rU  rT  rV  rW  rX  rY  rZ  r[  r  s                  r   r^  z-TestDCERPC_BIND._test_generic_auth_first_last  sZ     +@001>1?BRBREX>J:B@NCT>JH^BRCT 1 V V 	Vr   c                 t    t           j        j        j        }|                     ||||||||||	|
|||          S r  )r,   r)   ra   r  r  s                  r   _test_generic_auth_first_firstz.TestDCERPC_BIND._test_generic_auth_first_first  sZ     +A001>1?BRBREX>J:B@NCT>JH^BRCT 1 V V 	Vr   c                     t           j        }t           j        }d}d }d }d}d}d }d }	d }
d }d }d }|                     |||||||||	|
|||          S rO  )r)   r\  r]  r  r_  s                 r   )test_ntlmssp_multi_auth_first1_firstSame2z9TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_firstSame2  s    3	:" !% 2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d}d}d }d}d}d}d }	d }
d }d }d }|                     |||||||||	|
|||          S )Nr    r   Fr   rP  r)   r\  r   r  r_  s                 r   )test_ntlmssp_multi_auth_first1_firstNext2z9TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_firstNext2  s    3	8" !% 2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d}d }d }d}d}d }d}	d}
d}d}d}|                     |||||||||	|
|||          S rf  r  r_  s                 r   +test_ntlmssp_multi_auth_first1_firstSame111z;TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_firstSame111	  s    3	8"!$2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d}d }d }d}d}d }d}	d}
d}d}d}|                     |||||||||	|
|||          S )Nr   FTrg  rP  r  r_  s                 r   /test_ntlmssp_multi_auth_MPX_first1_firstSame111z?TestDCERPC_BIND.test_ntlmssp_multi_auth_MPX_first1_firstSame1113	  s    3	8"!$2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d}d}d }d}d}d}d}	d}
d}d}d}|                     |||||||||	|
|||          S )Nr   r   Fr   rg  rP  r  r_  s                 r   +test_ntlmssp_multi_auth_first1_firstNext111z;TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_firstNext111O	  s    3	8"!$2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d}d}d}d}d}d}d}	d}
d}d}d}|                     |||||||||	|
|||          S rl  r  r_  s                 r   /test_ntlmssp_multi_auth_MPX_first1_firstNext111z?TestDCERPC_BIND.test_ntlmssp_multi_auth_MPX_first1_firstNext111k	  s    3	8!$2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d }d }d }d}d}d }d }	d }
d }d }d }|                     |||||||||	|
|||          S ro  r  r_  s                 r   ,test_ntlmssp_multi_auth_first1_firstSameNonez<TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_firstSameNone	  s    3	8" !% 2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d }d }d }d}d}d }d }	d }
d }d }d }|                     |||||||||	|
|||          S rr  r  r_  s                 r   0test_ntlmssp_multi_auth_MPX_first1_firstSameNonez@TestDCERPC_BIND.test_ntlmssp_multi_auth_MPX_first1_firstSameNone	  s    3	8" !% 2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d }d }d }d}d}d}d }	d }
d }d }d }|                     |||||||||	|
|||          S ru  r  r_  s                 r   ,test_ntlmssp_multi_auth_first1_firstNextNonez<TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_firstNextNone	  s    3	8" !% 2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d }d}d}d}d}d}d }	d }
d }d }d }|                     |||||||||	|
|||          S rx  r  r_  s                 r   0test_ntlmssp_multi_auth_MPX_first1_firstNextNonez@TestDCERPC_BIND.test_ntlmssp_multi_auth_MPX_first1_firstNextNone	  s    3	8 !% 2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d }d }d }d}d}d }d}	d}
d }d }d }|                     |||||||||	|
|||          S r{  r  r_  s                 r   /test_ntlmssp_multi_auth_first1_firstSameNone111z?TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_firstSameNone111	  s    3	8"!% 2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d }d }d }d}d}d }d}	d}
d }d }d }|                     |||||||||	|
|||          S r~  r  r_  s                 r   3test_ntlmssp_multi_auth_MPX_first1_firstSameNone111zCTestDCERPC_BIND.test_ntlmssp_multi_auth_MPX_first1_firstSameNone111
  s    3	8"!% 2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d }d }d }d}d}d}d}	d}
d }d }d }|                     |||||||||	|
|||          S r  r  r_  s                 r   /test_ntlmssp_multi_auth_first1_firstNextNone111z?TestDCERPC_BIND.test_ntlmssp_multi_auth_first1_firstNextNone111/
  s    3	8"!% 2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                     t           j        }t           j        }d }d}d}d}d}d}d}	d}
d }d }d }|                     |||||||||	|
|||          S r  r  r_  s                 r   3test_ntlmssp_multi_auth_MPX_first1_firstNextNone111zCTestDCERPC_BIND.test_ntlmssp_multi_auth_MPX_first1_firstNextNone111K
  s    3	8!% 2293ADTDTGZ@L<DBPEV@LJ`DTEV 3 X X 	Xr   c                 ^    d}d}d}d }d }|                      ||||||||||||||	|
          S )Nr   Tr   )rQ  r  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  )r  )r   r  r`  rS  rT  rU  rW  rX  rY  rZ  r[  rQ  r  r  rR  rV  s                   r   _test_generic_auth_middlez)TestDCERPC_BIND._test_generic_auth_middleg
  sk     
001>1?BR<FBREX>J:B@NCT>JH^BRCT 1 V V 	Vr   c                     t           j        }t           j        }d}d}d}d }d }d }d }	d }
|                     |||||||||	|

  
        S )Nr   FrS  rT  rU  rW  rX  rY  rZ  r[  r)   r\  r   r  r   r  r`  rS  rT  rU  rW  rX  rY  rZ  r[  s              r   test_ntlmssp_auth_middle_alonez.TestDCERPC_BIND.test_ntlmssp_auth_middle_alone
  s|    3	8 !% --i.<BU;G7?@Q;GE[?O@Q . 	S 	S 		Sr   c                     t           j        }t           j        }d }d}d}d }d }d }d }	d }
|                     |||||||||	|

  
        S )NFTr  r  r  s              r   "test_ntlmssp_auth_MPX_middle_alonez2TestDCERPC_BIND.test_ntlmssp_auth_MPX_middle_alone
  s|    3	8" !% --i.<BU;G7?@Q;GE[?O@Q . 	S 	S 		Sr   c                     t           j        }t           j        }d}d}d}d}d}d}d}	d}
|                     |||||||||	|

  
        S Nr   Frg  r  r  r  s              r    test_ntlmssp_auth_middle_all_111z0TestDCERPC_BIND.test_ntlmssp_auth_middle_all_111
  s|    3	8!$--i.<BU;G7?@Q;GE[?O@Q . 	S 	S 		Sr   c                     t           j        }t           j        }d}d}d}d}d}d}d}	d}
|                     |||||||||	|

  
        S )Nr   Trg  r  )r)   r\  r   r  r  s              r   $test_ntlmssp_auth_MPX_middle_all_111z4TestDCERPC_BIND.test_ntlmssp_auth_MPX_middle_all_111
  s|    3	7!$--i.<BU;G7?@Q;GE[?O@Q . 	S 	S 		Sr   c                     t           j        }t           j        }d}d}d}d }d}d}d}	d}
|                     |||||||||	|

  
        S r  r  r  s              r   %test_ntlmssp_auth_middle_auth_all_111z5TestDCERPC_BIND.test_ntlmssp_auth_middle_auth_all_111
  s|    3	8 !$--i.<BU;G7?@Q;GE[?O@Q . 	S 	S 		Sr   c                     t           j        }t           j        }d }d}d}d }d}d}d}	d}
|                     |||||||||	|

  
        S NFTrg  r  r)   r\  rC  r  r  s              r   )test_ntlmssp_auth_MPX_middle_auth_all_111z9TestDCERPC_BIND.test_ntlmssp_auth_MPX_middle_auth_all_111
  s|    3	:" !$--i.<BU;G7?@Q;GE[?O@Q . 	S 	S 		Sr   c                     t           j        }t           j        }d}d}d}d }d }d}d }	d }
|                     |||||||||	|

  
        S r  r  r  s              r   )test_ntlmssp_auth_middle_auth_context_111z9TestDCERPC_BIND.test_ntlmssp_auth_middle_auth_context_111  s|    3	8 !$ --i.<BU;G7?@Q;GE[?O@Q . 	S 	S 		Sr   c                     t           j        }t           j        }d }d}d}d }d }d}d }	d }
|                     |||||||||	|

  
        S r  r  r  s              r   -test_ntlmssp_auth_MPX_middle_auth_context_111z=TestDCERPC_BIND.test_ntlmssp_auth_MPX_middle_auth_context_111!  s|    3	:" !$ --i.<BU;G7?@Q;GE[?O@Q . 	S 	S 		Sr   c                     t           j        }t           j        }d}d}d}d }d }d }d}	d }
|                     |||||||||	|

  
        S r  r  r  s              r   &test_ntlmssp_auth_middle_auth_type_111z6TestDCERPC_BIND.test_ntlmssp_auth_middle_auth_type_1117  s|    3	8 !% --i.<BU;G7?@Q;GE[?O@Q . 	S 	S 		Sr   c                     t           j        }t           j        }d }d}d}d }d }d }d}	d }
|                     |||||||||	|

  
        S r  r  r  s              r   *test_ntlmssp_auth_MPX_middle_auth_type_111z:TestDCERPC_BIND.test_ntlmssp_auth_MPX_middle_auth_type_111M  s|    3	:" !% --i.<BU;G7?@Q;GE[?O@Q . 	S 	S 		Sr   c                     t           j        }t           j        }d}d}d}d }d }d }d }	d}
|                     |||||||||	|

  
        S r  r  r  s              r   'test_ntlmssp_auth_middle_auth_level_111z7TestDCERPC_BIND.test_ntlmssp_auth_middle_auth_level_111c  s|    3	8 !%--i.<BU;G7?@Q;GE[?O@Q . 	S 	S 		Sr   c                     t           j        }t           j        }d }d}d}d }d }d }d }	d}
|                     |||||||||	|

  
        S r  r  r  s              r   +test_ntlmssp_auth_MPX_middle_auth_level_111z;TestDCERPC_BIND.test_ntlmssp_auth_MPX_middle_auth_level_111y  s|    3	:" !%--i.<BU;G7?@Q;GE[?O@Q . 	S 	S 		Sr   c                 $   t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |                     d|||g          }	|                     |	           |                                 }
|                     |
t          j        |	j        d           |                     |
j        j        |           |                     |
j        j        |           |                     |
j        j        |	j        j                   |                     |
j        j        d           |                     |
j        j        d| j        z             |                     |
j        j        d           |                     |
j        j        d           |                     |
j        j        d         j        t          j                   |                     |
j        j        d         j        t          j                    | !                    |
j        j        d         j"        |           |                     |
j        j#        d           |
j        j        }||d	z
  }||d	z
  }| $                    d||d
|
j        j        z
  |g          }	|                     |	           |                                 }
|                     |
t          j%        |	j        d           |                     |
j        j        |           |                     |
j        j        |           |                     |
j        j        |
j        j                   |                     |
j        j        d           |                     |
j        j        d           |                     |
j        j        d           |                     |
j        j        d         j        t          j                   |                     |
j        j        d         j        t          j                    | !                    |
j        j        d         j"        |           |                     |
j        j#        d           |t          j&        z
  }| '                    d|j        dd
d|z            }	|                     |	dd           |                     dd          }
|                     |
t          j(        |	j        d           |                     |
j        j)        d           |                     |
j        j        |	j        j                   |                     |
j        j*        d           | +                    t          |
j        j,                  |
j        j)                   dt          j&        z
  }| '                    d|j        dd
d|z            }	|                     |	           |                                 }
|                     |
t          j(        |	j        d           |                     |
j        j)        d           |                     |
j        j        |	j        j                   |                     |
j        j*        d           | +                    t          |
j        j,                  |
j        j)                   |dz  }| '                    d|j        dd
d|z            }	|                     |	           |                                 }
|                     |
t          j-        |	j        d           |                     |
j        j)        d           |                     |
j        j        d           |                     |
j        j*        d           |                     |
j        j.        d           |                     |
j        j/        t          j0                   |                     |
j        j1        d           |                     t          |
j        j2                  d           |                                 }
| 3                    |
           | 4                                 d S )Nr   r   )r   r7   r8   r   r%   r   r   r    r   rq       )r   r7   r8   r:   r       r   r"   r#   rJ   r$   Tr    r   )5r'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rZ   r[   DCERPC_REQUEST_LENGTHrH   rI   rJ   rK   rL   rM   r   r   r   r   r   r   r   r   )r   req_xmitreq_recvrep_both
alter_xmit
alter_recvrQ   rR   rS   rT   rU   r:   
chunk_sizes                r   _test_neg_xmit_check_valuesz+TestDCERPC_BIND._test_neg_xmit_check_values  s    (**G	  %(^^"$|0@@BB!*  /7/7+/& ! 2 2 	cmmooV7$% 	 	' 	' 	',h777,h777CE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444-!AJ!AJ !!!0:0:1;ce>R1R,06	 " 3 3
 	cmmooV93;$% 	 	' 	' 	',h777,h777-su/CDDD5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444 <<
##A/3*+/9)/*)<	 $ > >
 	cT4888mmdDm99V7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOF88
##A/3*+/9)/*)<	 $ > >
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOa
##A/3*+/9)/*)<	 $ > >
 	cmmooV4ck$% 	 	' 	' 	'CE,a000)1---+Q///a(((v'FGGG+++SU566::: mmoo#!!!!!r   c                 2    |                      ddd          S )Nr   r  r  r  r   r  rc   s    r   test_neg_xmit_ffff_ffffz'TestDCERPC_BIND.test_neg_xmit_ffff_ffff  s'    //9?9= 0 ? ? 	?r   c                 6    |                      ddddd          S )Nr   r      r  r  r   r  r  r  rc   s    r   test_neg_xmit_0_ffffz$TestDCERPC_BIND.test_neg_xmit_0_ffff  s0    //9?9=;A;A	 0 C C 	Cr   c                 2    |                      ddd          S )Nr   r   r
  r  r  rc   s    r   test_neg_xmit_ffff_0z$TestDCERPC_BIND.test_neg_xmit_ffff_0  s'    //9:9= 0 ? ? 	?r   c                 6    |                      ddddd          S )Nr   r
  r   r  r  rc   s    r   test_neg_xmit_0_0z!TestDCERPC_BIND.test_neg_xmit_0_0  s0    //9:9=;A;A	 0 C C 	Cr   c                 2    |                      ddd          S )N  r   r
  r  r  rc   s    r   test_neg_xmit_3199_0z$TestDCERPC_BIND.test_neg_xmit_3199_0   s'    //9:9= 0 ? ? 	?r   c                 2    |                      ddd          S )Nr   r  r
  r  r  rc   s    r   test_neg_xmit_0_3199z$TestDCERPC_BIND.test_neg_xmit_0_3199%  s'    //9=9= 0 ? ? 	?r   c                 2    |                      ddd          S )Nr  r   x  r  r  rc   s    r   test_neg_xmit_3199_ffffz'TestDCERPC_BIND.test_neg_xmit_3199_ffff*  s'    //9?9= 0 ? ? 	?r   c                 2    |                      ddd          S )Nr   r  r  r  r  rc   s    r   test_neg_xmit_ffff_3199z'TestDCERPC_BIND.test_neg_xmit_ffff_3199/  s'    //9=9= 0 ? ? 	?r   c                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |                     d|g          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d| j        z             |                     |j        j        d           |                     |j        j        d           |                     |j        j        d         j        t          j                   |                     |j        j        d         j        t          j                    | !                    |j        j        d         j"        |           |                     |j        j#        d           | $                    d|j        dd	d
          }|                     |           |                                 }|                     |t          j%        |j        d           |                     |j        j&        d           |                     |j        j        |j        j                   |                     |j        j'        d           | (                    t          |j        j)                  |j        j&                   | $                    d|j        dd	d
          }|                     |           |                                 }|                     |t          j%        |j        d           |                     |j        j&        d           |                     |j        j        |j        j                   |                     |j        j'        d           | (                    t          |j        j)                  |j        j&                   | $                    d|j        ddd
          }|                     |           |                                 }|                     |t          j%        |j        d           |                     |j        j&        d           |                     |j        j        |j        j                   |                     |j        j'        d           | (                    t          |j        j)                  |j        j&                   d S )Nr   rX   r%   r   r   r    r   r   r  r  r   s          r&   )r   rQ   rR   r  rT   rU   s         r   test_alloc_hintzTestDCERPC_BIND.test_alloc_hint4  s   (**G	o$'	NN!#l/??AA )  +.% ! 1 1cmmooV7$% 	 	' 	' 	',ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCC)444 ##A/2~*+/9),	 $ . .
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO##A/2~*+/9)D	 $ F F
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO##A/2~*+/0)D	 $ F F
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOOOr   c           	      j   t           j        j                                        }t	          j                    }|                     ||ddd          \  }}d| j        z   }t          |t                    r)|
                    d                              d          }n|                    d          }d}t          |t                    r)|
                    d                              d          }n|                    d          }t          j        dd	t          |          d
z   dt          |          d
z             }	|	|dz   z  }	t          |	          dz  }
|
dk    r|	dd|
z
  z  z  }	|	t          j        dt          |          d
z   dt          |          d
z             z  }	|	|dz   z  }	|	dz  }	|||	fS )Nr   T)r"   epmap
return_ackz\\zutf-8z	utf-16-leUNKNOWNCOMPUTERz<IIIIi    r   s     r   r  z<IIIs   "3DUfw)r,   r)   netlogonr.   r'   r(   prepare_presentationtarget_hostname
isinstancebytesdecodeencodestructpackr*   )r   r  rQ   r  ackserverserver_utf16computercomputer_utf16	real_stubmod_lens              r   _get_netlogon_ctxz!TestDCERPC_BIND._get_netlogon_ctx}  s   <(88::(**..x159d / L L
c $..fe$$ 	6!==1188EELL!==55L$fe$$ 	:%__W55<<[IINN%__[99NK #FaCKK!OE E	\K//	i..1$a<<AK00IV[!$X!2As8}}q7HJ J 	J	^k11	88	S)$$r   c                    |                                  \  }}}|j        j        t          j        z
  }d}	d}
|dk    rt          ||          }||z  }|	|z  }	d}|
r*|t          j        z  }d}
|d|t          |          z
  z  z   }nd|z  }|dk    r|t          j        z  }| 	                    d||j
        d||          }||k    r||z  }nd}|                     |d           |r|                                 }|                     |t          j        |j        d	           |                     |j        j        d           |                     |j        j
        |j        j
                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        |           |                     |j        j        d           |                     t          |j        j                  d           |                                 }|                     |           |                                  d S |dk    rn|	d
k    ru|r|                                 }|                     |t          j        |j        d	           |                     |j        j        d           |                     |j        j
        |j        j
                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        |           |                     |j        j        d           |                     t          |j        j                  d           |                                 }|                     |           |                                  d S |                     d          }|                     |           |                                  |dk    |	d
k    ru|r|                                 }|                     |t          j        |j        d	           |                     |j        j        d           |                     |j        j
        |j        j
                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        |           |                     |j        j        d           |                     t          |j        j                  d           |                                 }|                     |           |                                  d S |                                 }|                     |t          j        |j        d	           |                     |j        j        d           |                     |j        j
        |j        j
                   |                     |j        j        d           |                     t          |j        j                  |j        j                   |                     t          |j        j                  d           t=          j        d|j        j        t          |j        j                  dz
            }|                     |d         d           d S )Nr   TFr  i4 r   )r   r   r"   r#   rJ   r$   )r  r%     @ r  r     <I) r1  r6   r8   r)   r  minra   r*   rb   rH   r"   r1   r2   r3   r   r   r9   rJ   r5   rK   r   r   r   r   r   r   r  rI   rL   rM   r(  unpack_from)r   	remainingrJ   fault_first
fault_lastr  rU   r/  chunktotalfirstthistimer   r$   rT   r   s                   r   _test_fragmented_requestsz)TestDCERPC_BIND._test_fragmented_requests  sb    $ 6 6 8 8c9#f&BB!mm9e,,H!IXEI *V99	 7hY.G#HH)A~~V88	 ''2;36>./3=-1 ( 3 3C X%%h&


MM#uM---&mmooV%<ck,-   / / /##CE$4a888  !1353CDDD  !3Q777  a000  {;;;  333  SU%=!>!>BBB mmoo!!#&&&'')))A~~  Z%;mmooV%<ck,-   / / /##CE$4a888  !1353CDDD  !3Q777  a000  z:::  333  SU%=!>!>BBB mmoo!!#&&&'')))-----Cc"""""$$$K !mmN H!7--//COOC!8#+()  + + + 0!444SU-su/?@@@SU/333SU[!,,,SU\:666SU^Q///S!9::A>>> --//Cc"""##%%%FmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOSU455r:::#D#%*A3suG^C_C_bcCcddA&&&&&r   c                 0    |                      dd          S )Nr3  r8  rJ   r?  rc   s    r   test_fragmented_requests01z*TestDCERPC_BIND.test_fragmented_requests01	  '    --9A . C C 	Cr   c                 0    |                      dd          S )Nr3  i   rA  rB  rc   s    r   test_fragmented_requests02z*TestDCERPC_BIND.test_fragmented_requests02  rD  r   c                 0    |                      dd          S )Nr3  r   rA  rB  rc   s    r   test_fragmented_requests03z*TestDCERPC_BIND.test_fragmented_requests03  s$    --9: . < < 	<r   c                 F    |                      ddt          j                  S )Nr3  i @ )r8  rJ   r9  r?  r)   rC  rc   s    r   test_fragmented_requests04z*TestDCERPC_BIND.test_fragmented_requests04  s-    --9A:@:[ . ] ] 	]r   c                 F    |                      ddt          j                  S )Ni P r   )r8  rJ   r:  rJ  rc   s    r   test_fragmented_requests05z*TestDCERPC_BIND.test_fragmented_requests05  s-    --9:9?9Z . \ \ 	\r   c                    |                                  \  }}}|                     d||j        d|          }|                     |           |rr|                                 }|                     |t          j        |j        d           | 	                    |j
        j        d           |                     |j
        j        d           |                     |j
        j        d           |                     |j
        j        d           |                     |j
        j        t          j                   |                     |j
        j        d           |                     t%          |j
        j                  d           |                                 }|                     |           |                                  d S |                     d          }|                     |           |                                  |                     d||j        d|          }|                     |           |r||                                 }|                     |t          j        |j        d           | 	                    |j
        j        d           |                     |j
        j        |j
        j                   |                     |j
        j        d           |                     |j
        j        d           |                     |j
        j        t          j                   |                     |j
        j        d           |                     t%          |j
        j                  d           |                                 }|                     |           |                                  d S |                     d          }|                     |           |                                  d S )Nr    r   r   r   r"   r#   r$   r   r%   皙?r  )r1  rH   r"   r1   r2   r3   r)   r   r   r9   r6   rJ   r5   rK   r   r   r   r   r*   r   r   r   r  )r   r   	fault_1st	fault_2ndr  rU   r/  rT   s           r   _test_same_requestsz#TestDCERPC_BIND._test_same_requests  s    $ 6 6 8 8c9 ##A.7/2~*+)2	 $ 4 4
 	c 	--//COOC!8#+()  + + + 0!444SU-q111SU/333SU[!,,,SU\6+JKKKSU^Q///S!9::A>>> --//Cc"""##%%%FmmCm((#    ##A.7/2~*+)2	 $ 4 4
 	c 	--//COOC!8#+()  + + + 0!444SU-su/?@@@SU/333SU[!,,,SU\6+JKKKSU^Q///S!9::A>>> --//Cc"""##%%%FmmCm((#     r   c                 D    |                      t          j        d          S NTr   rR  rS  r)   ra   rc   s    r   test_first_only_requestsz(TestDCERPC_BIND.test_first_only_requests^  s'    ''&2N26 ( 8 8 	8r   c                 0    |                      dd          S )Nr   Tr   rQ  )rS  rc   s    r   test_none_only_requestsz'TestDCERPC_BIND.test_none_only_requestsb  s    ''!t'DDDr   c                 D    |                      t          j        d          S )NTrZ  )rS  r)   rb   rc   s    r   test_last_only_requestsz'TestDCERPC_BIND.test_last_only_requestse  s'    ''&2M26 ( 8 8 	8r   c                 ^    |                      t          j        t          j        z  d          S rU  )rS  r)   ra   rz   rc   s    r   test_first_maybe_requestsz)TestDCERPC_BIND.test_first_maybe_requestsi  s3    ''&2N(.(D3E26 ( 8 8 	8r   c                 ^    |                      t          j        t          j        z  d          S rU  )rS  r)   ra   rw   rc   s    r   test_first_didnot_requestsz*TestDCERPC_BIND.test_first_didnot_requestsn  s3    ''&2N(.(N3O26 ( 8 8 	8r   c                 ^    |                      t          j        t          j        z  d          S rU  )rS  r)   ra   rt   rc   s    r   test_first_cmpx_requestsz(TestDCERPC_BIND.test_first_cmpx_requestss  s3    ''&2N(.(G3H26 ( 8 8 	8r   c                 J    |                      t          j        dz  d          S )Nrq   TrV  rW  rc   s    r   test_first_08_requestsz&TestDCERPC_BIND.test_first_08_requestsx  s/    ''&2N(,3-26 ( 8 8 	8r   c                    |                                  \  }}}|                     dt          j        t          j        z  |j        d|          }|                     |           |                                 }|                     |t          j	        |j
        t          j        t          j        z  t          j        z  d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        t          j                   |                     |j        j        d           |                     t-          |j        j                  d           |                                 }|                     |           |                                  d S )Nr    r   rO  r   r   )r1  rH   r)   ra   DCERPC_PFC_FLAG_PENDING_CANCELr"   r1   r2   r3   r   r   rb   rw   r9   r6   rJ   r5   rK   r   r   DCERPC_FAULT_NO_CALL_ACTIVEr   r*   r   r   r   r   r  rU   r/  rT   s        r   test_first_cancel_requestsz*TestDCERPC_BIND.test_first_cancel_requests}  s    $ 6 6 8 8c9 ##A.4.J$*$I/J/2~*+)2 $ 4 4 	cmmooV4ck"(">3#4>#? %&	 	 	' 	' 	'
 	CE,a000)1---+Q///a(((v'IJJJ+++SU566::: mmoo#!!!!!r   c                 f   |                                  \  }}}|                     dt          j        |j        d|          }|                     |           |                     d          }|                     |           |                                  |                     dt          j	        |j        d|          }|                     |           |                     d          }|                     |           |                                  |                     dt          j
        |j        d|          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        d           |                     |j        j        |j        j                   |                     |j        j        d           |                     t)          |j        j                  |j        j                   |                     t)          |j        j                  d           t-          j        d	|j        j        t)          |j        j                  dz
            }|                     |d         d           d S 
Nr    r   rO  rP  r  r   r%   r4  r5  )r1  rH   r)   ra   r"   r1   r2   r   r  rg  rb   r3   rI   r   r9   r6   rJ   r5   rK   rL   r*   rM   r(  r7  r   r  rU   r/  rT   r   s         r   test_2nd_cancel_requestsz(TestDCERPC_BIND.test_2nd_cancel_requests  sx    $ 6 6 8 8c9 ##A.4.J/2~*+)2	 $ 4 4
 	cmmCm((#    ##A.4.S/2~*+)2	 $ 4 4
 	cmmCm((#    ##A.4.I/2~*+)2	 $ 4 4
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOSU455r:::#D#%*A3suG^C_C_bcCcddA&&&&&r   c           	         |                                  \  }}}|                     dt          j        |j        d|d d                   }|                     |           |                     d          }|                     |           |                                  |                     dt          j	        t          j
        z  |j        d|dd                    }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        d           |                     |j        j        |j        j                   |                     |j        j        d           |                     t)          |j        j                  |j        j                   |                     t)          |j        j                  d           t-          j        d	|j        j        t)          |j        j                  dz
            }|                     |d         d           d S rl  )r1  rH   r)   ra   r"   r1   r2   r   r  rb   rg  r3   rI   r   r9   r6   rJ   r5   rK   rL   r*   rM   r(  r7  rm  s         r   test_last_cancel_requestsz)TestDCERPC_BIND.test_last_cancel_requests  s    $ 6 6 8 8c9 ##A.4.J/2~*+)22A2	 $ 8 8
 	cmmCm((#    ##A.4.I$*$I/J/2~*+)2122 $ 8 8 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOSU455r:::#D#%*A3suG^C_C_bcCcddA&&&&&r   c                 L   |                                  \  }}}|                     dt          j        |j        d|          }|                     |           |                     d          }|                     |           |                                  |                     dt          j        |j        d|          }|                     |           |                                 }| 	                    |t          j
        dt          j        t          j        z  d           |                     |j        j        d           |                     |j        j        |j        j                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        t          j                   |                     |j        j        d           |                     t+          |j        j                  d           d S )	N2   r   rO  rP  r  3   r   r   )r1  rH   r)   ra   r"   r1   r2   r   r  r3   r   rb   r9   r6   rJ   r5   rK   r   r   r   r   r*   r   ri  s        r   test_mix_requestsz!TestDCERPC_BIND.test_mix_requests  s    $ 6 6 8 8c9 ##B.4.J/2~*+)2	 $ 4 4
 	cmmCm((#    ##B.4.J/2~*+)2	 $ 4 4
 	cmmooV4b"(">3#4$% 	 	' 	' 	' 	CE,a000)35+;<<<+Q///a(((v'FGGG+++SU566:::::r   c                    t          j                    }t          j        j                                        }|                     ||d          }|                     d          }|                     |           | 	                    d          }| 
                    |           |                                  |                     d|j        dd	
          }|                     |           | 	                                }|                     |t          j        |j        d           |                     |j        j        d           |                     |j        j        |j        j                   |                     |j        j        d           |                     t/          |j        j                  |j        j                   d S )Nr   r"   r   r   r  r  r   r   r   r!   r%   )r'   r(   r,   r)   r-   r.   r"  generate_co_cancelr1   r2   r   r  rH   r"   r3   rI   r   r9   r6   rJ   r5   rK   rL   r*   rM   r   rQ   r  r  rT   rU   s         r   test_co_cancel_no_requestz)TestDCERPC_BIND.test_co_cancel_no_request  s   (**<$4466''%D'II%%a%00cmmDm))#    ##A/2~*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOOOr   c                    t          j                    }t          j        j                                        }|                     ||d          }|                     dt          j        |j	        dd          }| 
                    |           |                     d          }|                     |           |                                  |                     d	          }| 
                    |           |                     d          }|                     |           |                                  |                     dt          j        |j	        dd          }| 
                    |           |                                 }|                     |t          j        |j        d
           |                     |j        j        d           |                     |j        j	        |j        j	                   |                     |j        j        d           |                     t3          |j        j                  |j        j                   |                     d|j	        dd          }| 
                    |           |                                 }|                     |t          j        |j        d
           |                     |j        j        d           |                     |j        j	        |j        j	                   |                     |j        j        d           |                     t3          |j        j                  |j        j                   d S )Nr   rv  r   r   r   rO  r  r  r   r%   r    r!   )r'   r(   r,   r)   r-   r.   r"  rH   ra   r"   r1   r2   r   r  rw  rb   r3   rI   r   r9   r6   rJ   r5   rK   rL   r*   rM   rx  s         r   "test_co_cancel_request_after_firstz2TestDCERPC_BIND.test_co_cancel_request_after_first&  s   (**<$4466''%D'II##A.4.J/2~*+),	 $ . .
 	cmmDm))#   %%a%00cmmDm))#   ##A.4.I/2~*+),	 $ . .
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO ##A/2~*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOOOOr   c                    t          j                    }t          j        j                                        }|                     ||          }|                     d          }|                     |           | 	                    d          }| 
                    |           |                                  |                     d|j        dd          }|                     |           | 	                                }|                     |t          j        |j        d	           |                     |j        j        d           |                     |j        j        |j        j        d
z             |                     |j        j        d           |                     t/          |j        j                  |j        j                   d S )Nr   r   r  r  r   r   r   r!   r%   r   )r'   r(   r,   r)   r-   r.   r"  generate_orphanedr1   r2   r   r  rH   r"   r3   rI   r   r9   r6   rJ   r5   rK   rL   r*   rM   rx  s         r   test_orphaned_no_requestz(TestDCERPC_BIND.test_orphaned_no_requestW  s   (**<$4466''%88$$Q$//cmmDm))#    ##A/2~*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;d+BCCC+Q///CE$; < <ce>NOOOOOr   c                    t          j                    }t          j        j                                        }|                     ||          }|                     dt          j        |j	        dd          }| 
                    |           |                     d          }|                     |           |                                  |                     d          }| 
                    |           |                     d          }|                     |           |                                  |                     dt          j        |j	        dd          }| 
                    |           |                                 }|                     |t          j        |j        d           |                     |j        j        d           |                     |j        j	        |j        j	        d	z             |                     |j        j        d           |                     t3          |j        j                  |j        j                   |                     d
|j	        dd          }| 
                    |           |                                 }|                     |t          j        |j        d           |                     |j        j        d           |                     |j        j	        |j        j	        d	z             |                     |j        j        d           |                     t3          |j        j                  |j        j                   d S )Nr   r   r   rO  rP  r  r   r%   r   r    r!   )r'   r(   r,   r)   r-   r.   r"  rH   ra   r"   r1   r2   r   r  r}  rb   r3   rI   r   r9   r6   rJ   r5   rK   rL   r*   rM   rx  s         r   &test_orphaned_request_after_first_lastz6TestDCERPC_BIND.test_orphaned_request_after_first_lastp  s   (**<$4466''%88##A.4.J/2~*+),	 $ . .
 	cmmCm((#   $$Q$//cmmCm((#   ##A.4.I/2~*+),	 $ . .
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;d+BCCC+Q///CE$; < <ce>NOOO ##A/2~*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;d+BCCC+Q///CE$; < <ce>NOOOOOr   c                 b   t          j                    }t          j        j                                        }t          j        j        j        }|t          j        j        j        z  }|t          j        j        j        z  }| 	                    |||          }| 
                    dt          j        |j        dd          }|                     |           |                     d          }|                     |           |                                  |                     d          }|                     |           |                     d          }|                     |           |                                  | 
                    dt          j        |j        dd          }|                     |           |                                 }|                     |t          j        |j        d	           |                     |j        j        d           |                     |j        j        |j        j        d
z             |                     |j        j        d           |                     t5          |j        j                  |j        j                   | 
                    d|j        dd          }|                     |           |                                 }|                     |t          j        |j        d	           |                     |j        j        d           |                     |j        j        |j        j        d
z             |                     |j        j        d           |                     t5          |j        j                  |j        j                   d S )Nr   r   r   r   rO  rP  r  r   r%   r   r    r!   )r'   r(   r,   r)   r-   r.   ra   rb   rt   r"  rH   r"   r1   r2   r   r  r}  r3   rI   r   r9   r6   rJ   r5   rK   rL   r*   rM   )r   rQ   r  r   r  rT   rU   s          r   *test_orphaned_request_after_first_mpx_lastz:TestDCERPC_BIND.test_orphaned_request_after_first_mpx_last  sB   (**<$4466L'=	U\(==	U\(AA	''%9'MM##A.4.J/2~*+),	 $ . .
 	cmmCm((#   $$Q$//cmmCm((#   ##A.4.I/2~*+),	 $ . .
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;d+BCCC+Q///CE$; < <ce>NOOO ##A/2~*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;d+BCCC+Q///CE$; < <ce>NOOOOOr   c                    t          j                    }t          j        j                                        }|                     ||          }|                     dt          j        |j	        dd          }| 
                    |           |                     d          }|                     |           |                                  |                     d          }| 
                    |           |                     d          }|                     |           |                                  |                     d|j	        dd	          }| 
                    |           |                                 }|                     |t          j        |j        d
           |                     |j        j        d           |                     |j        j	        |j        j	                   |                     |j        j        d           |                     |j        j        d           |                     |j        j        t          j                   |                     |j        j        d           |                     t7          |j        j                  d           |                                 }|                     |           |                                  d S )Nr   r   r   rO  rP  r  r   r    r!   r%   )r'   r(   r,   r)   r-   r.   r"  rH   ra   r"   r1   r2   r   r  r}  r3   r   r   r9   r6   rJ   r5   rK   r   r   r   r   r*   r   r   )r   rQ   r  r  req1rU   rT   req2s           r   )test_orphaned_request_after_first_no_lastz9TestDCERPC_BIND.test_orphaned_request_after_first_no_last  s   (**<$4466''%88$$Q/5/K03+,*-	 % / /
 	dmmCm((#   $$Q$//cmmCm((#    $$Q03+,*- % / / 	dmmooV4dl$% 	 	' 	' 	'CE,a000)46+<===+Q///a(((v'FGGG+++SU566::: mmoo#!!!!!r   c                 L   t          j                    }t          j        j                                        }t          j        j        j        }|t          j        j        j        z  }|t          j        j        j        z  }| 	                    |||          }| 
                    dt          j        |j        dd          }|                     |           |                     d          }|                     |           |                                  |                     d          }|                     |           |                     d          }|                     |           |                                  | 
                    d	|j        dz
  dd
          }|                     |           |                                 }|                     |t          j        |j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        d           |                     |j        j        t          j                   |                     |j        j        d           |                     t;          |j        j                  d           |                                 }|                     |           |                                  d S )Nr  r   r   r   rO  rP  r  r   r    r!   r%   ) r'   r(   r,   r)   r-   r.   ra   rb   rt   r"  rH   r"   r1   r2   r   r  r}  r3   r   r   r9   r6   rJ   r5   rK   r   r   r   r   r*   r   r   )	r   rQ   r  r   r  r  rU   rT   r  s	            r   -test_orphaned_request_after_first_mpx_no_lastz=TestDCERPC_BIND.test_orphaned_request_after_first_mpx_no_last  s   (**<$4466L'=	U\(==	U\(AA	''%2; ( = = $$Q/5/K03+,*-	 % / /
 	dmmCm((#   $$Q$//cmmCm((#    $$Q030B+,*- % / / 	dmmooV4dl$% 	 	' 	' 	'CE,a000)1---+Q///a(((v'FGGG+++SU566::: mmoo#!!!!!r   c                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |g}|                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }	d}
|                    ||	           d}|                    |          \  }}|                     |           |                     ||	|
|          }|                     d||          }|                     |           |                                 }|                     |t          j        |j                   |                     |j         j!        |j         j!                   |                     |j         j"        |j         j"                   | #                    |j         j$        |j         j$                   |                     |j         j%        d           |                     |j         j&        d| j'        z             | (                    |j         j)        d           |                     |j         j*        d           |                     |j         j        d         j+        t          j,                   |                     |j         j        d         j-        t          j.                   | /                    |j         j        d         j0        |           | #                    t          |j         j1                  d           | 2                    |j         j1                  }|j3        }|                    |          \  }}|                     |           |                     ||	|
|          }| 4                    d||j         j$        |	          }|                     |           |                                 }|                     |t          j5        |j                   |                     |j         j!        |j         j!                   |                     |j         j"        |j         j"                   |                     |j         j$        |j         j$                   |                     |j         j%        d           | (                    |j         j)        d           |                     |j         j*        d           |                     |j         j        d         j+        t          j,                   |                     |j         j        d         j-        t          j.                   | /                    |j         j        d         j0        |           | #                    t          |j         j1                  d           | 2                    |j         j1                  }|j3        }|                    |          \  }}| 6                    |           | 7                    d|j        dd
          }|                     |           |                                 }|                     |t          j8        |j        d           | #                    |j         j9        d           |                     |j         j        |j         j        dz             |                     |j         j:        d           | ;                    t          |j         j<                  |j         j9                   |                     ||	|
d          }| 7                    d|j        dd|          }|                     |           |                                 }|                     |t          j8        |j        d           | #                    |j         j9        d           |                     |j         j        |j         j        dz             |                     |j         j:        d           | ;                    t          |j         j<                  |j         j9                   |                     |||
d          }| 7                    d|j        dd|          }|                     |           |                                 }|                     |t          j=        |j        d           | #                    |j         j9        d           |                     |j         j        |j         j                   |                     |j         j:        d           |                     |j         j>        d           |                     |j         j?        t          j@                   |                     |j         jA        d           |                     t          |j         jB                  d           |                                 }| C                    |           | D                                 d S )Nr   r    r   r  r   r  r   r   r   r   r:   rG   r!   r%   r                     r   rA  )Er'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   get_anon_credsr   Securitystart_clientsettingsset_credentialswant_featureFEATURE_DCE_STYLEDCERPC_AUTH_TYPE_SPNEGOr&  start_mech_by_authtyper  r  r  r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   
parse_authcredentialsrZ   r[   
assertTruerH   rI   rJ   rK   rL   rM   r   r   r   rC  r   r   r   r   )r   upgrade_auth_levelrQ   rR   rS   r   cgr  r  r  r  r  r  rG   rT   rU   as                     r   $_test_spnego_connect_upgrade_requestz4TestDCERPC_BIND._test_spnego_connect_upgrade_request1  s*	   (**G	  %(^^"$|0@@BB!*6!!O((77	!	v/0002	5
	  J777 ! 5 59"""&&2<7F1: ' < <	
   *2+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59"""&&2<7F1: ' < <	
 !!!+3141E,5 " 7 7
 	cmmooV93;GGG,ce.ABBB,ce.ABBB-su/CDDD5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59!!! ##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;d+BCCC+Q///CE$; < <ce>NOOO &&2<7F1E ' G G	 ##A/3*+),.7	 $ 9 9
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;d+BCCC+Q///CE$; < <ce>NOOO &&2D7F1G ' I I	 ##A/3*+),.7	 $ 9 9
 	cmmooV4ck$% 	 	' 	' 	'CE,a000)35+;<<<+Q///a(((v'HIII+++SU566::: mmoo#!!!!!r   c                 @    |                      t          j                  S r   )r  r)   r-  rc   s    r   "test_spnego_connect_packet_upgradez2TestDCERPC_BIND.test_spnego_connect_packet_upgrade  s#    88(.(GI I 	Ir   c                 @    |                      t          j                  S r   r  r)   r  rc   s    r   %test_spnego_connect_integrity_upgradez5TestDCERPC_BIND.test_spnego_connect_integrity_upgrade  #    88(.(JL L 	Lr   c                 H   t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |g}|                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }|}	d}
|                    ||	           d}|                    |          \  }}|                     |           |                     ||	|
|          }|                     d||          }|                     |           |                                 }|                     |t          j        |j                   |                     |j        j         |j        j                    |                     |j        j!        |j        j!                   | "                    |j        j#        |j        j#                   |                     |j        j$        d           |                     |j        j%        d| j&        z             | '                    |j        j(        d           |                     |j        j)        d           |                     |j        j        d         j*        t          j+                   |                     |j        j        d         j,        t          j-                   | .                    |j        j        d         j/        |           | "                    t          |j        j0                  d           | 1                    |j        j0                  }|j2        }|                    |          \  }}|                     |           |                     ||	|
|          }| 3                    d||j        j#        |	          }|                     |           |                                 }|                     |t          j4        |j                   |                     |j        j         |j        j                    |                     |j        j!        |j        j!                   |                     |j        j#        |j        j#                   |                     |j        j$        d           | '                    |j        j(        d           |                     |j        j)        d           |                     |j        j        d         j*        t          j+                   |                     |j        j        d         j,        t          j-                   | .                    |j        j        d         j/        |           | "                    t          |j        j0                  d           | 1                    |j        j0                  }|j2        }|                    |          \  }}| 5                    |           |                     |t          j6        |
d
          }| 7                    d|j        dd|          }|                     |           |                                 }|                     |t          j8        |j        d           | "                    |j        j9        d           |                     |j        j        |j        j                   |                     |j        j:        d           |                     |j        j;        d           |                     |j        j<        t          j=                   |                     |j        j>        d           |                     t          |j        j?                  d           |                                 }| @                    |           | A                                 d S )Nr   r    r   r  r   r  r   r   r  r  r   rA  r%   )Br'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r  r   r  r  r  r  r  r  r  r  r  r  r  r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  rZ   r[   r  r&  rH   r   rJ   rK   r   r   rC  r   r   r   r   )r   initial_auth_levelrQ   rR   rS   r   r  r  r  r  r  r  r  r  rG   rT   rU   r  s                     r   &_test_spnego_connect_downgrade_requestz6TestDCERPC_BIND._test_spnego_connect_downgrade_request  s   (**G	  %(^^"$|0@@BB!*6!!O((77	!	v/0002	'
	  J777 ! 5 59"""&&2<7F1: ' < <	
   *2+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59"""&&2<7F1: ' < <	
 !!!+3141E,5 " 7 7
 	cmmooV93;GGG,ce.ABBB,ce.ABBB-su/CDDD5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59!!! &&282R7F1G ' I I	 ##A/3*+),.7	 $ 9 9
 	cmmooV4ck$% 	 	' 	' 	'CE,a000)35+;<<<+Q///a(((v'HIII+++SU566::: mmoo#!!!!!r   c                 @    |                      t          j                  S r   )r  r)   r-  rc   s    r   $test_spnego_packet_downgrade_connectz4TestDCERPC_BIND.test_spnego_packet_downgrade_connect=  s#    ::(.(GI I 	Ir   c                 @    |                      t          j                  S r   r  rc   s    r   'test_spnego_integrity_downgrade_connectz7TestDCERPC_BIND.test_spnego_integrity_downgrade_connectA  r  r   c                 v   t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |g}|                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }d}	|                    ||           d}
|                    |
          \  }}|                     |           |                     |||	|          }|                     d||          }|                     |           |                                 }|                     |t          j        |j                   |                     |j         j!        |j         j!                   |                     |j         j"        |j         j"                   | #                    |j         j$        |j         j$                   |j         j$        }|                     |j         j%        d           |                     |j         j&        d| j'        z             | (                    |j         j)        d           |                     |j         j*        d           |                     |j         j        d         j+        t          j,                   |                     |j         j        d         j-        t          j.                   | /                    |j         j        d         j0        |           | #                    t          |j         j1                  d           | 2                    |j         j1                  }|j3        }
|                    |
          \  }}|                     |           |                     |||	d	          }| 4                    d|j        dd|
          }|                     |           |                                 }|                     |t          j5        |j        |j6        t          j7        z  d           | #                    |j         j8        d           |                     |j         j        d           |                     |j         j9        d           |                     |j         j:        d           |                     |j         j;        t          j<                   |                     |j         j=        d           |                     t          |j         j>                  d           |                                 }| ?                    |           | @                                 d S )Nr   r    r   r  r   r  r   r   r  rA  r   )Ar'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r  r   r  r  r  r  r  r  r  r&  r  r  r  r  r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  rH   r   r   rw   rJ   rK   r   r   r   r   r   r   r   )r   rQ   rR   rS   r   r  r  r  r  r  r  r  r  rG   rT   rU   r:   r  s                     r   test_spnego_unfinished_requestz.TestDCERPC_BIND.test_spnego_unfinished_requestE  s   (**G	  %(^^"$|0@@BB!*6!!O((77	!	v/0002	5
	  J777 ! 5 59"""&&2<7F1: ' < <	
   *2+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG-5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59""" &&2<7F1G ' I I	 ##A/3*+),.7	 $ 9 9
 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'FGGG+++SU566::: mmoo#!!!!!r   c                     t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |g}|                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }d}	|                    ||           d}
|                    |
          \  }}|                     |           |                     |||	|          }|                     d||          }|                     |           |                                 }|                     |t          j        |j                   |                     |j         j!        |j         j!                   |                     |j         j"        |j         j"                   | #                    |j         j$        |j         j$                   |                     |j         j%        d           |                     |j         j&        d| j'        z             | (                    |j         j)        d           |                     |j         j*        d           |                     |j         j        d         j+        t          j,                   |                     |j         j        d         j-        t          j.                   | /                    |j         j        d         j0        |           | #                    t          |j         j1                  d           | 2                    |j         j1                  }|j3        }
|                    |
          \  }}|                     |           |                     |||	|          }| 4                    d|	          }|                     |           |                     d
          }| 5                    |           | 6                                 | 7                    d|j        dd          }|                     |           |                                 }|                     |t          j8        |j        d           | #                    |j         j9        d           |                     |j         j        |j         j                   |                     |j         j:        d           |                     |j         j;        d           |                     |j         j<        t          j=                   |                     |j         j>        d           |                     t          |j         j?                  d           |                                 }| 5                    |           | @                                 d S )Nr   r    r   r  r   r  r   r   r   rG   r  r  r!   r%   )Ar'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r  r   r  r  r  r  r  r  r  r&  r  r  r  r  r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  generate_auth3r   r  rH   r   rJ   rK   r   r   rC  r   r   r   )r   rQ   rR   rS   r   r  r  r  r  r  r  r  r  rG   rT   rU   r  s                    r   test_spnego_auth3z!TestDCERPC_BIND.test_spnego_auth3  sT   (**G	  %(^^"$|0@@BB!*6!!O((77	!	v/0002	5
	  J777 ! 5 59"""&&2<7F1: ' < <	   *2+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59"""&&2<7F1: ' < <	 !!!,5 " 7 7cmmDm))#    ##A/3*+), $ . . 	cmmooV4ck$% 	 	' 	' 	'CE,a000)35+;<<<+Q///a(((v'HIII+++SU566::: mmoo#!!!!!r   c                 \   t          j                    }t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j	        
                                |_
        ||_        |g}|                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }	d}
|                    ||	           d}|                    |          \  }}|                     |           |                     ||	|
|          }|                     d||          }|                     |           |                                 }|                     |t          j        |j                   |                      |j!        j"        |j!        j"                   |                      |j!        j#        |j!        j#                   | $                    |j!        j%        |j!        j%                   |                      |j!        j&        d           |                      |j!        j'        d| j(        z             | )                    |j!        j*        d           |                      |j!        j+        d           |                      |j!        j        d         j,        t          j-                   |                      |j!        j        d         j.        t          j/                   | 0                    |j!        j        d         j1        |           | $                    t          |j!        j2                  d           | 3                    |j!        j2                  }|j4        }|                    |          \  }}|                     |           |                     ||	|
|          }| 5                    d|g|j!        j%        |	          }|                     |           |                                 }|                     |t          j6        |j                   |                      |j!        j"        |j!        j"                   |                      |j!        j#        |j!        j#                   |                      |j!        j%        |j!        j%                   |                      |j!        j&        d           | )                    |j!        j*        d           |                      |j!        j+        d           |                      |j!        j        d         j,        t          j-                   |                      |j!        j        d         j.        t          j/                   | 0                    |j!        j        d         j1        |           | $                    t          |j!        j2                  d           | 3                    |j!        j2                  }|j4        }|                    |          \  }}| 7                    |           | 8                    d|j        dd
          }|                     |           |                                 }|                     |t          j9        |j        d           | $                    |j!        j:        d           |                      |j!        j        |j!        j        dz             |                      |j!        j;        d           | <                    t          |j!        j=                  |j!        j:                   |                     ||	|
d          }| 8                    d|j        dd|          }|                     |           |                                 }|                     |t          j9        |j        d           | $                    |j!        j:        d           |                      |j!        j        |j!        j                   |                      |j!        j;        d           | <                    t          |j!        j=                  |j!        j:                   t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }	d}
|                    ||	           d}|                    |          \  }}|                     |           |                     ||	|
|          }| 5                    d||          }|                     |           |                                 }|                     |t          j>        |j        |j?        t          j@        z  d           | $                    |j!        j:        d           |                      |j!        j        d           |                      |j!        j;        d           |                      |j!        jA        d           |                      |j!        jB        t          jC                   |                      |j!        jD        d           |                      t          |j!        jE                  d           |                                 }| F                    |           | G                                 d S )Nr   r    r   r  r   r  r   r   r  r!   r%   r   r  r   rA  r   )Hr'   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  r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  rZ   r[   r  rH   rI   rJ   rK   rL   rM   r   r   rw   r   r   rC  r   r   r   r   r   rQ   r   rR   rS   r   r  r  r  r  r  r  r  r  rG   rT   rU   r  s                     r    test_spnego_connect_reauth_alterz0TestDCERPC_BIND.test_spnego_connect_reauth_alter  s	   (***,,G	  %(^^"$|0@@BB!*6!!O((77	!	v/0002	5
	  J777 ! 5 59"""&&2<7F1: ' < <	
   *2+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59"""&&2<7F1: ' < <	 !!!,06141E,5 " 7 7 	cmmooV93;GGG,ce.ABBB,ce.ABBB-su/CDDD5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59!!! ##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;d+BCCC+Q///CE$; < <ce>NOOO &&2<7F1G ' I I	 ##A/3*+),.7	 $ 9 9
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO O((77	!	v/0002	5
	  J777 ! 5 59"""&&2<7F1: ' < <	 !!!+3,5 " 7 7 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'HIII+++SU566::: mmoo#!!!!!r   c                 T   t          j                    }t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j	        
                                |_
        ||_        |g}|                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }	d}
|                    ||	           d}|                    |          \  }}|                     |           |                     ||	|
|          }|                     d||          }|                     |           |                                 }|                     |t          j        |j                   |                      |j!        j"        |j!        j"                   |                      |j!        j#        |j!        j#                   | $                    |j!        j%        |j!        j%                   |                      |j!        j&        d           |                      |j!        j'        d| j(        z             | )                    |j!        j*        d           |                      |j!        j+        d           |                      |j!        j        d         j,        t          j-                   |                      |j!        j        d         j.        t          j/                   | 0                    |j!        j        d         j1        |           | $                    t          |j!        j2                  d           | 3                    |j!        j2                  }|j4        }|                    |          \  }}|                     |           |                     ||	|
|          }| 5                    d|g|j!        j%        |	          }|                     |           |                                 }|                     |t          j6        |j                   |                      |j!        j"        |j!        j"                   |                      |j!        j#        |j!        j#                   |                      |j!        j%        |j!        j%                   |                      |j!        j&        d           | )                    |j!        j*        d           |                      |j!        j+        d           |                      |j!        j        d         j,        t          j-                   |                      |j!        j        d         j.        t          j/                   | 0                    |j!        j        d         j1        |           | $                    t          |j!        j2                  d           | 3                    |j!        j2                  }|j4        }|                    |          \  }}| 7                    |           | 8                    d|j        dd
          }|                     |           |                                 }|                     |t          j9        |j        d           | $                    |j!        j:        d           |                      |j!        j        |j!        j                   |                      |j!        j;        d           | <                    t          |j!        j=                  |j!        j:                   |                     ||	|
d          }| 8                    d|j        dd|          }|                     |           |                                 }|                     |t          j9        |j        d           | $                    |j!        j:        d           |                      |j!        j        |j!        j                   |                      |j!        j;        d           | <                    t          |j!        j=                  |j!        j:                   t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }	d}
|                    ||	           d}|                    |          \  }}|                     |           |                     ||	|
|          }| >                    d|          }|                     |           |                                 }|                     |t          j?        |j        |j@        t          jA        z  d           | $                    |j!        j:        d           |                      |j!        j        d           |                      |j!        j;        d           |                      |j!        jB        d           |                      |j!        jC        t          jD                   |                      |j!        jE        d           |                      t          |j!        jF                  d           |                                 }| G                    |           | H                                 d S )Nr   r    r   r  r   r  r   r   r  r!   r%   r  r   rA  r  r   )Ir'   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  r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  rZ   r[   r  rH   rI   rJ   rK   rL   rM   r  r   r   rw   r   r   r   r   r   r   r   r  s                     r    test_spnego_connect_reauth_auth3z0TestDCERPC_BIND.test_spnego_connect_reauth_auth3  s	   (***,,G	  %(^^"$|0@@BB!*6!!O((77	!	v/0002	5
	  J777 ! 5 59"""&&2<7F1: ' < <	
   *2+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59"""&&2<7F1: ' < <	 !!!,06141E,5 " 7 7 	cmmooV93;GGG,ce.ABBB,ce.ABBB-su/CDDD5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59!!! ##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO &&2<7F1G ' I I	 ##A/3*+),.7	 $ 9 9
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO O((77	!	v/0002	5
	  J777 ! 5 59"""&&2<7F1: ' < <	 !!!,5 " 7 7cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'FGGG+++SU566::: mmoo#!!!!!r   c                 x   t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }d}|                    ||           d}	|                    |	          \  }
}|                     |
           |                     ||||          }|                     d|g|          }|                     |           |                                 }|                     |t          j        |j                   |                     |j         j!        |j         j!                   |                     |j         j"        |j         j"                   | #                    |j         j$        |j         j$                   |                     |j         j%        d           |                     |j         j&        d| j'        z             | (                    |j         j)        d           |                     |j         j*        d           |                     |j         j        d         j+        t          j,                   |                     |j         j        d         j-        t          j.                   | /                    |j         j        d         j0        |           | #                    t          |j         j1                  d           | 2                    |j         j1                  }|j3        }	|                    |	          \  }
}|                     |
           |                     |t          j4        ||          }| 5                    d|g|j         j$        |	          }|                     |           |                                 }|                     |t          j6        |j        |j7        t          j8        z  d
           | #                    |j         j9        d           |                     |j         j        d           |                     |j         j:        d           |                     |j         j;        d           |                     |j         j<        t          j=                   |                     |j         j>        d           |                     t          |j         j?                  d           |                                 }| @                    |           | A                                 d S Nr   r    r   r  r   r  r   r   r  r   )Br'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  r2  rZ   r   r   rw   rJ   rK   r   r   rC  r   r   r   r   )r   rQ   rR   rS   r  r  r  r  r  r  r  r  rG   rT   rU   r  s                   r   test_spnego_change_auth_levelz-TestDCERPC_BIND.test_spnego_change_auth_level+  s   (**G	  %(^^"$|0@@BB!*!!O((77	!	v/0002	7
	  J777 ! 5 59"""&&2<7F1: ' < <	   +/&+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59"""&&282R7F1: ' < <	 !!!,06141E,5 " 7 7 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'HIII+++SU566::: mmoo#!!!!!r   c                 2   t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }d}	|                    ||           d}
|                    |
          \  }}|                     |           |                     |||	|          }|                     d|g|          }|                     |           |                                 }|                     |t          j        |j                   |                      |j!        j"        |j!        j"                   |                      |j!        j#        |j!        j#                   | $                    |j!        j%        |j!        j%                   |                      |j!        j&        d           |                      |j!        j'        d| j(        z             | )                    |j!        j*        d           |                      |j!        j+        d           |                      |j!        j        d         j,        t          j-                   |                      |j!        j        d         j.        t          j/                   | 0                    |j!        j        d         j1        |           | $                    t          |j!        j2                  d           | 3                    |j!        j2                  }|j4        }
|                    |
          \  }}|                     |           |                     |t          j5        |	|          }| 6                    d|g|j!        j%        |	          }|                     |           |                                 }|                     |t          j7        |j        |j8        t          j9        z  d
           | $                    |j!        j:        d           |                      |j!        j        d           |                      |j!        j;        d           |                      |j!        j<        d           |                      |j!        j=        t          j>                   |                      |j!        j?        d           |                      t          |j!        j@                  d           |                                 }| A                    |           | B                                 d S r  )Cr'   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  r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  r2  rZ   r   r   rw   rJ   rK   r   r   r   r   r   r   r   )r   rQ   rR   rS   r   r  r  r  r  r  r  r  r  rG   rT   rU   r  s                    r   test_spnego_change_abstractz+TestDCERPC_BIND.test_spnego_change_abstracty  s<   (**G	  %(^^"$|0@@BB!*!!&))nn# % 5 E E G G"+!!O((77	!	v/0002	7
	  J777 ! 5 59"""&&2<7F1: ' < <	   +/&+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59"""&&282R7F1: ' < <	 !!!,17141E,5 " 7 7 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'FGGG+++SU566::: mmoo#!!!!!r   c                 `   t          j                    }t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j	        
                                |_
        ||_        ||g}t          j                    }d|_        t          |          |_        t          j        j	        
                                |_
        ||_        |                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }	t          j        }
d}|                    |	|
           d}|                    |          \  }}|                     |           |                     |	|
||          }|                     d|g|          }|                     |           |                                 }|                     |t          j        |j                   |                      |j!        j"        |j!        j"                   |                      |j!        j#        |j!        j#                   | $                    |j!        j%        |j!        j%                   |                      |j!        j&        d           |                      |j!        j'        d| j(        z             | )                    |j!        j*        d           |                      |j!        j+        d           |                      |j!        j        d         j,        t          j-                   |                      |j!        j        d         j.        t          j/                   | 0                    |j!        j        d         j1        |           | $                    t          |j!        j2                  d           | 3                    |j!        j2                  }|j4        }|                    |          \  }}|                     |           |                     |	t          j5        ||          }| 6                    d|g|j!        j%        |	          }|                     |           |                                 }|                     |t          j7        |j        |j8        t          j9        z  d
           | $                    |j!        j:        d           |                      |j!        j        d           |                      |j!        j;        d           |                      |j!        j<        d           |                      |j!        j=        t          j>                   |                      |j!        j?        d           |                      t          |j!        j@                  d           |                                 }| A                    |           | B                                 d S r  )Cr'   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  r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  r2  rZ   r   r   rw   rJ   rK   r   r   r   r   r   r   r   r   rQ   r   rR   rS   r   r   r  r  r  r  r  r  r  r  rG   rT   rU   r  s                      r   test_spnego_change_transferz+TestDCERPC_BIND.test_spnego_change_transfer  sU   (***,,G	  %(^^"$|0@@BB!*U^
!!&)*oo# % 1 A A C C",!!O((77	!	v/0002	7
	  J777 ! 5 59"""&&2<7F1: ' < <	   +/&+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59""" &&282R7F1: ' < <	 !!!,17141E,5 " 7 7 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'FGGG+++SU566::: mmoo#!!!!!r   c                    t          j                    }t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j	        
                                |_
        ||_        |                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }d}	|                    ||           d}
|                    |
          \  }}|                     |           |                     |||	|          }|                     d|g|          }|                     |           |                                 }|                     |t          j        |j                   |                      |j!        j"        |j!        j"                   |                      |j!        j#        |j!        j#                   | $                    |j!        j%        |j!        j%                   |                      |j!        j&        d           |                      |j!        j'        d| j(        z             | )                    |j!        j*        d           |                      |j!        j+        d           |                      |j!        j        d         j,        t          j-                   |                      |j!        j        d         j.        t          j/                   | 0                    |j!        j        d         j1        |           | $                    t          |j!        j2                  d           | 3                    |j!        j2                  }|j4        }
|                    |
          \  }}|                     |           |                     t          j5        ||	|          }| 6                    d|g|j!        j%        |	          }|                     |           |                                 }|                     |t          j7        |j        |j8        t          j9        z  d
           | $                    |j!        j:        d           |                      |j!        j        d           |                      |j!        j;        d           |                      |j!        j<        d           |                      |j!        j=        t          j>                   |                      |j!        j?        d           |                      t          |j!        j@                  d           |                                 }| A                    |           | B                                 d S r  )Cr'   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  r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  DCERPC_AUTH_TYPE_KRB5rZ   r   r   rw   rJ   rK   r   r   r]  r   r   r   r   )r   rQ   r   rR   rS   r  r  r  r  r  r  r  r  rG   rT   rU   r  s                    r   test_spnego_change_auth_type1z-TestDCERPC_BIND.test_spnego_change_auth_type1$  s   (***,,G	  %(^^"$|0@@BB!*!!O((77	!	v/0002	7
	  J777 ! 5 59"""&&2<7F1: ' < <	   +/&+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59""" &&1M2<7F1: ' < <	 !!!,06141E,5 " 7 7 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'HIII+++SU566::: mmoo#!!!!!r   c                 `   t          j                    }t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j	        
                                |_
        ||_        ||g}t          j                    }d|_        t          |          |_        t          j        j	        
                                |_
        ||_        |                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }	t          j        }
d}|                    |	|
           d}|                    |          \  }}|                     |           |                     |	|
||          }|                     d|g|          }|                     |           |                                 }|                     |t          j        |j                   |                      |j!        j"        |j!        j"                   |                      |j!        j#        |j!        j#                   | $                    |j!        j%        |j!        j%                   |                      |j!        j&        d           |                      |j!        j'        d| j(        z             | )                    |j!        j*        d           |                      |j!        j+        d           |                      |j!        j        d         j,        t          j-                   |                      |j!        j        d         j.        t          j/                   | 0                    |j!        j        d         j1        |           | $                    t          |j!        j2                  d           | 3                    |j!        j2                  }|j4        }|                    |          \  }}|                     |           |                     t          j5        |
||          }| 6                    d|g|j!        j%        |	          }|                     |           |                                 }|                     |t          j7        |j        |j8        t          j9        z  d
           | $                    |j!        j:        d           |                      |j!        j        d           |                      |j!        j;        d           |                      |j!        j<        d           |                      |j!        j=        t          j>                   |                      |j!        j?        d           |                      t          |j!        j@                  d           |                                 }| A                    |           | B                                 d S r  )Cr'   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  r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  r  rZ   r   r   rw   rJ   rK   r   r   r   r   r   r   r   r  s                      r   test_spnego_change_auth_type2z-TestDCERPC_BIND.test_spnego_change_auth_type2t  sU   (***,,G	  %(^^"$|0@@BB!*U^
!!&)*oo# % 1 A A C C",!!O((77	!	v/0002	7
	  J777 ! 5 59"""&&2<7F1: ' < <	   +/&+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59""" &&1M2<7F1: ' < <	 !!!,17141E,5 " 7 7 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'FGGG+++SU566::: mmoo#!!!!!r   c                 `   t          j                    }t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j	        
                                |_
        ||_        ||g}t          j                    }d|_        t          |          |_        t          j        j	        
                                |_
        ||_        |                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }	t          j        }
d}|                    |	|
           d}|                    |          \  }}|                     |           |                     |	|
||          }|                     d|g|          }|                     |           |                                 }|                     |t          j        |j                   |                      |j!        j"        |j!        j"                   |                      |j!        j#        |j!        j#                   | $                    |j!        j%        |j!        j%                   |                      |j!        j&        d           |                      |j!        j'        d| j(        z             | )                    |j!        j*        d           |                      |j!        j+        d           |                      |j!        j        d         j,        t          j-                   |                      |j!        j        d         j.        t          j/                   | 0                    |j!        j        d         j1        |           | $                    t          |j!        j2                  d           | 3                    |j!        j2                  }|j4        }|                    |          \  }}|                     |           |                     t          j5        |
||          }| 6                    d|g|j!        j%        |	          }|                     |           |                                 }|                     |t          j7        |j        |j8        t          j9        z  d
           | $                    |j!        j:        d           |                      |j!        j        d           |                      |j!        j;        d           |                      |j!        j<        d           |                      |j!        j=        t          j>                   |                      |j!        j?        d           |                      t          |j!        j@                  d           |                                 }| A                    |           | B                                 d S r  )Cr'   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  r0   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  rB  rZ   r   r   rw   rJ   rK   r   r   rC  r   r   r   r   r  s                      r   test_spnego_change_auth_type3z-TestDCERPC_BIND.test_spnego_change_auth_type3  sU   (***,,G	  %(^^"$|0@@BB!*U^
!!&)*oo# % 1 A A C C",!!O((77	!	v/0002	7
	  J777 ! 5 59"""&&2<7F1: ' < <	   +/&+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59""" &&1M2<7F1: ' < <	 !!!,17141E,5 " 7 7 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'HIII+++SU566::: mmoo#!!!!!r   c                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |g}|                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }d}	|                    ||           d}
|                    |
          \  }}|                     |           |                     |||	|          }|                     d||          }t          j                            |          }t          |          }|t          j        z  }|t          j        z  }|t          |          z  }|                     |||	||          }|                     d||          }|                     |           |                                 }|                      |t          j!        |j"                   | #                    |j$        j%        |j$        j%                   | #                    |j$        j&        |j$        j&                   | '                    |j$        j(        |j$        j(                   | #                    |j$        j)        d           | #                    |j$        j*        d	| j+        z             | ,                    |j$        j-        d           | #                    |j$        j.        d           | #                    |j$        j        d         j/        t          j0                   | #                    |j$        j        d         j1        t          j2                   | 3                    |j$        j        d         j4        |           | '                    t          |j$        j5                  d           | 6                    |j$        j5                  }|j7        }
|                    |
          \  }}|                     |           |                     |||	|          }| 8                    d||j$        j(        |
          }t          j                            |          }t          |          }|t          j        z  }|t          j        z  }|t          |          z  }|                     |||	||          }| 8                    d||j$        j(        |
          }|                     |           |                                 }|                      |t          j9        |j"                   | #                    |j$        j%        |j$        j%                   | #                    |j$        j&        |j$        j&                   | #                    |j$        j(        |j$        j(                   | #                    |j$        j)        d           | ,                    |j$        j-        d           | #                    |j$        j.        d           | #                    |j$        j        d         j/        t          j0                   | #                    |j$        j        d         j1        t          j2                   | 3                    |j$        j        d         j4        |           | '                    t          |j$        j5                  d           | 6                    |j$        j5                  }|j7        }
|                    |
          \  }}| :                    |           | ;                    d|j        dd          }|                     |           |                                 }|                      |t          j<        |j"        d           | '                    |j$        j=        d           | #                    |j$        j        |j$        j                   | #                    |j$        j>        d           | ?                    t          |j$        j@                  |j$        j=                   |                     |||	d          }| ;                    d|j        dd|          }|                     |           |                                 }|                      |t          j<        |j"        d           | '                    |j$        j=        d           | #                    |j$        j        |j$        j                   | #                    |j$        j>        d           | ?                    t          |j$        j@                  |j$        j=                   | A                    d           | B                                 d S )Nr   r    r   r  r   r  r  r  r  auth_pad_lengthr  r   r   r  r!   r%   r  r   rA  
disconnect)Cr'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r  r   r  r  r  r  r  r  r  r&  r  r  r  r  r0   r  ndr_packr  r   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  rZ   r[   r  rH   rI   rJ   rK   rL   rM   _disconnectr   r   rQ   rR   rS   r   r  r  r  r  r  r  r  r  rG   rT   req_pduauth_pad_okrU   r  s                      r   test_spnego_auth_pad_okz'TestDCERPC_BIND.test_spnego_auth_pad_ok"  s   (**G	  %(^^"$|0@@BB!*6!!O((77	!	v/0002	5
	  J777 ! 5 59"""&&2<7F1: ' < <	
   *2+4 ! 6 6 )$$S))'llv33v88s9~~%&&2<7F7B1:	 ' < <	   *2+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59"""&&2<7F1: ' < <	 !!!+3141E,5 " 7 7 )$$S))'llv33v88s9~~%&&2<7F7B1:	 ' < <	
 !!!+3141E,5 " 7 7 	cmmooV93;GGG,ce.ABBB,ce.ABBB-su/CDDD5q99935;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59!!! ##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO &&2<7F1G ' I I	 ##A/3*+),.7	 $ 9 9
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO&&&!!!!!r   c                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |g}|                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }d}	|                    ||           d}
|                    |
          \  }}|                     |           |                     |||	|          }|                     d||          }t          j                            |          }t          |          }|t          j        z  }|t          j        z  }|t          |          z  }|dz   }|                     |||	||          }|                     d||          }|                     |           |                                 }|                      |t          j!        |j"        d           | #                    |j$        j%        t          j&                   | #                    |j$        j'        d           | #                    |j$        j(        d         j)        |j)                   | #                    |j$        j(        d         j*        |j*                   | #                    t          |j$        j+                  d	           | #                    |j$        j+        d
           |                                 }| ,                    |           | -                                 d S )Nr   r    r   r  r   r  r  r%   r   s      ).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  r0   r  r  r  r   r1   r2   r3   r   r   r5   r6   r   r   r   r   r   r   r   r   r   )r   rQ   rR   rS   r   r  r  r  r  r  r  r  r  rG   rT   r  r  auth_pad_badrU   s                      r   test_spnego_auth_pad_fail_bindz.TestDCERPC_BIND.test_spnego_auth_pad_fail_bind  sA   (**G	  %(^^"$|0@@BB!*6!!O((77	!	v/0002	5
	  J777 ! 5 59"""&&2<7F1: ' < <	
   *2+4 ! 6 6 )$$S))'llv33v88s9~~%"Q&&2<7F7C1:	 ' < <	   *2+4 ! 6 6 	cmmooV7$% 	 	' 	' 	', V	X 	X 	X+Q///*3S\BBB*93;MNNNSUZ!,,,Y/// mmoo#!!!!!r   c                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |g}|                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }d}	|                    ||           d}
|                    |
          \  }}|                     |           |                     |||	|          }|                     d||          }t          j                            |          }t          |          }|t          j        z  }|t          j        z  }|t          |          z  }|                     |||	||          }|                     d||          }|                     |           |                                 }|                      |t          j!        |j"                   | #                    |j$        j%        |j$        j%                   | #                    |j$        j&        |j$        j&                   | '                    |j$        j(        |j$        j(                   | #                    |j$        j)        d           | #                    |j$        j*        d	| j+        z             | ,                    |j$        j-        d           | #                    |j$        j.        d           | #                    |j$        j        d         j/        t          j0                   | #                    |j$        j        d         j1        t          j2                   | 3                    |j$        j        d         j4        |           | '                    t          |j$        j5                  d           | 6                    |j$        j5                  }|j7        }
|                    |
          \  }}|                     |           |                     |||	|          }| 8                    d||j$        j(        |
          }t          j                            |          }t          |          }|t          j        z  }|t          j        z  }|t          |          z  }|dz   }|                     |||	||          }| 8                    d||j$        j(        |
          }|                     |           |                                 }|                      |t          j9        |j"        |j:        t          j;        z  d           | '                    |j$        j<        d           | #                    |j$        j        d           | #                    |j$        j=        d           | #                    |j$        j>        d           | #                    |j$        j?        t          j@                   | #                    |j$        jA        d           | #                    t          |j$        jB                  d           |                                 }| C                    |           | D                                 d S )Nr   r    r   r  r   r  r  r   r   r  r   )Er'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r  r   r  r  r  r  r  r  r  r&  r  r  r  r  r0   r  r  r  r   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  rZ   r   r   rw   rJ   rK   r   r   r   r   r   r   r   r   rQ   rR   rS   r   r  r  r  r  r  r  r  r  rG   rT   r  r  rU   r  r  s                       r   test_spnego_auth_pad_fail_alterz/TestDCERPC_BIND.test_spnego_auth_pad_fail_alter  s9   (**G	  %(^^"$|0@@BB!*6!!O((77	!	v/0002	5
	  J777 ! 5 59"""&&2<7F1: ' < <	
   *2+4 ! 6 6 )$$S))'llv33v88s9~~%&&2<7F7B1:	 ' < <	   *2+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59"""&&2<7F1: ' < <	 !!!+3141E,5 " 7 7 )$$S))'llv33v88s9~~%"Q&&2<7F7C1:	 ' < <	
 !!!+3141E,5 " 7 7 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'FGGG+++SU566::: mmoo#!!!!!r   c                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |g}|                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }d}	|                    ||           d}
|                    |
          \  }}|                     |           |                     |||	|          }|                     d||          }t          j                            |          }t          |          }|t          j        z  }|t          j        z  }|t          |          z  }|                     |||	||          }|                     d||          }|                     |           |                                 }|                      |t          j!        |j"                   | #                    |j$        j%        |j$        j%                   | #                    |j$        j&        |j$        j&                   | '                    |j$        j(        |j$        j(                   | #                    |j$        j)        d           | #                    |j$        j*        d	| j+        z             | ,                    |j$        j-        d           | #                    |j$        j.        d           | #                    |j$        j        d         j/        t          j0                   | #                    |j$        j        d         j1        t          j2                   | 3                    |j$        j        d         j4        |           | '                    t          |j$        j5                  d           | 6                    |j$        j5                  }|j7        }
|                    |
          \  }}| 8                    |           d}|                     |||	||          }| 9                    d|
          }|                     |           |                     d          }| :                    |           | ;                                 | <                    d|j        dd          }|                     |           |                                 }|                      |t          j=        |j"        d           | '                    |j$        j>        d           | #                    |j$        j        |j$        j                   | #                    |j$        j?        d           | @                    t          |j$        jA                  |j$        j>                   |                     |||	d          }| <                    d|j        dd|          }|                     |           |                                 }|                      |t          j=        |j"        d           | '                    |j$        j>        d           | #                    |j$        j        |j$        j                   | #                    |j$        j?        d           | @                    t          |j$        jA                  |j$        j>                   | B                    d           | C                                 d S )Nr   r    r   r  r   r  r  r   r   r  r  r  r!   r%   r  r   rA  r  )Dr'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r  r   r  r  r  r  r  r  r\  r&  r  r  r  r  r0   r  r  r  r   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  r  r  r   r  rH   rI   rJ   rK   rL   rM   r  r   r  s                      r   test_ntlmssp_auth_pad_okz(TestDCERPC_BIND.test_ntlmssp_auth_pad_okh  s   (**G	  %(^^"$|0@@BB!*6!!O((77	!	v/0003	5
	  J777 ! 5 59"""&&2<7F1: ' < <	
   *2+4 ! 6 6 )$$S))'llv33v88s9~~%&&2<7F7B1:	 ' < <	   *2+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59!!!&&2<7F7B1:	 ' < <	
 !!!,5 " 7 7cmmDm))#    ##A/3*+), $ . . 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO &&2<7F1G ' I I	 ##A/3*+),.7	 $ 9 9
 	cmmooV7$% 	 	' 	' 	'CE,a000)35+;<<<+Q///CE$; < <ce>NOOO&&&!!!!!r   c                 t   t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |g}|                                 }t          j                            | j                  }|                    |           |                    t          j                   t          j        }t          j        }d}	|                    ||           d}
|                    |
          \  }}|                     |           |                     |||	|          }|                     d||          }t          j                            |          }t          |          }|t          j        z  }|t          j        z  }|t          |          z  }|                     |||	||          }|                     d||          }|                     |           |                                 }|                      |t          j!        |j"                   | #                    |j$        j%        |j$        j%                   | #                    |j$        j&        |j$        j&                   | '                    |j$        j(        |j$        j(                   | #                    |j$        j)        d           | #                    |j$        j*        d	| j+        z             | ,                    |j$        j-        d           | #                    |j$        j.        d           | #                    |j$        j        d         j/        t          j0                   | #                    |j$        j        d         j1        t          j2                   | 3                    |j$        j        d         j4        |           | '                    t          |j$        j5                  d           | 6                    |j$        j5                  }|j7        }
|                    |
          \  }}| 8                    |           d}|                     |||	||          }| 9                    d|
          }|                     |           |                                 }|                      |t          j:        |j"        |j;        t          j<        z  d           | '                    |j$        j=        d           | #                    |j$        j        d           | #                    |j$        j>        d           | #                    |j$        j?        d           | #                    |j$        j@        t          jA                   | #                    |j$        jB        d           | #                    t          |j$        jC                  d           |                                 }| D                    |           | E                                 d S )Nr   r    r   r  r   r  r  r   r   r  r   )Fr'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r  r   r  r  r  r  r  r  r\  r&  r  r  r  r  r0   r  r  r  r   r1   r2   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   r  r  r  r  r   r   rw   rJ   rK   r   r   #DCERPC_NCA_S_FAULT_REMOTE_NO_MEMORYr   r   r   r   r  s                       r    test_ntlmssp_auth_pad_fail_auth3z0TestDCERPC_BIND.test_ntlmssp_auth_pad_fail_auth3  s   (**G	  %(^^"$|0@@BB!*6!!O((77	!	v/0003	5
	  J777 ! 5 59"""&&2<7F1: ' < <	
   *2+4 ! 6 6 )$$S))'llv33v88s9~~%&&2<7F7B1:	 ' < <	   *2+4 ! 6 6 	cmmooV7EEE,ce.ABBB,ce.ABBBCE0#%2FGGG5q9990$2FGGG35;****A...*1 B	D 	D 	D*1 E	G 	G 	G""35>!#4#;UCCCC00!444OOCEO,,m ! 5 59!!!&&2<7F7C1:	 ' < <	
 !!!,5 " 7 7cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)1---+Q///a(((v'QRRR+++SU566::: mmoo#!!!!!r   c                     |                                  }|                     ||||||          }	|	d S |                     ||	|          }
|
d S |	S )N)r  r  r  r  r  r  )r  r  alter_fault)r  r  r  )r   r  r  r  r  r  r  r  r  r  r*  s              r   _test_auth_bind_auth_levelz*TestDCERPC_BIND._test_auth_bind_auth_level?  s     ##%%22=F>HCR@L?J 3 L L 4""s0</: # < < ;4r   c                 p    |                                  }|                     t          j        |||          S )N)r  r  r  rC   )r  r  r)   r  )r   r  rC   r  s       r   _test_spnego_level_bind_nakz+TestDCERPC_BIND._test_spnego_level_bind_nakS  sA    !!22V=[>HPQZ` 3 b b 	br   r   c                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        t          j        }	d}
|                     |	||
|||          }|d S |                     |           |d         }|                     |           d}t          |          t          j        z  }d}|dk    rt          j        |z
  }|d|z  z  }|t          j        k    r#|                    t          |                    }nd}d|z  }|                     |	|||
|	          }|                     d
|j        d||          }|t          j        k    rt          j                            |          }t          j        }t          |          |j        z
  }|t          j        z
  }|||         }|d|         }|                    ||          }|                     |	|||
|	          }|                     d
|j        d||          }|                     |           |                                 }|                     |t          j        |j        |j        |z  d           |                     |j         j!        d           | "                    |j         j        |j                   | "                    |j         j#        d           | "                    |j         j$        d           | "                    |j         j%        |           | "                    |j         j&        d           | "                    t          |j         j'                  d           |t          j(        z  rd S |                                 }| )                    |           | *                                 d S )N  r    )r  r  r  r  r  r  r                       r   r  r  r  r  r  r  r  r   r   rA  r   )+r'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r  r  assertIsNotNoneDCERPC_AUTH_PAD_ALIGNMENTr  sig_sizer  rH   r  r  r  r   r   sign_packetr1   r2   r3   r   r   r   r9   r6   rJ   r5   rK   r   r   r   r   rw   r   r   )r   r  r  r  request_faultresponse_fault_flagsrQ   rR   rS   r  r  r  r  stub_binr0  r  r  zero_sigrG   rT   req_blobofs_stubofs_sigofs_trailerreq_data	req_wholesigrU   s                               r   _test_spnego_level_bindz'TestDCERPC_BIND._test_spnego_level_bindY  s   
 (**G	   %(^^"$|0@@BB!*2	669C>M26;G:E 7 G G  F\***"Qh--&"BBQ;;$>HOGo--6===zz#h--00HHHX%&&2<7F7F19	 ' ; ;	
 ##A/3*0)1.7	 $ 9 9
 6===y))#..H3H(mmco5G!F$EEK 45H 7+I--)44C**Y6@;J;J58	 + : :I
 ''37?.4-52;	 ( = =C
 	cmmooV4ck"%-2F"F$% 	 	' 	' 	' 	CE,a000)4?;;;+Q///a(((}555+++SU566:::&"HH 	F mmoo#!!!!!r   c                 X    |                      t          j        t          j                  S r"  )r  r)   r  r   rc   s    r   test_spnego_none_bindz%TestDCERPC_BIND.test_spnego_none_bind  s-    //0M7=7b 0 d d 	dr   c                 X    |                      t          j        t          j                  S r"  )r  r)   r*  'DCERPC_BIND_NAK_REASON_INVALID_CHECKSUMrc   s    r   test_spnego_call_bindz%TestDCERPC_BIND.test_spnego_call_bind  s-    //0M7=7e 0 g g 	gr   c                 D    |                      dt          j                  S r5  r  r)   r   rc   s    r   test_spnego_0_bindz"TestDCERPC_BIND.test_spnego_0_bind  *    //7=7b 0 d d 	dr   c                 D    |                      dt          j                  S r:  r  rc   s    r   test_spnego_7_bindz"TestDCERPC_BIND.test_spnego_7_bind  r  r   c                 D    |                      dt          j                  S r>  r  rc   s    r   test_spnego_255_bindz$TestDCERPC_BIND.test_spnego_255_bind  s*    //7=7b 0 d d 	dr   c                 X    |                      t          j        t          j                  S N)r  r  )r  r)   r&  rc   s    r   test_spnego_connect_bind_nonez-TestDCERPC_BIND.test_spnego_connect_bind_none  -    ++v7W9?9Y , [ [ 	[r   c                 X    |                      t          j        t          j                  S r  )r  r)   r&  r  rc   s    r   test_spnego_connect_bind_signz-TestDCERPC_BIND.test_spnego_connect_bind_sign  s-    ++v7W9?9[ , ] ] 	]r   c                 X    |                      t          j        t          j                  S r  )r  r)   r&  r2  rc   s    r   test_spnego_connect_bind_sealz-TestDCERPC_BIND.test_spnego_connect_bind_seal  r  r   c                 n    |                      t          j        t          j        t          j                  S N)r  r  r  )r  r)   r-  r&  r]  rc   s    r   test_spnego_packet_bind_nonez,TestDCERPC_BIND.test_spnego_packet_bind_none  s5     ++v7V9?9Y:@:[ , ] ] 	]r   c                     |                      t          j        t          j        t          j        t          j                  S N)r  r  r  r  )r  r)   r-  r  r   rw   rc   s    r   test_spnego_packet_bind_signz,TestDCERPC_BIND.test_spnego_packet_bind_sign  s;     ++v7V9?9[:@:ZAGAg , i i 	ir   c                     |                      t          j        t          j        t          j        t          j                  S r  )r  r)   r-  r2  r   rw   rc   s    r   test_spnego_packet_bind_sealz,TestDCERPC_BIND.test_spnego_packet_bind_seal  s;     ++v7V9?9Y:@:ZAGAg , i i 	ir   c                 n    |                      t          j        t          j        t          j                  S r	  )r  r)   r  r&  r]  rc   s    r   test_spnego_integrity_bind_nonez/TestDCERPC_BIND.test_spnego_integrity_bind_none  s3    ++v7Y9?9Y:@:[ , ] ] 	]r   c                     |                      t          j        t          j        t          j        t          j                  S r  )r  r)   r  r   rw   rc   s    r   test_spnego_integrity_bind_signz/TestDCERPC_BIND.test_spnego_integrity_bind_sign  s9    ++v7Y9?9[:@:ZAGAg , i i 	ir   c                     |                      t          j        t          j        t          j        t          j                  S r  )r  r)   r  r2  r   rw   rc   s    r   test_spnego_integrity_bind_sealz/TestDCERPC_BIND.test_spnego_integrity_bind_seal  s9    ++v7Y9?9Y:@:ZAGAg , i i 	ir   c                 n    |                      t          j        t          j        t          j                  S N)r  r  r  )r  r)   r2  r&  r]  rc   s    r   test_spnego_privacy_bind_nonez-TestDCERPC_BIND.test_spnego_privacy_bind_none  s3    ++v7W9?9Y8>8Y , [ [ 	[r   c                 n    |                      t          j        t          j        t          j                  S r  )r  r)   r2  r  r]  rc   s    r   test_spnego_privacy_bind_signz-TestDCERPC_BIND.test_spnego_privacy_bind_sign  s3    ++v7W9?9[8>8Y , [ [ 	[r   c                 X    |                      t          j        t          j                  S r  )r  r)   r2  rc   s    r   test_spnego_privacy_bind_sealz-TestDCERPC_BIND.test_spnego_privacy_bind_seal	  r  r   c                    t          j                    }|g}t          j                    }d|_        t          |          |_        t          j        j        	                                |_	        ||_
        |g}d}|                     |||||          }	|                     |	           |	d         }
|                     |
           d}t          |          t          j        z  }d}|dk    rt          j        |z
  }|d|z  z  }|
                    t          |                    }d|z  }|                     |||||          }|                     d	|j        d||
          }t          j                            |          }t          j        }t          |          |j        z
  }|t          j        z
  }|||         }|d|         }|
                    ||          }|                     |||||          }|                     d	|j        d||
          }|                     |           |                                 \  }}|                     |t          j        |j        |           |                     |j        j        d           |                     |j        j        |j        j        dz             |                     |j        j         d           | !                    t          |j        j"                  |j        j                   |                     |j        |           t          j        }|j#        |j        z
  }|t          j        z
  }|||         }|d|         }||d          }||d          }| $                    |          }|                     |j%        |           |                     |j&        |           |                     |j'        d           |                     |j(        |           |                     |j)        |           |
*                    |||           d}t          |          t          j        z  }d}|dk    rt          j        |z
  }|d|z  z  }|
                    t          |                    }d|z  }|                     |||||          }|                     d|j        d||
          }t          j                            |          }t          j        }t          |          |j        z
  }|t          j        z
  }|||         }|d|         }|
                    ||          }|                     |||||          }|                     d|j        d||
          }|                     |           | +                                }|                     |t          j,        |j        |j-        t          j.        z  d           |                     |j        j        d           |                     |j        j        |j                   |                     |j        j         d           |                     |j        j/        d           |                     |j        j0        t          j1                   |                     |j        j2        d           |                     t          |j        j3                  d           d}t          |          t          j        z  }d}|dk    rt          j        |z
  }|d|z  z  }|
                    t          |                    }d|z  }|                     |||||          }|                     d|j        d||
          }t          j                            |          }t          j        }t          |          |j        z
  }|t          j        z
  }|||         }|d|         }|
                    ||          }|                     |||||          }|                     d|j        d||
          }|                     |           |                                 \  }}|                     |t          j        |j        |           |                     |j        j        d           |                     |j        j        |j        j        dz             |                     |j        j         d           | !                    t          |j        j"                  |j        j                   |                     |j        |           t          j        }|j#        |j        z
  }|t          j        z
  }|||         }|d|         }||d          }||d          }| $                    |          }|                     |j%        |           |                     |j&        |           |                     |j4        d           |                     |j'        d           |                     |j(        |           |                     |j)        |           |
*                    |||           d}t          |          t          j        z  }d}|dk    rt          j        |z
  }|d|z  z  }|
                    t          |                    }d|z  }|                     |||||          }|                     d|j        d	||
          }t          j                            |          }t          j        }t          |          |j        z
  }|t          j        z
  }|||         }|d|         }|
                    ||          }|                     |||||          }|                     d|j        d	||
          }|                     |           |                                 \  }}|                     |t          j        |j        |           |                     |j        j        d           |                     |j        j        |j        j        dz             |                     |j        j         d           | !                    t          |j        j"                  |j        j                   |                     |j        |           t          j        }|j#        |j        z
  }|t          j        z
  }|||         }|d|         }||d          }||d          }| $                    |          }|                     |j%        |           |                     |j&        |           |                     |j4        d           |                     |j'        d           |                     |j(        |           |                     |j)        |           |
*                    |||           d S )Nr  r    )r  r  r  r  r  r   r   r   r  r  r   rA  r%   r   r  r   r   r   s           r   r      r4  )5r'   r(   r)   r   r"   r*   r+   r,   r-   r.   r/   r  r  r  r  r  rH   r  r  r  r   r   r  r1   recv_pdu_rawr3   rI   r   r9   r6   rJ   r5   rK   rL   rM   frag_lengthr  r  r  auth_reservedr  r  check_packetr2   r   r   rw   r   r   r   r   r   r  ) r   r  r  hdr_signrQ   rR   rS   r   r  r  r  r  r0  r  r  r  rG   rT   r  r  r  r  r  r  r  rU   rep_blobrep_data	rep_wholerep_sigrep_auth_info_blobrep_auth_infos                                    r   %_test_auth_signing_auth_level_requestz5TestDCERPC_BIND._test_auth_signing_auth_level_request  s   (**G	   %(^^"$|0@@BB!*6669C>M:B26	 7 8 8
 	\***"Qh--&"BBQ;;$>HOGo--::c(mm,,X%&&2<7F7F19	 ' ; ;	
 ##A/3*+)1.7	 $ 9 9
 9%%c**/h--#/1 AAH[01QwY'	mmHi00&&2<7F7F14	 ' 6 6	
 ##A/3*+)1.7	 $ 9 9
 	c++--hV7$, 	 	. 	. 	.CE,a000)35+;d+BCCC+Q///CE$; < <ce>NOOO(333//CO3 AAH[01QwY'	788$%kll3(:;;0)<<<1:>>> 	4a8886HHH2G<<<	xG444h--&"BBQ;;$>HOGo--::c(mm,,X%&&2<7F7F19	 ' ; ;	
 ##A/3*0)1.7	 $ 9 9
 9%%c**/h--#/1 AAH[01QwY'	mmHi00&&2<7F7F14	 ' 6 6	
 ##A/3*0)1.7	 $ 9 9
 	cmmooV4ck"%->#?$% 	 	' 	' 	' 	CE,a000)4?;;;+Q///a(((v'GHHH+++SU566:::h--&"BBQ;;$>HOGo--::c(mm,,X%&&2<7F7F19	 ' ; ;	
 ##A/3*+)1.7	 $ 9 9
 9%%c**/h--#/1 AAH[01QwY'	mmHi00&&2<7F7F14	 ' 6 6	
 ##A/3*+)1.7	 $ 9 9
 	c++--hV7$, 	 	. 	. 	.CE,a000)35+;d+BCCC+Q///CE$; < <ce>NOOO(333//CO3 AAH[01QwY'	788$%kll3(:;;0)<<<1:>>>6:::4a8886HHH2G<<<	xG444h--&"BBQ;;$>HOGo--::c(mm,,X%&&2<7F7F19	 ' ; ;	
 ##A/3*+)1.7	 $ 9 9
 9%%c**/h--#/1 AAH[01QwY'	mmHi00&&2<7F7F14	 ' 6 6	
 ##A/3*+)1.7	 $ 9 9
 	c++--hV7$, 	 	. 	. 	.CE,a000)35+;d+BCCC+Q///CE$; < <ce>NOOO(333//CO3 AAH[01QwY'	788$%kll3(:;;0)<<<1:>>>6;;;4a8886HHH2G<<<	xG44444r   c                 V    |                      t          j        t          j                  S r   r*  r)   r  r-  rc   s    r   test_spnego_signing_packetz*TestDCERPC_BIND.test_spnego_signing_packet  s*     99&:X:@:Y[ [ 	[r   c                 Z    |                      t          j        t          j        d          S NT)r#  r,  rc   s    r   test_spnego_hdr_signing_packetz.TestDCERPC_BIND.test_spnego_hdr_signing_packet   s2     99&:X:@:YCG : I I 	Ir   c                 V    |                      t          j        t          j                  S r   r*  r)   r  r  rc   s    r   test_spnego_signing_integrityz-TestDCERPC_BIND.test_spnego_signing_integrity'  s(    99&:X:@:\^ ^ 	^r   c                 Z    |                      t          j        t          j        d          S r/  r2  rc   s    r   !test_spnego_hdr_signing_integrityz1TestDCERPC_BIND.test_spnego_hdr_signing_integrity+  s0    99&:X:@:\CG : I I 	Ir   c                 V    |                      t          j        t          j                  S r   r*  r)   r\  r-  rc   s    r   test_ntlm_signing_packetz(TestDCERPC_BIND.test_ntlm_signing_packet0  s*     99&:Y:@:Y[ [ 	[r   c                 Z    |                      t          j        t          j        d          S r/  r7  rc   s    r   test_ntlm_hdr_signing_packetz,TestDCERPC_BIND.test_ntlm_hdr_signing_packet6  s2     99&:Y:@:YCG : I I 	Ir   c                 V    |                      t          j        t          j                  S r   r*  r)   r\  r  rc   s    r   test_ntlm_signing_integrityz+TestDCERPC_BIND.test_ntlm_signing_integrity=  s(    99&:Y:@:\^ ^ 	^r   c                 Z    |                      t          j        t          j        d          S r/  r<  rc   s    r   test_ntlm_hdr_signing_integrityz/TestDCERPC_BIND.test_ntlm_hdr_signing_integrityA  s0    99&:Y:@:\CG : I I 	Ir   c                 V    |                      t          j        t          j                  S r   r*  r)   r  r-  rc   s    r   test_krb5_signing_packetz(TestDCERPC_BIND.test_krb5_signing_packetF  s*     99&:V:@:Y[ [ 	[r   c                 Z    |                      t          j        t          j        d          S r/  rA  rc   s    r   test_krb5_hdr_signing_packetz,TestDCERPC_BIND.test_krb5_hdr_signing_packetL  s2     99&:V:@:YCG : I I 	Ir   c                 V    |                      t          j        t          j                  S r   r*  r)   r  r  rc   s    r   test_krb5_signing_integrityz+TestDCERPC_BIND.test_krb5_signing_integrityS  s(    99&:V:@:\^ ^ 	^r   c                 Z    |                      t          j        t          j        d          S r/  rF  rc   s    r   test_krb5_hdr_signing_integrityz/TestDCERPC_BIND.test_krb5_hdr_signing_integrityW  s0    99&:V:@:\CG : I I 	Ir   c                 T   t           j        j                                        }t	          j                    }|g}t           j        j                                        }d|_        t          |          |_	        ||_        ||_
        |                     |dt          j                  }d S )Nr   r  r:   
nak_reason)r,   r)   r-   r.   r'   r(   r   r"   r*   r+   r/   r  r   )r   r  r  rR   r  r*  s         r   test_assoc_group_fail1z&TestDCERPC_BIND.test_assoc_group_fail1\  s    <$4466+--J	l!**,,$'	NN!& )""s1.4.Y # [ [r   c                 6   t           j        j                                        }t	          j                    }|g}t           j        j                                        }d|_        t          |          |_	        ||_        ||_
        |                     |          }|                     d           |                                  t          j        d           |                                  |                     ||j        j        t          j                  }d S )Nr   )r  test_assoc_group_fail2g      ?rK  )r,   r)   r-   r.   r'   r(   r   r"   r*   r+   r/   r  r  r   timesleepconnectr6   r:   r   )r   r  r  rR   r  r*  r  s          r   rO  z&TestDCERPC_BIND.test_assoc_group_fail2k  s    <$4466+--J	l!**,,$'	NN!& )""s"++1222!!!
3##CE<P/5/Z $ \ \r   c                    t           j        j                                        }t	          j                    }|                     ||dd          \  }}|                                 }|                    ||dd          \  }}|                     |j	        j
        |j	        j
                   |                    d           d S )Nr   Tr"   r  r    End of Test)r,   r)   r-   r.   r'   r(   r"  second_connectionr9   r6   r:   r  )r   r  r  rS   r  conn2r   r  s           r   test_assoc_group_diff1z&TestDCERPC_BIND.test_assoc_group_diff1  s    <$4466+--008<=$ 1 P Pt &&((11(H=>4 2 Q QtDF1463HIII-(((r   c                    t           j        j                                        }t	          j                    }|                     ||dd          \  }}|                                 }|                    |||j        j	        dd          \  }}t           j        j        
                                }|                     d||           |                    d||           |                    d||t           j        j        j        t           j        j        j        z  t           j        j        j        z  t          j        d           |                     d||           |                    d||           |                    d	           d S )
Nr   TrT  r    r:   r"   r  r   r  r  r   r   r  r  fault_pfc_flagsfault_statusfault_context_idrU  )r,   r)   r-   r.   r'   r(   r"  rV  r6   r:   r  r  ra   rb   rw   r   r  	r   r  r  rS   r  rW  r   r  r  s	            r   test_assoc_group_ok1z$TestDCERPC_BIND.test_assoc_group_ok1  s   <$4466+--008<=$ 1 P Pt &&((11(HAEAV=>4 2 Q Qt \&1133
qdzBBBt
CCCt
$)L$7$M$)L$7$L%M$)L$7$W%X .4-K12 	  	4 	4 	4 	qdzBBBt
CCC-(((r   c                 r   t           j        j                                        }t	          j                    }|                     dd|                                            |                     ||dd          \  }}| 	                                }|                    |||j
        j        dd          \  }}t           j        j                                        }|                     d||	           |                    d||	           |                    d||t           j        j        j        t           j        j        j        z  t           j        j        j        z  t          j        d
           |                     d||	           |                    d||	           |                    d           d S )N\pipe\lsarpc\pipe\lsassprimary_addressr<   transport_credsr   TrT  r    rZ  r[  r   r\  rU  )r,   r)   r-   r.   r'   r(   reconnect_smb_piper  r"  rV  r6   r:   r  r  ra   rb   rw   r   r  r`  s	            r   test_assoc_group_ok2z$TestDCERPC_BIND.test_assoc_group_ok2  s   <$4466+--0@2A040C0C0E0E 	  	G 	G 	G 008<=$ 1 P Pt &&((11(HAEAV=>4 2 Q Qt \&1133
qdzBBBt
CCCt
$)L$7$M$)L$7$L%M$)L$7$W%X .4-K12 	  	4 	4 	4 	qdzBBBt
CCC-(((r   c                    t           j        j                                        }t	          j                    }|                     ||dd          \  }}|                     dd|                                           }|g}t           j        j        	                                }d|_
        t          |          |_        ||_        ||_        |                    ||j        j        t          j                  }|                                }	|                     |	           |                                 |                                 }
|
                    |||j        j        d	d
          \  }}t           j        j                                        }|                     d||           |
                    d||           |
                    d||t           j        j        j        t           j        j        j        z  t           j        j        j        z  t          j        d           |                     d||           |
                    d||           |
                    d           d S )Nr   TrT  rc  rd  re     rK  r    rZ  r[  r   r\  rU  )r,   r)   r-   r.   r'   r(   r"  rV  r  r   r"   r*   r+   r/   r  r6   r:   r   r2   r   r   r  r  ra   rb   rw   r   r  )r   r  r  rS   r  connF	tsfF_listctxFr*  rU   rW  r   r  r  s                 r   test_assoc_group_fail3z&TestDCERPC_BIND.test_assoc_group_fail3  sd   <$4466+--008<=$ 1 P Pt &&7G9H7;7J7J7L7L ' N N J	|"++--%(^^"'!*##TV=R/5/Z $ \ \ nn#  """&&((11(HAEAV=>4 2 Q Qt \&1133
qdzBBBt
CCCt
$)L$7$M$)L$7$L%M$)L$7$W%X .4-K12 	  	4 	4 	4 	qdzBBBt
CCC-(((r   c                 l   t           j        }t           j        }d}|                                 }t          j         j                                        }t          j                    }|g}t          j         j         	                                }	d|	_
        t          |          |	_        ||	_        ||	_        |                     ||||d          }
|                     d|	|
          }t          j         j                                        }|                     d|	||
           |                     d|	t           j        t           j        z  t           j        z  |j        j        d	          }|                     |
d
                    |r-d|
d
<   |
d                             t2          j                   d }nt           j        }|                     d|	||
|           |?|                                 }|                     |           |                                  d S |                     d|	||
           d S )Nr   Fr  r   r  r  r    r   r  r  r  r   T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  ra   rb   rm   r6   r:   r  r  r   FEATURE_SIGN_PKT_HEADERr]  r2   r   r   )r   
do_upgrader  r  r  r  r  r  rR   r  r  r*  r  r  r^  rU   s                   r   _test_krb5_hdr_sign_delayed1z,TestDCERPC_BIND._test_krb5_hdr_sign_delayed1  sQ   0	7
##%%<$4466+--J	l!**,,$'	NN!& )22=F>HCR?D	 3 F F ""1'*0< # > > \&1133
qcj,8 	 	: 	: 	: ##A3.4.J$*$?/@$*$N/O 69U5I59 $ ; ; 	m4555 	;*.L'"//0NOOOLL:Lqcj,8,8 	 	: 	: 	: #--//Cc"""##%%%Fqcj,8 	 	: 	: 	:r   c                 .    |                      d          S NTrv  rw  rc   s    r   test_krb5_hdr_sign_delayed1_ok1z/TestDCERPC_BIND.test_krb5_hdr_sign_delayed1_ok1<      00D0AAAr   c                 .    |                      d          S NFrz  r{  rc   s    r   !test_krb5_hdr_sign_delayed1_fail1z1TestDCERPC_BIND.test_krb5_hdr_sign_delayed1_fail1?      00E0BBBr   c                    t           j        }t           j        }d}|                                 }t          j         j                                        }t          j                    }|g}t          j         j         	                                }	d|	_
        t          |          |	_        ||	_        ||	_        |                     ||||d          }
|                     d|	|
t           j        t           j        z  t           j        z            }|                     |
d                    |r-d|
d<   |
d                             t*          j                   d }nt           j        }t          j         j                                        }|                     d|	||
|	           |?|                                 }|                     |           |                                  d S |                     d
|	||
           d S )Nr   Fr  )r   r  r  r  r  Tr   r   rt  r   rr  )r)   r  r  r  r,   r-   r.   r'   r(   r   r"   r*   r+   r/   r  r  ra   rb   rm   r  r  r   ru  r]  r  r  r2   r   r   )r   rv  r  r  r  r  r  r  rR   r  r  r*  r^  r  rU   s                  r   _test_krb5_hdr_sign_delayed2z,TestDCERPC_BIND._test_krb5_hdr_sign_delayed2B  s   0	7
##%%<$4466+--J	l!**,,$'	NN!& )22=F>HCR?D	 3 F F ""1'*0<171M&,&A2B&,&P2Q # R R 	m4555 	;*.L'"//0NOOOLL:L\&1133
qcj,8,8 	 	: 	: 	: #--//Cc"""##%%%Fqcj,8 	 	: 	: 	:r   c                 .    |                      d          S ry  r  rc   s    r   test_krb5_hdr_sign_delayed2_ok1z/TestDCERPC_BIND.test_krb5_hdr_sign_delayed2_ok1{  r}  r   c                 .    |                      d          S r  r  rc   s    r   !test_krb5_hdr_sign_delayed2_fail1z1TestDCERPC_BIND.test_krb5_hdr_sign_delayed2_fail1~  r  r   c                    t           j        }t           j        }d}|                                 }t          j         j                                        }t          j                    }|g}t          j         j         	                                }d|_
        t          |          |_        ||_        ||_        |                     ||||d          }	|                     d||	t           j        t           j        z  t           j        z  d          }
t          j         j                                        }|                     d|||	           |                     |	d                    d|	d<   |	d	                             t.          j                   t           j        }|                     d
|||	|           |                                 }|                     |           |                                  d S )Nr   Fr  T)r   r  r  r  	use_auth3r    rr  r  r   r   rt  )r)   r  r  r  r,   r-   r.   r'   r(   r   r"   r*   r+   r/   r  r  ra   rb   rm   r  r  r  r  r   ru  r]  r2   r   r   )r   r  r  r  r  r  r  rR   r  r  r*  r  r^  rU   s                 r   !test_krb5_hdr_sign_delayed3_fail1z1TestDCERPC_BIND.test_krb5_hdr_sign_delayed3_fail1  s   0	7
##%%<$4466+--J	l!**,,$'	NN!& )22=F>HCR?D	 3 F F ""1'*0<171M&,&A2B&,&P2Q .2 # 3 3 \&1133
qcj,8 	 	: 	: 	: 	m4555&*]#X++F,JKKK6qcj,8,8 	 	: 	: 	:
 mmoo#!!!r   c                 	   |                                  }d}d}t          j        }t          j        }d}	|                                 }
|
                                }|
                                }t          j        }t          j        }d}t          j        j        	                                }t          j                    }|                     dd|           |                                  |g}t          j        j                                        }d|_        t!          |          |_        ||_	        ||_        |                     ||||	d	          }|                     |
|||d	          }t          j        j                                        }| j        |_        d |_        t          j        d           |_        |                     d
||          }|                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||j#        j$        d          }|                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           d S )NANONYMOUS LOGONNT AUTHORITYr   r    rc  rd  re  Fr  r   rq  r[  rr  r   Tr  r   r   r  r;  %r  r)   r\  r&  r  get_username
get_domainr,   lsar.   r'   r(   rh  r  r   r"   r*   r+   r/   r  GetUserNamer#  in_system_namein_account_namendr_pointerin_authority_namer  r  r5   rA   r   assertEqualsStrLowerout_account_nameout_authority_namevaluer6   r:   )r   	smb_credsaccount_name0authority_name0creds1account_name1authority_name1
auth_type1r  r  creds2account_name2authority_name2
auth_type2r  r  r  r  rR   rS   r  r  get_user_namer  r  s                            r   _test_lsa_multi_auth_connect1z-TestDCERPC_BIND._test_lsa_multi_auth_connect1  s   $$&&)(4
6$$&&++-- ++--4
6<#3355+--0@2A09 	  	; 	; 	; 	   J	|"++--%(^^"'!*33&>H?JDT@E	 4 G G
 33&>H?JDT@E	 4 G G (4466'+';$(,%*.*:4*@*@'##A(,1> $ @ @ 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd},9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZ##A(,1>59V5J59	 $ ; ; 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd},9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd},9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZr   c                     |                                  }|                                }|                                }|                     |||          S r   )r  r  r  r  r   smb_auth_credsr  r  s       r   test_lsa_multi_auth_connect1uz-TestDCERPC_BIND.test_lsa_multi_auth_connect1u  X    ,,..&3355(335511.2?2AC C 	Cr   c                 `    |                                  }d}d}|                     |||          S Nr  r  )r  r  r  s       r   test_lsa_multi_auth_connect1az-TestDCERPC_BIND.test_lsa_multi_auth_connect1a'  @    ,,..)(11.2?2AC C 	Cr   c                 
   |                                  }d}d}t          j        }t          j        }d}	|                                 }
|
                                }|
                                }t          j        }t          j        }d}t          j        j        	                                }t          j                    }|                     dd|           |                                  |g}t          j        j                                        }d|_        t!          |          |_        ||_	        ||_        |                     ||||	d	          }|                     |
|||d	          }t          j        j                                        }| j        |_        d |_        t          j        d           |_        |                     d
|          }|                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||j#        j$        d          }|                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||j#        j$        d          }|                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           d S )Nr  r  r   r    rc  rd  re  Fr  r   r   r  r[  Tr  r   r   rr  r   r  r;  rq   	   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rR   rS   r  r  r  r  r  r  s                             r   _test_lsa_multi_auth_connect2z-TestDCERPC_BIND._test_lsa_multi_auth_connect2/  sW   $$&&)(4
6$$&&++-- ++--4
6<#3355+--0@2A09 	  	; 	; 	; 	   J	|"++--%(^^"'!*33&>H?JDT@E	 4 G G
 33&>H?JDT@E	 4 G G (4466'+';$(,%*.*:4*@*@'##A4#88 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZ##A(,1>59V5J59	 $ ; ; 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd},9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZ##A(,1>59V5J59	 $ ; ; 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd},9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd},9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZr   c                     |                                  }|                                }|                                }|                     |||          S r   )r  r  r  r  r  s       r   test_lsa_multi_auth_connect2uz-TestDCERPC_BIND.test_lsa_multi_auth_connect2u  r  r   c                 `    |                                  }d}d}|                     |||          S r  )r  r  r  s       r   test_lsa_multi_auth_connect2az-TestDCERPC_BIND.test_lsa_multi_auth_connect2a  r  r   c                    |                                  }d}d}t          j        }t          j        }d}	|                                 }
|
                                }|
                                }t          j        }t          j        }d}t          j        j        	                                }t          j                    }|                     dd|           |                                  |g}t          j        j                                        }d|_        t!          |          |_        ||_	        ||_        |                     ||||	d	          }|                     |
|||d	          }t          j        j                                        }| j        |_        d |_        t          j        d           |_        |                     d
|          }|                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||j#        j$        d          }|                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||j#        j$        d          }|                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d|||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           |                     d||           |                     |j        d
         t<                     |                     |j         |           |                     |j!        j"        |           d S )Nr  r  r   r    rc  rd  re  Fr  r   r  r[  Tr  r   r   r   rr  r  r;  rq   r  
      r  r  s                             r   _test_lsa_multi_auth_connect3z-TestDCERPC_BIND._test_lsa_multi_auth_connect3  s5   $$&&)(4
6$$&&++-- ++--4
6<#3355+--0@2A09 	  	; 	; 	; 	   J	|"++--%(^^"'!*33&>H?JDT@E	 4 G G
 33&>H?JDT@E	 4 G G (4466'+';$(,%*.*:4*@*@'##A4#88 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZ##A(,1>59V5J59	 $ ; ; 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd},9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZ##A(,1>59V5J59	 $ ; ; 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd},9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZrt,9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZrtFFF-a02CDDD!!-"@-PPP!!-"B"H/ZZZr   c                     |                                  }|                                }|                                }|                     |||          S r   )r  r  r  r  r  s       r   test_lsa_multi_auth_connect3uz-TestDCERPC_BIND.test_lsa_multi_auth_connect3u3  r  r   c                 `    |                                  }d}d}|                     |||          S r  )r  r  r  s       r   test_lsa_multi_auth_connect3az-TestDCERPC_BIND.test_lsa_multi_auth_connect3a;  r  r   c                 n   |                                  }d}d}t          j        }t          j        }d}	|                                 }
|
                                }|
                                }t          j        }t          j        }d}|                                  }d}d}t          j        }t          j        }d}|                                 }|                                }|                                }t          j        }t          j        }d}t          j        j        	                                }t          j                    }|                     dd|	           |                                  |g}t          j        j                                        }d|_        t!          |          |_        ||_	        ||_        |                     ||||	d
          } |                     |
|||d
          }!|                     ||||d
          }"|                     ||||d
          }#t          j        j                                        }$| j        |$_        d |$_        t          j        d           |$_        |                     d|          }%|                     d||$           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d|| |%j#        j$        d          }&|                     d||$           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d||$           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d||!|%j#        j$        d          }'|                     d||$           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d||$           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d||"|%j#        j$        d          }(|                     d||$           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d||$           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d||#|%j#        j$        d          })|                     d||$           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d||$           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d||$|            |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d||$           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d||$|            |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d||$|!           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d||$|"           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d ||$|#           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           |                     d!||$           |                     |$j        d         t<                     |                     |$j         |           |                     |$j!        j"        |           d S )"Nr  r  r   r    r   r   rc  rd  re  Fr  r   r  r[  Tr  r   r  r;  rq   r  r  r  r4        rr  rk  r              r  )*r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  creds3account_name3authority_name3
auth_type3auth_level3auth_context_id3creds4account_name4authority_name4
auth_type4auth_level4auth_context_id4r  r  rR   rS   r  r  auth_context3auth_context4r  r  r  r  ack3ack4s*                                             r   _test_lsa_multi_auth_connect4z-TestDCERPC_BIND._test_lsa_multi_auth_connect4C  s
   $$&&)(4
6$$&&++-- ++--4
6$$&&)(4
6$$&&++-- ++--4
6<#3355+--0@2A09 	  	; 	; 	; 	   J	|"++--%(^^"'!*33&>H?JDT@E	 4 G G
 33&>H?JDT@E	 4 G G
 33&>H?JDT@E	 4 G G
 33&>H?JDT@E	 4 G G (4466'+';$(,%*.*:4*@*@'##A4#88 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZ##A(,1>59V5J59	 $ ; ; 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZ##A(,1>59V5J59	 $ ; ; 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZ##A(,1>59V5J59	 $ ; ; 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZrtFFF-a02CDDD!!-"@-PPP!!-"B"H/ZZZ##B(,1>59V5J59	 $ ; ; 	rtFFF-a02CDDD!!-"@-PPP!!-"B"H/ZZZrtFFF-a02CDDD!!-"@-PPP!!-"B"H/ZZZ
 	rt,9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZrtFFF-a02CDDD!!-"@-PPP!!-"B"H/ZZZrt,9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZrt,9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZrt,9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZrt,9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZrtFFF-a02CDDD!!-"@-PPP!!-"B"H/ZZZr   c                     |                                  }|                                }|                                }|                     |||          S r   )r  r  r  r  r  s       r   test_lsa_multi_auth_connect4uz-TestDCERPC_BIND.test_lsa_multi_auth_connect4u  r  r   c                 `    |                                  }d}d}|                     |||          S r  )r  r  r  s       r   test_lsa_multi_auth_connect4az-TestDCERPC_BIND.test_lsa_multi_auth_connect4a  r  r   c                    |                                  }|                                }|                                }t          j        }t          j        }d}	|                                  }
|
                                }|
                                }t          j        }t          j        }d}|                                 }d}d}t          j        }t          j        }d}t          j        j	        
                                }t          j                    }|                     dd|           |                                  |g}t          j        j                                        }d|_        t#          |          |_        ||_
        ||_        |                     ||||	d	
          }|                     |
|||d	
          }|                     ||||d	
          }t          j        j	                                        }| j        |_        d |_        t          j        d           |_        |                     d||          }|                     d||           |                     |j        d         t>                     |                      |j!        |           |                      |j"        j#        |           |                     d|||           |                     |j        d         t>                     |                      |j!        |           |                      |j"        j#        |           |                     d||           |                     |j        d         t>                     |                      |j!        |           |                      |j"        j#        |           |                     d|||j$        j%        d          }|                     d||           |                     |j        d         t>                     |                      |j!        |           |                      |j"        j#        |           |                     d|||           |                     |j        d         t>                     |                      |j!        |           |                      |j"        j#        |           |                     d|||           |                     |j        d         t>                     |                      |j!        |           |                      |j"        j#        |           |                     d||           |                     |j        d         t>                     |                      |j!        |           |                      |j"        j#        |           |                     d|||j$        j%        d          } |                     d||           |                     |j        d         t>                     |                      |j!        |           |                      |j"        j#        |           |                     d||           |                     |j        d         t>                     |                      |j!        |           |                      |j"        j#        |           |                     d|||           |                     |j        d         t>                     |                      |j!        |           |                      |j"        j#        |           |                     d||           |                     |j        d         t>                     |                      |j!        |           |                      |j"        j#        |           d S )Nr   r    r  r  r   rc  rd  re  Fr  r   rq  r[  rr  r   Tr  r   r  r;  rq   r  r  r  r4  r  )&r  r  r  r)   r\  r  r  r&  r,   r  r.   r'   r(   rh  r  r   r"   r*   r+   r/   r  r  r#  r  r  r  r  r  r  r5   rA   r   r  r  r  r  r6   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  rR   rS   r  r  r  r  r  r  r  s!                                    r   "_test_lsa_multi_auth_sign_connect1z2TestDCERPC_BIND._test_lsa_multi_auth_sign_connect1$  s    $$&&++-- ++--4
8$$&&++-- ++--4
8$$&&)(4
6<#3355+--0@2A09 	  	; 	; 	; 	   J	|"++--%(^^"'!*33&>H?JDT@E	 4 G G
 33&>H?JDT@E	 4 G G
 33&>H?JDT@E	 4 G G (4466'+';$(,%*.*:4*@*@'##A(,1> $ @ @ 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd},9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZ##A(,1>59V5J59	 $ ; ; 	qd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd},9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd},9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZqd}EEE-a02CDDD!!-"@-PPP!!-"B"H/ZZZ##A(,1>59V5J59	 $ ; ; 	rtFFF-a02CDDD!!-"@-PPP!!-"B"H/ZZZrtFFF-a02CDDD!!-"@-PPP!!-"B"H/ZZZrt,9 	 	; 	; 	;-a02CDDD!!-"@-PPP!!-"B"H/ZZZrtFFF-a02CDDD!!-"@-PPP!!-"B"H/ZZZr   c                     |                                  }|                                }|                                }|                     |||          S r   )r  r  r  r  r  s       r   "test_lsa_multi_auth_sign_connect1uz2TestDCERPC_BIND.test_lsa_multi_auth_sign_connect1u  sX    ,,..&3355(335566~2?2AC C 	Cr   c                 `    |                                  }d}d}|                     |||          S r  )r  r  r  s       r   "test_lsa_multi_auth_sign_connect1az2TestDCERPC_BIND.test_lsa_multi_auth_sign_connect1a  s@    ,,..)(66~2?2AC C 	Cr   c                    t           j        }t           j        }d}t           j        }d}|                                 }t
          j         j                                        }t          j	                    }|g}	t
          j         j         
                                }
d|
_        t          |	          |
_        ||
_        |	|
_        |                     ||||d          }|                     ||||d          }|                     d|
          }|                     d|
||j        j        d          }|                     d|
||j        j        d          }t
          j         j                                        }|                     d	|
|
           |                     d|
||           |                     d|
||           |                     d|
t           j        t           j        z  t           j        z  |j        j        d          }|                     |d                    d|d<   |d                             t4          j                   |                     d|
|
           |                     d|
||           |                     d|
||t           j                   |                                 }|                     |           |                                  d S )Nr   r    Fr  r  Tr  r   r   r[  r   rr  r  r;  rs  r  r   rq   r  r  rt  ) r)   r  r  r-  r  r,   r-   r.   r'   r(   r   r"   r*   r+   r/   r  r  r6   r:   r  r  ra   rb   rm   r  r  r   ru  r]  r2   r   r   )r   r  r  r  r  r  r  r  r  rR   r  r  r  r  r  r  r  r  rU   s                      r   %test_spnego_multiple_auth_hdr_signingz5TestDCERPC_BIND.test_spnego_multiple_auth_hdr_signing  s   2	85##%%<$4466+--J	l!**,,$'	NN!& )33%>G?JDT@E	 4 G G
 33%>G?JDT@E	 4 G G ##A3#77##A(+1>59V5J59	 $ ; ;
 ##A(+1>59V5J59	 $ ; ; \&1133
qcjAAAqcj,9 	 	; 	; 	;qcj,9 	 	; 	; 	; ##A3.4.J$*$?/@$*$N/O 6:V5J59 $ ; ; 	}5666'+m$h,,V-KLLLqcjAAAqcj,9 	 	; 	; 	;rsz,9,2,M 	 	O 	O 	O
 mmoo#!!!!!r   c           	         |                                  }t          j        j                                        }t          j                    }|g}t          j        j                                        }d|_        t          |          |_
        ||_        ||_        |                     d|          }t          j        j                                        }t          j                            dd          }|t!          |          }	nd}	t#          d|	dz             D ]}
t          j        }t          j        }|
}|                     ||||d	
          }d }|
|	k    rt          j        }|                     ||||j        j        |d          }| n|                     ||||           |                                 }|                     |           |                                  d S )Nr   r   r  MAX_NUM_AUTHT)allow_missingi  r    Fr  )r   r  r  r:   r  r  rr  )r  r,   r)   r-   r.   r'   r(   r   r"   r*   r+   r/   r  is_server_listeningtestsenv_get_var_valueintranger  r  r  r   r6   r:   r  r2   r   r   )r   r  r  r  rR   r  r  r  max_num_auth_strmax_num_authir  r  r  r  r  r*  rU   s                     r   test_multiple_auth_limitz(TestDCERPC_BIND.test_multiple_auth_limit  s   ##%%<$4466+--J	l!**,,$'	NN!& )##A3#77#l/CCEE ;88W[8\\'/00LLLq,q.)) 	> 	>A6I;JO66UAJBLGVCH	 7 J JL K<$=&&+.4@8<8M3>8< ' ) )C & ""?'*/B0< # > > > >
 mmoo#!!!r   )r    FNNFFNNNNNN)r    NNFFNNNNNN)NFFNNNNN)NNNNN)NNNN)FF)F)__name__
__module____qualname__r   rV   r\   rd   rf   rh   rk   rn   rr   ru   rx   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)   (DCERPC_BIND_NAK_REASON_INVALID_AUTH_TYPEr  r   r$  r'  r+  r.  r0  r3  r7  r<  r?  rD  rF  rI  rK  rM  ra  rd  rh  rj  rm  rp  rs  rv  ry  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  r  r  r  r  r  r  r  r  r1  r?  rC  rF  rH  rK  rM  rS  rX  r[  r]  r_  ra  rc  re  rj  rn  rp  rt  ry  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  r  r  r  r  r
  r  r  r  r  r  r  r  r  r*  r-  r0  r3  r5  r8  r:  r=  r?  rB  rD  rG  rI  rM  rO  rX  ra  ri  ro  rw  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  __classcell__)r   s   @r   r	   r	   ,   s       ) ) ) ) )
)P )P )PV=P =P =P~E E EE E EE E EE E ET T TE E EI I IE E EE E EE E E	I 	I 	IE E EE E EE E ET T TE E EE E EE E EE E EE E ET T T* * ** * *4" 4" 4"l" " "&0" 0" 0"dB; B; B;HU5 U5 U5n" " ":9" 9" 9"v<" <" <"|K; K; K;ZxP xP xPt5 5 5>"5 "5 "5H!5 !5 !5F&" &" &"P5 5 5>!5 !5 !5F!5 !5 !5F KO.4.]4" 4" 4" 4"n +1*YY Y Y Y
c c cQ Q QN N NP P PS S SQ Q Qc c cc c cc c cJ" J" J"XQ Q QT T TQ Q QS S SW W W8W W W8W W W8W W W8W W W8W W W8W W W8W W W8W W W8W W W8W W W8W W W8W W W@ 78056:9=.327487;26<@6:7;_" _" _" _"H 897;:>/438598<37=A7;8<V V V VB 9:8<;?05496:9=48>B8<9=V V V V<X X X8X X X8X X X8X X X8X X X8X X X8X X X8X X X8X X X8X X X8X X X8X X X8X X X8X X X> 7;/4+048/39=3748V V V V@S S S,S S S,S S S,S S S,S S S,S S S,S S S,S S S,S S S,S S S,S S S,S S S. .2-1-1/3/3w" w" w" w"r? ? ?
C C C? ? ?
C C C? ? ?
? ? ?
? ? ?
? ? ?
GP GP GPR% % %> DH?Ck' k' k' k'ZC C CC C C< < <] ] ]
\ \ \
=! =! =! =!~8 8 8E E E8 8 88 8 8
8 8 8
8 8 8
8 8 8
" " ">*' *' *'X '  '  'D!; !; !;FP P P2/P /P /PbP P P2/P /P /Pb3P 3P 3Pj)" )" )"V." ." ."`Q" Q" Q"fI I IL L Lo" o" o"bI I IL L LS" S" S"jT" T" T"l\" \" \"|[" [" ["zL" L" L"\R" R" R"hU" U" U"nN" N" N"`U" U" U"nU" U" U"nT" T" T"l>" >" >"@n" n" n"`u" u" u"n^" ^" ^"B 170R/4/3   * ,2+Yb b b b .4-O,0.256	Z" Z" Z" Z"xd d dg g gd d dd d dd d d[ [ [] ] ][ [ [] ] ]i i ii i i] ] ]
i i ii i i[ [ [[ [ [[ [ [K5 K5 K5 K5Z[ [ [I I I^ ^ ^I I I
[ [ [I I I^ ^ ^I I I
[ [ [I I I^ ^ ^I I I
    ,    :  @, , ,\? ? ?BB B BC C C7 7 7rB B BC C C3 3 3jg g gRC C CC C Ct t tlC C CC C C| | ||C C CC C CO O ObC C CC C C\ \ \|C C CC C CG" G" G"R9 9 9 9 9 9 9r   r	   __main__T)r  osrP  pathinsertenvironsamba.dcerpc.dcerpcr)   samba.dcerpc.baser'   samba.dcerpc.miscr   samba.dcerpc.epmapperr,   samba.dcerpc.mgmtsamba.dcerpc.netlogonsamba.dcerpc.lsar(  r   samba.tests.dcerpc.raw_testcaser   samba.ntstatusr   r   r   r	   r  unittestmain r   r   <module>r	     s  & 


 				  <      !$
  $ $ $ $ $ $ $ $ $                                                            9 9 9 9 9 9       gt gt gt gt gtm gt gt gtTi zNOOOHMOOOOO	 r   