From f5753c6a8cac5a57a042b0388f38abeff5d1f37d Mon Sep 17 00:00:00 2001 From: radhitya Date: Thu, 18 Jun 2026 12:42:29 +0700 Subject: migration to new dns library --- internal/server/doh.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'internal/server/doh.go') diff --git a/internal/server/doh.go b/internal/server/doh.go index b46736e..2f9dfc0 100644 --- a/internal/server/doh.go +++ b/internal/server/doh.go @@ -2,7 +2,7 @@ package server import ( "encoding/base64" - "github.com/miekg/dns" + "codeberg.org/miekg/dns" "io" "log/slog" "net/http" @@ -42,7 +42,8 @@ func (s *Server) dohHandler(w http.ResponseWriter, r *http.Request) { } msg := new(dns.Msg) - if err := msg.Unpack(raw); err != nil { + msg.Data = raw + if err := msg.Unpack(); err != nil { http.Error(w, "invalid dns message", http.StatusBadRequest) return } @@ -53,22 +54,21 @@ func (s *Server) dohHandler(w http.ResponseWriter, r *http.Request) { } resp, _ := s.buildResponse(msg) - packed, err := resp.Pack() - if err != nil { + if err := resp.Pack(); err != nil { http.Error(w, "pack response", http.StatusInternalServerError) return } w.Header().Set("Content-Type", "application/dns-message") w.Header().Set("Cache-Control", "no-cache, max-age=0") - if _, err := w.Write(packed); err != nil { + if _, err := w.Write(resp.Data); err != nil { slog.Error("doh write failed", "err", err) return } slog.Info("doh query served", - "qname", msg.Question[0].Name, - "qtype", dns.TypeToString[msg.Question[0].Qtype], + "qname", msg.Question[0].Header().Name, + "qtype", dns.TypeToString[dns.RRToType(msg.Question[0])], "rcode", dns.RcodeToString[resp.Rcode], "client", r.RemoteAddr, ) -- cgit v1.2.3