Viewing File: /usr/lib/python2.7/site-packages/isc/coverage.pyc

ó
#u|jc@sddlmZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZdZddl
mZmZmZmZmZmZd„Zead„Zd„Zd	„Zdd
„Zd„Zd„ZdS(
iÿÿÿÿ(tprint_functionN(tdefaultdictsdnssec-coverage(tdnskeyt	eventlisttkeydicttkeyeventtkeyzonetutilscOst||ŽtjdƒdS(Ni(tprinttsystexit(targstkwargs((s0/usr/lib/python2.7/site-packages/isc/coverage.pytfatals
cOskd|kr)|d}|jddƒnt}tr>tan|rQtdƒn|rgt||ŽndS(suoutput text, adding a vertical space this is *not* the first
    first section being printed since a call to vreset()tskiptN(tpoptNonetTruet
_firstlinetFalseR(RRR((s0/usr/lib/python2.7/site-packages/isc/coverage.pytoutput's
	
cCs
tadS(sreset vertical spacingN(RR(((s0/usr/lib/python2.7/site-packages/isc/coverage.pytvreset8scCs@|jƒ}yt|ƒSWntk
r-nXtjdƒ}|j|ƒ}|setd|ƒ‚n|jƒ\}}t|ƒ}|jƒ}|jdƒr¦|dS|jdƒr½|dS|jdƒrÔ|dS|jd	ƒrë|d
S|jdƒr|dS|jd
ƒr|dS|jdƒr,|Std|ƒ‚dS(sÌ convert a formatted time (e.g., 1y, 6mo, 15mi, etc) into seconds
    :param s: String with some text representing a time interval
    :return: Integer with the number of seconds in the time interval
    s([0-9][0-9]*)\s*([A-Za-z]*)sCannot parse %styi€3átmoi'twi€:	tdi€Qthitmii<tssInvalid suffix %sN(	tstriptintt
ValueErrortretcompiletmatchtgroupstlowert
startswith(Rtrtmtntunit((s0/usr/lib/python2.7/site-packages/isc/coverage.pyt
parse_timeAs6
cCsÂ|}|s6tjj|ƒs6tj|tjƒr¾tjd}|sXtjj}nxc|jtjƒD]L}tjj	||ƒ}tjj|ƒr±tj|tjƒr±Pnd}qkWn|S(s1 find the location of a specified command.  if a default is supplied
    and it works, we use it; otherwise we search PATH for a match.
    :param command: string with a command to look for in the path
    :param default: default location to use
    :return: detected location for the desired command
    tPATHN(tostpathtisfiletaccesstX_OKtenvirontdefpathtsplittpathseptjoinR(tcommandtdefaulttfpathR.t	directory((s0/usr/lib/python2.7/site-packages/isc/coverage.pytset_pathks0
'
c	Cs‚tdtjjtjdƒdƒƒ}tjdtddƒ}|j	ddt
dd	d
dCddd
ƒ|j	dddd
ddt
ddddƒ|j	ddddt
ddddƒ|j	ddddt
ddddƒ|j	ddddt
ddddƒ|j	d dd!d
d"dt
dd#ddƒ|j	d$dd%d
|dt
dd&ddƒ|j	d'dd(dt
d
d)dd*ddƒ|j	d+dd,d-d.d
tdd/ƒ|j	d0dd1d-d.d
tdd2ƒ|j	d3d4dd5d-d.d
tdd6ƒ|j	d7d8d-d9d9tj
ƒ|jƒ}|jrA|jrAtd:ƒn6|jsS|jrn|jrbd;nd<|_n	dC|_|jr¢t|jƒd=kr¢td>ƒny(|jrÉt|jƒ}||_nWntk
rÝnXy(|jrt|jƒ}||_nWntk
rnXy(|jrAt|jƒ}||_nWntk
rUnXyS|jr¨|j}t|jƒ}|d?kr’dC|_q¨tjƒ||_nWntk
r¼nX|jrÓ|jrÓ|S|jr_|jr_yMt|jd?|j|jƒ}|jp|j|_|jp+|j|_Wq_tk
r[}t d@|j|ƒq_Xn|js~t!dAƒdB|_n|S(Ds8Read command line arguments, set global 'args' structuresnamed-compilezonetsbintdescriptions: checks future sDNSKEY coverage for a zonetzonettypetnargst*R8thelpszone(s) to checks%(default: all zones in the directory)s-KtdestR.t.s&a directory containing keys to processtmetavartdirs-ftfilenameszone master filetfiles-mtmaxttlsthe longest TTL in the zone(s)ttimes-dtkeyttlsthe DNSKEY TTLs-rtresignt1944000s:the RRSIG refresh interval in seconds [default: 22.5 days]s-ctcompilezonespath to 'named-compilezone's-lt
checklimitt0sDLength of time to check for DNSSEC coverage [default: 0 (unlimited)]s-ztno_ksktactiont
store_trues#Only check zone-signing keys (ZSKs)s-ktno_zsks"Only check key-signing keys (KSKs)s-Ds--debugt
debug_modesTurn on debugging outputs-vs	--versiontversions)ERROR: -z and -k cannot be used together.tKSKtZSKis)ERROR: -f can only be used with one zone.is"Unable to load zone data from %s: s‰WARNING: Maximum TTL value was not specified.  Using 1 week
	 (604800 seconds); re-run with the -m option to get more
	 accurate results.i€:	N("R;R-R.R6RtprefixtargparsetArgumentParsertprogtadd_argumenttstrRRRVt
parse_argsRTRQR
tkeytypeRGtlenR>RIR+R RKRLRORJRRNt	ExceptionRR(	RNtparserRR(tkR'tlimR>te((s0/usr/lib/python2.7/site-packages/isc/coverage.pyR_„s°




	
	
	
	
		
	
cCs®tƒ}tdƒy(td|jd|jd|jƒ}Wn'tk
rd}tdt|ƒƒnXxN|D]F}|j	t
ƒ|jr˜|jt
ƒql|jt
|j
|jƒqlWt
dƒtƒyt|ƒ}Wn'tk
r}tdt|ƒƒnXt}|js:|jd|j|jt
ƒs‘t}q‘nWxT|jD]I}y+|j||j|jt
ƒstt}nWqDt
d|ƒqDXqDWtj|r£d	nd
ƒdS(Ns;PHASE 1--Loading keys to check for internal timing problemsR.R>RKs'ERROR: Unable to build key dictionary: s9PHASE 2--Scanning future key events for coverage failuress#ERROR: Unable to build event list: s&ERROR: Coverage check failed for zone ii(R_RRR.R>RKRbR
R^tcheck_prepubRtsept
check_postpubRIRLRRRtcoverageRR`RORR	R
(RtkdRftkeytelistterrorsR>((s0/usr/lib/python2.7/site-packages/isc/coverage.pytmainøs:	
(

	
	
(t
__future__RR-R	RZtglobR!RJtcalendartpprinttcollectionsRR\tiscRRRRRRR
RRRRR+RR;R_Ro(((s0/usr/lib/python2.7/site-packages/isc/coverage.pyt<module>s&.					*	t
Back to Directory File Manager