Type-Any hinzugefügt
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				release-tag / release-image (push) Successful in 46s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	release-tag / release-image (push) Successful in 46s
				
			This commit is contained in:
		
							
								
								
									
										44
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								main.go
									
									
									
									
									
								
							| @@ -249,9 +249,9 @@ func handleDNSRequest(w dns.ResponseWriter, r *dns.Msg) { | |||||||
|  |  | ||||||
| 		case dns.TypeAAAA: // IPv6-Anfrage | 		case dns.TypeAAAA: // IPv6-Anfrage | ||||||
| 			// Beispielhafte IPv6-Adresse für Demonstration | 			// Beispielhafte IPv6-Adresse für Demonstration | ||||||
| 			ip, exists := D[strings.ToLower(q.Name)] | 			ip6, exists := D[strings.ToLower(q.Name)] | ||||||
| 			if exists && !strings.EqualFold(ip.Ipv6, "") { | 			if exists && !strings.EqualFold(ip6.Ipv6, "") { | ||||||
| 				rr, err := dns.NewRR(strings.ToLower(q.Name) + " AAAA " + ip.Ipv6) | 				rr, err := dns.NewRR(strings.ToLower(q.Name) + " AAAA " + ip6.Ipv6) | ||||||
| 				if err == nil { | 				if err == nil { | ||||||
| 					if DEBUG { | 					if DEBUG { | ||||||
| 						WriteLog("~", "handleDNSRequest", "case dns.TypeAAAA", "D[q.Name]", D[strings.ToLower(q.Name)], "q.Name", strings.ToLower(q.Name)) | 						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: | 		default: | ||||||
| 			if DEBUG { | 			if DEBUG { | ||||||
| 				WriteLog("+", "unhandledDNSRequest", r.Question, strings.ToLower(q.Name), q.Qclass, q.Qtype) | 				WriteLog("+", "unhandledDNSRequest", r.Question, strings.ToLower(q.Name), q.Qclass, q.Qtype) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user