]> Cypherpunks.ru repositories - nncp.git/commitdiff
.nncp.meta must contain payload size, not the full one
authorSergey Matveev <stargrave@stargrave.org>
Tue, 9 Nov 2021 10:31:56 +0000 (13:31 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Tue, 9 Nov 2021 10:35:04 +0000 (13:35 +0300)
doc/news.ru.texi
doc/news.texi
src/tx.go

index 159973025f92a70554230c077b8de73b15e4ac76..e3cd38c2ef9eb9cf7006f06c49b0d6b4fc05b5d3 100644 (file)
@@ -9,6 +9,10 @@
 Исправлено некорректное вычисление @code{freq.chunked} значения, при
 отсутствии которого всё равно форсированно включалась chunked передача.
 
+@item
+Исправлено некорректное вычисление значения полного размера файла в
+@file{.nncp.meta}.
+
 @end itemize
 
 @node Релиз 8.0.0
index 9a2e380bcb8413a8505a65e150054eadca7be7e0..f0e71f9380879a3f3a8acd358fafaea671ebb3cf 100644 (file)
@@ -11,6 +11,9 @@ See also this page @ref{Новости, on russian}.
 Fixed incorrect @code{freq.chunked} value calculation. If it missed,
 then anyway chunked transfer mode was forcefully turned on.
 
+@item
+Fixed incorrect full file's size calculation in @file{.nncp.meta}.
+
 @end itemize
 
 @node Release 8_0_0
index 0f7d2b8d9369627d4cbf52eb63b996b5874a22a5..b8d47aa6148ae87ad542b20236c67a106130f404 100644 (file)
--- a/src/tx.go
+++ b/src/tx.go
@@ -200,10 +200,12 @@ func (ctx *Ctx) Tx(
        }()
        var pktEncRaw []byte
        var pktEncMsg []byte
+       var payloadSize int64
        if area != nil {
-               pktEncMsg = (<-results).pktEncRaw
+               r := <-results
+               payloadSize = r.size
+               pktEncMsg = r.pktEncRaw
        }
-       var finalSize int64
        for i := 0; i <= wrappers; i++ {
                r := <-results
                if r.err != nil {
@@ -211,8 +213,10 @@ func (ctx *Ctx) Tx(
                        return nil, 0, err
                }
                if r.pktEncRaw != nil {
-                       finalSize = r.size
                        pktEncRaw = r.pktEncRaw
+                       if payloadSize == 0 {
+                               payloadSize = r.size
+                       }
                }
        }
        nodePath := filepath.Join(ctx.Spool, lastNode.Id.String())
@@ -261,7 +265,7 @@ func (ctx *Ctx) Tx(
                }
                ctx.LogI("tx-area", les, logMsg)
        }
-       return lastNode, finalSize, err
+       return lastNode, payloadSize, err
 }
 
 type DummyCloser struct{}