MOON
Server: Apache/2.2.34 (Unix) mod_ssl/2.2.34 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 FrontPage/5.0.2.2635
System: Linux server.asjudinet.com 2.6.32-042stab141.3 #1 SMP Fri Nov 15 22:45:34 MSK 2019 i686
User: asjudine (504)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //usr/local/ssl/lib/python2.4/site-packages/dns/dnssec.pyc
mò
ß Rc@sdZdkZdkZdkZdkZdkZdkZdkZdk	Zdk
ZdkZdkZdei
ifd„ƒYZdei
ifd„ƒYZdZdZdZd	Zd
ZdZdZd
ZdZdZdZdZhde<de<de<de<de<de<de<de<de<de<de<de<ZegZei ƒD]\Z!Z"ee"e!fqo[ƒZ#d„Z$d„Z%d „Z&dd!„Z(dd"„Z)d#„Z*d$„Z+d%„Z,d&„Z-d'„Z.d(„Z/d)„Z0d*„Z1d+„Z2ddd,„Z3ddd-„Z4d.„Z5y+dk6Z7dk8Z7dk9Z7e4Z:e3Z;Wne<j
oe5Z:e5Z;nXdS(/s.Common DNSSEC-related functions and constants.NtUnsupportedAlgorithmcBstZdZRS(s(Raised if an algorithm is not supported.(t__name__t
__module__t__doc__(((t./usr/lib/python2.4/site-packages/dns/dnssec.pyRstValidationFailurecBstZdZRS(s The DNSSEC signature is invalid.(RRR(((RR#siiiiiiiii
iüiýiþtRSAMD5tDHtDSAtECCtRSASHA1tDSANSEC3SHA1tRSASHA1NSEC3SHA1t	RSASHA256t	RSASHA512tINDIRECTt
PRIVATEDNSt
PRIVATEOIDcCs6ti|iƒƒ}|djot|ƒ}n|S(s:Convert text into a DNSSEC algorithm value
    @rtype: intN(t_algorithm_by_texttgetttexttuppertvaluetNonetint(RR((Rtalgorithm_from_textIs

cCs0ti|ƒ}|djot|ƒ}n|S(s;Convert a DNSSEC algorithm value to text
    @rtype: stringN(t_algorithm_by_valueRRRRtstr(RR((Rtalgorithm_to_textRs

cCs)tiƒ}|i|d|ƒ|iƒS(Ntorigin(t	cStringIOtStringIOtstrecordtto_wireRtgetvalue(R!RR ((Rt	_to_rdata[scCs÷t||ƒ}|itjo$t|dƒd>t|dƒSn±d}xPtt	|ƒdƒD]8}|t|d|ƒd>t|d|dƒ7}q`Wt	|ƒddjo&|t|t	|ƒdƒd>7}n||d?d@7}|d@SdS(	Niýÿÿÿiiþÿÿÿiiiiiÿÿ(R$tkeyRtrdatat	algorithmRtordttotaltrangetlenti(R%RR,R&R)((Rtkey_id`s$6&cCs.|iƒdjod}tiidƒƒ}n@|iƒdjod}tiidƒƒ}ntd|‚t|t	t
fƒotii||ƒ}n|i
|iƒiƒƒ|i
t||ƒƒ|iƒ}tidt|ƒ|i|ƒ|}tiitiitii|dt|ƒƒS(NtSHA1itSHA256isunsupported algorithm "%s"s!HBBi(R'RtdsalgtdnsthashRRt
isinstancetnameRtunicodet	from_textRtupdatetcanonicalizeR"R$R%tdigesttstructtpackR-tdsrdataR&t	from_wiret
rdataclasstINt	rdatatypetDSR+(R4R%R'RR2R<R0R9((Rtmake_dsms
%!cCsØg}|i|iƒ}|djodSnt|ti	i
ƒo@y"|itii
tiiƒ}Wq‰tj
odSq‰Xn|}xH|D]@}|i|ijo't|ƒ|ijo|i|ƒqqW|S(N(tcandidate_keystkeysRtrrsigtsignerRRR3R1tnodetNodet
find_rdatasetR>R?R@tDNSKEYtrdatasettKeyErrorR&R'R-tkey_tagtappend(RDRERKRRCR&((Rt_find_candidate_keyss 

)cCs|tttttfjS(N(R'RR
RR
R(R'((Rt_is_rsa”scCs|ttfjS(N(R'RR(R'((Rt_is_dsa™scCs
|tjS(N(R'R(R'((Rt_is_md5œscCs|ttttfjS(N(R'RR
RR(R'((Rt_is_sha1ŸscCs
|tjS(N(R'R
(R'((Rt
_is_sha256£scCs
|tjS(N(R'R(R'((Rt
_is_sha512¦scCs¡t|ƒotiidƒƒSnt|ƒotiidƒƒSnt|ƒotiidƒƒSnt|ƒotiidƒƒSntd|‚dS(NtMD5R.R/tSHA512sunknown hash for algorithm %u(	RRR'R1R2RRSRTRUR(R'((Rt
_make_hash©s



c	Cs?t|ƒo"ddddddddg}n˜t|ƒodd	d
ddg}nrt|ƒo%dddd
dd
ddd
g	}n@t|ƒo%dddd
dd
ddd
g	}ntd|‚t|ƒ}t	|ƒi
}dgd||gd|dgd|g|ddgd|g}di
tt|ƒƒS(Ni*i†iHi÷i
iii+iiii`iieisunknown algorithm %ui0iiit(RRR'toidRSRTRURR+tolenRXtdigest_sizetdlentidbytestjointmaptchr(R'R]RZR^R[((Rt_make_algorithm_id´s
"

%
%
Hc!Cs?t|ttfƒotii|tiiƒ}nxút||ƒD]é}|p
td‚nt|tƒo|d}|d}n|i}|}|djotiƒ}n|i|jo
td‚n|i|jo
td‚nt|iƒ}t|iƒoå|i}tid|dd!ƒ\}|d}|djo*tid|dd!ƒ\}|d}n|d|!}||}t!|ƒd	}t#i$i%i&t#i'i(i)|ƒt#i'i(i)|ƒfƒ}t#i'i(i)|i+ƒf}nZt-|iƒo9|i}tid|dd!ƒ\}|d}d
|d	}|dd!}
|d}|d|!}||}|d|!}||}|d|!} t#i$i4i&t#i'i(i)| ƒt#i'i(i)|ƒt#i'i(i)|ƒt#i'i(i)|
ƒfƒ}tid|i+dƒ\}}t#i'i(i)|ƒt#i'i(i)|ƒf}ntd
|i‚|i7t8||ƒd ƒ|i7|i9i:|ƒƒ|i;t!|ƒdjo3|i<|i;dƒd}tiid|ƒ}n|i:|ƒ}ti?d|i@|iA|iBƒ}	tD|ƒ}xi|D]a}
|i7|ƒ|i7|	ƒ|
i:|ƒ}ti?dt!|ƒƒ}|i7|ƒ|i7|ƒq
W|iIƒ}t|iƒoatJ|iƒ|}|d	t!|ƒd}tLdƒtLdƒtLdƒ|tLdƒ|}n%t-|iƒontd
|i‚|iM||ƒodSqEqEWtd‚dS(sªValidate an RRset against a single signature rdata

    The owner name of the rrsig is assumed to be the same as the owner name
    of the rrset.

    @param rrset: The RRset to validate
    @type rrset: dns.rrset.RRset or (dns.name.Name, dns.rdataset.Rdataset)
    tuple
    @param rrsig: The signature rdata
    @type rrsig: dns.rrset.Rdata
    @param keys: The key dictionary.
    @type keys: a dictionary keyed by dns.name.Name with node or rdataset values
    @param origin: The origin to use for relative names
    @type origin: dns.name.Name or None
    @param now: The time to use when validating the signatures.  The default
    is the current time.
    @type now: int
    sunknown keyiitexpireds
not yet valids!Bs!Hiii@is!20s20ssunknown algorithm %uit*s!HHIiiÿNsverify failure(NR3RRR5R1R4R6trootRORDREt
candidate_keyRtrrsetttupletrrnameRKtnowRttimet
expirationt	inceptionRXR'R2RPR%tkeyptrR:tunpacktbytestrsa_etrsa_nR+tkeylentCryptot	PublicKeytRSAt	constructtUtiltnumbert
bytes_to_longtpubkeyt	signaturetsigRQtttoctetstdsa_qtdsa_ptdsa_gtdsa_yRtdsa_rtdsa_sR7R$RFt
to_digestabletlabelstsplittsuffixt	rrnamebufR;trdtypetrdclasstoriginal_ttltrrfixedtsortedtrrlisttrrtrrdatatrrlenR9RbtpadlenRatverify(!RgRERDRRjRKR“R‰R9RŽR‘RiRrR€R}R’R{RnR2R„R…R”RRŠRfR‚RRpRR~RqRsRƒ((Rt_validate_rrsigÆs–

	


	



9	







].


6c
Cst|ttfƒotii|tiiƒ}nt|t	ƒo|d}n
|i}t|t	ƒo|d}|d}n|i}|}|i|ƒ}|i|ƒ}||jo
td‚nxD|D]<}	yt||	|||ƒdSWqÒtj
o	}qÒXqÒWtd‚dS(sdValidate an RRset

    @param rrset: The RRset to validate
    @type rrset: dns.rrset.RRset or (dns.name.Name, dns.rdataset.Rdataset)
    tuple
    @param rrsigset: The signature RRset
    @type rrsigset: dns.rrset.RRset or (dns.name.Name, dns.rdataset.Rdataset)
    tuple
    @param keys: The key dictionary.
    @type keys: a dictionary keyed by dns.name.Name with node or rdataset values
    @param origin: The origin to use for relative names
    @type origin: dns.name.Name or None
    @param now: The time to use when validating the signatures.  The default
    is the current time.
    @type now: int
    iisowner names do not matchNsno RRSIGs validated(R3RRR5R1R4R6ReRgRhRitrrsigsett	rrsignamet
rrsigrdatasettchoose_relativityRRER–RDRjte(
RgR—RDRRjR›R˜RiR™RE((Rt	_validate=s.	
	

	cOs
td‚dS(Ns#DNSSEC validation requires pycrypto(tNotImplementedError(targstkwargs((Rt_need_pycryptoks(=RRR:Rkt
dns.exceptionR1tdns.hashtdns.nametdns.nodetdns.rdatasett	dns.rdatat
dns.rdatatypetdns.rdataclasst	exceptiontDNSExceptionRRRRRR	R
RRR
RRRRRtdictt_[1]t	iteritemstxtyRRRR$RR-RBRORPRQRRRSRTRURXRbR–RœR tCrypto.PublicKey.RSARttCrypto.PublicKey.DSAtCrypto.Util.numbertvalidatetvalidate_rrsigtImportError(+RR$RRRRRRXRbRRRROR¬R R	R:RBRRRR1R–RRSRURRtRRœR-R³RPR
RRTRRQR
RRkR¯R®R´((Rt?sj											r9					
									w.