Type-Any hinzugefügt
All checks were successful
release-tag / release-image (push) Successful in 46s

This commit is contained in:
2025-01-16 02:42:05 +01:00
parent a1c80dcc07
commit 877e4635ba

44
main.go
View File

@@ -249,9 +249,9 @@ func handleDNSRequest(w dns.ResponseWriter, r *dns.Msg) {
case dns.TypeAAAA: // IPv6-Anfrage
// Beispielhafte IPv6-Adresse für Demonstration
ip, exists := D[strings.ToLower(q.Name)]
if exists && !strings.EqualFold(ip.Ipv6, "") {
rr, err := dns.NewRR(strings.ToLower(q.Name) + " AAAA " + ip.Ipv6)
ip6, exists := D[strings.ToLower(q.Name)]
if exists && !strings.EqualFold(ip6.Ipv6, "") {
rr, err := dns.NewRR(strings.ToLower(q.Name) + " AAAA " + ip6.Ipv6)
if err == nil {
if DEBUG {
WriteLog("~", "handleDNSRequest", "case dns.TypeAAAA", "D[q.Name]", D[strings.ToLower(q.Name)], "q.Name", strings.ToLower(q.Name))
@@ -299,6 +299,44 @@ func handleDNSRequest(w dns.ResponseWriter, r *dns.Msg) {
}
}
}
case dns.TypeANY:
ip, exists := D[strings.ToLower(q.Name)]
if exists {
rr, err := dns.NewRR(strings.ToLower(q.Name) + " A " + ip.Ipv4)
if err == nil {
if DEBUG {
WriteLog("~", "handleDNSRequest", "case dns.TypeANY", "D[q.Name]", D[strings.ToLower(q.Name)], "q.Name", strings.ToLower(q.Name))
}
msg.Answer = append(msg.Answer, rr)
} else {
if DEBUG {
WriteLog("!", "handleDNSRequest", "case dns.TypeANY", "IPv4", "error", err)
}
}
} else {
if DEBUG {
WriteLog("!", "handleDNSRequest", "case dns.TypeANY", "not found in D", strings.ToLower(q.Name))
}
}
// Beispielhafte IPv6-Adresse für Demonstration
ip6, exists := D[strings.ToLower(q.Name)]
if exists && !strings.EqualFold(ip6.Ipv6, "") {
rr, err := dns.NewRR(strings.ToLower(q.Name) + " AAAA " + ip6.Ipv6)
if err == nil {
if DEBUG {
WriteLog("~", "handleDNSRequest", "case dns.TypeANY", "D[q.Name]", D[strings.ToLower(q.Name)], "q.Name", strings.ToLower(q.Name))
}
msg.Answer = append(msg.Answer, rr)
} else {
if DEBUG {
WriteLog("!", "handleDNSRequest", "case dns.TypeANY", "IPv6", "error", err)
}
}
} else {
if DEBUG {
WriteLog("!", "handleDNSRequest", "case dns.TypeANY", "not found in D", strings.ToLower(q.Name))
}
}
default:
if DEBUG {
WriteLog("+", "unhandledDNSRequest", r.Question, strings.ToLower(q.Name), q.Qclass, q.Qtype)