How to disable recursion with q?
Opened this issue · 2 comments
bortzmeyer commented
The q program in the example has a -rd option to ask for recursion but it is enabled by default. How to disable it?
-rd
set RD flag in query (default true)
There is a RD each time;
% ./q @::1 SOA internautique.fr
;; opcode: QUERY, status: NOERROR, id: 12804
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0
;; QUESTION SECTION:
;internautique.fr. IN SOA
;; ANSWER SECTION:
internautique.fr. 3114 IN SOA ns3.bortzmeyer.org. hostmaster.bortzmeyer.org. 2016051200 7200 3600 604800 3600
;; AUTHORITY SECTION:
internautique.fr. 85914 IN NS ns3.bortzmeyer.org.
internautique.fr. 85914 IN NS ns1.bortzmeyer.org.
internautique.fr. 85914 IN NS ns2.bortzmeyer.org.
;; query time: 185 µs, server: [::1]:53(udp), size: 273 bytes
% ./q -rd @::1 SOA internautique.fr
;; opcode: QUERY, status: NOERROR, id: 61230
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0
;; QUESTION SECTION:
;internautique.fr. IN SOA
;; ANSWER SECTION:
internautique.fr. 3112 IN SOA ns3.bortzmeyer.org. hostmaster.bortzmeyer.org. 2016051200 7200 3600 604800 3600
;; AUTHORITY SECTION:
internautique.fr. 85912 IN NS ns3.bortzmeyer.org.
internautique.fr. 85912 IN NS ns1.bortzmeyer.org.
internautique.fr. 85912 IN NS ns2.bortzmeyer.org.
;; query time: 146 µs, server: [::1]:53(udp), size: 273 bytes
bortzmeyer commented
A possible patch could be as simple as (but may disconcert people used to dig being recursive by default):
diff --git a/q/q.go b/q/q.go
index 11f4051..dd2e155 100644
--- a/q/q.go
+++ b/q/q.go
@@ -45,7 +45,7 @@ func main() {
aa := flag.Bool("aa", false, "set AA flag in query")
ad := flag.Bool("ad", false, "set AD flag in query")
cd := flag.Bool("cd", false, "set CD flag in query")
- rd := flag.Bool("rd", true, "set RD flag in query")
+ rd := flag.Bool("rd", false, "set RD flag in query")
fallback := flag.Bool("fallback", false, "fallback to 4096 bytes bufsize and after that TCP")
tcp := flag.Bool("tcp", false, "TCP mode, multiple queries are asked over the same connection")
nsid := flag.Bool("nsid", false, "set edns nsid option")
miekg commented
"You must use the -flag=false form to turn off a boolean flag."
[ Quoting notifications@github.com in "Re: [miekg/exdns] How to disable re..." ]
A possible patch could be as simple as (but may disconcert people used to dig being recursive by default):
diff --git a/q/q.go b/q/q.go index 11f4051..dd2e155 100644 --- a/q/q.go +++ b/q/q.go @@ -45,7 +45,7 @@ func main() { aa := flag.Bool("aa", false, "set AA flag in query") ad := flag.Bool("ad", false, "set AD flag in query") cd := flag.Bool("cd", false, "set CD flag in query") - rd := flag.Bool("rd", true, "set RD flag in query") + rd := flag.Bool("rd", false, "set RD flag in query") fallback := flag.Bool("fallback", false, "fallback to 4096 bytes bufsize and after that TCP") tcp := flag.Bool("tcp", false, "TCP mode, multiple queries are asked over the same connection") nsid := flag.Bool("nsid", false, "set edns nsid option")
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
#2 (comment)
/Miek
Miek Gieben