OwlCyberSecurity - MANAGER
Edit File: _ddr.cpython-312.pyc
� ����\��g����������������������������d�dl�Z�d�dlZd�dlmZ�d�dlZd�dlZd�dlZd�dlZd�dl Zd�dl Zej������������������j������������������d�������Z �G�d��d�������Zd��Zd��Zd��Zy) �����N)�urlparsez_dns.resolver.arpac��������������������,�����e�Zd�Zd��Zd��Zd��Zd��Zdd�Zy)� _SVCBInfoc������������������<�����||�_���������||�_��������||�_��������||�_��������y��N)�bootstrap_address�port�hostname�nameservers)�selfr���r ���r ���r���s��� �7/opt/hc_python/lib/python3.12/site-packages/dns/_ddr.py�__init__z_SVCBInfo.__init__���s ������!2����� � �� �&�������c������������������L�����|d���D�]��\��}}|dk(��s�||�j�������������������k(��s��y�y)zIVerify that the _SVCBInfo's address is in the cert's subjectAltName (SAN)�subjectAltNamez IP AddressTF)r���)r����cert�name�values��� r ����ddr_check_certificatez_SVCBInfo.ddr_check_certificate!���s3������� 0�1�K�D�%��|�#���1G�1G�(G���2��r���c�����������������������t���������j������������������j������������������}|j��������������������������}|j������������������j ������������������|_��������|S�r���)�dns�query�ssl�create_default_context� TLSVersion�TLSv1_2�minimum_version)r���r����ctxs��� r ����make_tls_contextz_SVCBInfo.make_tls_context(���s4�������i�i�m�m���(�(�*��!�n�n�4�4���� r���c����������������������|�j��������������������������}t��������j��������������������������|z���}t��������j������������������|�j������������������|�j ������������������f|�������5�}|j ������������������||�j��������������������������5�}|j������������������t��������j������������������j������������������|���������������|j���������������������������|j��������������������������}|�j������������������|�������cd�d�d���������cd�d�d���������S�#�1�sw�Y���nxY�w �d�d�d���������y�#�1�sw�Y���y�xY�w)N)�server_hostname)r����time�socket�create_connectionr���r ����wrap_socketr ���� settimeoutr���r���� _remaining�do_handshake�getpeercertr���)r����lifetimer���� expiration�s�tsr���s��� r ����ddr_tls_check_syncz_SVCBInfo.ddr_tls_check_sync.���s��������#�#�%���Y�Y�[�8�+� � � %� %� � #� #�T�Y�Y�/�� � �����D�M�M��B�b�� � �c�i�i�2�2�:�>�?����!��~�~�'���1�1�$�7� �C�B� �� ��C�B��B� �� �� �s%����C:�2AC$� C:�$C- �)C:�:DNc����������� ��������~��K����|�t���������j������������������j��������������������������}|�j��������������������������}t ��������j��������������������������|z���}|j������������������t���������j������������������j������������������|�j�������������������������t��������j������������������dd�|�j������������������|�j������������������f|||�j���������������������������d�{������4��d�{������}|j������������������t���������j������������������j������������������|����������������d�{������}|�j!������������������|�������cd�d�d���������d�{�������S�7��e7��^7��*7��#�1��d�{�����7��sw�Y���y�xY�w�w)Nr���)r����asyncbackend�get_default_backendr���r"����make_socket�inet�af_for_addressr���r#����SOCK_STREAMr ���r ���r)���r���r'���r���)r���r*����backendr���r+���r-���r���s��� r ����ddr_tls_check_asyncz_SVCBInfo.ddr_tls_check_async:���s���������?��&�&�:�:�<�G��#�#�%���Y�Y�[�8�+� � �,�,��H�H�#�#�D�$:�$:�;���� �� � #� #�T�Y�Y�/����M�M� �� �� �� ������� � �(<�(<�Z�(H�I�I�D��-�-�d�3� �� �� ��� ���J�� ��� �� �� �sl����B8D=�:D �;D=�D"�D=�2D(�9D$�:D(�D=�D&�D=�"D=�$D(�&D=�(D:�.D1�/D:�6D=r���)�__name__� __module__�__qualname__r���r���r���r.���r7�����r���r ���r���r������s������'��� 8�4r���r���c����������� �������t����|�j�������������������}t��������j������������������j������������������|�������sg�S�g�}|�j������������������j��������������������������D��][��}g�}|j������������������j������������������t��������j������������������j������������������j������������������j�������������������������}|��Pt��������|j�������������������������}|j������������������j������������������d��������}d�}|j������������������j������������������t��������j������������������j������������������j������������������j �������������������������}|�|j"������������������}d|v�r�|j������������������j������������������t��������j������������������j������������������j������������������j$�������������������������}|�|j&������������������j)������������������d�������s��B|j&������������������d�d�j+��������������������������} | j-������������������d�������sd| z���} |�d}d|��d |��| ���} �t/��������| ��������|j1������������������t��������j�������������������j3������������������| |���������������d |v�r4|�d}|j1������������������t��������j�������������������j7������������������|||���������������d|v�r5|�d}|j1������������������t��������j�������������������j9������������������||d|���������������t;��������|�������d kD��s��?|j1������������������t=��������||||�����������������^�|S�#�t4��������$�r�Y���w�xY�w)NT)�omit_final_dots���h2s���{?dns}i�����/i���zhttps://�:s���dotiU��s���doqr���)� nameserverr���r3���� is_address�rrset�processing_order�params�get�rdtypes�svcbbase�ParamKey�ALPN�set�ids�target�to_text�PORTr ����DOHPATHr����endswith�decode� startswithr����append� DoHNameserver� Exception� DoTNameserver� DoQNameserver�lenr���)�answerr����infos�rrr����param�alpns�hostr ����path�urls��� r ����_extract_nameservers_from_svcbra���M���sQ������)�)���8�8���0�1�� ��E��l�l�+�+�-����� � � � �c�k�k�2�2�;�;�@�@�A���=���E�I�I����y�y� � �� �5����� � � � �c�k�k�2�2�;�;�@�@�A�����:�:�D���E�>��I�I�M�M�#�+�+�"6�"6�"?�"?�"G�"G�H�E��}�E�K�K�$8�$8��$C���;�;�s��#�*�*�,�D��?�?�3�'��T�z���|����T�F�!�D�6�$��0�C� ��� ��"�"�3�>�>�#?�#?��EV�#W�X���U�?��|���������,�,�->��d�K� ���U�?��|���������,�,�->��d�D�Q� ���{��a���L�L��#4�d�D�+�N�O�W�.�X��L��#��� �� �s����:J+�+ J7�6J7c�����������������������g�}t��������|��������}|D�]/��} �|j������������������|�������r|j������������������|j���������������������������1�|S�#�t��������$�r�Y��?w�xY�w)�VReturn a list of TLS-validated resolver nameservers extracted from an SVCB answer.)ra���r.����extendr���rU����rY���r*���r���rZ����infos��� r ����_get_nameservers_syncrg�������sa��������K�*�6�2�E��� ��&�&�x�0��"�"�4�#3�#3�4����������� �� �s����,A� A�Ac�����������������������K����g�}t��������|��������}|D�]7��} �|j������������������|���������d{������r|j������������������|j���������������������������9�|S�7��##�t��������$�r�Y��Iw�xY�w�w)rc���N)ra���r7���rd���r���rU���re���s��� r ����_get_nameservers_asyncri�������sm�����������K�*�6�2�E��� ��-�-�h�7�7�7��"�"�4�#3�#3�4������� �8���� �� �s8����A�A�A�A� A�A� A�A�A�A)r#���r"����urllib.parser����dns.asyncbackendr����dns.inet�dns.name�dns.nameserver� dns.query�dns.rdtypes.svcbbaser���� from_text�_local_resolver_namer���ra���rg���ri���r;���r���r ����<module>rs������sU����� �����!���������������x�x�)�)�*>�?���04��04�f1�h�r���