aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorChristine Dodrill <me@christine.website>2019-04-08 16:05:06 +0000
committerChristine Dodrill <me@christine.website>2019-04-08 16:12:50 +0000
commitf5e9eded374394b7510b2492dc729d7952083a53 (patch)
tree6f196022eee050068151a4971734f0b3940b60f2 /cmd
parent9f53168d9af58b206fadbb1636e9ea0772f8730f (diff)
downloadx-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.go16
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)