doc/download.texi | 7 +++++++ doc/news.ru.texi | 10 ++++++++++ doc/news.texi | 10 ++++++++++ ports/nncp/Makefile | 2 +- src/cmd/nncp-xfer/main.go | 26 ++++++++++++++++++-------- src/nncp.go | 2 +- diff --git a/doc/download.texi b/doc/download.texi index f8a3f46ef7f2f86c92fb136d5550130fc14fd1189a3a35769877a0c70ac62d69..f3b5c88459fa9ccf9ebabdeb4ea721d4a9a6889491f29c3e2d5936913f98d344 100644 --- a/doc/download.texi +++ b/doc/download.texi @@ -49,6 +49,13 @@ @multitable {XXXXX} {XXXX-XX-XX} {XXXX KiB} {meta4 link sig} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} @headitem Version @tab Date @tab Size @tab Tarball @tab SHA256 checksum +@item @ref{Release 8_7_0, 8.7.0} @tab 2022-03-04 @tab 1670 KiB +@tab + @url{download/nncp-8.7.0.tar.xz.meta4, meta4} + @url{download/nncp-8.7.0.tar.xz, link} + @url{download/nncp-8.7.0.tar.xz.sig, sig} +@tab @code{ED488FFD 7D88028B DD64386B EC4AD911 6F7DA088 1FB1E628 493D2F2B BBD1E868} + @item @ref{Release 8_6_0, 8.6.0} @tab 2022-03-02 @tab 1670 KiB @tab @url{download/nncp-8.6.0.tar.xz.meta4, meta4} diff --git a/doc/news.ru.texi b/doc/news.ru.texi index 4a5b2d9104c451ae39ced76d80dd3873e76175166a205bcc6241ebde2dd4e4d0..24944d59a24c47c1d5c0e6ca68352c6ea3002990da2aee82138978f3beed495e 100644 --- a/doc/news.ru.texi +++ b/doc/news.ru.texi @@ -1,6 +1,16 @@ @node Новости @section Новости +@node Релиз 8.7.1 +@subsection Релиз 8.7.1 +@itemize + +@item +@command{nncp-xfer} теперь корректно проверяет наличие @file{seen/} +файлов для входящих пакетов. + +@end itemize + @node Релиз 8.7.0 @subsection Релиз 8.7.0 @itemize diff --git a/doc/news.texi b/doc/news.texi index 885707b4ad771a646f9c140b312ff82f68629ea35ea4fa0c02123a57faecfb35..5468ff0d68ce0de986c9b00dbaffc767d99ecb04713cb613cb7bc8475b2eb0c5 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -4,6 +4,16 @@ @unnumbered News See also this page @ref{Новости, on russian}. +@node Release 8_7_1 +@section Release 8.7.1 +@itemize + +@item +@command{nncp-xfer} now correctly checks for @file{seen/} files for +inbound packets. + +@end itemize + @node Release 8_7_0 @section Release 8.7.0 @itemize diff --git a/ports/nncp/Makefile b/ports/nncp/Makefile index 8d16472bfa7d565d9f8eeb3bb65f8a97917fba135e86fe5267d50fd556b69791..695a7a661eeef19d78dad4c6ddd082eb0c6485492e28b8da0ca97da98a60b5c9 100644 --- a/ports/nncp/Makefile +++ b/ports/nncp/Makefile @@ -1,5 +1,5 @@ PORTNAME= nncp -DISTVERSION= 8.7.0 +DISTVERSION= 8.7.1 CATEGORIES= net MASTER_SITES= http://www.nncpgo.org/download/ diff --git a/src/cmd/nncp-xfer/main.go b/src/cmd/nncp-xfer/main.go index cb68836df5235d4a5aab7bf7220b55d9e0e33e0320efdac57168d5fb4dbb5c18..2a08d5c9c5da2574e8e0f277d77b1c66b359afcdd972297e1609a5a28575df81 100644 --- a/src/cmd/nncp-xfer/main.go +++ b/src/cmd/nncp-xfer/main.go @@ -209,6 +209,24 @@ "Packet transfer, received from %s: %s", ctx.NodeName(nodeId), filename, ) } + if _, err = os.Stat(filepath.Join( + ctx.Spool, + nodeId.String(), + string(nncp.TRx), + nncp.SeenDir, + fiInt.Name(), + )); err == nil || !os.IsNotExist(err) { + ctx.LogI("xfer-rx-seen", les, func(les nncp.LEs) string { + return logMsg(les) + ": packet already seen" + }) + if !*keep { + if err = os.Remove(filename); err != nil { + ctx.LogE("xfer-rx-remove", les, err, logMsg) + isBad = true + } + } + continue + } fd, err := os.Open(filename) if err != nil { ctx.LogE("xfer-rx-open", les, err, func(les nncp.LEs) string { @@ -433,14 +451,6 @@ } if _, err = os.Stat(filepath.Join(dstPath, pktName)); err == nil || !os.IsNotExist(err) { ctx.LogD("xfer-tx-exists", les, func(les nncp.LEs) string { return logMsg(les) + ": already exists" - }) - continue - } - if _, err = os.Stat(filepath.Join( - dstPath, nncp.SeenDir, pktName, - )); err == nil || !os.IsNotExist(err) { - ctx.LogD("xfer-tx-seen", les, func(les nncp.LEs) string { - return logMsg(les) + ": already seen" }) continue } diff --git a/src/nncp.go b/src/nncp.go index 84b489bfb56f270eb503d87d1164db5c31b8e0bc04fb252570e8863101668f6b..e2124eb4364a505d92b8b14a96412760d1b142c4bd2c88f464bc4e8d6e332140 100644 --- a/src/nncp.go +++ b/src/nncp.go @@ -40,7 +40,7 @@ const Base32Encoded32Len = 52 var ( - Version string = "8.7.0" + Version string = "8.7.1" Base32Codec *base32.Encoding = base32.StdEncoding.WithPadding(base32.NoPadding) )