Fix the implicit lan domain
Includes test for setting a custom domain
This commit is contained in:
parent
fbd2facfa1
commit
e421cff225
@ -548,6 +548,7 @@ func (s *Server) resolveSubname(domain string, q dns.Question) (dns.RR, error) {
|
||||
}
|
||||
if q.Qtype == dns.TypeA || q.Qtype == dns.TypeAAAA /*|| q.Qtype == dns.TypeMX*/ {
|
||||
name := strings.TrimSuffix(q.Name, ".")
|
||||
name = strings.TrimSuffix(name, ".lan") // trim lan domain
|
||||
name = strings.TrimSuffix(name, "."+string(s.domain)) // trim server domain
|
||||
name = strings.TrimSuffix(name, "."+strings.TrimSuffix(domain, "."+string(s.domain))) // trim function domain
|
||||
if ip, ok := s.subname(domain, name); ok {
|
||||
|
@ -158,6 +158,28 @@ func TestResolveLatencySteering(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestDHCPDomain(t *testing.T) {
|
||||
s := NewServer("localhost:0", "example.org")
|
||||
s.SetLeases([]dhcp4d.Lease{
|
||||
{
|
||||
Hostname: "testtarget",
|
||||
Addr: net.IP{192, 168, 42, 23},
|
||||
},
|
||||
})
|
||||
|
||||
t.Run("testtarget.lan.", func(t *testing.T) {
|
||||
if err := resolveTestTarget(s, "testtarget.lan.", net.ParseIP("192.168.42.23")); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("testtarget.example.org.", func(t *testing.T) {
|
||||
if err := resolveTestTarget(s, "testtarget.lan.", net.ParseIP("192.168.42.23")); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestDHCP(t *testing.T) {
|
||||
r := &recorder{}
|
||||
s := NewServer("localhost:0", "lan")
|
||||
|
Loading…
x
Reference in New Issue
Block a user