GIF89a=( õ' 7IAXKgNgYvYx\%wh…hŽth%ˆs%—x¨}9®Œ©€&©‰%¶†(¹–.¹5·œD¹&Çš)ÇŸ5ǘ;Í£*È¡&Õ²)ׯ7×µ<Ñ»4ï°3ø‘HÖ§KͯT÷¨Yÿšqÿ»qÿÔFØ !ù ' !ÿ NETSCAPE2.0 , =( þÀ“pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§gª«ªE¯°¨¬ª±²Œ¹º¹E¾­”´ÂB¶¯ §Åȸ»ÑD¾¿Á•ÄÅ®° ÝH¾ÒLÀÆDÙ«D¶BÝïðÀ¾DÑÑÔTÌÍíH òGö¨A RÎڐ |¥ ٭&ºìE8œ¹kGÔAÞpx­a¶­ã R2XB®åE8I€Õ6Xî:vT)äžþÀq¦è³¥ì仕F~%xñ  4#ZÔ‰O|-4Bs‘X:= QÉ œš lºÒyXJŠGȦ|s hÏíK–3l7·B|¥$'7Jީܪ‰‡àá”Dæn=Pƒ ¤Òëí‰`䌨ljóá¯Éüv>á–Á¼5 ½.69ûϸd«­ºÀûnlv©‹ªîf{¬ÜãPbŸ  l5‘ޝpß ´ ˜3aÅùäI«O’ý·‘áÞ‡˜¾Æ‚ÙÏiÇÿ‹Àƒ #öó)pâš Þ½ ‘Ý{ó)vmÞü%D~ 6f s}ŃƒDØW Eþ`‡þ À…L8xá†ç˜{)x`X/> Ì}mø‚–RØ‘*|`D=‚Ø_ ^ð5 !_…'aä“OÚ—7âcð`D”Cx`ÝÂ¥ä‹éY¹—F¼¤¥Š?¡Õ™ n@`} lď’ÄÉ@4>ñd œ à‘vÒxNÃ×™@žd=ˆgsžG±æ ´²æud &p8Qñ)ˆ«lXD©øÜéAžHìySun jª×k*D¤LH] †¦§C™Jä–´Xb~ʪwStŽ6K,°£qÁœ:9ت:¨þªl¨@¡`‚ûÚ ».Û¬¯t‹ÆSÉ[:°=Š‹„‘Nåû”Ìî{¿ÂA ‡Rà›ÀÙ6úë°Ÿð0Ä_ ½;ÃϱîÉì^ÇÛÇ#Ëë¼ôº!±Ä˜íUîÅÇ;0L1óÁµö«p% AÀºU̬ݵ¼á%霼€‡¯Á~`ÏG¯»À× ­²± =4ªnpð3¾¤³¯­ü¾¦îuÙuµÙ®|%2ÊIÿür¦#0·ÔJ``8È@S@5ê¢ ö×Þ^`8EÜ]ý.뜃Âç 7 ú ȉÞj œ½Dç zý¸iþœÑÙûÄë!ˆÞÀl§Ïw‹*DçI€nEX¯¬¼ &A¬Go¼QföõFç°¯;é¦÷îŽêJ°îúôF5¡ÌQ|îúöXªæ»TÁÏyñêï]ê² o óÎC=öõ›ÒÓPB@ D×½œä(>èCÂxŽ`±«Ÿ–JЀ»Û á¤±p+eE0`ëŽ`A Ú/NE€Ø†À9‚@¤à H½7”à‡%B‰`Àl*ƒó‘–‡8 2ñ%¸ —€:Ù1Á‰E¸àux%nP1ð!‘ðC)¾P81lÑɸF#ˆ€{´âé°ÈB„0>±û °b¡Š´±O‚3È–Ù()yRpbµ¨E.Z‘D8ÊH@% òŒx+%Ù˜Æcü »¸˜fõ¬b·d`Fê™8èXH"ÉÈ-±|1Ô6iI, 2““¬$+](A*jÐ QTÂo‰.ÛU슬Œã„Ž`¯SN¡–¶Äåyše¯ª’­¬‚´b¦Éož œ)åyâ@Ì®3 ÎtT̉°&Ø+žLÀf"Ø-|žçÔ>‡Ðv¦Ðžì\‚ Q1)Ž@Žh#aP72”ˆ™¨$‚ !ù " , =( …7IAXG]KgNgYvYxR"k\%w]'}hŽth%ˆg+ˆs%—r.—m3šx3˜x¨}9®€&©€+¨‡7§‰%¶†(¹–.¹œD¹&ǘ;Í•&ײ)×»4ïÌ6ò§KÍ þ@‘pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g «¬ E ±± ¨­¶°ººE Á´”·®C¬²§Ç¶Œ»ÓDÃÕƷ¯Ê±H½ºM×ÁGÚ¬D¶BËÁ½î½DÓôTÏÛßîG»ôõC×CÌ l&âž:'òtU³6ɹ#·Ø)€'Ü.6±&ëÍÈ» K(8p0N?!æ2"ÛˆNIJX>R¼ÐO‚M '¡¨2¸*Ÿþ>#n↠å@‚<[:¡Iïf’ ¤TÚ˘CdbÜÙ“[«ŽEú5MBo¤×@€`@„€Êt W-3 ¶Ÿ¡BíêäjIÝ…Eò9[T…$íêﯧ„…•s»Óȳ¹€ÅÚdc®UUρ#±Ùïldj?´í¼²`\ŽÁðÞu|3'ÖŒ]ë6 ¶S#²‡˜FKLÈ *N E´‘áäŠ$˜›eÄYD„ºq«.è촁ƒs \-ÔjA 9²õ÷å- üúM[Âx(ís÷ì®x€|í¡Ù’p¦‚ ŽkÛTÇDpE@WÜ ²Ç]kŠ1¨ þ€·Yb ÓÁ‰l°*n0 ç™—žzBdОu¾7ĉBl€â‰-ºx~|UåU‰  h*Hœ|e"#"?vpÄiŠe6^ˆ„+qâŠm8 #VÇá ‘å–ÄV„œ|Аè•m"сœn|@›U¶ÆÎž—Špb¥G¨ED”€±Úê2FÌIç? >Éxå Œ± ¡¤„%‘žjŸ‘ꄯ<Ìaà9ijÐ2˜D¦È&›†Z`‚å]wþ¼Â:ç6àB¤7eFJ|õÒ§Õ,¨äàFÇ®cS·Ê¶+B°,‘Þ˜ºNûãØ>PADÌHD¹æž«ÄÀnÌ¥}­#Ë’ë QÀÉSÌÂÇ2ÌXÀ{æk²lQÁ2«ÊðÀ¯w|2Í h‹ÄÂG€,m¾¶ë3ÐÙ6-´ÅE¬L°ÆIij*K½ÀÇqï`DwVÍQXœÚÔpeœ±¬Ñ q˜§Tœ½µƒ°Œìu Â<¶aØ*At¯lmEØ ü ôÛN[P1ÔÛ¦­±$ÜÆ@`ùåDpy¶yXvCAyåB`ŽD¶ 0QwG#¯ æš[^Äþ $ÀÓÝǦ{„L™[±úKÄgÌ;ï£S~¹ìGX.ôgoT.»åˆ°ùŸûù¡?1zö¦Ÿž:ÅgÁ|ìL¹ „®£œŠ‚à0œ]PÁ^p F<"•ç?!,ñ‡N4—…PÄ Á„ö¨Û:Tè@hÀ‹%táÿ:ø-žI<`þ‹p I….)^ 40D#p@ƒj4–؀:²‰1Øâr˜¼F2oW¼#Z†;$Q q” ‘ ÂK¦ñNl#29 !’F@¥Bh·ᏀL!—XFóLH‘Kh¤.«hE&JòG¨¥<™WN!€ÑÙÚˆY„@†>Œž19J" 2,/ &.GXB%ÌRÈ9B6¹W]’î×ÔW¥’IÎ$ ñ‹ÓŒE8YÆ ¼³™ñA5“à®Q.aŸB€&Ø©³ JÁ—! ¦t)K%tœ-¦JF bòNMxLôþ)ÐR¸Ð™‘ èÝ6‘O!THÌ„HÛ ‰ !ù ) , =( …AXKgNgYvYxR"k\%wh…hŽh%ˆg+ˆs%—r.—x3˜x¨}9®€&©€+¨Œ,©‡7§‰%¶†(¹–.¹5·&Çš)ǘ;Í•&×£*Ȳ)ׯ7×»4ï°3øÌ6ò‘HÖ§KÍ»Hó¯T÷¨Yÿ»qÿÇhÿ þÀ”pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g ª« E$±²¨ª­ · °²½$E$ÂÕ««D· Í ¿¦Ç¶¸ÌŒ¾³CÃÅÆ E ééH½MÛÂGâªD­ çBêêϾD²ÒaÀà€Š1r­ðÓ¤ ÔožzU!L˜C'¾yW½UGtäÇïÙllê0×àÂuGþ)AÀs[þ·xì ÁxO%ƒûX2ó—  P£n›R/¡ÑšHše+êDm?# —‘Ç£6¡8íJ¡ŸâDiäªM¥Ö„ôj“¬¹£5oQ7°- <‡ *´lãÓŒ2r/a!l)dÈ A™ÈE¢ôÔ͆…ð ;Ö˜c ¡%ß‚’Ùˆâ¸b½—pe~C"BíëÚHïeF2§æŠ8qb t_`urŠeü wÅu3êæPv§h•"ß`íÍxçLĹÜÖ3á  ~Öº“®›¸ÏMDfJÙ °„ÛµáWõ%§œ‚à©–‚X ÓØ)@®Ñ›Eþ´wëuÅSxb8y\mÖzœ¥§ZbºE—ÂLªÌw!y(>¡™wú=Ç|ÅÝs¢d €CÁW)HÜcC$€L Ä7„r.á\{)@ð` @ äXÈ$PD” `šaG:§æˆOˆ72EÐamn]ù"ŒcÊxÑŒ° &dR8`g«iÙŸLR!¦P …d’ä¡“¦ðÎTƒ¦ià|À _ ¥ Qi#¦Šg›Æ ›noMµ ›V ã£)p ç£ÎW…š=Âeªk§†j„ ´®1ß²sÉxéW«jšl|0¯B0Û, \jÛ´›6±¬¶C ÛíWþï|ëÙ‹¸ñzĸV {ì;Ýñn¼òVˆm³I¼³.Ðã¤PN¥ ²µ¼„µCã+¹ÍByî£Ñ¾HŸ›ëê 7ìYÆFTk¨SaoaY$Dµœìï¿Ã29RÈkt Çïfñ ÇÒ:ÀÐSp¹3ÇI¨â¥DZÄ ü9Ïýögñ½­uÔ*3)O‘˜Ö[_hv ,àî×Et Ÿé¶BH€ Õ[ü±64M@ÔSÌM7dÐl5-ÄÙU܍´©zߌ3Ô€3ž„ „ ¶ÛPô½5×g› êÚ˜kN„Ý…0Îj4€Ìë°“#{þÕ3S2çKÜ'ợlø¼Ú2K{° {Û¶?žm𸧠ËI¼nEò='êüóºè^üæÃ_Û=°óž‚ì#Oý¿Í'¡½áo..ÏYìnüñCœO±Áa¿¢Kô½o,üÄËbö²çºíï{ËC Ú— "”Ï{ËK ÍÒw„õ±Oz dÕ¨à:$ ƒô—«v»] A#ð «€¿šéz)Rx׿ˆ¥‚d``èw-îyÏf×K!ð€þ­Ð|ìPľ„=Ì`ý(f” 'Pa ¥ÐBJa%Ðâf§„%Š¡}FàáÝ×6>ÉäŠG"éŽè=ø!oа^FP¼Ø©Q„ÀCÙÁ`(Ž\ÄÝ® ©Â$<n@dÄ E#ììUÒI! ‚#lù‹`k¦ÐÇ'Rró’ZýNBÈMF Í[¤+‹ðɈ-áwj¨¥þ8¾rá ,VÂh„"|½œ=×G_¦Ñ™EØ 0i*%̲˜Æda0mV‚k¾)›;„&6 p>ÓjK “¦Ç# âDÂ:ûc?:R Ó¬fÞéI-Ì“•Ã<ä=™Ï7˜3œ¨˜c2ŒW ,ˆ”8(T™P‰F¡Jhç"‚ ; 403WebShell
403Webshell
Server IP : 104.21.83.152  /  Your IP : 216.73.216.195
Web Server : LiteSpeed
System : Linux premium229.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User : akhalid ( 749)
PHP Version : 8.3.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/hc_python/lib64/python3.12/site-packages/dns/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/hc_python/lib64/python3.12/site-packages/dns/__pycache__/tsig.cpython-312.pyc
�

o��g�,���dZddlZddlZddlZddlZddlZddlZddlZddl	ZGd�dejj�ZGd�dejj�Z
Gd�dejj�ZGd	�d
ejj�ZGd�dejj�ZGd
�de�ZGd�de�ZGd�de�ZGd�de�Zej*j-d�Zej*j-d�Zej*j-d�Zej*j-d�Zej*j-d�Zej*j-d�Zej*j-d�Zej*j-d�Zej*j-d�Zej*j-d�Z eZ!eded ed!ed"ed#ed$ed%ed!ed"e d&i
Z"Gd'�d(�Z#Gd)�d*�Z$Gd+�d,�Z%d4d-�Z&d.�Z'd5d/�Z(	d6d0�Z)d1�Z*Gd2�d3�Z+y)7zDNS TSIG support.�Nc��eZdZdZy)�BadTimez8The current time is not within the TSIG's validity time.N��__name__�
__module__�__qualname__�__doc__���7/opt/hc_python/lib/python3.12/site-packages/dns/tsig.pyrrs��Brrc��eZdZdZy)�BadSignaturez#The TSIG signature fails to verify.Nrr
rrrr#s��-rrc��eZdZdZy)�BadKeyz2The TSIG record owner name does not match the key.Nrr
rrrr's��<rrc��eZdZdZy)�BadAlgorithmz*The TSIG algorithm does not match the key.Nrr
rrrr+���4rrc��eZdZdZy)�	PeerErrorz;Base class for all TSIG errors generated by the remote peerNrr
rrrr/s��Errc��eZdZdZy)�
PeerBadKeyz$The peer didn't know the key we usedNrr
rrrr3s��.rrc��eZdZdZy)�PeerBadSignaturez*The peer didn't like the signature we sentNrr
rrrr7rrrc��eZdZdZy)�PeerBadTimez%The peer didn't like the time we sentNrr
rrrr;s��/rrc��eZdZdZy)�PeerBadTruncationz=The peer didn't like amount of truncation in the TSIG we sentNrr
rrrr?s��GrrzHMAC-MD5.SIG-ALG.REG.INTz	hmac-sha1zhmac-sha224zhmac-sha256zhmac-sha256-128zhmac-sha384zhmac-sha384-192zhmac-sha512zhmac-sha512-256�gss-tsig��� ��0��@�c�(�eZdZdZd�Zd�Zd�Zd�Zy)�GSSTSigaG
    GSS-TSIG TSIG implementation.  This uses the GSS-API context established
    in the TKEY message handshake to sign messages using GSS-API message
    integrity codes, per the RFC.

    In order to avoid a direct GSSAPI dependency, the keyring holds a ref
    to the GSSAPI object required, rather than the key itself.
    c�.�||_d|_d|_y)Nrr)�gssapi_context�data�name)�selfr*s  r�__init__zGSSTSig.__init__js��,�����	���	rc�.�|xj|z
