bugfixes #1
@ -124,5 +124,7 @@ func handleRequest(w dns.ResponseWriter, r *dns.Msg, zone zoneView) {
 | 
			
		||||
		m.SetRcode(m, dns.RcodeNameError)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	debugResponse(m)
 | 
			
		||||
 | 
			
		||||
	w.WriteMsg(m)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,13 @@ type zoneMap map[string][]zoneView
 | 
			
		||||
 | 
			
		||||
// Start starts cooldns
 | 
			
		||||
func Start(configPath string) {
 | 
			
		||||
 | 
			
		||||
	debug := os.Getenv("COOLDNS_DEBUG")
 | 
			
		||||
	if len(debug) != 0 {
 | 
			
		||||
		debugFlag = true
 | 
			
		||||
		debugLog("Enabled debug")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	config, err := loadConfig(configPath)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Fatalf("Failed to load config: %s\n", err.Error())
 | 
			
		||||
@ -80,6 +87,8 @@ func createServer(zones zoneMap, config config, aclList map[string]*net.IPNet, b
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		debugRequest(r, ip)
 | 
			
		||||
 | 
			
		||||
		// Check if it is a ACME DNS-01 challange
 | 
			
		||||
		if config.Lego.Enable && handleACMERequest(w, r, acmeList) {
 | 
			
		||||
			return
 | 
			
		||||
@ -96,6 +105,7 @@ func createServer(zones zoneMap, config config, aclList map[string]*net.IPNet, b
 | 
			
		||||
			handleBlockedDomain(w, r)
 | 
			
		||||
		} else {
 | 
			
		||||
			// Forward request
 | 
			
		||||
			debugLog("Forwarded request")
 | 
			
		||||
			in, _, err := c.Exchange(r, config.Forward.Server)
 | 
			
		||||
 | 
			
		||||
			if err != nil {
 | 
			
		||||
@ -167,6 +177,8 @@ func createHandler(zones []zoneView, config config, aclList map[string]*net.IPNe
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		debugRequest(r, ip)
 | 
			
		||||
 | 
			
		||||
		// Check if it is a ACME DNS-01 challange
 | 
			
		||||
		if config.Lego.Enable && handleACMERequest(w, r, acmeList) {
 | 
			
		||||
			return
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										35
									
								
								internal/debug.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								internal/debug.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,35 @@
 | 
			
		||||
package cooldns
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"log"
 | 
			
		||||
	"net"
 | 
			
		||||
 | 
			
		||||
	"github.com/miekg/dns"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var debugFlag = false
 | 
			
		||||
 | 
			
		||||
func debugLog(msg string) {
 | 
			
		||||
	if !debugFlag {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	log.Printf("DEBUG: %s", msg)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func debugRequest(r *dns.Msg, ip net.IP) {
 | 
			
		||||
	if !debugFlag {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	debugLog(fmt.Sprintf("Request from %s: %s", ip, r.String()))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func debugResponse(m *dns.Msg) {
 | 
			
		||||
	if !debugFlag {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	debugLog(fmt.Sprintf("Response send: %s", m.String()))
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user