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 {
|
if rev, err := dns.ReverseAddr(l.Addr.String()); err == nil {
|
||||||
s.hostsByIP[rev] = l.Hostname
|
s.hostsByIP[rev] = l.Hostname
|
||||||
}
|
}
|
||||||
s.Mux.HandleFunc(lower+".", s.subnameHandler(l.Hostname))
|
s.Mux.HandleFunc(lower+".", s.subnameHandler(lower))
|
||||||
s.Mux.HandleFunc(lower+"."+s.domain+".", s.subnameHandler(l.Hostname))
|
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
|
// 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) {
|
func TestSubname(t *testing.T) {
|
||||||
r := &recorder{}
|
r := &recorder{}
|
||||||
s := NewServer("127.0.0.2:0", "lan")
|
s := NewServer("127.0.0.2:0", "lan")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user