c_y�N)r+�r-r+s  r�updatezGSSTSig.updateos���	�	�T��	rc�L�|jj|j�Sr0)r*�
get_signaturer+)r-s r�signzGSSTSig.signrs���"�"�0�0����;�;rc�v�	|jj|j|�S#t$rt�wxYwr0)r*�verify_signaturer+�	Exceptionr)r-�expecteds  r�verifyzGSSTSig.verifyvs9��	��&�&�7�7��	�	�8�L�L���	���	�s�%(�8N)rrrr	r.r2r5r:r
rrr(r(`s����
�<�rr(c�(�eZdZd�Zd�Zed��Zy)�GSSTSigAdapterc��||_yr0)�keyring)r-r>s  rr.zGSSTSigAdapter.__init__�s	����rc��||jvrM|j|}t|t�r,|jtk(r|rt
j
|||�|Syr0)r>�
isinstance�Key�	algorithm�GSS_TSIGr<�parse_tkey_and_step)r-�message�keyname�keys    r�__call__zGSSTSigAdapter.__call__�sN���d�l�l�"��,�,�w�'�C��#�s�#��
�
��(A��"�6�6�s�G�W�M��J�rc��	|j|j|tjjtj
j�}|r,|dj}|j}|j|�Sy#t$rYywxYw)Nr)�
find_rrset�answer�dns�
rdataclass�ANY�	rdatatype�TKEYrG�secret�step�KeyError)�clsrGrErF�rrset�tokenr*s       rrDz"GSSTSigAdapter.parse_tkey_and_step�s}��		��&�&��������);�);�S�]�]�=O�=O��E���a�����!$����%�*�*�5�1�1����	��	�s�A;A?�?	B�
BN)rrrr.rH�classmethodrDr
rrr<r<s �������rr<c��eZdZdZeejeeje	ejeejdfeejeejdfeej eej dfeej&i	Zd�Zd�Zd�Zd�Zy	)
�HMACTSigzo
    HMAC TSIG implementation.  This uses the HMAC python module to handle the
    sign/verify operations.
    r&��c��	|j|}t|t�r*tj||d��|_|d|_n#tj||��|_d|_|jj|_	|jr#|xjd|j��z
c_	yy#t$rtd|�d���wxYw)NzTSIG algorithm z is not supportedr)�	digestmod��-)
�_hashesrS�NotImplementedErrorr@�tuple�hmac�new�hmac_context�sizer,)r-rGrB�hashinfos    rr.zHMACTSig.__init__�s���	V��|�|�I�.�H�
�h��&� $������� D�D�� ���D�I� $����� A�D���D�I��%�%�*�*��	��9�9��I�I�1�T�Y�Y�K��(�I����	V�%��	�{�BS�&T�U�U�	V�s�B9�9Cc�8�|jj|�Sr0)rer2r1s  rr2zHMACTSig.update�s��� � �'�'��-�-rc�v�|jj�}|jr|d|jdz}|S)N�)re�digestrf)r-rks  rr5z
HMACTSig.sign�s7���"�"�)�)�+���9�9��.�t�y�y�A�~�/�F��
rc�\�|j�}tj||�st�yr0)r5rc�compare_digestr)r-r9�macs   rr:zHMACTSig.verify�s(���i�i�k���"�"�3��1���2rN)rrrr	�	HMAC_SHA1�hashlib�sha1�HMAC_SHA224�sha224�HMAC_SHA256�sha256�HMAC_SHA256_128�HMAC_SHA384�sha384�HMAC_SHA384_192�HMAC_SHA512�sha512�HMAC_SHA512_256�HMAC_MD5�md5r`r.r2r5r:r
rrrYrY�s����	�7�<�<��W�^�^��W�^�^��'�.�.�#�.��W�^�^��'�.�.�#�.��W�^�^��'�.�.�#�.��'�+�+�
�G�)�".��rrYc��|xr|}|rLt|�}|r?|jtjdt	|���|j|�|jtjd|j
��|j|dd�|r�|j|jj��|jtjdtjj��|jtjdd��|�|j}|dz	dz}|dz}	tjd	||	|j�}
t	|j�}|dkDrtd
��|rk|j|jj�|
z�|jtjd|j |�|jz�|S|j|
�|S)z�Return a context containing the TSIG rdata for the input parameters
    @rtype: dns.tsig.HMACTSig or dns.tsig.GSSTSig object
    @raises ValueError: I{other_data} is too long
    @raises NotImplementedError: I{algorithm} is not supported
    �!H�Nz!Irr!i��l��z!HIHz TSIG Other Data is > 65535 bytesz!HH)�get_contextr2�struct�pack�len�original_idr,�
