net: case insensitivity of DNS labels in built-in stub resolver
This change adds support for case insensitivity of DNS labels to
built-in DNS stub resolver as described in RFC 4343.
Fixes #9215.
Change-Id: Ia752fe71866a3bfa3ea08371985b799d419ddea3
Reviewed-on: https://go-review.googlesource.com/3685
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/src/net/dnsmsg_test.go b/src/net/dnsmsg_test.go
index c39dbdb..159a03e 100644
--- a/src/net/dnsmsg_test.go
+++ b/src/net/dnsmsg_test.go
@@ -18,7 +18,7 @@
msg := new(dnsMsg)
ok := msg.Unpack(data)
if !ok {
- t.Fatalf("unpacking packet failed")
+ t.Fatal("unpacking packet failed")
}
msg.String() // exercise this code path
if g, e := len(msg.answer), 5; g != e {
@@ -32,13 +32,19 @@
t.Errorf("answer[%d] = %T; want *dnsRR_SRV", idx, rr)
}
}
- _, addrs, err := answer("_xmpp-server._tcp.google.com.", "foo:53", msg, uint16(dnsTypeSRV))
- if err != nil {
- t.Fatalf("answer: %v", err)
- }
- if g, e := len(addrs), 5; g != e {
- t.Errorf("len(addrs) = %d; want %d", g, e)
- t.Logf("addrs = %#v", addrs)
+ for _, name := range [...]string{
+ "_xmpp-server._tcp.google.com.",
+ "_XMPP-Server._TCP.Google.COM.",
+ "_XMPP-SERVER._TCP.GOOGLE.COM.",
+ } {
+ _, addrs, err := answer(name, "foo:53", msg, uint16(dnsTypeSRV))
+ if err != nil {
+ t.Error(err)
+ }
+ if g, e := len(addrs), 5; g != e {
+ t.Errorf("len(addrs) = %d; want %d", g, e)
+ t.Logf("addrs = %#v", addrs)
+ }
}
// repack and unpack.
data2, ok := msg.Pack()
@@ -46,9 +52,9 @@
msg2.Unpack(data2)
switch {
case !ok:
- t.Errorf("failed to repack message")
+ t.Error("failed to repack message")
case !reflect.DeepEqual(msg, msg2):
- t.Errorf("repacked message differs from original")
+ t.Error("repacked message differs from original")
}
}