]> Cypherpunks.ru repositories - nncp.git/blobdiff - src/cypherpunks.ru/nncp/cmd/nncp-xfer/main.go
AEAD encryption mode and new encrypted packet format
[nncp.git] / src / cypherpunks.ru / nncp / cmd / nncp-xfer / main.go
index a8406281dae470368e818150ed5cc24bb433e8d5..102292f2747c8fcda59e28e5508dd29e9f39c155 100644 (file)
@@ -170,7 +170,7 @@ func main() {
                        }
                        var pktEnc nncp.PktEnc
                        _, err = xdr.Unmarshal(fd, &pktEnc)
-                       if err != nil || pktEnc.Magic != nncp.MagicNNCPEv3 {
+                       if err != nil || pktEnc.Magic != nncp.MagicNNCPEv4 {
                                ctx.LogD("nncp-xfer", sds, "is not a packet")
                                fd.Close()
                                continue
@@ -309,14 +309,19 @@ Tx:
                                isBad = true
                                continue
                        }
-                       err = bufW.Flush()
-                       tmp.Sync()
-                       tmp.Close()
-                       if err != nil {
-                               ctx.LogE("nncp-xfer", nncp.SdsAdd(sds, nncp.SDS{"err": err}), "copy")
+                       if err = bufW.Flush(); err != nil {
+                               tmp.Close()
+                               ctx.LogE("nncp-xfer", nncp.SdsAdd(sds, nncp.SDS{"err": err}), "flush")
                                isBad = true
                                continue
                        }
+                       if err = tmp.Sync(); err != nil {
+                               tmp.Close()
+                               ctx.LogE("nncp-xfer", nncp.SdsAdd(sds, nncp.SDS{"err": err}), "sync")
+                               isBad = true
+                               continue
+                       }
+                       tmp.Close()
                        if err = os.Rename(tmp.Name(), filepath.Join(dstPath, pktName)); err != nil {
                                ctx.LogE("nncp-xfer", nncp.SdsAdd(sds, nncp.SDS{"err": err}), "rename")
                                isBad = true