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*/ {
|
if q.Qtype == dns.TypeA || q.Qtype == dns.TypeAAAA /*|| q.Qtype == dns.TypeMX*/ {
|
||||||
name := strings.TrimSuffix(q.Name, ".")
|
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, "."+string(s.domain)) // trim server domain
|
||||||
name = strings.TrimSuffix(name, "."+strings.TrimSuffix(domain, "."+string(s.domain))) // trim function domain
|
name = strings.TrimSuffix(name, "."+strings.TrimSuffix(domain, "."+string(s.domain))) // trim function domain
|
||||||
if ip, ok := s.subname(domain, name); ok {
|
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) {
|
func TestDHCP(t *testing.T) {
|
||||||
r := &recorder{}
|
r := &recorder{}
|
||||||
s := NewServer("localhost:0", "lan")
|
s := NewServer("localhost:0", "lan")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user