/*
NNCP -- Node to Node copy, utilities for store-and-forward data exchange
-Copyright (C) 2016-2021 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2016-2022 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
xdr "github.com/davecgh/go-xdr/xdr2"
"github.com/klauspost/compress/zstd"
- "go.cypherpunks.ru/nncp/v7"
+ "go.cypherpunks.ru/nncp/v8"
)
func usage() {
case nncp.PktTypeTrns:
path = nncp.Base32Codec.EncodeToString(pkt.Path[:pkt.PathLen])
node, err := ctx.FindNode(path)
- if err != nil {
+ if err == nil {
path = fmt.Sprintf("%s (%s)", path, node.Name)
}
case nncp.PktTypeArea:
recipientNode := ctx.Neigh[*pktEnc.Recipient]
if recipientNode == nil {
area = ctx.AreaId2Area[nncp.AreaId(*pktEnc.Recipient)]
- recipientName = "area " + area.Name
+ if area != nil {
+ recipientName = "area " + area.Name
+ }
} else {
recipientName = recipientNode.Name
}
case nncp.MagicNNCPEv4.B:
log.Fatalln(nncp.MagicNNCPEv4.TooOld())
case nncp.MagicNNCPEv5.B:
+ log.Fatalln(nncp.MagicNNCPEv5.TooOld())
+ case nncp.MagicNNCPEv6.B:
doEncrypted(ctx, pktEnc, *dump, beginning[:nncp.PktEncOverhead])
return
}