From: Sergey Matveev Date: Wed, 9 Mar 2022 08:01:16 +0000 (+0300) Subject: nncp-xfer -rx seen/ check X-Git-Tag: v8.7.1^2 X-Git-Url: http://www.git.cypherpunks.ru/?p=nncp.git;a=commitdiff_plain;h=ee648620885962bae731cd1e9a9eac0b6545c451 nncp-xfer -rx seen/ check --- diff --git a/doc/news.ru.texi b/doc/news.ru.texi index 28ce8a0..cd86595 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 e18445a..9b0e595 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -4,6 +4,16 @@ 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 b959a32..dbc14e4 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 a1ef5fa..9c29b02 100644 --- a/src/cmd/nncp-xfer/main.go +++ b/src/cmd/nncp-xfer/main.go @@ -209,6 +209,24 @@ func main() { 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 { @@ -436,14 +454,6 @@ Tx: }) 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 - } tmp, err := nncp.TempFile(dstPath, "xfer") if err != nil { ctx.LogE("xfer-tx-mktemp", les, err, func(les nncp.LEs) string { diff --git a/src/nncp.go b/src/nncp.go index ff817da..2647e4c 100644 --- a/src/nncp.go +++ b/src/nncp.go @@ -40,7 +40,7 @@ along with this program. If not, see .` const Base32Encoded32Len = 52 var ( - Version string = "8.7.0" + Version string = "8.7.1" Base32Codec *base32.Encoding = base32.StdEncoding.WithPadding(base32.NoPadding) )