From 38af8973f7b5357064c41d9fbc0c472be94c415b Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Mon, 15 Oct 2012 19:02:25 +0200 Subject: [PATCH] Fix ip6 syntax --- ex/q/q.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ex/q/q.go b/ex/q/q.go index e54f00d5..1139ef87 100644 --- a/ex/q/q.go +++ b/ex/q/q.go @@ -110,6 +110,9 @@ Flags: } nameserver = string([]byte(nameserver)[1:]) // chop off @ + if nameserver[0] == '[' && nameserver[len(nameserver)-1] == ']' { + nameserver = nameserver[1:len(nameserver)-1] + } if i := net.ParseIP(nameserver); i != nil { switch { case i.To4() != nil: @@ -120,6 +123,9 @@ Flags: nameserver = "[" + nameserver + "]:" + strconv.Itoa(*port) } } else { + // if the nameserver is from /etc/resolv.conf the [ and ] are already + // added, thereby breaking net.ParseIP. Check for this and don't + // fully qualify such a name nameserver = dns.Fqdn(nameserver) + ":" + strconv.Itoa(*port) } // We use the async query handling, just to show how it is to be used.