to_digestablerLrMrN�time_signed�fudge�other�
ValueErrorrB�error)�wirerG�rdata�time�request_mac�ctx�multi�first�
upper_time�
lower_time�time_encoded�	other_lens            r�_digestr��s�������E���#�����J�J�v�{�{�4��[�)9�:�;��J�J�{�#��J�J�v�{�{�4��!2�!2�3�4��J�J�t�A�B�x����
�
�3�8�8�)�)�+�,��
�
�6�;�;�t�S�^�^�%7�%7�8�9��
�
�6�;�;�t�Q�'�(��|�� � ���"�*��&�J��
�"�J��;�;�v�z�:�u�{�{�K�L��E�K�K� �I��5���;�<�<���
�
�3�=�=�.�.�0�<�?�@��
�
�6�;�;�u�e�k�k�9�=����K�L��J�	�
�
�<� ��Jrc��|rLt|�}|jtjdt	|���|j|�|Sy)z�If this is the first message in a multi-message sequence,
    start a new context.
    @rtype: dns.tsig.HMACTSig or dns.tsig.GSSTSig object
    r�N)r�r2r�r�r�)rGrnr�r�s    r�_maybe_start_digestr��s?��

��#����
�
�6�;�;�t�S��X�.�/��
�
�3���
�rc	��t|||||||�}|j�}|j||��}|t|||�fS)a~Return a (tsig_rdata, mac, ctx) tuple containing the HMAC TSIG rdata
    for the input parameters, the HMAC MAC calculated by applying the
    TSIG signature algorithm, and the TSIG digest context.
    @rtype: (string, dns.tsig.HMACTSig or dns.tsig.GSSTSig object)
    @raises ValueError: I{other_data} is too long
    @raises NotImplementedError: I{algorithm} is not supported
    )r�rn)r�r5�replacer�)	r�rGr�r�r�r�r�rn�tsigs	         rr5r5sL���$��U�D�+�s�E�
