a àMÒe:ã@sŒddlZddlZddlZddlZddlZddlZddlZddlZddl ZGdd„dej j ƒZ dd„Z dd„ZejjGdd „d ejjƒƒZdS) éNc@seZdZdZdS)Ú BadSigTimez:Time in DNS SIG or RRSIG resource record cannot be parsed.N)Ú__name__Ú __module__Ú __qualname__Ú__doc__©rrú9/usr/lib/python3.9/site-packages/dns/rdtypes/ANY/RRSIG.pyrsrc Cs¨t|ƒdkr| ¡rt|ƒSt|ƒdkr,t‚t|dd…ƒ}t|dd…ƒ}t|dd…ƒ}t|dd…ƒ}t|dd…ƒ}t|dd…ƒ}t ||||||dddf ¡S)Né éréééé )ÚlenÚisdigitÚintrÚcalendarZtimegm)ÚwhatZyearZmonthZdayZhourZminuteÚsecondrrrÚsigtime_to_posixtime"s rcCst dt |¡¡S)Nz %Y%m%d%H%M%S)ÚtimeÚstrftimeÚgmtime)rrrrÚposixtime_to_sigtime0srcs`eZdZdZgd¢Z‡fdd„Zdd„Zdd d „Zedd d „ƒZ ddd„Z eddd„ƒZ ‡Z S)ÚRRSIGz RRSIG record) Ú type_coveredÚ algorithmÚlabelsÚ original_ttlÚ expirationÚ inceptionÚkey_tagÚsignerÚ signaturec s‚tƒ ||¡| |¡|_tjj |¡|_|  |¡|_ |  |¡|_ |  |¡|_|  |¡|_| | ¡|_| | ¡|_| | ¡|_dS©N)ÚsuperÚ__init__Z _as_rdatatyperÚdnsÚ dnssectypesÚ AlgorithmZmakerZ _as_uint8rZ_as_ttlrZ _as_uint32rr Z _as_uint16r!Z_as_namer"Z _as_bytesr#) ÚselfÚrdclassÚrdtyperrrrrr r!r"r#©Ú __class__rrr&Ds       zRRSIG.__init__cCs|jSr$)r)r*rrrÚcovers]sz RRSIG.coversNTc KsTdtj |j¡|j|j|jt|jƒt|j ƒ|j |j   ||¡tj j|jfi|¤Žf S)Nz%s %d %d %d %s %s %d %s %s)r'Ú rdatatypeÚto_textrrrrrrr r!r"Zchoose_relativityÚrdataZ _base64ifyr#)r*ÚoriginÚ relativizeÚkwrrrr1`s  ÷z RRSIG.to_textc Cs’tj | ¡¡}tjj | ¡¡}| ¡} | ¡} t| ¡ƒ} t| ¡ƒ} | ¡} |  |||¡}|  ¡  ¡}t   |¡}|||||| | | | | ||ƒ Sr$)r'r0Ú from_textZ get_stringr(r)Zget_intZget_ttlrÚget_nameZ!concatenate_remaining_identifiersÚencodeÚbase64Z b64decode)Úclsr+r,Útokr3r4Z relativize_torrrrrr r!r"Zb64r#rrrr6ms.    õzRRSIG.from_textFc CsRt d|j|j|j|j|j|j|j¡}|  |¡|j   |d||¡|  |j ¡dS©Nz!HBBIIIH) ÚstructÚpackrrrrrr r!Úwriter"Zto_wirer#)r*ÚfileÚcompressr3Z canonicalizeÚheaderrrrÚ_to_wire‰sø zRRSIG._to_wirecCs6| d¡}| |¡}| ¡}|||g|¢|‘|‘RŽSr<)Z get_structr7Z get_remaining)r:r+r,Úparserr3rBr"r#rrrÚfrom_wire_parser˜s  zRRSIG.from_wire_parser)NT)NTN)NNF)N) rrrrÚ __slots__r&r/r1Ú classmethodr6rCrEÚ __classcell__rrr-rr4s  ÿ  r)r9rr=rZdns.dnssectypesr'Z dns.exceptionZ dns.immutableZ dns.rdataZ dns.rdatatypeÚ exceptionZ DNSExceptionrrrZ immutabler2ZRdatarrrrrÚs