瀏覽代碼

rebase with dns nameservers, add egress domain to match domains updates

abhishek9686 2 周之前
父節點
當前提交
434f7940b8
共有 1 個文件被更改,包括 20 次插入0 次删除
  1. 20 0
      logic/dns.go

+ 20 - 0
logic/dns.go

@@ -463,7 +463,27 @@ func GetNameserversForHost(h *models.Host) (returnNsLi []models.Nameserver) {
 			}
 			returnNsLi = append(returnNsLi, globalNs)
 		}
+		// add egress domains to list
+		e := schema.Egress{
+			Network: node.Network,
+		}
+		egs, _ := e.ListByNetwork(db.WithContext(context.TODO()))
+		for _, egI := range egs {
+			if egI.Domain != "" && len(egI.DomainAns) > 0 {
+				egressNs := models.Nameserver{
+					MatchDomain: egI.Domain,
+				}
+				if node.Address.IP != nil {
+					egressNs.IPs = append(egressNs.IPs, node.Address.IP.String())
+				}
+				if node.Address6.IP != nil {
+					egressNs.IPs = append(egressNs.IPs, node.Address6.IP.String())
+				}
+				returnNsLi = append(returnNsLi, egressNs)
+			}
+		}
 	}
+
 	return
 }