summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/dns/error.go4
-rw-r--r--lib/dns/message.go8
-rw-r--r--lib/dns/server.go11
3 files changed, 11 insertions, 12 deletions
diff --git a/lib/dns/error.go b/lib/dns/error.go
index 15748c1d..4f70f4a7 100644
--- a/lib/dns/error.go
+++ b/lib/dns/error.go
@@ -6,5 +6,5 @@ package dns
import "errors"
-// errUnpack define an error if packet failed to be parsed.
-var errUnpack = errors.New(`unpack: invalid message`)
+// errInvalidMessage define an error when raw DNS message cannot be parsed.
+var errInvalidMessage = errors.New(`invalid message`)
diff --git a/lib/dns/message.go b/lib/dns/message.go
index a35473b0..02a237c0 100644
--- a/lib/dns/message.go
+++ b/lib/dns/message.go
@@ -183,7 +183,7 @@ func UnpackMessage(packet []byte) (msg *Message, err error) {
err = msg.UnpackHeaderQuestion()
if err != nil {
- return nil, fmt.Errorf(`%s: %w`, logp, err)
+ return nil, fmt.Errorf(`%s: %w: %w`, logp, errInvalidMessage, err)
}
var (
@@ -197,7 +197,7 @@ func UnpackMessage(packet []byte) (msg *Message, err error) {
startIdx, err = rr.unpack(msg.packet, startIdx)
if err != nil {
- return nil, fmt.Errorf(`%s: %w`, logp, err)
+ return nil, fmt.Errorf(`%s: %w: %w`, logp, errInvalidMessage, err)
}
msg.Answer = append(msg.Answer, rr)
@@ -208,7 +208,7 @@ func UnpackMessage(packet []byte) (msg *Message, err error) {
startIdx, err = rr.unpack(msg.packet, startIdx)
if err != nil {
- return nil, fmt.Errorf(`%s: %w`, logp, err)
+ return nil, fmt.Errorf(`%s: %w: %w`, logp, errInvalidMessage, err)
}
msg.Authority = append(msg.Authority, rr)
}
@@ -218,7 +218,7 @@ func UnpackMessage(packet []byte) (msg *Message, err error) {
startIdx, err = rr.unpack(msg.packet, startIdx)
if err != nil {
- return nil, fmt.Errorf(`%s: %w`, logp, err)
+ return nil, fmt.Errorf(`%s: %w: %w`, logp, errInvalidMessage, err)
}
msg.Additional = append(msg.Additional, rr)
diff --git a/lib/dns/server.go b/lib/dns/server.go
index 43795c2e..ec5835f4 100644
--- a/lib/dns/server.go
+++ b/lib/dns/server.go
@@ -810,9 +810,9 @@ func (srv *Server) dohForwarder(tag, nameserver string) {
res, err = forwarder.Query(req.message)
if err != nil {
- log.Printf(`%s %s: forward failed for %q: %s`,
+ log.Printf(`%s %s: forward failed for %s: %s`,
logp, tag, req.message.Question.Name, err)
- if !errors.Is(err, errUnpack) {
+ if !errors.Is(err, errInvalidMessage) {
isRunning = false
}
continue
@@ -891,7 +891,7 @@ func (srv *Server) tlsForwarder(tag, nameserver string) {
if err != nil {
log.Printf(`%s %s: forward failed for %s: %s`,
logp, tag, req.message.Question.Name, err)
- if !errors.Is(err, errUnpack) {
+ if !errors.Is(err, errInvalidMessage) {
isRunning = false
}
continue
@@ -1040,9 +1040,8 @@ func (srv *Server) udpForwarder(tag, nameserver string) {
res, err = forwarder.Query(req.message)
if err != nil {
log.Printf(`%s %s: forward failed for %s: %s`,
- logp, tag,
- req.message.Question.Name, err)
- if !errors.Is(err, errUnpack) {
+ logp, tag, req.message.Question.Name, err)
+ if !errors.Is(err, errInvalidMessage) {
isRunning = false
}
continue