mirror of
https://github.com/tailscale/tailscale.git
synced 2025-02-21 12:28:39 +00:00
tsdns: lowercase the name in parseQuery.
Domains in DNS should be case-insensitive. Signed-off-by: Dmytro Shynkevych <dmytro@tailscale.com>
This commit is contained in:
parent
309c15dfdd
commit
1886dfdca3
@ -293,6 +293,14 @@ func (r *Resolver) parseQuery(query []byte, resp *response) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// Lowercase the name: DOMAIN.COM. should resolve the same as domain.com.
|
||||
name := resp.Question.Name.Data[:resp.Question.Name.Length]
|
||||
for i, b := range name {
|
||||
if 'A' <= b && b <= 'Z' {
|
||||
name[i] = b - 'A' + 'a'
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -550,6 +550,7 @@ func TestFull(t *testing.T) {
|
||||
}{
|
||||
{"ipv4", dnspacket("test1.ipn.dev.", dns.TypeA), validIPv4Response},
|
||||
{"ipv6", dnspacket("test2.ipn.dev.", dns.TypeAAAA), validIPv6Response},
|
||||
{"upper", dnspacket("TEST1.IPN.DEV.", dns.TypeA), validIPv4Response},
|
||||
{"ptr", dnspacket("4.3.2.1.in-addr.arpa.", dns.TypePTR), validPTRResponse},
|
||||
{"error", dnspacket("test3.ipn.dev.", dns.TypeA), nxdomainResponse},
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user