PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  ;>Sc@sdZddlZddlZddlZddlZddlZddlZddlZdej j fdYZ dej j fdYZ dej j fdYZ d e fd YZd e fd YZd e fdYZde fdYZejjdZejjdZejjdZejjdZejjdZejjdZeZdZdZdZdZde e!edZ"de e!edZ#de e!dZ$da%dZ&dZ'd Z(d!Z)dS("sDNS TSIG support.iNtBadTimecBseZdZRS(sBRaised if the current time is not within the TSIG's validity time.(t__name__t __module__t__doc__(((s./usr/lib64/python2.7/site-packages/dns/tsig.pyRst BadSignaturecBseZdZRS(s-Raised if the TSIG signature fails to verify.(RRR(((s./usr/lib64/python2.7/site-packages/dns/tsig.pyRst PeerErrorcBseZdZRS(s;Base class for all TSIG errors generated by the remote peer(RRR(((s./usr/lib64/python2.7/site-packages/dns/tsig.pyR#st PeerBadKeycBseZdZRS(s.Raised if the peer didn't know the key we used(RRR(((s./usr/lib64/python2.7/site-packages/dns/tsig.pyR'stPeerBadSignaturecBseZdZRS(s4Raised if the peer didn't like the signature we sent(RRR(((s./usr/lib64/python2.7/site-packages/dns/tsig.pyR+st PeerBadTimecBseZdZRS(s/Raised if the peer didn't like the time we sent(RRR(((s./usr/lib64/python2.7/site-packages/dns/tsig.pyR/stPeerBadTruncationcBseZdZRS(sGRaised if the peer didn't like amount of truncation in the TSIG we sent(RRR(((s./usr/lib64/python2.7/site-packages/dns/tsig.pyR 3ssHMAC-MD5.SIG-ALG.REG.INTs hmac-sha1s hmac-sha224s hmac-sha256s hmac-sha384s hmac-sha512iiiic CsFt| \} }| rqtj|d|} t|}|dkrq| jtjd|| j|qqntjd|}| j|| j|d| r| j|j| jtjdtj j | jtjddn|d}|d?d@}|d @}tjd |||}| |}t|}|d kr`t d ntjd |||}| r| j|| j|n | j|| j }tjdt|}|||||}| r3tj|d|} t|}| jtjd|| j|nd} ||| fS(sjReturn 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, string, hmac.HMAC object) @raises ValueError: I{other_data} is too long @raises NotImplementedError: I{algorithm} is not supported t digestmodis!His!Ili lls!HIHis TSIG Other Data is > 65535 bytess!HHN(t get_algorithmthmactnewtlentupdatetstructtpackt to_digestabletdnst rdataclasstANYt ValueErrortdigesttNone(twiretkeynametsecretttimetfudget original_idterrort other_datat request_mactctxtmultitfirstt algorithmtalgorithm_nameR tmltidt long_timet upper_timet lower_timettime_mactpre_mactoltpost_mactmactmpackt tsig_rdata((s./usr/lib64/python2.7/site-packages/dns/tsig.pytsignGsJ             c Cs.t|||||||||| | | | S(N(R3( RRRRRRRR R!R"R#R$R%((s./usr/lib64/python2.7/site-packages/dns/tsig.pythmac_md5zsc Cs\tjd|dd!\} | dkr7tjjn| d8} |dd!tjd| |d|!} |} tjj|| \}}| |} tjd|| | d!\}}}}|dd>|d}| d7} || | |!}| |7} tjd || | d !\}}}| d 7} || | |!}| |7} | ||krbtjjn|dkr|tkrt q|t krt q|t krt q|tkrtqtd |n||}||}||ks||kr tnt| |||||||||| | | \}}}||krXtn|S( s*Validate 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: hmac.HMAC objects!Hi i iis!HIHHli s!HHHisunknown TSIG error code %d(RtunpackRt exceptiont FormErrorRtnamet from_wiretBADSIGRtBADKEYRtBADTIMERtBADTRUNCR RRR3R(RRRtnowR!t tsig_startR2t tsig_rdlenR"R#R$tadcounttnew_wiretcurrenttanametusedR*R+Rtmac_sizeRR0RRt other_sizeR ttime_lowt time_hightjunktour_mac((s./usr/lib64/python2.7/site-packages/dns/tsig.pytvalidatesN   ( )  &                 cCs2ytjj|t|sF         2  4