HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/samba/tests/__pycache__/ldap_raw.cpython-310.pyc
o

�/a��@s�ddlZddlZddlZddlmZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZdZd
ZdZdZdZdZdZdZdZd
Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Z Gd$d%�d%e�Z!Gd&d'�d'e�Z"dS)(�N)�TestCase�J�k�`�a�����c�d���1�"����
�0cCs(|dur
|td�S|tt|��|S)z Encode an ASN.1 BER element. Nr)�
encode_length�len)�ber_type�data�r�6/usr/lib/python3/dist-packages/samba/tests/ldap_raw.py�encode_elementEsrcCsl|dkrd|�dd�S|dkrd|�dd�S|dkr$d	|�d
d�S|dkr0d|�d
d�S|�d
d�S)z- Encode the length of an ASN.1 BER element.  i�������big������������)�to_bytes)�lengthrrrrLsrcC�
tt|�S)z Encode an octet string )r�OCTET_STRING)�stringrrr�
encode_stringZ�
r,cCs|rttd�Sttd�S)z Encode a boolean value ��r)r�BOOLEAN)�booleanrrr�encode_boolean_s

r1cCs&|��}|dd}tt|�|d��S)z Encode an integer value �r&r)�
bit_lengthr�INTEGERr')�integer�bit_len�byte_lenrrr�encode_integerfsr8cCstt|�dd��S)z Encode an enumerated value r&r)r�
ENUMERATEDr')�enumrrr�encode_enumeratedmsr;cCr))z Encode a sequence )r�SEQUENCE)�sequencerrr�encode_sequencerr-r>cCs�|durdSt|�dkrdS|dd�}tj|dd�dd�}|d@rEd|d@}tj|d|�dd�}||||�}|||d�}n|}|dd|�}|d|d�}||||fS)	z!
    decode an ASN.1 element
    Nr#rr&r��	byteorder�i���)r�int�
from_bytes)rr�enc�l_endr(�element�restrrr�decode_elementwsrHcs�eZdZdZ�fdd�Z�fdd�Zdd�Zdd	�Zd
d�Zd&dd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Z�ZS)'�RawLdapTestz�
    A raw Ldap Test case.
    The ldap connections are made over https on port 636

    Uses the following environment variables:
        SERVER
        USERNAME
        PASSWORD
        DNSNAME
    cs^tt|���tj�d�|_d|_d|_tj�d�|_	tj�d�|_
tj�d�|_|��dS)N�SERVERi|�USERNAME�PASSWORD�DNSNAME)
�superrI�setUp�samba�tests�env_get_var_value�host�port�socket�user�password�dns_name�connect��self��	__class__rrrO�szRawLdapTest.setUpc�|��tt|���dS�N)�
disconnectrNrI�tearDownrZr\rrra��zRawLdapTest.tearDowncC�"|jdurdS|j��d|_dS�z; Disconnect from and clean up the connection to the server N�rU�closerZrrrr`��


zRawLdapTest.disconnectcCs�t��}d|_tj|_d}z"t�tjtj�}|�d�|�	|j
|jf�|j||j
d�|_WdStj
yF|��|jdurE|j���w)z2 Establish an ldaps connection to the test server FN�
)�server_hostname)�ssl�create_default_context�check_hostname�	CERT_NONE�verify_moderU�AF_INET�SOCK_STREAM�
settimeoutrYrSrT�wrap_socket�errorrf)r[�context�sockrrrrY�s


�zRawLdapTest.connectcC�.z	|j�|�WdStjy|���w�z  Send the request to the server N�rU�sendallrsr`�r[�reqrrr�send���zRawLdapTest.sendrNcC�d}z'|dur
|j�|�|j�|d�}|j�d�t|�dkr'|��WdSW|Stjy:|j�d�Y|StjyF|���w�z+ receive an array of bytes from the server Nrrh�rUrq�recvrr`�timeoutrs�r[�num_recvr�rrrrr���$����zRawLdapTest.recvcCs�|j�d�}|j�dd��d�}d|d|}|j�d�}td�}|t|�7}|tt|�7}tt	|�}td�}t
||�}|�|�|��}	|�
|	�t|	�\}
}}}
|�t��|
���|�|dk�|�dt|
��t|�\}
}}}
|�t��|
���tj|d	d
�}|�d|�|�t|
�d�t|
�\}
}}}
|�t��|
���|�dt|
��t|�\}
}}}
|�t��|
���|�t��|���|�t|
�d�dS)z+
            Perform a simple bind
        �UTF8�.z,dc=scn=s
