]> Cypherpunks.ru repositories - nncp.git/blobdiff - src/cmd/nncp-reass/main.go
NNCPNOSYNC environment variable
[nncp.git] / src / cmd / nncp-reass / main.go
index d7774c95bd2fb718136d62b8a43dff5e1b8f1561..d095f95d041ba4b1c99cc2513828f2e2cce057b7 100644 (file)
@@ -1,6 +1,6 @@
 /*
 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
@@ -35,7 +35,7 @@ import (
 
        xdr "github.com/davecgh/go-xdr/xdr2"
        "github.com/dustin/go-humanize"
-       "go.cypherpunks.ru/nncp/v7"
+       "go.cypherpunks.ru/nncp/v8"
 )
 
 func usage() {
@@ -66,7 +66,7 @@ func process(ctx *nncp.Ctx, path string, keep, dryRun, stdout, dumpMeta bool) bo
                })
                return false
        }
-       fd.Close() // #nosec G104
+       fd.Close()
        if metaPkt.Magic == nncp.MagicNNCPMv1.B {
                ctx.LogE("reass", les, nncp.MagicNNCPMv1.TooOld(), logMsg)
                return false
@@ -163,7 +163,7 @@ func process(ctx *nncp.Ctx, path string, keep, dryRun, stdout, dumpMeta bool) bo
                ); err != nil {
                        log.Fatalln(err)
                }
-               fd.Close() // #nosec G104
+               fd.Close()
                if bytes.Compare(hsh.Sum(nil), metaPkt.Checksums[chunkNum][:]) != 0 {
                        ctx.LogE(
                                "reass-chunk",
@@ -219,7 +219,7 @@ func process(ctx *nncp.Ctx, path string, keep, dryRun, stdout, dumpMeta bool) bo
                ); err != nil {
                        log.Fatalln(err)
                }
-               fd.Close() // #nosec G104
+               fd.Close()
                if !keep {
                        if err = os.Remove(chunkPath); err != nil {
                                ctx.LogE(
@@ -237,8 +237,10 @@ func process(ctx *nncp.Ctx, path string, keep, dryRun, stdout, dumpMeta bool) bo
                log.Fatalln("Can not flush:", err)
        }
        if tmp != nil {
-               if err = tmp.Sync(); err != nil {
-                       log.Fatalln("Can not sync:", err)
+               if !nncp.NoSync {
+                       if err = tmp.Sync(); err != nil {
+                               log.Fatalln("Can not sync:", err)
+                       }
                }
                if err = tmp.Close(); err != nil {
                        log.Fatalln("Can not close:", err)
@@ -298,7 +300,7 @@ func findMetas(ctx *nncp.Ctx, dirPath string) []string {
                return nil
        }
        fis, err := dir.Readdir(0)
-       dir.Close() // #nosec G104
+       dir.Close()
        if err != nil {
                ctx.LogE("reass", nncp.LEs{{K: "Path", V: dirPath}}, err, logMsg)
                return nil