X-Git-Url: http://www.git.cypherpunks.ru/?p=nncp.git;a=blobdiff_plain;f=src%2Fcmd%2Fnncp-xfer%2Fmain.go;h=9c29b0284b1975b4da44fcd927a3cb5841901a32;hp=a1ef5fa5d51c438179b33450f7876352d62d5242;hb=ee648620885962bae731cd1e9a9eac0b6545c451;hpb=f308eea22225f7f8d822499a0be53936a9952746 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 {