diff options
| author | Christine Dodrill <me@christine.website> | 2019-04-08 16:05:06 +0000 |
|---|---|---|
| committer | Christine Dodrill <me@christine.website> | 2019-04-08 16:12:50 +0000 |
| commit | f5e9eded374394b7510b2492dc729d7952083a53 (patch) | |
| tree | 6f196022eee050068151a4971734f0b3940b60f2 /cmd | |
| parent | 9f53168d9af58b206fadbb1636e9ea0772f8730f (diff) | |
| download | x-1.0.3.tar.xz x-1.0.3.zip | |
dnsd: include user agent with requestsv1.0.3
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/dnsd/main.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/cmd/dnsd/main.go b/cmd/dnsd/main.go index eefa518..d6e4df4 100644 --- a/cmd/dnsd/main.go +++ b/cmd/dnsd/main.go @@ -9,7 +9,9 @@ import ( "os/signal" "syscall" "time" + "fmt" + "github.com/Xe/x/web" "github.com/Xe/x/internal" "github.com/miekg/dns" "github.com/mmikulicic/stringlist" @@ -75,6 +77,12 @@ func main() { log.Printf("conf: -forward-server=%s", *server) rrs := []dns.RR{} + ns := []dns.RR{} + + txt, err := dns.NewRR("user-agent. 10 CH TXT " + fmt.Sprintf("%q", web.GenUserAgent())) + if err != nil { + log.Fatal(err) + } for _, zurl := range *zoneURLs { resp, err := http.Get(zurl) @@ -88,6 +96,11 @@ func main() { zp := dns.NewZoneParser(reader, "", zurl) for rr, ok := zp.Next(); ok; rr, ok = zp.Next() { rrs = append(rrs, rr) + + if rr.Header().Rrtype == dns.TypeNS { + ns = append(ns, rr) + } + i++ } @@ -126,6 +139,9 @@ func main() { for _, a := range resolver(*server, q.Name, q.Qtype) { answers = append(answers, a) } + } else { + m.Ns = ns + m.Extra = []dns.RR{txt} } for _, a := range answers { m.Answer = append(m.Answer, a) |
