Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ¢báWÇ9ã@sHdZddlmZddlZddlZddlZddlZddlZddl Zddl Zddl Zddl Zddl ZddlmZGdd„dejjƒZGdd „d ejjƒZdZd Zd Zd Zd ZdZdZdZdZdZdZdZdZ dZ!eeeeeeeeeeeee e!dœZ"e#dd„e"j$ƒDƒƒZ%dd„Z&dd„Z'dd„Z(dDd d!„Z)dEd"d#„Z*d$d%„Z+d&d'„Z,d(d)„Z-d*d+„Z.d,d-„Z/d.d/„Z0d0d1„Z1d2d3„Z2d4d5„Z3d6d7„Z4d8d9„Z5dFd:d;„Z6dGdd?„Z8y(ddl9Z:ddl;Z:ddld@Z?Wn"e@k �rîe8Z=e8Z>dAZ?YnXy8ddlAZAddlBZAddlCZAddlDZAd@ZEGdBdC„dCeFƒZGWne@k �rBdAZEYnXdS)Hz.Common DNSSEC-related functions and constants.é)ÚBytesIONé)Ú string_typesc@seZdZdZdS)ÚUnsupportedAlgorithmz&The DNSSEC algorithm is not supported.N)Ú__name__Ú __module__Ú __qualname__Ú__doc__©r r ú/usr/lib/python3.6/dnssec.pyr!src@seZdZdZdS)ÚValidationFailurez The DNSSEC signature is invalid.N)rrrr r r r r r &sr éééééééé é ééüéýéþ)ÚRSAMD5ÚDHÚDSAÚECCÚRSASHA1Ú DSANSEC3SHA1ÚRSASHA1NSEC3SHA1Ú RSASHA256Ú RSASHA512ÚINDIRECTÚECDSAP256SHA256ÚECDSAP384SHA384Ú PRIVATEDNSÚ PRIVATEOIDccs|]\}}||fVqdS)Nr )Ú.0ÚxÚyr r r ú Nsr+cCs"tj|jƒƒ}|dkrt|ƒ}|S)z:Convert text into a DNSSEC algorithm value @rtype: intN)Ú_algorithm_by_textÚgetÚupperÚint)ÚtextÚvaluer r r Úalgorithm_from_textQsr2cCstj|ƒ}|dkrt|ƒ}|S)z;Convert a DNSSEC algorithm value to text @rtype: stringN)Ú_algorithm_by_valuer-Ústr)r1r0r r r Úalgorithm_to_text[s r5cCstƒ}|j||d�|jƒS)N)Úorigin)rÚto_wireÚgetvalue)Úrecordr6Úsr r r Ú _to_rdataesr;cCs¶t||ƒ}t|ƒ}|jtkr0|dd>|d Sd}x|d|d7}qFWt|ƒddkrš||t|ƒdd>7}||d?d@7}|d@SdS) Nrrr rréiÿÿéýÿÿÿéþÿÿÿ)r;Ú bytearrayÚ algorithmrÚrangeÚlen)Úkeyr6ÚrdataZtotalÚir r r Úkey_idks  rFcCsÈ|jƒdkr d}tjjdƒ}n,|jƒdkr@d}tjjdƒ}n td|ƒ‚t|tƒrdtjj||ƒ}|j |j ƒj ƒƒ|j t ||ƒƒ|j ƒ}tjdt|ƒ|j|ƒ|}tjjtjjtjj|dt|ƒƒS)NÚSHA1rÚSHA256r zunsupported algorithm "%s"z!HBBr)r.ÚdnsÚhashÚhashesrÚ isinstancerÚnameÚ from_textÚupdateZ canonicalizer7r;ÚdigestÚstructÚpackrFr@rDZ from_wireÚ rdataclassÚINÚ rdatatypeZDSrB)rMrCr@r6ZdsalgrJrPZdsrdatar r r Úmake_ds{s    rVc Cs”g}|j|jƒ}|dkrdSt|tjjƒrZy|jtjjtj j ƒ}Wq^t k rVdSXn|}x0|D](}|j |j krdt |ƒ|jkrd|j|ƒqdW|S)N)r-ÚsignerrLrIZnodeZNodeZ find_rdatasetrSrTrUZDNSKEYÚKeyErrorr@rFZkey_tagÚappend)ÚkeysÚrrsigZcandidate_keysr1ÚrdatasetrDr r r Ú_find_candidate_keys�s     r]cCs|tttttfkS)N)rrr r!r")r@r r r Ú_is_rsa¤sr^cCs |ttfkS)N)rr)r@r r r Ú_is_dsaªsr_cCsto|ttfkS)N)Ú _have_ecdsar$r%)r@r r r Ú _is_ecdsa®sracCs|tkS)N)r)r@r r r Ú_is_md5²srbcCs|ttttfkS)N)rrrr )r@r r r Ú_is_sha1¶srccCs |ttfkS)N)r!r$)r@r r r Ú _is_sha256»srdcCs|tkS)N)r%)r@r r r Ú _is_sha384¿srecCs|tkS)N)r")r@r r r Ú _is_sha512ÃsrfcCs~t|ƒrtjjdƒSt|ƒr,tjjdƒSt|ƒrBtjjdƒSt|ƒrXtjjdƒSt|ƒrntjjdƒStd|ƒ‚dS)NZMD5rGrHZSHA384ZSHA512zunknown hash for algorithm %u) rbrIrJrKrcrdrerfr )r@r r r Ú _make_hashÇsrgc Csèt|ƒrddddddddg}ndt|ƒr6dd d dd g}nLt|ƒrVd ddd dd ddd g }n,t|ƒrvd ddd dd ddd g }n td|ƒ‚t|ƒ}t|ƒj}dgd||gd|dgd|g|ddgd|g}tj dt|ƒf|žŽS)Né*é†éHé÷rr ré+rréé`réerzunknown algorithm %ué0rrrz!%dB) rbrcrdrfr rBrgZ digest_sizerQrR)r@ZoidZolenZdlenZidbytesr r r Ú_make_algorithm_idÕs  <rqc)Csôt|tƒrtjj|tjjƒ}�xÈt||ƒD�]¸}|ss¦        0