diff options
| -rw-r--r-- | lib/dns/error.go | 4 | ||||
| -rw-r--r-- | lib/dns/message.go | 8 | ||||
| -rw-r--r-- | lib/dns/server.go | 11 |
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 |
