Implement a DNS zone

Full implementation, DNS (and in the future DNSSEC). Returns answer in a
hopefully standards compliant way.
Testing with my miek.nl zone are included as well.
This should correctly handle nodata, nxdomain and cnames.
This commit is contained in:
Miek Gieben
2016-03-27 07:37:23 +01:00
parent 9eeb2b0259
commit 5387c162c9
10 changed files with 983 additions and 86 deletions

View File

@@ -0,0 +1,30 @@
package file
import (
"testing"
"github.com/miekg/dns"
)
func TestZoneInsert(t *testing.T) {
z := NewZone("miek.nl")
rr, _ := dns.NewRR("miek.nl. IN A 127.0.0.1")
z.Insert(rr)
t.Logf("%+v\n", z)
elem := z.Get(rr)
t.Logf("%+v\n", elem)
if elem != nil {
t.Logf("%+v\n", elem.Types(dns.TypeA))
}
z.Delete(rr)
t.Logf("%+v\n", z)
elem = z.Get(rr)
t.Logf("%+v\n", elem)
if elem != nil {
t.Logf("%+v\n", elem.Types(dns.TypeA))
}
}