- if err != nil || pktEnc.Magic != nncp.MagicNNCPEv4 {
- ctx.LogD("xfer-rx-not-packet", les, func(les nncp.LEs) string {
- return logMsg(les) + ": is not a packet"
- })
- fd.Close() // #nosec G104
+ if err == nil {
+ switch pktEnc.Magic {
+ case nncp.MagicNNCPEv1.B:
+ err = nncp.MagicNNCPEv1.TooOld()
+ case nncp.MagicNNCPEv2.B:
+ err = nncp.MagicNNCPEv2.TooOld()
+ case nncp.MagicNNCPEv3.B:
+ err = nncp.MagicNNCPEv3.TooOld()
+ case nncp.MagicNNCPEv4.B:
+ err = nncp.MagicNNCPEv4.TooOld()
+ case nncp.MagicNNCPEv5.B:
+ err = nncp.MagicNNCPEv5.TooOld()
+ case nncp.MagicNNCPEv6.B:
+ default:
+ err = errors.New("is not an encrypted packet")
+ }
+ }
+ if err != nil {
+ ctx.LogD(
+ "xfer-rx-not-packet",
+ append(les, nncp.LE{K: "Err", V: err}),
+ func(les nncp.LEs) string {
+ return logMsg(les) + ": not valid packet: " + err.Error()
+ },
+ )
+ fd.Close()