PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  jbc@sddlZddlZddlZddlmZmZddlmZmZdZ dd dYZ dddZ dZ d ZdS( iN(tPopentPIPE(tprefixtversionsdnssec-checkdstSECRRcBsreZidd6dd6dd6dd6ZdZd ZdZdZdZdZ d Z dd Z d Z d Z RS(sSHA-1isSHA-256itGOSTisSHA-384ittINicCsQ|stn|jdj}t|dkr?tn|r>d|_|j|_|djjdjd}|j|jd}|jxPt|dkrt|dkr|d|dkr|d}|d}qW|rtn|jdj ||_ |j d|jd|_ nd|_|dj|_ |d}|dj dkr|dj |_ |d}n0t|d|_|dj |_ |d }|dj |jkr td |dj |jfntt|dd !\|_|_|_dj |d j |_dS(NtasciiitDLVit.itDSRtCHtHSis%s does not match %siR(sINR R (t Exceptiontdecodetsplittlentrrtypetlowertdlvnametstriptreversetjointparenttrrnametuppertrrclasstinttttltmaptkeyidtkeyalgthashalgtdigest(tselftrrtextRtfieldsRtdlv((s//usr/lib/python2.7/site-packages/isc/checkds.pyt__init__$sD   "  ;        (cCs2d|j|j|j|j|j|j|jfS(Ns%s %s %s %d %d %d %s(RRRRR R!R"(R#((s//usr/lib/python2.7/site-packages/isc/checkds.pyt__repr__OscCs|j|jkS(N(R((R#tother((s//usr/lib/python2.7/site-packages/isc/checkds.pyt__eq__TsN(t__name__t __module__thashalgsRRtNoneRR R!R"RR'R(R*(((s//usr/lib/python2.7/site-packages/isc/checkds.pyRs" + c Csg}|jddd|r!dndd|r;|d|n|g}t|dtj\}}x*|jD]}|jt||qoWt|d d }g} |r |jd |g}|r|d |g7}n|j|t|dtj\}}nt|jdddd d|gdtj\} }|jd dg}|rj|d |g7}n|j|t|dtdtj| \}}x*|jD]}| jt||qWt | dkrdGHt St } x| D]} | |krEd| j | j j d| j| jtj| jfGHt} qd| j | j j d| j| jtj| jfGHqW| sd|rdndGHn| S(Ns+noalls+answers-tR&tdss-qR tstdouttkeycSs|j|j|jfS(N(RR R!(trr((s//usr/lib/python2.7/site-packages/isc/checkds.pytgss-fs-ltdnskeyt-tstdinis$No DNSKEY records found in zone apexs,%s for KSK %s/%03d/%05d (%s) found in parents0%s for KSK %s/%03d/%05d (%s) missing from parents'No %s records were found for any DNSKEYR R (tdigRRt communicatet splitlinestappendRtsortedt dsfromkeyRtFalseRRRR RR-R!tTrue( tzonetargst masterfilet lookasidetrrlisttcmdtfpt_tlinetklisttintodstfoundR2((s//usr/lib/python2.7/site-packages/isc/checkds.pytcheck_sN  !! '   c Csptjdtd}d}tjdkr1dnd}|jddtdd |jd d d d dtdd|jddd ddtdd|jddd ddtjjt |ddtdd|jddd ddtjjt |ddtdd|jdddddt |j }|j j d |_ |jrl|jj d |_n|S(!Nt descriptions: checks DS coveragetbintnttsbinR?ttypethelps zone to checks-fs--filetdestRAszone master files-ls --lookasideRBsDLV lookaside zones-ds--digR7tdefaults path to 'dig's-Ds --dsfromkeyR<sdnssec-dsfromkeys-vs --versiontactionRR (targparsetArgumentParsertprogtostnamet add_argumenttstrtpathRRRt parse_argsR?RRB(tparsertbindirtsbindirR@((s//usr/lib/python2.7/site-packages/isc/checkds.pyR]s,     cCsAt}t|j||j|j}t|r6dnddS(Nii(R]RKR?RARBtexit(R@RJ((s//usr/lib/python2.7/site-packages/isc/checkds.pytmains ((RURXtsyst subprocessRRt isc.utilsRRRWRR.RKR]Rb(((s//usr/lib/python2.7/site-packages/isc/checkds.pyt s   E7