package dns import ( "fmt" _ "net" "code.crute.me/mcrute/go_ddns_manager/bind" "github.com/miekg/dns" ) //go:generate go run ../generate_dns_types.go func makeHeader(name string, zone *bind.Zone, t uint16, ttl int) dns.RR_Header { return dns.RR_Header{ Name: fmt.Sprintf("%s.%s", name, zone.Name), Rrtype: t, Class: dns.ClassINET, Ttl: uint32(ttl), } } func toRRSet(z *bind.Zone, rr ...RR) []dns.RR { o := []dns.RR{} for _, v := range rr { o = append(o, v.ToDNS(z)) } return o } type RR interface { ToDNS(*bind.Zone) dns.RR FromDNS(rr dns.RR) error MarshalJSON() ([]byte, error) UnmarshalJSON(data []byte) error }