dns: fix resolution of uppercase host names, add test
This commit is contained in:
parent
9fe38edec0
commit
4cde5ec6fc
@ -273,8 +273,8 @@ func (s *Server) SetLeases(leases []dhcp4d.Lease) {
|
||||
if rev, err := dns.ReverseAddr(l.Addr.String()); err == nil {
|
||||
s.hostsByIP[rev] = l.Hostname
|
||||
}
|
||||
s.Mux.HandleFunc(lower+".", s.subnameHandler(l.Hostname))
|
||||
s.Mux.HandleFunc(lower+"."+s.domain+".", s.subnameHandler(l.Hostname))
|
||||
s.Mux.HandleFunc(lower+".", s.subnameHandler(lower))
|
||||
s.Mux.HandleFunc(lower+"."+s.domain+".", s.subnameHandler(lower))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -511,6 +511,25 @@ func resolveTestTarget(s *Server, name string, want net.IP) error {
|
||||
|
||||
// TODO: multiple questions
|
||||
|
||||
func TestUppercase(t *testing.T) {
|
||||
s := NewServer("127.0.0.2:0", "lan")
|
||||
s.SetLeases([]dhcp4d.Lease{
|
||||
{
|
||||
Hostname: "UPPERCASE",
|
||||
Addr: net.IP{192, 168, 42, 23},
|
||||
},
|
||||
})
|
||||
for _, casing := range []string{
|
||||
"UPPERCASE",
|
||||
"uppercase",
|
||||
"upperCase",
|
||||
} {
|
||||
if err := resolveTestTarget(s, casing+".lan.", net.ParseIP("192.168.42.23")); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestSubname(t *testing.T) {
|
||||
r := &recorder{}
|
||||
s := NewServer("127.0.0.2:0", "lan")
|
||||
|
Loading…
x
Reference in New Issue
Block a user