/* * Copyright (C) 2024 Jonni Liljamo * * This file is licensed under AGPL-3.0-or-later, see NOTICE and LICENSE for * more information. */ package dns import ( "log/slog" "github.com/miekg/dns" ) func handleDNSRequest(w dns.ResponseWriter, r *dns.Msg) { m := new(dns.Msg) m.SetReply(r) m.Compress = false m.SetEdns0(4096, true) switch r.Opcode { case dns.OpcodeQuery: parseQuery(m, r) default: slog.Info("Unsupported Opcode", slog.String("type", dns.OpcodeToString[r.Opcode])) m.SetRcode(r, dns.RcodeNotImplemented) } w.WriteMsg(m) }