fix(ddns): handle second-level domain correctly (#438)
This commit is contained in:
parent
be7b6e9c5e
commit
fc9f1b6bcc
@ -108,7 +108,7 @@ func splitDomainSOA(domain string) (prefix string, zone string, err error) {
|
|||||||
if len(r.Answer) > 0 {
|
if len(r.Answer) > 0 {
|
||||||
if soa, ok := r.Answer[0].(*dns.SOA); ok {
|
if soa, ok := r.Answer[0].(*dns.SOA); ok {
|
||||||
zone = soa.Hdr.Name
|
zone = soa.Hdr.Name
|
||||||
prefix = domain[:len(domain)-len(zone)-1]
|
prefix = libdns.RelativeName(domain, zone)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,11 @@ func TestSplitDomainSOA(t *testing.T) {
|
|||||||
zone: "example.com.",
|
zone: "example.com.",
|
||||||
prefix: "abc",
|
prefix: "abc",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
domain: "example.com",
|
||||||
|
zone: "example.com.",
|
||||||
|
prefix: "",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, c := range cases {
|
for _, c := range cases {
|
||||||
|
Loading…
Reference in New Issue
Block a user