Edit File: checkds.cpython-36.opt-1.pyc
3 8Pe&������������������@���sh���d�dl�Z�d�dlZd�dlZd�dlmZmZ�d�dlmZmZ�dZ G�dd��d�Z d dd�Zd d ��Zdd��Z dS�)�����N)�Popen�PIPE)�prefix�versionzdnssec-checkdsc���������������@���sP���e�Zd�Zddddd�ZdZdZdZdZdZdZ d Z dd d�Zdd ��Zdd��Z dS�)�SECRRzSHA-1zSHA-256ZGOSTzSHA-384)�������������������INNr���c�������������C���s���|st��t|�tk r$|jd�j��}n|j��}t|�dk�r<t��|r�d|�_|j��|�_|d�j��j d�jd�}|j ���|jd�}|j ���xDt|�dkr�t|�dkr�|d�|d�kr�|dd���}|dd���}q�W�|r�t��|j ���dj|�|�_|�jd�|�j�d�|�_ nd|�_|d�j��|�_ |dd���}|d�j��dk�rJ|d�j��|�_|dd���}n(t|d��|�_|d�j��|�_|dd���}|d�j��|�jk�r�t�d|d�j��|�jf���tt|dd ���\|�_|�_|�_dj|d d����j��|�_d�S�)N�ascii�����DLVr����.r����DSr����CH�HSr���z%s does not match %sr ���r���)r���r���r���)� Exception�type�str�decode�split�len�rrtype�lower�dlvname�strip�reverse�join�parent�rrname�upper�rrclass�int�ttl�map�keyid�keyalg�hashalg�digest)�selfZrrtextr���Zfieldsr ����dlv��r-����/usr/lib/python3.6/checkds.py�__init__$���sH���� *zSECRR.__init__c�������������C���s$���d|�j�|�j|�j|�j|�j|�j|�jf�S�)Nz%s %s %s %d %d %d %s)r!���r#���r���r'���r(���r)���r*���)r+���r-���r-���r.����__repr__S���s����zSECRR.__repr__c�������������C���s���|�j���|j���kS�)N)r0���)r+����otherr-���r-���r.����__eq__X���s����zSECRR.__eq__)N)�__name__� __module__�__qualname__�hashalgsr!���r#���r'���r(���r)���r*���r%���r/���r0���r2���r-���r-���r-���r.���r������s��� /r���c������� ��� ���C���s&��g�}|j�ddd|rdndd|r*|�d�|�n|�g}t|td�j��\}}x6|j��D�]*}t|�tk rh|jd �}|jt ||���qNW�t |d d��d�}g�} |r�|jd |g}|r�|d|g7�}|j|���t|td�j��\}}ndt|j�ddddd|�gtd�j��\} }|jd dg}|�r|d|g7�}|j|���t|ttd�j| �\}}x:|j��D�].}t|�tk �rZ|jd �}| jt ||����q>W�t| �dk��r�t d��dS�d}xv| D�]n}||k�r�t d|j|jjd�|j|jt j|j�f���d}n,t d|j|jjd�|j|jt j|j�f����q�W�|�s"t d|�rdnd���|S�)Nz+noallz+answerz-tr,���Zdsz-qr���)�stdoutr ���c�������������S���s���|�j�|�j|�jfS�)N)r'���r(���r)���)�rrr-���r-���r.����<lambda>m���s����zcheck.<locals>.<lambda>)�keyz-fz-lZdnskey�-)�stdinr7���r���z$No DNSKEY records found in zone apexFz,%s for KSK %s/%03d/%05d (%s) found in parentTz0%s for KSK %s/%03d/%05d (%s) missing from parentz'No %s records were found for any DNSKEYr���r���)�digr���r���Zcommunicate� splitlinesr���r���r����appendr����sorted� dsfromkeyr����printr���r!���r���r(���r'���r6���r)���) �zone�args� masterfile� lookasideZrrlist�cmd�fp�_�lineZklistZintods�foundr8���r-���r-���r.����checkc���sV���� rL���c��������������C���s����t�jtd�d�}�d}tjdkr"dnd}|�jdtdd��|�jd d dtdd ��|�jdddtdd ��|�jdddtjjt |�d�tdd��|�jdddtjjt |�d�tdd��|�jdddt d��|�j��}|jj d �|_|jr�|jj d �|_|S�)!Nz: checks DS coverage)�description�bin�ntZsbinrC���z zone to check)r����helpz-fz--filerE���zzone master file)�destr���rP���z-lz--lookasiderF���zDLV lookaside zonez-dz--digr=���z path to 'dig')rQ����defaultr���rP���z-Dz--dsfromkeyrA���zdnssec-dsfromkeyzpath to 'dnssec-dsfromkey'z-vz --versionr���)�actionr���r���)�argparse�ArgumentParser�prog�os�name�add_argumentr����pathr���r���r���� parse_argsrC���r���rF���)�parserZbindirZsbindirrD���r-���r-���r.���r[�������s,���� r[���c��������������C���s.���t���}�t|�j|�|�j|�j�}t|r$dnd��d�S�)Nr���r���)r[���rL���rC���rE���rF����exit)rD���rK���r-���r-���r.����main����s����r^���)NN)rT���rW����sys� subprocessr���r���Z isc.utilsr���r���rV���r���rL���r[���r^���r-���r-���r-���r.����<module>���s���I ;