B�C�

�(�(�*�C��=�=�T�s�=�3�D��%�c�3��6�7�7rc		��tjd|dd�\}	|	dk(rtjj�|	dz}	|ddtj
d|	�z|d|z}
|jdk7r�|jtjjk(rt�|jtjjk(rt�|jtjjk(rt�|jtjjk(rt�t!d|jz��t#|j$|z
�|j&kDrt(�|j*|k7rt,�|j.|j.k7rt0�t3|
||d|||�}|j5|j6�t9||j6|�S)aFValidate the specified TSIG rdata against the other input parameters.

    @raises FormError: The TSIG is badly formed.
    @raises BadTime: There is too much time skew between the client and the
    server.
    @raises BadSignature: The TSIG signature did not validate
    @rtype: dns.tsig.HMACTSig or dns.tsig.GSSTSig objectr��
�rr^zunknown TSIG error code %dN)r��unpackrL�	exception�	FormErrorr�r��rcode�BADSIGr�BADKEYr�BADTIMEr�BADTRUNCrr�absr�r�rr,rrBrr�r:rnr�)r�rG�ownerr��nowr��
tsig_startr�r��adcount�new_wires           r�validater�su�����t�T�"�R�[�1�J�W��!�|��m�m�%�%�%��q�L�G��A�b�z�F�K�K��g�6�6��b��9L�L�H��{�{�a���;�;�#�)�)�*�*�*�"�"�
�[�[�C�I�I�,�,�
,���
�[�[�C�I�I�-�-�
-���
�[�[�C�I�I�.�.�
.�#�#��8�5�;�;�F�G�G�
�5���s�"�#�e�k�k�1��
�
�x�x�5����
�}�}����'���
�(�C���k�3��
F�C��J�J�u�y�y���s�E�I�I�u�5�5rc��|jtk(rt|j�St	|j|j�S)z�Returns an HMAC context for the specified key.

    @rtype: HMAC context
    @raises NotImplementedError: I{algorithm} is not supported
    )rBrCr(rQrY)rGs rr�r�:s4���}�}�� ��s�z�z�"�"���
�
�C�M�M�2�2rc�"�eZdZefd�Zd�Zd�Zy)rAc�P�t|t�rtjj	|�}||_t|t�r#tj|j��}||_t|t�rtjj	|�}||_	yr0)
r@�strrLr,�	from_text�base64�decodebytes�encoderQrB)r-r,rQrBs    rr.zKey.__init__Hss���d�C� ��8�8�%�%�d�+�D���	��f�c�"��'�'��
�
��8�F�����i��%����*�*�9�5�I�"��rc���t|t�xrO|j|jk(xr4|j|jk(xr|j|jk(Sr0)r@rAr,rQrB)r-r�s  r�__eq__z
Key.__eq__SsR���u�c�"�
2��	�	�U�Z�Z�'�
2����u�|�|�+�
2����%�/�/�1�		
rc���d|j�d�d|j�d�z}|jtk7r4|dtj|j
�j
��d�z
}|dz
}|S)Nz<DNS key name='z', zalgorithm='�'z
, secret='�>)r,rBrCr��	b64encoderQ�decode)r-�rs  r�__repr__zKey.__repr__[sm���d�i�i�[��,��T�^�^�<L�A�/N�N���>�>�X�%�
�:�f�.�.�t�{�{�;�B�B�D�E�Q�G�G�A�	�S����rN)rrr�default_algorithmr.r�r�r
rrrArAGs��/@�	#�
�rrA)NNNN)NNNF)NF),r	r�rprcr��
dns.exceptionrL�dns.name�	dns.rcode�dns.rdataclassr��DNSExceptionrrrrrrrrrr,r�r}rorrrtrvrwryrzr|rCr��	mac_sizesr(r<rYr�r�r5r�r�rAr
rr�<module>r�s!��$�
���
�����C�c�m�m�(�(�C�.�3�=�=�-�-�.�=�S�]�]�
'�
'�=�5�3�=�=�-�-�5�F��
�
�*�*�F�/��/�5�y�5�0�)�0�H�	�H��8�8���8�9���H�H���{�+�	��h�h� � ��/���h�h� � ��/���(�(�$�$�%6�7���h�h� � ��/���(�(�$�$�%6�7���h�h� � ��/���(�(�$�$�%6�7���8�8���j�)�����r������R����R����R��b��c�
�	���>��@1�1�h �F�
8�"LQ�#6�L
3��r

Youez - 2016 - github.com/yon3zu
LinuXploit