,cn=users,dc=r r&rrr?N)rV�encoderX�replacerWr8r,r�SIMPLE_AUTH�BINDr>r|r��assertIsNotNonerH�assertEqualr<�hex�
assertTruerr4rBrC�
assertGreater�BIND_RESr9�SUCCESS)r[rV�ou�dnrW�bind�bind_op�msg_no�packetrrr(rFrGrrrr��s:


zRawLdapTest.bindcCs�d}t|�\}}}}|�t��|���|�d|�|�d��|���|�dt|��d}t|�\}}}}|�t��|���|�d|�|�d��|���|�dt|��d}t|�\}}}}|�t��|���|�d|�|�d��|���|�d��|���d	}t|�\}}}}|�t��|���|�d
|�|�d��|���|�d��|���d}t|�\}}}}|�t��|���|�d
|�|�d��|���|�d��|���d
}t|�\}}}}|�t��|���|�d
|�|�d��|���|�d��|���d}t|�\}}}}|�t��|���|�d
|�|�d��|���|�d��|���dS)z% Tests for the decode_element method s�r&r.rsrs�ss�r#s�s��s��s��N)rHr�r/r�rr*)r[rrr(rFrGrrr�test_decode_elementsTzRawLdapTest.test_decode_elementcCs�|��td�}|td�7}|td�7}|td�7}|td�7}|td�7}tdd�}tdd�}tt||�}td�}tt|||�}td�}t||�}|�	d	t
|��|�|�|��}	|�
|	�t|	�\}
}}}
|�	t��|
���|�|dk�|�	dt
|
��t|�\}
}}}
|�	t��|
���tj|d
d�}|�	d|�|�t
|
�d�t|
�\}
}}}
|�	t��|
���|�	dt
|
��t|�\}
}}}
|�	t��|
���|�	dt
|��|�t
|
�d�t|
�\}
}}}
|�	t��|
���|�	dt
|
��t|�\}
}}}
|�	t��|
���|�t
|
�d�t|�\}
}}}
|�	t��|
���|�t
|
�d�|�	d|�t|
�\}
}}}
|�	t��|
���|�t
|�d�|�	dt
|
��dS)
z�
        Check that an LDAP search request equal to the maximum size is accepted
        This test is done on a authenticated connection so that the maximum
        non search request is 16MiB.
        NrF�xi���y���r#��rr?�configurationNamingContext)r�r,r;r8r1r�EQUALSr>�SEARCHr�rr|r�r�rHr<r�r�r4rBrCr��
