OwlCyberSecurity - MANAGER
Edit File: validate.cpython-311.pyc
� ����wo4h�����������������������������d�dl�mZ�d�dlmZmZmZmZmZmZm Z m Z mZ�d�dlm Z mZmZ�e d���������Z�G�d��dee������������Z�G�d��dee������������Zd ��Zdd�Z�G�d��d ������������ZdS�)�����)�Enum) � IPV4LENGTH� IPV6LENGTH�AddressValueError�IPv4Address�IPv4Network�IPv6Address�IPv6Network� ip_address� ip_network)�Literal�Optional�Union)�ipv4�ipv6c�������������������������e�Zd�ZdZdZd��ZdS�)�LocalhostIPz 127.0.0.1z::1c�����������������������|�j���������S��N)�value��selfs��� �S/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/utils/validate.py�__str__zLocalhostIP.__str__���s �������z������N)�__name__� __module__�__qualname__r���r���r�����r���r���r���r������s-���������������D��D���������r���r���c��������������������X�����e�Zd�ZdZdZdZd��Zedee ���������ded����������fd���������������Z dS�) �NumericIPVersionz=Example: (IPListRecord.version==NumericIPVersion[ip_version])��������c������������������*�����t����������|�j��������������������S�r���)�strr���r���s��� r���r���zNumericIPVersion.__str__ ���s�������4�:���r���� ip_version�returnc������������������F�����|�d�S�|t�����������j��������k����r|�j��������n|�j��������S�r���)�IP�V4r���r���)�clsr&���s��� r����from_ip_versionz NumericIPVersion.from_ip_version#���s)����������4�%���.�.�s�x�x�C�H�<r���N)r���r���r����__doc__r���r���r����classmethodr���� IPVersionr,���r���r���r���r!���r!������sn��������������G�G��D��D��������=�!�)�,�=� �$� %�=��=��=���[�=��=��=r���r!���c������������������6�����t��������������������������������|�������������S�r���)r)����is_valid_ipv4_addr)�addrs��� r���r1���r1���-���s������ � � ��&�&�&r���Fc������������������8�����t��������������������������������|�|������������S�r���)r)����is_valid_ipv4_network)r2����stricts��� r���r4���r4���1���s������ �#�#�D�&�1�1�1r���c�������������������������e�Zd�ZU�dZeed<���dZeed<���ed����������������Zed����������������Z ed����������������Z ed����������������Zed ����������������Ze �dde eeef���������fd���������������Ze �dde eeef���������fd ���������������Zed����������������Zedd���������������Zede eeeeef���������de eef���������fd���������������Zede eef���������defd���������������Zede eeef���������de eef���������fd���������������ZdS�)r)���r���r*���r����V6c������������������R������t�����������fd�|�j��������|�j��������fD���������������������������S�)Nc��������������3����$����K����|�] }�|k����V����d�S�r���r���)�.0�ver�versions��� �r���� <genexpr>z"IP.check_ip_ver.<locals>.<genexpr>;���s'�����������>�>�c�7�c�>�>�>�>�>�>�>r���)�anyr*���r7���)r+���r<���s��� `r����check_ip_verzIP.check_ip_ver9���s/��������>�>�>�>�c�f�c�f�-=�>�>�>�>�>�>r���c������������������J����� �t����������|�������������n#�t����������$�r�Y�dS�w�xY�wdS��NFT)r���� ValueError�r+���r2���s��� r����is_valid_ipzIP.is_valid_ip=���s?������ ��t�������� �� �� ��5�5� �����t������� � c������������������6������|�j���������|i�|��p�|�j��������|i�|��S�r���)r4����is_valid_ipv6_network)r+����args�kwargss��� r����is_valid_ip_networkzIP.is_valid_ip_networkE���s>������(�s�(� � �� �� ��8� &�S� &�� 7�� 7� 7� 8r���c������������������J����� �t����������|�������������n#�t����������$�r�Y�dS�w�xY�wdS�rA���)r���r���rC���s��� r���r1���zIP.is_valid_ipv4_addrK����?������ �������� �� �� �� ��5�5� �����trE���c������������������J����� �t����������|�������������n#�t����������$�r�Y�dS�w�xY�wdS�rA���)r ���r���rC���s��� r����is_valid_ipv6_addrzIP.is_valid_ipv6_addrS���rL���rE���Fr2���c������������������n����� �t����������|������������}n#�t����������$�r�Y�dS�w�xY�w|r|j��������t����������k����S�dS�rA���)r���rB���� prefixlenr����r+���r2���r5����ips��� r���r4���zIP.is_valid_ipv4_network[����T������ ��T�"�"�B�B���� �� �� ��5�5� ������� .��<�:�-�-��trE���c������������������n����� �t����������|������������}n#�t����������$�r�Y�dS�w�xY�w|r|j��������t����������k����S�dS�rA���)r ���rB���rP���r���rQ���s��� r���rG���zIP.is_valid_ipv6_networki���rS���rE���c�����������������������|�����������������������|������������rt����������j��������S�|����������������������|������������rt����������j��������S�t����������d�������������)NzInvalid ip address)r4���r)���r*���rG���r7���rB���rC���s��� r����type_ofz IP.type_ofw���sK�������$�$�T�*�*�� ��5�L� � &� &�t� ,� ,�� ��5�L��-�.�.�.r����/64c������������������H�����t����������||z���d�������������}t����������|������������S�)z�Conver ipv6 addr to ipv6 network with mask :param str ip: ip for converting :param str mask: ip network mask F)r5���)r ���r%���)r+���rR����mask�networks��� r����convert_to_ipv6_networkzIP.convert_to_ipv6_network����s&��������b�4�i��6�6�6���7�|�|�r����ip_argr'���c����������������������t����������|�t����������t����������f������������r|�S�t����������|�t����������t����������f������������r7|�j��������dk����rt����������nt����������}t����������t����������|�������������|f������������S�t����������|�������������S�)zt Eliminate str from the Union :raise ValueError: if cannot convert ip_arg str to ip network r"���) � isinstancer���r ���r���r ���r<���r���r���r����int)r\���rP���s��� r����adopt_to_ipvX_networkzIP.adopt_to_ipvX_network����ss��������f�{�K�8�9�9�� 8��M� ���k� :� ;� ;�� 8�&,�n��&9�&9� � �z�I��s�6�{�{�I�6�7�7�7��&�!�!�!r����netc������������������p�����t����������|j��������������������st����������|j��������������������S�t����������|������������S�)zz IPv4Network('192.168.1.1/32') -> '192.168.1.1' IPv4Network('192.168.1.0/24') -> '192.168.1.0/24' )r_����hostmaskr%����network_address)r+���ra���s��� r����ip_net_to_stringzIP.ip_net_to_string����s2��������3�<� � �� ,��s�*�+�+�+��3�x�x�r���rR���c�����������������������t����������|t����������������������r/t����������|����������������������t ����������|������������������������������������S�|S�r���)r^���r ���r ���r[���r%���)r+���rR���s��� r����ipv6_to_64networkzIP.ipv6_to_64network����s>��������b�+�&�&�� E��s�:�:�3�r�7�7�C�C�D�D�D�� r���N�F)rW���)r���r���r���r*���r/����__annotations__r7���r.���r?���rD���rJ���r1���rN���r���r%���r���r ���r4���rG���rV���r[����staticmethodr���r ���r`���re���rg���r���r���r���r)���r)���5���s6����������������B� �����B� �����?��?���[�?��������[����8��8���[�8� �������[���������[����@E������k�;�6�7��������[����@E������k�;�6�7��������[����/��/���[�/����������[���� "��c�;��[�+�M�N� "� �{�K�'� (� "�� "�� "���\� "����5��k�)A�#B���s���������[������{�K��4�5�� �{�K�'� (��������[�����r���r)���Nrh���)�enumr���� ipaddressr���r���r���r���r���r ���r ���r���r����typingr ���r���r���r/���r%���r���r_���r!���r1���r4���r)���r���r���r����<module>rn������sf���������������� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��,��+��+��+��+��+��+��+��+��+��N�#� ����������#�t�������=��=��=��=��=�s�D��=��=��=�&'��'��'�2��2��2��2�u��u��u��u��u��u��u��u��u��ur���