File: //lib/python3.6/site-packages/isc/__pycache__/checkds.cpython-36.pyc
3
Pi& @ sh d dl Z d dlZd dlZd dlmZmZ d dlmZmZ dZ G dd dZ
d
ddZd d
Zdd Z
dS ) N)PopenPIPE)prefixversionzdnssec-checkdsc @ sP e Zd ZdddddZdZdZdZdZdZdZ d Z
dd
dZdd
Zdd Z
dS )SECRRzSHA-1zSHA-256ZGOSTzSHA-384) INNr c C s |st t|tk r$|jdj }n|j }t|dk r<t |rd| _|j | _|d j j djd}|j
|jd}|j
xDt|dkrt|dkr|d |d kr|dd }|dd }qW |rt |j
dj|| _| jd | j d | _
nd| _|d j | _
|dd }|d j dkrJ|d j | _|dd }n(t|d | _|d j | _|dd }|d j | jkrt d|d j | jf tt|dd
\| _| _| _dj|d
d j | _d S )Nascii DLVr .r DSr CHHSr z%s does not match %sr
r )r r r ) Exceptiontypestrdecodesplitlenrrtypelowerdlvnamestripreversejoinparentrrnameupperrrclassintttlmapkeyidkeyalghashalgdigest)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|tdj \}}x6|j D ]*}t|tk rh|jd }|jt || qNW t
|d
d d}g } |r|jd
|g}|r|d|g7 }|j| t|tdj \}}ndt|j ddddd| gtdj \}
}|jd
dg}|r|d|g7 }|j| t|ttdj|
\}}x:|j D ].}t|tk rZ|jd }| jt || q>W t| dk rt
d dS d}xv| D ]n}||krt
d|j|jjd|j|jt j|j f d}n,t
d|j|jjd|j|jt j|j f qW |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) )
zoneargs
masterfile lookasideZrrlistcmdfp_lineZklistZintodsfoundr8 r- r- r. checkc sV
rL c C s t jtd d} d}tjdkr"dnd}| jdtdd | jd d
dtdd
| jdddtdd
| jdddtjjt |dtdd | jdddtjjt |dtdd | jdddt
d | j }|jj
d |_|jr|jj
d |_|S )!Nz: checks DS coverage)descriptionbinntZsbinrC 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 )argparseArgumentParserprogosnameadd_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
;