SEARCH_RESr*�SET�r[�header�x�y�equals�trailer�searchr�r�rrr(rFrGrrr�)test_search_equals_maximum_permitted_sizeTs`

z5RawLdapTest.test_search_equals_maximum_permitted_sizec
Cs�|��td�}|td�7}|td�7}|td�7}|td�7}|td�7}tdd�}tdd�}tt||�}td�}tt|||�}td�}t||�}|�	d	t
|��|�|�|��}	|�
|	�dS)
z�
        Test that a search query longer than the maximum permitted
        size is rejected.
        This test is done on a authenticated connection so that the maximum
        non search request is 16MiB.
        NrFr�r�r�i��r#��)r�r,r;r8r1rr�r>r�r�rr|r��assertIsNone�
r[r�r�r�r�r�r�r�r�rrrr�*test_search_exceeds_maximum_permitted_size�s$
z6RawLdapTest.test_search_exceeds_maximum_permitted_sizec
Csltd�}|td�7}|ttd�7}tt|�}td�}t||�}|�|�|��}|�|�t	|�\}}}}	|�
t��|���|�
|dk�|�
dt|	��t	|�\}}}}	|�
t��|���tj|dd�}|�
d|�|�t|	�d�t	|	�\}}}}	|�
t��|���|�
dt|	��t	|�\}}}}	|�
t��|���|�
t��|���|�t|	�d�dS)z2
            Test a simple anonymous bind
        r �r&rrr?N)r8r,rr�r�r>r|r�r�rHr�r<r�r�rr4rBrCr�r�r9r��
r[r�r�r�r�rrr(rFrGrrr�test_simple_anonymous_bind�s2


z&RawLdapTest.test_simple_anonymous_bindc
Cs�td�}|tdd�7}|ttd�7}tt|�}td�}t||�}|�dt|��|�|�|�	�}|�
|�t|�\}}}}	|�t�
�|�
��|�|dk�|�dt|	��t|�\}}}}	|�t�
�|�
��tj|dd	�}|�d|�|�t|	�d�t|	�\}}}}	|�t�
�|�
��|�dt|	��t|�\}}}}	|�t�
�|�
��|�t�
�|�
��|�t|	�d�d
S)z�
            Test a simple bind, with a large invalid
            user name. As the resulting packet is equal
            to the maximum unauthenticated packet size we should see
            an INVALID_CREDENTIALS response
        r � i��r�r&r�rrr?N)r8r,rr�r�r>r�rr|r�r�rHr<r�r�r4rBrCr�r�r9�INVALID_CREDENTIALSr�rrr�test_simple_bind_at_limits4	


z%RawLdapTest.test_simple_bind_at_limitcCsttd�}|tdd�7}|ttd�7}tt|�}td�}t||�}|�dt|��|�|�|�	�}|�
|�dS)z�
            Test a simple bind, with a large invalid
            user name. As the resulting packet is one greater than
            the maximum unauthenticated packet size we should see
            the connection reset.
        r r�i��r�r&r�N)r8r,rr�r�r>r�rr|r�r�)r[r�r�r�r�rrrr�test_simple_bind_gt_limit;s	

z%RawLdapTest.test_simple_bind_gt_limitc
Csbdd}tt|�}td�}t||�}|�dt|��|�|�|��}|�|�t	|�\}}}}	|�t
��|���|�|dk�|�dt|	��t	|�\}}}}	|�t
��|���tj|dd�}|�d|�|�t|	�d�t	|	�\}}}}	|�t��|���|�dt|	��t	|�\}}}}	|�t��|���|�t��|���|�t|	�d�dS)	z�
            Test a delete, with a large invalid DN
            As the resulting packet is equal to the maximum unauthenticated
            packet size we should see an INVALID_DN_SYNTAX response
        r�i��r&r�rrr?N)r�DELETEr8r>r�rr|r�r�rHr<r�r�r4rBrCr��
DELETE_RESr9�INVALID_DN_SYNTAX�
r[r��del_opr�r�rrr(rFrGrrr�$test_unauthenticated_delete_at_limitUs0


z0RawLdapTest.test_unauthenticated_delete_at_limitcCsVdd}tt|�}td�}t||�}|�dt|��|�|�|��}|�|�dS)z�
            Test a delete, with a large invalid DN
            As the resulting packet is greater than the maximum unauthenticated
            packet size we should see a connection reset
        r�i��r&r�N)	rr�r8r>r�rr|r�r��r[r�r�r�r�rrrr�$test_unauthenticated_delete_gt_limit�s

z0RawLdapTest.test_unauthenticated_delete_gt_limitc
Csjdd}tt|�}|��td�}t||�}|�dt|��|�|�|��}|�	|�t
|�\}}}}	|�t��|���|�
|dk�|�dt|	��t
|�\}}}}	|�t��|���tj|dd�}|�d|�|�t|	�d�t
|	�\}}}}	|�t��|���|�dt|	��t
|�\}}}}	|�t��|���|�t��|���|�t|	�d�dS)	z�
            Test a delete, with a large invalid DN
            As the resulting packet is equal to the maximum authenticated
            packet size we should see an INVALID_DN_SYNTAX response
        r�i�r#irrr?N)rr�r�r8r>r�rr|r�r�rHr<r�r�r4rBrCr�r�r9r�r�rrr�"test_authenticated_delete_at_limit�s2


z.RawLdapTest.test_authenticated_delete_at_limitcCs^dd}tt|�}|��td�}t||�}|�dt|��|�|�|��}|�	|�dS)z�
            Test a delete, with a large invalid DN
            As the resulting packet is one greater than the maximum
            authenticated packet size we should see a connection reset
        r�i�r#iN)
rr�r�r8r>r�rr|r�r�r�rrr�"test_authenticated_delete_gt_limit�s

z.RawLdapTest.test_authenticated_delete_gt_limit�rN)�__name__�
__module__�__qualname__�__doc__rOrar`rYr|r�r�r�r�r�r�r�r�r�r�r�r��
__classcell__rrr\rrI�s&
4=Z*.513rIcs^eZdZdZ�fdd�Z�fdd�Zdd�Zdd	�Zd
d�Zddd�Z	dd�Z
dd�Z�ZS)�RawCldapTestz�
    A raw cldap Test case.
    The ldap connections are made over UDP port 389

    Uses the following environment variables:
        SERVER
    cs4tt|���tj�d�|_d|_d|_|�	�dS)NrJi�)
