PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/net
Viewing File: /usr/share/emacs/24.3/lisp/net/dns.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:55:24 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/net/dns.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@50 How many seconds to wait when doing DNS queries. (defvar dns-timeout 5 (#$ . 550)) #@88 List of DNS servers to query. If nil, /etc/resolv.conf and nslookup will be consulted. (defvar dns-servers nil (#$ . 639)) #@40 Names of query types and their values. (defvar dns-query-types '((A 1) (NS 2) (MD 3) (MF 4) (CNAME 5) (SOA 6) (MB 7) (MG 8) (MR 9) (NULL 10) (WKS 11) (PTR 12) (HINFO 13) (MINFO 14) (MX 15) (TXT 16) (AAAA 28) (SRV 33) (AXFR 252) (MAILB 253) (MAILA 254) (* 255)) (#$ . 768)) #@21 Classes of queries. (defvar dns-classes '((IN 1) (CS 2) (CH 3) (HS 4)) (#$ . 1047)) (defalias 'dns-write-bytes #[(value &optional length) "\306 \206\307\310\n W\203!\f\311\246B\f\311\245\nT\211\202 *\306\211\n\205<\n@\211c\210\nA\211\n\204+\306+\207" [bytes length i --dotimes-limit-- value byte nil 1 0 256 --dolist-tail--] 3]) (defalias 'dns-read-bytes #[(length) "\304 \304\n W\203\305\306_g\"\307u\210\nT\211\202*)\207" [value length i --dotimes-limit-- 0 logior 256 1] 4]) (defalias 'dns-get #[(type spec) " \236\211A@)\207" [type spec x] 3]) (defalias 'dns-inverse-get #[(value spec) "\304\204* \203*\n @\211A@)=\203! \211@@)\211\202 \211A@\210\202)\207" [found spec value x nil] 3]) (defalias 'dns-write-name #[(name) "\303\304\"\305\211\203\n@\306 G!\210 c\210\nA\211\204 *\306\307!\207" [name part --dolist-tail-- split-string "\\." nil dns-write-bytes 0] 4]) (defalias 'dns-read-string-name #[(string buffer) "\303\304!rq\210\305\216\306\307!\210 c\210eb\210\310\n!+\207" [#1=#:temp-buffer string buffer generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) set-buffer-multibyte nil dns-read-name] 2]) (defalias 'dns-read-name #[(&optional buffer) "\305\211\211\n\204Q\306\307!\310\311\312\313\"\"\314U\2039\310\315\"\316_\306\307!\\\212\f\203-\fq\210 Tb\210\317\f!*\202\320!\203E\321\211\202`u\210`{ B\202\n;\203j \204^\n\202p\322\323 \237\324#\324\nQ\202p\322\323 \237\324#+\207" [length name ended offset buffer nil dns-read-bytes 1 logand lsh 3 6 192 63 256 dns-read-name zerop t mapconcat identity "."] 6]) #@110 Write a DNS packet according to SPEC. If TCP-P, the first two bytes of the package with be the length field. (defalias 'dns-write #[(spec &optional tcp-p) "\306\307!rq\210\310\216\311\312!\210\313\314\315 \"\316\"\210\313\317\320\314\321 \"\203$\322\202%\323\324\"\320\314\325 \"\302=\2035\323\202V\314\325 \"\326=\203B\322\202V\314\325 \"\327=\203O\316\202V\330\331\314\325 \"\"\332\"\320\314\333 \"\203d\322\202e\323\334\"\320\314\335 \"\203s\322\202t\323\336\"\320\314\337 \"\203\202\322\202\203\323\323\"%!\210\313\314\340 \"\341=\203\226\323\202\330\314\340 \"\342=\203\243\322\202\330\314\340 \"\343=\203\260\316\202\330\314\340 \"\344=\203\275\345\202\330\314\340 \"\346=\203\312\347\202\330\314\340 \"\350=\203\327\351\202\330\323!\210\313\314\352 \"G\316\"\210\313\314\353 \"G\316\"\210\313\314\354 \"G\316\"\210\313\314\355 \"G\316\"\210\314\352 \"\312\211\203? @\356\n@!\210\313\314\357\n\"\206\360\f\236\211A@)\316\"\210\313\314\361\n\"\206-\3628\236\211A@)\316\"\210 A\211\204 *\363\3129\211\203\256 @9\3149 \"\312:\211\203\246 @:\356:@!\210\313\314\357:\"\f\236\211A@)\316\"\210\313\314\361:\"8\236\211A@)\316\"\210\313\314\364:\"\347\"\210\313\314\365:\"G\316\"\210\314\365:\"c\210 A\211\204Z* A\211\204I*;\203\275eb\210\313\366 \316\"\210\367 +\207" [#1=#:temp-buffer spec query --dolist-tail-- dns-query-types x generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) set-buffer-multibyte nil dns-write-bytes dns-get id 2 logior lsh response-p 1 0 -7 opcode inverse-query status error "No such opcode: %s" -3 authoritative-p -2 truncated-p -1 recursion-desired-p response-code no-error format-error server-failure name-error 3 not-implemented 4 refused 5 queries answers authorities additionals dns-write-name type A class IN (answers authorities additionals) ttl data buffer-size buffer-string dns-classes slot resource tcp-p] 11 (#$ . 2715)]) (defalias 'dns-read #[(packet) "\306\307!rq\210\310\216\311\312!\210\312\211\211\211\2110c\210eb\210\313\314\315!D B\314\316!1\317\320\3211\322\316\323\"\"!?\205<\324D B\3211\322\323\325\"\"\326\327=\203V\330\202i\316=\203a\331\202i\315=\205i\332D B)\333\320\3211\322\316\315\"\"!?\205~\324D B\334\320\3211\322\316\315\"\"!?\205\222\324D B\335\320\3211\322\316\327\"\"!?\205\246\324D B)\321\314\316!\336\"2\3372\327=\203\277\340\202\3632\316=\203\312\341\202\3632\315=\203\325\342\202\3632\325=\203\340\343\202\3632\344=\203\353\345\202\3632\346=\205\363\347D B)\314\315!\314\315!\314\315!\314\315!\3123\f\3274545W\203<\350 \351\352\314\315!6\"D\353\352\314\315!7\"DE3B34T\2114\202*\3043D B)\354\3128\2119\203\2749@8\312\211)38J\3274545W\203\251\350 \351\352\314\315!6\"\211)D\353\352\314\315!7\"D\355\314\344!D\314\315!:\356\357`:u\210`{)\")D\2573B34T\2114\202d*83D B*9A\2119\204O* \237.\207" [#1=#:temp-buffer additionals authorities answers queries spec generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) set-buffer-multibyte nil id dns-read-bytes 2 1 response-p zerop logand lsh 7 t 3 opcode 0 query inverse-query status authoritative-p truncated-p recursion-desired-p 15 response-code no-error format-error server-failure name-error 4 not-implemented 5 refused dns-read-name type dns-inverse-get class (answers authorities additionals) ttl data dns-read-type packet byte rc qs i --dotimes-limit-- dns-query-types dns-classes slot --dolist-tail-- length] 9]) (defalias 'dns-read-int32 #[nil "\300\301\302\303!\304_\302\305!\\\"\207" [format "%.0f" dns-read-bytes 1 16777216.0 3] 5]) (defalias 'dns-read-type #[(string type) "p`\306\307!r\nq\210\310\216\311\312!\210 c\210eb\210\f\313=\203H\312\314\315,-,-W\203=\316\317! B,T\211,\202(*\320\321 \237\322#)\202\355\f\323=\203|\312.\324\315,-,-W\203p\316\325!.B.,T\211,\202Y*\320\326.\237\327#)\202\355\f\330=\203\245\331\332 !D\333\332 !D\334\335 D\336\335 D\337\335 D\340\335 D\341\335 D\257\202\355\f\342=\203\303\343\316\325!D\344\316\325!D\345\316\325!D\346\332 !DF\202\355\f\347=\203\323\316\325!\332 !B\202\355\f\350=\204\345\f\351=\204\345\f\352=\203\354\353 \"\202\355 +b\210*\207" [point buffer #1=#:temp-buffer string type bytes generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) set-buffer-multibyte nil A 4 0 dns-read-bytes 1 mapconcat number-to-string "." AAAA 8 2 #[(n) "\301\302\"\207" [n format "%x"] 3] ":" SOA mname dns-read-name rname serial dns-read-int32 refresh retry expire minimum SRV priority weight port target MX CNAME NS PTR dns-read-string-name i --dotimes-limit-- hextets] 9]) #@117 Set `dns-servers' to a list of DNS servers or nil if none are found. Parses "/etc/resolv.conf" or calls "nslookup". (defalias 'dns-set-servers #[nil "\303\304!\2032\305\306\307!r q\210\310\216\311\304!\210eb\210\312\313\305\314#\203*\315\316!B\202\237\211+\206Z\317\320!\205Z\306\307!r\nq\210\321\216\322\320\305\314\305\323%\210eb\210\312\324\305\314#\210\315\316!C\211+\207" [dns-servers #1=#:temp-buffer #2=#:temp-buffer file-exists-p "/etc/resolv.conf" nil generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-file-contents re-search-forward "^nameserver[ ]+\\([^ \n]+\\)" t match-string 1 executable-find "nslookup" ((byte-code "\301!\203\n\302!\210\301\207" [#2# buffer-name kill-buffer] 2)) call-process "localhost" "^Address:[ ]*\\([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+\\)"] 6 (#$ . 7530)]) (defalias 'dns-read-txt #[(string) "G\301V\203\f\301\302O\207\207" [string 1 nil] 3]) (defalias 'dns-get-txt-answer #[(answers) "\306\307\n\307\211\203Y\f@\211\307\211\203Q\f@\211:\203J @\310=\2033 \211\fA@)\311=\202J @\312=\203J\203J \313 \211\fA@)!P\fA\211\204*\fA\211\204\f* *\207" [do-next result answers answer --dolist-tail-- elem "" nil type TXT data dns-read-txt x] 4]) (defalias 'dns-make-network-process '(macro . #[(server) "\301\300D\302B\303BB\207" [server let ((coding-system-for-read 'binary) (coding-system-for-write 'binary)) ((if (fboundp 'make-network-process) (make-network-process :name "dns" :coding 'binary :buffer (current-buffer) :host server :service "domain" :type 'datagram) (open-network-stream "dns" (current-buffer) server "domain")))] 3])) (defvar dns-cache (make-vector 4096 0)) (defalias 'dns-query-cached #[(name &optional type fullp reversep) "\306\307 \n %\310\f \"\211\f\203\311\f!\203\fJ\2022\312 \n $ \313\f \" L\210 )*\207" [name type fullp reversep key dns-cache format "%s:%s:%s:%s" intern-soft boundp dns-query intern sym result] 7]) #@119 Query a DNS server for NAME of TYPE. If FULLP, return the entire record returned. If REVERSEP, look up an IP address. (defalias 'dns-query #[(name &optional type fullp reversep) "\206\306 \204 \307 \210\n\203\310\311\312 \313\"\237\314#\315P\316 \204'\317\320!\207\321\322!r\fq\210\323\216\324\325!\210\325\326\327\217\330\331!?\205A\332\333 \334_\335\336!!567\2118\205\370\3378\340\341!D\342\343 \300DDCD\344BBB7\"\"\210\345\346 !\203\2275\347V\203\227\3506\351\245!\210\3528\3476#\21056Z5\202p\325\353\354\217\2107\203\261\346 \355Y\203\261eb\210``\355\\|\210\346 \355Y\205\3705\347V\205\370\356\357 !9:\203\3179\202\367\360\3619\"@;\360\300;\"=\205\366\362=\203\361\363\360\3619\"!\202\366\360\364;\")).\207" [type dns-servers reversep name #1=#:temp-buffer dns-timeout A dns-set-servers mapconcat identity split-string "\\." "." ".in-addr.arpa" PTR message "No DNS server configuration found" generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) set-buffer-multibyte nil (byte-code "@\304\211\305\306!\203\306\307\310\311\304\312p\313 \314\315\316\317&\f\202%\320\310p \315$+\207" [dns-servers coding-system-for-write coding-system-for-read server binary fboundp make-network-process :name "dns" :coding :buffer :host :service "domain" :type datagram open-network-stream] 13) ((error (byte-code "\301\302@\"\210\303\207" [dns-servers message "dns: Got an error while trying to talk to %s" nil] 3))) fboundp make-network-process t 100 1000 random 65000 process-send-string dns-write id (opcode query) queries ((recursion-desired-p t)) zerop buffer-size 0 sit-for 1000.0 accept-process-output (delete-process process) ((error)) 2 dns-read buffer-string dns-get answers TXT dns-get-txt-answer data times step tcp-p process result fullp answer] 10 (#$ . 9538)]) (provide 'dns)