浏览代码

Adding PTR support

Florent AIDE 9 年之前
父节点
当前提交
bb4e5c2ea2
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      zones.go

+ 5 - 1
zones.go

@@ -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}