From a7977d6665aa38823721e4e11cb943402d94520e Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Mon, 17 Jan 2011 10:38:25 +0100 Subject: [PATCH] Use the new parsing from /etc/resolv.conf Fixup all the examples programs --- README | 6 ++- _examples/axfr/axfr.go | 2 +- _examples/chaos/chaos.go | 4 +- _examples/dnssectest/Makefile | 7 --- _examples/dnssectest/dnssectest.go | 69 ----------------------------- _examples/mx/_go_.6 | Bin 25586 -> 23762 bytes _examples/mx/mx.go | 7 +-- _examples/q/q.go | 2 +- 8 files changed, 10 insertions(+), 87 deletions(-) delete mode 100644 _examples/dnssectest/Makefile delete mode 100644 _examples/dnssectest/dnssectest.go diff --git a/README b/README index 6da61444..d808eb34 100644 --- a/README +++ b/README @@ -10,8 +10,12 @@ Installation is done by running: ./install Sample programs can be found in the _examples directory. They can be build with: make examples (after the dns package has been installed) +The major omission at the moment is parsing Resource Records from +strings. (I.e. supporting the 1035 zone file format). +Everything else should be present and working. If not, drop me an mail. + Have fun! -Miek Gieben - 2010, 2011 +Miek Gieben - 2010, 2011 - miek@miek.nl Implemented RFCS: diff --git a/_examples/axfr/axfr.go b/_examples/axfr/axfr.go index 1aee53ca..ffc6b9b0 100644 --- a/_examples/axfr/axfr.go +++ b/_examples/axfr/axfr.go @@ -10,7 +10,7 @@ func main() { res := new(resolver.Resolver) ch := res.NewXfer() - res.Servers = []string{"127.0.0.1"} + res.FromFile("/etc/resolv.conf") m := new(dns.Msg) m.Question = make([]dns.Question, 1) m.Question[0] = dns.Question{"atoom.net", dns.TypeAXFR, dns.ClassINET} diff --git a/_examples/chaos/chaos.go b/_examples/chaos/chaos.go index c1e6dc58..ee6b7db0 100644 --- a/_examples/chaos/chaos.go +++ b/_examples/chaos/chaos.go @@ -14,9 +14,7 @@ import ( func main() { r := new(resolver.Resolver) qr := r.NewQuerier() - r.Servers = []string{"127.0.0.1"} - r.Timeout = 2 - r.Attempts = 1 + r.FromFile("/etc/resolv.conf") var in resolver.Msg if len(os.Args) != 2 { diff --git a/_examples/dnssectest/Makefile b/_examples/dnssectest/Makefile deleted file mode 100644 index 96a3db22..00000000 --- a/_examples/dnssectest/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# Copyright 2009 The Go Authors. All rights reserved. -# Use of this source code is governed by a BSD-style -# license that can be found in the LICENSE file. -include $(GOROOT)/src/Make.inc -TARG=dnssectest -GOFILES=dnssectest.go -include $(GOROOT)/src/Make.cmd diff --git a/_examples/dnssectest/dnssectest.go b/_examples/dnssectest/dnssectest.go deleted file mode 100644 index ef255e0d..00000000 --- a/_examples/dnssectest/dnssectest.go +++ /dev/null @@ -1,69 +0,0 @@ -package main - -import ( - "dns" - "dns/resolver" - "fmt" -) - -func main() { - - - key := new(dns.RR_DNSKEY) - key.Hdr.Name = "miek.nl" - key.Hdr.Rrtype = dns.TypeDNSKEY - key.Hdr.Class = dns.ClassINET - key.Hdr.Ttl = 3600 - key.Flags = 257 - key.Protocol = 3 - key.Algorithm = dns.AlgRSASHA1 - key.PubKey = "AwEAAaHIwpx3w4VHKi6i1LHnTaWeHCL154Jug0Rtc9ji5qwPXpBo6A5sRv7cSsPQKPIwxLpyCrbJ4mr2L0EPOdvP6z6YfljK2ZmTbogU9aSU2fiq/4wjxbdkLyoDVgtO+JsxNN4bjr4WcWhsmk1Hg93FV9ZpkWb0Tbad8DFq NDzr//kZ" - - sig := new(dns.RR_RRSIG) - sig.Hdr.Name = "miek.nl." - sig.Hdr.Rrtype = dns.TypeRRSIG - sig.Hdr.Class = dns.ClassINET - sig.Hdr.Ttl = 3600 - sig.TypeCovered = dns.TypeDNSKEY - sig.Algorithm = dns.AlgRSASHA1 - sig.OrigTtl = 4000 - sig.Expiration = 1000 - sig.Inception = 800 - sig.KeyTag = 34641 - sig.SignerName = "miek.nl." - sig.Signature = "AwEAAaHIwpx3w4VHKi6i1LHnTaWeHCL154Jug0Rtc9ji5qwPXpBo6A5sRv7cSsPQKPIwxLpyCrbJ4mr2L0EPOdvP6z6YfljK2ZmTbogU9aSU2fiq/4wjxbdkLyoDVgtO+JsxNN4bjr4WcWhsmk1Hg93FV9ZpkWb0Tbad8DFq NDzr//kZ" - - fmt.Printf("%v", sig) - - res := new(resolver.Resolver) - ch := res.NewQuerier() - - // configure the resolver - res.Servers = []string{"192.168.1.2"} - res.Timeout = 2 - res.Attempts = 1 - - // Setup done, now for some real work - // Create a new message - m := new(dns.Msg) - m.MsgHdr.RecursionDesired = true //only set this bit - m.Question = make([]dns.Question, 1) - - m.Question[0] = dns.Question{"miek.nl", dns.TypeDS, dns.ClassINET} - ch <- resolver.Msg{m, nil} - in := <-ch - fmt.Printf("%v\n", in.Dns) - - m.Question[0] = dns.Question{"www.nlnetlabs.nl", dns.TypeRRSIG, dns.ClassINET} - ch <- resolver.Msg{m, nil} - in = <-ch - fmt.Printf("%v\n", in.Dns) - - m.Question[0] = dns.Question{"xxxx.nlnetlabs.nl", dns.TypeDNSKEY, dns.ClassINET} - ch <- resolver.Msg{m, nil} - in = <-ch - fmt.Printf("%v\n", in.Dns) - - ch <- resolver.Msg{nil, nil} - <-ch -} diff --git a/_examples/mx/_go_.6 b/_examples/mx/_go_.6 index b108f21f25be26203223b8612ae005b7ab48dcbb..14d4bd1b0893e88aa6e7d3688ca0b480e707f680 100644 GIT binary patch literal 23762 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 literal 25586 zcmc&-U2Gl4b-qjSidWPRc|~24`sF1>NhD2Dq~a(_kO!qTQ@f}WTQyQUj%%^fwM0ZD zwfwPVv@V*!K_3!Wp;H4jP#{U0hX@eR0DW*C`cN2t>O)(gC=j$r8w5dro|-mAP@rku z@B3!Y%t4S!>^3zV`X$8=dyV>hj9kM1TL}WV?O- zyoo{0wy(k({rg_nUc1(wn3(5PduqCW-;2u|yk1#b*}A^I)_MD__V&u!)}>IBC9G+( zZ>>YA_SVa{JDbG%`^WoVt-YLm{CrJ+ZmzF(+^^M@&gXBqpEp*viXZFO*EZeH=R0?n zS8w0y6ql=aidHnOcBz)t_)j9yWPTaYULy5(@o(F3S7D>Gxqj=#&W39BCAHRF<3<9% zu)3w{`vQKcw!jO>%(H?b{_dfz^CWI+y7t4`0o2&Z@}BxlsJOjRJBaK0qxjEub{Dnx zY;3P>t*mzD*E%n;b#G`5UO#kUx;+DX&U=-w6uQ^OB&oKuC-1$VNhnpmn+?8N+pI&K z4NBW9X}d_cpB+MrZ19ayP*mUC`)ciOU#Ty2TC+;cK5E-2mCu+mZ@=}a&Pz{jcQ#f! z8&Hg5Yt2UP+SZ+3L(pp<^vb1JzZAQ6b9t>@68ZS%4eN5~jX~(OZxi8???=PUEe813 z>h0$j78Vw1-GR-mjg_?<^An2~J~F?6|1D0`=4u1zd}zI~KOf3#2kyA*k@a3`u|KcV zfA9h;)d%@oUN~4~{n^FmoOl?-+GP6R{fs}2u&n8>%|dsT4P_(uRIj-|&xXIFpS7C( z1r3K_4Kuc|WuaE+!x-Lf{U@wGv{{0FCdkCMejHsE7g?()ZDn6^O$#|$%UxzIX=#N{ zVpPa5MIkAv_fU`e!wzW@k!JNvM4qV);ZLo83jeun7r(>{cw_+C^NEcc%+Y*MoIYzT zZm8WGbi+VCm<^rPbvERBd$N#vl7cpBNAM?dPqV9gkRP3m7nZMe+P~R;1zut!dI?@p z`w(}B%Y=UjgsX-l{0E@(FbI#J9|>}DvZ2=ZbP1b=q(~7LxIUt5jes!uZp)GxFv6Gu zzn0gA?i^{h?%vbo4s9Pk>-wUCJK6SAPV@RKE=l6BNx8kewsLJ{?Rw{qS=Ss!Qc-NS zlMTP=er;#N=z7E&b#8T5Yp$~vI~ci}jeJKn8G~%A5o^@yUt3>$@u>?-^w`lr^Neho zZ97w^F?V$1dNe=kda92?>fLO(=-2U;jTE}Ro{e~2yXkW5#yYawrSh50_9LHu{1cCT z>T_$4ZMC;Ik>72f-tA>fb?vp~)y`&T0|WTy)+P#5o5zr9py4>j=@-^FFd16O@va2i zJ>f?5LSx4LiM!d5)3|UrlS*W_ve#UAv|Ow(Z(Mldjn~Dn(vP2CMw>Hg^XzkMgvn%cYh`^6S#%7= z$f7gKBA9;GB6qEGt0;DY6z*q1!QFFK<=QgykP?b2^z%8gG-Xv*mp|XxytQ(TtB`y; zm~9yV-Yz~o%LKUi@N_%TZmdSxwVkPa+I3?FW`p-!w?$&O(k~27G8Lo`3$~e>l7Q57 zf1$)oI@w*stacpLN7j3&|4d%zEVS*x!w%GFb}wVi=8V!|^P%#<_hIA&i(B7?8y?zZ z@4V!|Q2y(x*O0uk0U%`K>ooa|t_u#bLA!cB;tQZNZXH%*#fg#R8%~?m_T$#X+6veG?fWSEs z$l4^Z{P(`Dv%#XG6Y5*NsZv=6b&I;&+2A{c6#MH+Y#o$g33Yeg;`SyNPY7=In+-MR zF~RVs^#Rs(8K!`;f~GJ?IBy~;akH~_U5l%QkP5^-Nv6<{q^|bFL-e;YvYd>h3SXa*;hHG@RycEU*+0K_)xa}q<+=vJ1E7v zX`Gc<=0@>eBe}S_s0Vs6o@rEn_QG@cSz1R?NNuM#uiwuk&kgTfzwa$)!$&dusD>7d zt=~sZ?8Q1Ng8o2|lY@2CSEI{lVZ;VD*7zR%SVN>%|3mx-X|D^7HT>nq8a44_4X>hw zj~c+6?r$MrM++CVE5_%0s!%A%lw@J1QANKrQac$Y%hmaSX8g(js~N?T8bMw*1?kZj zt-;zeGc%a*UR=Jla=ncq;ib-o7F}&D&X!+5u(Th4x}D>8@8vd@T0q@8j53>j7&jf6 zO}FqW_f+sqZ@J|bi;Z@~J1;XWw^ZOlisA1Hl-XErsn7*iRH)^axftuDjoJjnxj74K zqcL3;i=Q@1YISAZ{p<{W`>Y#!Q`hw=fZJRVvNU@wYasy|r36@9#Q3YyR_hKzyMf^6 zrPGp%6@|YO7fQ>h@YSdgqsE|X)pBh(=IgdO+%GQj_CS6d|^ICm>hKonsh40si%vxt%AA?!zN>Tm$YzuYz%OqSdbp~5oP^W*h z;N&Y}jCbzK9Dfhk_&a~)il^<3A7I?wzj?ql5pQT_q`vXbacS1f%r!3ANzK8sE)SdJ zq1H|4au5zVOG{k?L;$Ziw&5O81z~I}-;^(Y7*?qUIKoZ&RY>Dac?4Y-(G zB({m0E(8uMn}xKB*9`8Wq_8fOxVQmV12%5+=Ik+dbLMWRwXMVj@|7#qn=;DRKA-r$E(J1NtsKQsVUgkLk#|DQmcrLrvuNhRFdMWu|9eRGbM{3B{YGsXn1uzb zJ=|qxT&&EDY{cj}d_PnB5IsZXIQ$5rM>SmZJc`&DLi9w?uLyE-5IvW5c~4^Fk;r$W zk%(8tNOYvs;RTLFDs8p?3Q2PWN$8tm=<okhr64f`I*SWO2FAH_ zpaK^IjAdSiKv$uQhN!RzbQad!Eq{I#9*_4xFD&3@WDe!cqfiuM;jvOkEPk{oZnY6x z$8@j4+N7cU_r9(%OThIkK{&c5PP}jbrb;zP>8?d}b=TtLy;I1AD#xLU+vq(Z7k6FC z!^Lc=Wa*l@hk3(*SZ}U ztMRA1fvBD5Pfl2;U;_^`_*mJ# zOEPfGRoxlS$EJ zz)=s##pu&nkDksc1d{z9;8Vh9jMZP|R?<^A0Yc9*Rykm;cClrSa1j98!>{mz|lx?oLbLeopa+~M3s^)a;G51lRpr%n%* zS^XqV)5@fdk<^ERK$<;fq>crgq>d%5h}5xs>8F4C#h;=$qKm|$cD)3W*i?je2Pz&A|RP#G~BlqI2Kc^2G9>SCZl-el&}{NY>nUQR0ZK9T^9M+G42l9o>- z6?>m50Phx9#5S~OPHvGcwt-N}ZaWYR!9UlgyO_c zs9p6_Dnfp$fbx{rN-5HXMMugJQEQ@t=&F4@S^`bE*GgK>m~YWHgvB|3RZt zM$3mOC_hTV)v^ToF|90L8VL8Dm;2V(Yp7_&X0b28i0ZL$IQ&Ub&K9mXJzi2zHXsl8=@ zlpbnwvZ;V%6(A3dX;g2-sy8iRQ#SMlUCCxo%BCu{LM5_kYI-&STrN6xd!IADPcG|< z$0Ka+eqw8*OlF;A?hSp=+`5rj4>-xJCv0evspm_#=Er}8;)o^^irUpMO+_e7DOzP)+LO}kiMWW8Lg*`s!~r#XmmnS*-1kQT^bt$k#1DLLZ?Bxk~z6ybTvZn zq^r@5u13Ce>6_1d4aEsvs9mKi6(PDRAn5{VWBtA;{<_@zA7{NE+i)P-DC#TrEp@LR}>iIA2#JsB608yzjpuVZ`de$7pyH?dfCp zNREGA!+W)#O_Jqnzj?Jkh^JTkyNxIS|N7fM=?~)s698a|2#qKJnPQyi z>;A~2rhVc=nXo^oN+0$|KGg86O38qNZgBJbZWx{cTt;K^ODsu*d z+9Y)#B~_IIp&EHiThAeY%d`m`y631kOYA~olO!e+Ueicy25lIY&4d9>cmO~1$e%qQ zGMFI=usV9D%{6*gKoSUWv@qasL}0~?ghAPIIOt3Uv3KoNQ_`!_Ko}3v7o(D7xo5r7 zIbs*$hDcm8^$i(uLqQ1=H`I+dfFC>d^Hh4SpBGzQT;4L5NAn0>-sh z^gSwiS5#HX8s!nkNVXA0lq&lO)S}8ym9|-Y+&TgYm#*2Ga z^4Z-6(xYsdESip5a2yT2FgUR3$Ui>yHIM?l_+S5h%YzyZ0G1fgq6uIlZmz(nfD8

C^PY-LIBfgNLBU5 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 D6@O+! diff --git a/_examples/mx/mx.go b/_examples/mx/mx.go index 562abbd0..62a157b1 100644 --- a/_examples/mx/mx.go +++ b/_examples/mx/mx.go @@ -12,12 +12,9 @@ import ( func main() { r := new(resolver.Resolver) qr := r.NewQuerier() - r.Servers = []string{"127.0.0.1"} - r.Timeout = 2 - r.Attempts = 1 - + r.FromFile("/etc/resolv.conf") if len(os.Args) != 2 { - fmt.Printf("%s DOMAIN\nIt using 127.0.0.1 as a nameserver\n", os.Args[0]) + fmt.Printf("%s DOMAIN\n", os.Args[0]) os.Exit(1) } diff --git a/_examples/q/q.go b/_examples/q/q.go index 1c379faf..4d91c515 100644 --- a/_examples/q/q.go +++ b/_examples/q/q.go @@ -55,11 +55,11 @@ FLAGS: qname = append(qname, flag.Arg(i)) } r := new(resolver.Resolver) + r.FromFile("/etc/resolv.conf") r.Timeout = 2 r.Port = *port r.Tcp = *tcp r.Attempts = 1 - qr := r.NewQuerier() // @server may be a name, resolv that var err os.Error