rNr�rOrPrQrRrSrTrUrYrZr\rrrO�s
zRawCldapTest.setUpcr^r_)r`rNr�rarZr\rrra�rbzRawCldapTest.tearDowncCrcrdrerZrrrr`�rgzRawCldapTest.disconnectcCs`zt�tjtj�|_|j�d�|j�|j|jf�WdStjy/|jdur.|j���w)z0 Establish an UDP connection to the test server rhN)	rUro�
SOCK_DGRAMrqrYrSrTrsrfrZrrrrYs

�zRawCldapTest.connectcCrvrwrxrzrrrr|r}zRawCldapTest.sendrNcCr~rr�r�rrrr�r�zRawCldapTest.recvcCs�td�}|td�7}|td�7}|td�7}|td�7}|td�7}td�}td�}tt||�}td�}tt|||�}td�}t||�}|�dt	|��|�
|�|��}	|�|	�t
|	�\}
}}}
|�t��|
���|�|dk�|�t	|
�d�t
|�\}
}}}
|�t��|
���tj|dd	�}|�d|�|�t	|
�d�t
|
�\}
}}}
|�t��|
���|�dt	|
��t
|�\}
}}}
|�t��|
���|�dt	|��|�t	|
�d�t
|
�\}
}}}
|�t��|
���|�dt	|
��t
|�\}
}}}
|�t��|
���|�t	|
�d�t
|�\}
}}}
|�t��|
���|�t	|
�d�|�d
|�t
|
�\}
}}}
|�t��|
���|�t	|�d�|�dt	|
��dS)zb
        Check that an CLDAP search request equal to the maximum size is
        accepted
        NrF��xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs�yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyr#irr?r�)r,r;r8r1rr�r>r�r�rr|r�r�rHr<r�r�r�r4rBrCr�r*r�r�rrrr�-s^

z6RawCldapTest.test_search_equals_maximum_permitted_sizec
Cs�td�}|td�7}|td�7}|td�7}|td�7}|td�7}td�}td�}tt||�}td�}tt|||�}td�}t||�}|�dt	|��|�
|�|��}	|�|	�dS)zg
        Test that a cldap request longer than the maximum permitted
        size is rejected.
        NrFr�s�yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyr#i)
r,r;r8r1rr�r>r�r�rr|r�r�r�rrrr��s"
z7RawCldapTest.test_search_exceeds_maximum_permitted_sizer�)
r�r�r�r�rOrar`rYr|r�r�r�r�rrr\rr��s
Zr�)#rUrj�samba.testsrPrr�r�r�r�r��	SASL_AUTHr�r�r�r��OPERATIONS_ERRORr�r�r/r4r*�NULLr9r<r�rrr,r1r8r;r>rHrIr�rrrr�<module>sL\