File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/dns.cpython-310.pyc
o
�N�g�� � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlZddl
ZddlZddlZddlZddlZddlmZ ddlmZ zddlZdZW n eye dZY nw zddlZdZW n eyy dZY nw ejj�d�duZ dZ!ejj�d �duZ"ejj�d
�duZ#ejj�d�duZ$dej%j&j'iZ(e�)e*�Z+G d
d� d�Z,dd� Z-dXdd�Z.dd� Z/dd� Z0dd� Z1dd� Z2dd� Z3dd� Z4dYdd �Z5dYd!d"�Z6dZd#d$�Z7d[d%d&�Z8dYd'd(�Z9d[d)d*�Z: d\d+d,�Z; d\d-d.�Z<d]d/d
�Z=d0d1� Z>d2d3� Z?d4d5� Z@d^d7d8�ZAd9d:� ZBd;d<� ZCd=d>� ZDd?d@� ZEd_dAdB�ZFd`dDdE�ZGdFdG� ZHdHdI� ZIdJdK� ZJdLdM� ZKdNdO� ZLdadPdQ�ZMdbdSdT�ZNdcdVdW�ZOdS )dz�
Compendium of generic DNS utilities
# Examples:
dns.lookup(name, rdtype, ...)
dns.query(name, rdtype, ...)
dns.srv_rec(data)
dns.srv_data('my1.example.com', 389, prio=10, weight=100)
dns.srv_name('ldap/tcp', 'example.com')
� N)� ipaddress)�OrderedDictTF�digz)+search +fail +noall +answer +nocl +nottl�drill�host�nslookup�cmd.run_allc @ sN e Zd ZdZdZed�Zed�Zed�Zed�Z ed�Z
dZedd
d��Z
d S )
�RFCzL
Simple holding class for all RFC/IANA registered lists & standards
)�issue� issuewildZiodef))� �rsa)� Zdsa)� Zecdsa)� Zed25519))r �sha1)r �sha256))r Zpkixta)r Zpkixee)r Zdaneta)r Zdaneee))r �cert)r Zspki))r �full)r r )r �sha512)�tcpZudpZsctpNc sD � |v r� S |dkr� fdd�|� � D �d S dd� |� � D �� S )N�inc s g | ]
\}}� |v r|�qS � r ��.0�code�name��lookupr �B/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/dns.py�
<listcomp>r s z RFC.validate.<locals>.<listcomp>���c S s i | ]\}}||�qS r r r r r r �
<dictcomp>u � z RFC.validate.<locals>.<dictcomp>)�items)r �ref�matchr r r �validatem s
zRFC.validate�N)�__name__�
__module__�__qualname__�__doc__�CAA_TAGSr �
SSHFP_ALGO�
SSHFP_HASH�
TLSA_USAGE�TLSA_SELECT�
TLSA_MATCHING� SRV_PROTO�staticmethodr'