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@sddlmZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z dZ ddl mZmZmZmZmZmZdZddZdZd ZdS( i(tprint_functionN(t defaultdicts dnssec-keymgr(tdnskeytkeydictt keyseriestpolicytparsetabtutilscOst||tjddS(Ni(tprinttsystexit(targstkwargs((s./usr/lib/python2.7/site-packages/isc/keymgr.pytfatals cCs|}| s6tjj| s6tj|tj rtjd}|sXtjj}nx_|jtjD]H}|tj |}tjj|rtj|tjrPnd}qkWn|S(s2 find the location of a specified command. If a default is supplied, exists and it's an executable, we use it; otherwise we search PATH for an alternative. :param command: command to look for :param default: default value to use :return: PATH with the location of a suitable binary tPATHN( tostpathtisfiletaccesstX_OKtenvirontdefpathtsplittpathseptseptNone(tcommandtdefaulttfpathRt directory((s./usr/lib/python2.7/site-packages/isc/keymgr.pytset_paths0 ' c Cstdtjjtjdd}tdtjjtjdd}tjdtd}|j ddt dd d d:d d d |j ddddt d ddd|j ddddt d ddd|j dddd |dt d ddd|j ddddt d d:d ddd|j dddd |dt d d dd|j d!dd"d#d$d t d d%|j d&dd'd#d$d t d d(|j d)d*dd+d#d$d t d d,d-|j d.d/dd0d#d$d t d d1|j d2d3d#d4d4tj |j}|jr@|jr@td5n|jd:kr\td6n|jd:krxtd7n|jd:k rtjj|jstd8|jqn<tjjtjd9|_tjj|jsd:|_n|S(;sc Read command line arguments, returns 'args' object :return: args object properly prepared s dnssec-keygentsbinsdnssec-settimet descriptionsA: schedule DNSSEC key rollovers according to a pre-defined policytzonettypetnargst*Rthelps.Zone(s) to which the policy should be applied s%(default: all zones in the directory)s-KtdestRsDirectory containing keystmetavartdirs-ct policyfilesPolicy definition filetfiles-gtkeygensPath to 'dnssec-keygen's-rt randomdevs@Path to a file containing random data to pass to 'dnssec-keygen's-stsettimesPath to 'dnssec-settime's-ktno_zsktactiont store_trues,Only apply policy to key-signing keys (KSKs)s-ztno_ksks-Only apply policy to zone-signing keys (ZSKs)s-fs--forcetforcesForce updates to key events seven if they are in the pasts-qs--quiettquietsUpdate keys silentlys-vs --versiontversions)ERROR: -z and -k cannot be used together.sERROR: dnssec-keygen not foundsERROR: dnssec-settime not founds!ERROR: Policy file "%s" not foundsdnssec-policy.confN(RRRtjoinRtprefixtargparsetArgumentParsertprogt add_argumenttstrRtFalseR4t parse_argsR.R1R R+R-R)texistst sysconfdir(R+R-tparserR ((s./usr/lib/python2.7/site-packages/isc/keymgr.pyR=6sb!!             c Csft}i|jd6|jd6|jd6|jd6}ytj|j}Wn'tk rv}t dt |nXy"t |d|jd|j }Wn'tk r}t dt |nXyt |d |}Wn'tk r}t d t |nXy5|j|d |jd |jd |jd|jWn'tk ra}t dt |nXdS(Nt keygen_patht settime_patht keys_pathR,sUnable to load DNSSEC policy: Rtzoness Unable to build key dictionary: tcontextsUnable to build key series: tksktzskR2R3sUnable to apply policy: (R=R+R-RR,Rt dnssec_policyR)t ExceptionR R;RR!Rtenforce_policyR.R1R2R3(R REtdptetkdtks((s./usr/lib/python2.7/site-packages/isc/keymgr.pytmain}s,     "(t __future__RRR R7tglobtrettimetcalendartpprintt collectionsRR9tiscRRRRRRR RRR=RO(((s./usr/lib/python2.7/site-packages/isc/keymgr.pyt s`.   G