go-nsupdate/addr.go

30 lines
512 B
Go
Raw Normal View History

package main
import (
"net"
"github.com/miekg/dns"
)
type Addr struct {
IP net.IP
}
func (addr Addr) buildRR(name string, ttl int) dns.RR {
if ip4 := addr.IP.To4(); ip4 != nil {
return &dns.A{
Hdr: dns.RR_Header{Name: name, Rrtype: dns.TypeA, Class: dns.ClassINET, Ttl: uint32(ttl)},
A: ip4,
}
}
if ip6 := addr.IP.To16(); ip6 != nil {
return &dns.AAAA{
Hdr: dns.RR_Header{Name: name, Rrtype: dns.TypeAAAA, Class: dns.ClassINET, Ttl: uint32(ttl)},
AAAA: ip6,
}
}
return nil
}