aboutsummaryrefslogtreecommitdiff
path: root/lib/dns/server.go
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2024-03-27 02:24:41 +0700
committerShulhan <ms@kilabit.info>2024-03-27 02:24:41 +0700
commit14325589db35cf36ed1aa71ff4f2c5ad0bb6886b (patch)
treecd6cf46ca219c3084b354b4732e4aef44d1c41eb /lib/dns/server.go
parent71eaafc5119b178be61abf6ae7b8a2fbcdfacc44 (diff)
downloadpakakeh.go-14325589db35cf36ed1aa71ff4f2c5ad0bb6886b.tar.xz
lib/dns: refactor [Message.Unpack] to [UnpackMessage]
The previous API for Message is a little bit weird. Its provides creating Message manually, but expose the method [UnpackHeaderQuestion], meanwhile the field packet itself is unexported. In order to make it more clear we refactor [Message.Unpack] to function [UnpackMessage] that accept raw DNS packet.
Diffstat (limited to 'lib/dns/server.go')
-rw-r--r--lib/dns/server.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/dns/server.go b/lib/dns/server.go
index e9e1b49a..43795c2e 100644
--- a/lib/dns/server.go
+++ b/lib/dns/server.go
@@ -513,13 +513,14 @@ func (srv *Server) incForwarder() {
func (srv *Server) serveTCPClient(cl *TCPClient, kind connType) {
var (
logp = `serveTCPClient`
- req *request
- err error
+
+ req *request
+ err error
)
for {
req = newRequest()
- req.message, err = cl.recv()
+ req.message.packet, err = cl.recv()
if err != nil {
if !errors.Is(err, io.EOF) {
log.Printf(`%s %s: %s`, logp, connTypeNames[kind], err)