Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
dn.cpython-313.pyc88 linesDownload Raw Back to __pycache__
1�

2��ji8���SrSSKJrJrJr SSKJr SSKJr Sr	Sr3SrSrSSjr
S	rSS4jrSrSSjrS
rSrSrSSjrSSjrSSjrSrg)�5�)�	hexdigits�
ascii_letters�digits�)�SEQUENCE_TYPES)�LDAPInvalidDnError�c�@�U(dgU(aSOSnURS5upVnU(a/U(a"UR5UR54nU$XW4nU$U(a,UR5U-S-U-UR5-nU$XT-S-U-U-nU$)N�� �=)�	partition�strip)	�ava�	decompose�remove_space�space_around_equal�space�	attr_name�_�value�	components	         �TD:\code\apps\devtools\python\user_packages\Python313\site-packages\ldap3/utils/dn.py�_add_avar%s�����%�C�2�E��-�-��,��I�%���"���*�E�K�K�M�:�I���#�*�I����!���)�E�1�C�7�%�?�%�+�+�-�O�I���"�)�C�/�%�7�%�?�I���c	�B�/nSnSnUHwnUS:XaSnOgU(a	US:waSnOWUS:Xa&U(aUR[XaX#55 SnMHUS:Xa%SU;aUR[XaX#55 SnMsXh-
nMy UR[XaX#55 U$)	aK6Convert an iterator to a list of dn parts7if decompose=True return a list of tuple (one for each dn component) else return a list of strings8if remove_space=True removes unneeded spaces9if space_around_equal=True add spaces around equal in returned strings10if separate_rdn=True consider multiple RDNs as different component of DN11rF�\Tr
�+�,r)�appendr)	�iteratorrrr�separate_rdn�dnr�escape_sequence�cs	         r�to_dnr'9s���12�B��I��O�
����9�"�O�
��c��#�O�
�#�X�,��I�I�h�y�\�V�W��I��
�#�X��i���	�	�(�9��Z�[��	����	��"�I�I�h�y�\�N�O�
�Irc���URX5nUS:XaU$US:�aXS-13S:waU$US:�a7XS-14S:Xa,SnXS-15SS2HnUS:Xa	U(+nM O U(dU$US-
nMr�NT�����rr16rr)�find)r$�char�pos�escapedr&s     r�_find_first_unescapedr/Ys���17��g�g�d� ���"�9���J���7�r��'�{�d�*���J��1�W��!�G���,��G��a���"��%����9�")�k�G��	&�18���J�	�q���rc���URXU5nUS:XaU$US:�aXS-19S:waU$US:�a7XS-20S:Xa,SnXS-21SS2HnUS:Xa	U(+nM O U(dU$X2:aSnU$Mxr))�rfind)r$r,�start�stopr.r&s      r�_find_last_unescapedr4ns���22��x�x��T�*���2�:�� �K��1�9��1�H���-���K��A�X�"�A�X�,�$�.��G��q���2�
�&����9�")�k�G��	'�23��24�K�	�<��D���K�'rc��[USS5n[USS5nUS:�a7X!:dUS:Xa,[USUS-5nX2S-:�a[USX#5nUSUS4$US:�a,[USUS-5nX1S-:�a[USX5nUSUS4$US4$)Nr rrr*rr25r)r/r4)r$�comma�plus�equals    r�
_get_next_avar9�s���!�"�c�1�-�E� ��S�!�,�D��a�x�T�\�U�b�[�%�b�#�t�a�x�8���!�8��'��C��=�D��e�t�9�c�>�!��q�y�%�b�#�u�q�y�9���1�9��(��S�%�?�E��f�u�:�s�?�"�
�r�6�Mrc��URS5nUS:�a�XS-26S:wa}U(aPUSUR5nU(a[XS-SR55OXS-SR5nXE4$USUnU(a[XS-S5OXS-SnXE4$URSUS-5nUS:�aM�SU(a
UR4$U4$)Nrrr27rr)r+r�_escape_attribute_value)r�escaperr8�attribute_type�attribute_values      r�28_split_avar?�s����H�H�S�M�E�29�!�)��q�y�>�T�!��!$�Q�u��!3�!3�!5��V\�"9�#�a�i�j�/�:O�:O�:Q�"R�be�no�fo�fp�bq�bw�bw�by��30"�2�2�"%�Q�u���NT�"9�#�a�i�j�/�"J�Z]�fg�^g�^h�Zi��!�2�2�����e�a�i�(���!�)��U��	�	�,�,��,�,rc���U(d[S5eUS:XagUH2nU[;aMU[;aMUS:XaM#[SU-S-5e US[;d	USS:Xa[SUS-S-5eg)	Nzattribute type not presentz<GUIDT�-zcharacter 'z' not allowed in attribute typerz2' not allowed as first character of attribute type)r	rr)r=r&s  r�_validate_attribute_typerB�s���� �!=�>�>��� ��
���]�"�a�6�k�Q�#�X�$�^�a�%7�:\�%\�]�]���a��F�"�n�Q�&7�3�&>� ��.��2C�!C�F{�!{�|�|�rc��U(dgUSS:XaAUHnU[;dM[SU-S-5e [U5S-S:Xa[S5eUSS:Xa[S	5eURS5(a!URS315(d[S5e[nUH�nU[:Xa'US:Xa[32nMUS
;a[SU-S-5eM4U[33:Xa.U[;a[nMPUS;a[nM^[SU-5eU[:XdMxU[;a[nM�[SU-5e U[:wa[S5eg)NFr�#z34character z5 not allowed in hex representation of attribute valuerz:hex representation must be in the form of <HEX><HEX> pairsr
z=SPACE must be escaped as leading character of attribute value�\ z>SPACE must be escaped as trailing character of attribute valuer�	"#+,;<=>zspecial character z must be escaped� "#+,;<=>\zinvalid escaped character zinvalid final characterT)rr	�len�endswith�	STATE_ANY�STATE_ESCAPE�STATE_ESCAPE_HEX)r>r&�states   r�_validate_attribute_valuerN�s\�����q��S� � �A��	�!�(���)9�<s�)s�t�t�!����!�#�q�(�$�%a�b�b��q��S� � �!`�a�a�����$�$�_�-E�-E�e�-L�-L� �!a�b�b��E�
���I���D�y�$���m�#�(�)=��)A�DV�)V�W�W�$�
�l�
"��I�~�(���&�&�!��(�)E��)I�J�J�
�&�
&��I�~�!��(�)E��)I�J�J�#�(
�	�� �!:�;�;�rc��U(dgUSS:Xa=Sn[U5S-S:XaSnU(aUHnU[;dMSn O U(aU$[nSnSnUH�nU[:Xa$US:Xa[nMUS;a35USU--
nM+XB-
nM1U[:Xa4U[;a36Un[nMOUS	;aUSU--
n[nMeUS37U--
nMoU[:XdM{U[;aUSU-U--
nOUS38U-U--
nSn[nM� U[:XaUS39-
nOU[:XaUS40U--
nUSS:XaSU-nUSS:Xa [U5S
:�aUSS:waUSSS-nU$)NrrrDTrFrrFrGz\\r
r*r41�����rE)rHrrJrKrL)r>�	valid_hexr&rMr.�42tmp_buffers      rr;r;�s������q��S� ��	����!�#�q�(��I��$���I�%� %�I��%�43�"�"��E��G��J�
���I���D�y�$���m�#��4�!�8�#�����
�l�
"��I�~��44�(���&�&��4�!�8�#��!���6�A�:�%��
�&�
&��I�~��4�*�,�q�0�0���6�J�.��2�2���J��E�/�4
����6���	�"�	"��6�J�&�&���q�z�S����.���r�{�c��c�'�l�Q�.�7�2�;�$�3F��#�2�,��&���Nrc�`�/n/nU(a�[U5upVU[U5S-Sn[USS5S:�d[U5S:XaURXV45 O=U[U5S-45SU[U5S-46S-U-U4U[U5S-47'U(aM�UHsupV[	XQU5upx[U5(d[
SU-5e[U5(d[
SU-5eURXxU45 U[U5S-SnMu U(d[
S5eU$)ab48Parses a DN into syntactic components49:param dn:50:param escape:51:param strip:52:return:53a list of tripels representing `attributeTypeAndValue` elements54containing `attributeType`, `attributeValue` and the following separator (`COMMA` or `PLUS`) if given, else an empty `str`.55in their original representation, still containing escapes or encoded as hex.56r57Nrrz%unable to validate attribute type in z&unable to validate attribute value in zempty dn)r9rHr/r!r?rBr	rN)	r$r<r�rdns�avasr�	separatorr=r>s	         r�parse_dnrW"s:���D�
�D�58�&�r�*���
��C��1��
�
�� ��c�1�-��1�S��Y�!�^��K�K��(�)�#'��D�	�A�
�#6�q�#9�D��T��Q��<O�PQ�<R�#R�UX�#X�Zc�"d�D��T��Q���
�"����*4�S�%�*H�'��'��7�7�$�%L�s�%R�S�S�(��9�9�$�%M�PS�%S�T�T����^�i�@�A�
��C��1��
�
���� ��,�,��Krc�|�[U[5(aDUVs/sHo3PM nnU(aSR[U55nOSRU5nU(a/nOSnUR	S5(aURS5(aUnU$UR	S5(aURS5(aUnU$UR	S5(aURS5(aUnU$SU;aO[
USS	9H?nU(aURUS59USUS45 M)XVS60S
-US-US--
nMA U$SU;a/S
U;a)[URS55S:wa[S5eSU;a/S
U;a)[URS55S:wa[S5eUnU$s snf)z61normalize and escape a dn, if dn is a sequence it is joined.62the reverse parameter changes the join direction of the sequence63r rz<GUID=�>z<WKGUID=z<SID=�@T�r<rr64rrz@Active Directory User Principal Name must consist of name@domainrzDActive Directory Domain Level Logon Name must consist of name\domain)�65isinstancer�join�reversed�66startswithrIrWr!rH�splitr	)r$r�reverse�rdn�67components�68escaped_dnrs       r�safe_dnreJs���69�"�n�%�%�%'�(�R�c�c�R�70�(�����(�:�.�/�B����*�%�B���71��72�	�}�}�X���2�;�;�s�#3�#3��73�$��#74���z�	"�	"�r�{�{�3�'7�'7��75� ��76���w�	�	�B�K�K��$4�$4��77���78
�B��!�"�T�2�I���!�!�9�Q�<��1��y��|�"L�M���l�S�0�9�Q�<�?�)�A�,�N�N�79�	3���80
���s�"�}��R�X�X�c�]�);�q�)@� �!c�d�d�	
����2�
�#�b�h�h�t�n�*=��*B� �!h�i�i��81����;)s�F9c�*�/nSn[USS9HbnUSS:Xd	U(dMU(aURUSUS45 OURUSS-US-5 USS:XaSnM`Sn O U(a[S	[U5-5eU$)82ztReturns a list of rdn for the dn, usually there is only one rdn, but it can be more than one when the + sign is usedTr[rrrr83rFzbad dn )rWr!r	�str)r$r�escaped_rdn�one_morers     r�safe_rdnrjps����K��H��b��.�	��Q�<�3��(�(���"�"�I�a�L�)�A�,�#?�@��"�"�9�Q�<�#�#5�	�!��#D�E���|�s�"��� ���/�� ��S��W�!4�5�5��rc���SHnURUSU-5nM USS:Xd	USS:XaSRSU45nUSS:XaSRUSSS	45nU$)84zC85Escape rdn characters to prevent injection according to RFC 4514.86)	rr r�"�<rY�;r�rrrDr
rr*NrE)�replacer])rbr,s  r�87escape_rdnrq�sv��B���k�k�$��t��,��B��1�v��}��A��#�
��g�g�t�S�k�"��88�2�w�#�~��g�g�s�3�B�x��'�(���JrN)FFFF)r)FT)FF)F)�__doc__�stringrrrrr�core.exceptionsr	rJrKrLrr'r/r4r9r?rBrNr;rWrerjrq�rr�<module>rvsp���24�3��0�
�	������(�@�*�.�&-�$�"'�T:�z%�P#�L�,r
codekingpro/portable-devtools · Team Ai