|
@@ -275,6 +275,7 @@ func setupZoneData(data map[string]interface{}, Zone *Zone) {
|
|
"txt": dns.TypeTXT,
|
|
"txt": dns.TypeTXT,
|
|
"spf": dns.TypeSPF,
|
|
"spf": dns.TypeSPF,
|
|
"srv": dns.TypeSRV,
|
|
"srv": dns.TypeSRV,
|
|
|
|
+ "ptr": dns.TypePTR,
|
|
}
|
|
}
|
|
|
|
|
|
for dk, dv_inter := range data {
|
|
for dk, dv_inter := range data {
|
|
@@ -353,13 +354,16 @@ func setupZoneData(data map[string]interface{}, Zone *Zone) {
|
|
}
|
|
}
|
|
|
|
|
|
switch dnsType {
|
|
switch dnsType {
|
|
- case dns.TypeA, dns.TypeAAAA:
|
|
|
|
|
|
+ case dns.TypeA, dns.TypeAAAA, dns.TypePTR:
|
|
|
|
|
|
str, weight := getStringWeight(records[rType][i].([]interface{}))
|
|
str, weight := getStringWeight(records[rType][i].([]interface{}))
|
|
ip := str
|
|
ip := str
|
|
record.Weight = weight
|
|
record.Weight = weight
|
|
|
|
|
|
switch dnsType {
|
|
switch dnsType {
|
|
|
|
+ case dns.TypePTR:
|
|
|
|
+ record.RR = &dns.PTR{Hdr: h, Ptr: ip}
|
|
|
|
+ break
|
|
case dns.TypeA:
|
|
case dns.TypeA:
|
|
if x := net.ParseIP(ip); x != nil {
|
|
if x := net.ParseIP(ip); x != nil {
|
|
record.RR = &dns.A{Hdr: h, A: x}
|
|
record.RR = &dns.A{Hdr: h, A: x}
|