]> Cypherpunks.ru repositories - nncp.git/blobdiff - src/tx.go
exec notification, freq.maxsize, paxed directories
[nncp.git] / src / tx.go
index 5c5c446171122b62620a1b246b7477e2fa16d5ff..20853b0b27a3cd4a02eab6027a2081675bf6a11f 100644 (file)
--- a/src/tx.go
+++ b/src/tx.go
@@ -286,7 +286,7 @@ func (ctx *Ctx) TxFile(
        nice uint8,
        srcPath, dstPath string,
        chunkSize int64,
-       minSize int64,
+       minSize, maxSize int64,
 ) error {
        dstPathSpecified := false
        if dstPath == "" {
@@ -308,6 +308,9 @@ func (ctx *Ctx) TxFile(
        if err != nil {
                return err
        }
+       if fileSize > maxSize {
+               return errors.New("Too big than allowed")
+       }
        if archived && !dstPathSpecified {
                dstPath += TarExt
        }
@@ -329,8 +332,7 @@ func (ctx *Ctx) TxFile(
                if err == nil {
                        ctx.LogI("tx", sds, "sent")
                } else {
-                       sds["err"] = err
-                       ctx.LogE("tx", sds, "sent")
+                       ctx.LogE("tx", SdsAdd(sds, SDS{"err": err}), "sent")
                }
                return err
        }
@@ -385,8 +387,7 @@ func (ctx *Ctx) TxFile(
                if err == nil {
                        ctx.LogI("tx", sds, "sent")
                } else {
-                       sds["err"] = err
-                       ctx.LogE("tx", sds, "sent")
+                       ctx.LogE("tx", SdsAdd(sds, SDS{"err": err}), "sent")
                        return err
                }
                hsh.Sum(metaPkt.Checksums[chunkNum][:0])
@@ -419,8 +420,7 @@ func (ctx *Ctx) TxFile(
        if err == nil {
                ctx.LogI("tx", sds, "sent")
        } else {
-               sds["err"] = err
-               ctx.LogE("tx", sds, "sent")
+               ctx.LogE("tx", SdsAdd(sds, SDS{"err": err}), "sent")
        }
        return err
 }
@@ -456,8 +456,7 @@ func (ctx *Ctx) TxFreq(
        if err == nil {
                ctx.LogI("tx", sds, "sent")
        } else {
-               sds["err"] = err
-               ctx.LogE("tx", sds, "sent")
+               ctx.LogE("tx", SdsAdd(sds, SDS{"err": err}), "sent")
        }
        return err
 }
@@ -505,8 +504,7 @@ func (ctx *Ctx) TxExec(
        if err == nil {
                ctx.LogI("tx", sds, "sent")
        } else {
-               sds["err"] = err
-               ctx.LogE("tx", sds, "sent")
+               ctx.LogE("tx", SdsAdd(sds, SDS{"err": err}), "sent")
        }
        return err
 }
@@ -521,7 +519,7 @@ func (ctx *Ctx) TxTrns(node *Node, nice uint8, size int64, src io.Reader) error
        ctx.LogD("tx", sds, "taken")
        if !ctx.IsEnoughSpace(size) {
                err := errors.New("is not enough space")
-               ctx.LogE("tx", sds, err.Error())
+               ctx.LogE("tx", SdsAdd(sds, SDS{"err": err}), err.Error())
                return err
        }
        tmp, err := ctx.NewTmpFileWHash()
@@ -536,8 +534,7 @@ func (ctx *Ctx) TxTrns(node *Node, nice uint8, size int64, src io.Reader) error
        if err == nil {
                ctx.LogI("tx", sds, "sent")
        } else {
-               sds["err"] = err
-               ctx.LogI("tx", sds, "sent")
+               ctx.LogI("tx", SdsAdd(sds, SDS{"err": err}), "sent")
        }
        os.Symlink(nodePath, filepath.Join(ctx.Spool, node.Name))
        return err