@multitable {XXXXX} {XXXX-XX-XX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
@headitem Version @tab Date @tab Size @tab Tarball @tab SHA256 checksum
+@item @ref{Release 7_1_0, 7.1.0} @tab 2021-07-04 @tab 1142 KiB
+@tab @url{download/nncp-7.1.0.tar.xz, link} @url{download/nncp-7.1.0.tar.xz.sig, sign}
+@tab @code{D3BC010F 5D86BB59 E07A2A84 2FF9C73B 4C2F780B 807EF25C E4BC477C E40764A6}
+
@item @ref{Release 7_0_0, 7.0.0} @tab 2021-06-30 @tab 1123 KiB
@tab @url{download/nncp-7.0.0.tar.xz, link} @url{download/nncp-7.0.0.tar.xz.sig, sign}
@tab @code{D4D28E9A CF40FE12 68BDE134 9CD36076 282395BE 70094EFB 0DB75CE8 C32EA664}
@node Новости
@section Новости
+@node Релиз 7.1.1
+@subsection Релиз 7.1.1
+@itemize
+
+@item
+Исправлено падение при fsync директорий после создания @file{.seen} файлов.
+
+@end itemize
+
@node Релиз 7.1.0
@subsection Релиз 7.1.0
@itemize
+@item
+Появилась возможность мультивещательной (multicast) рассылки пакетов.
+Реализовано всего лишь дополнительным типом простых пакетов и изменением
+@command{nncp-toss}, @command{nncp-file} и @command{nncp-exec} команд.
+
@item
Исправлена работоспособность @command{nncp-file} и @command{nncp-exec}
команд использующих временный файл (stdin и @option{-use-tmp}).
@item
@command{nncp-pkt} может парсить @file{.hdr} файлы.
-@item
-Появилась возможность мультивещательной (multicast) рассылки пакетов.
-Реализовано всего лишь дополнительным типом простых пакетов и изменением
-@command{nncp-toss}, @command{nncp-file} и @command{nncp-exec} команд.
-
@end itemize
@node Релиз 7.0.0
See also this page @ref{Новости, on russian}.
+@node Release 7_1_1
+@section Release 7.1.1
+@itemize
+
+@item
+Fixed failing directories fsync after @file{.seen} file creation.
+@end itemize
+
@node Release 7_1_0
@section Release 7.1.0
@itemize
+@item
+Multicasting areas feature appeared. Implemented merely by an additional
+plain packet type with @command{nncp-toss}, @command{nncp-file} and
+@command{nncp-exec} commands modification.
+
@item
Fixed workability of @command{nncp-file} and @command{nncp-exec}
commands, that use temporary file (stdin and @option{-use-tmp}).
@item
@command{nncp-pkt} can parse @file{.hdr} files.
-@item
-Multicasting areas feature appeared. Implemented merely by an additional
-plain packet type with @command{nncp-toss}, @command{nncp-file} and
-@command{nncp-exec} commands modification.
-
@end itemize
@node Release 7_0_0
@item exec
@example
- +----------------------- PATH -------------------------+ +---- PAYLOAD ---+
- / \ / \
-+----------------------------------------------------------+---------------...--+
-| HANDLE | ARG0 0x00 ARG1 ...| 0x00 ... variable ... 0x00 | ZSTD DATA |
-+----------------------------------------------------------+---------------...--+
- \ /
- +-------- PATHLEN --------+
+ +------------------------- PATH ----------------------------+ +---- PAYLOAD ---+
+ / \ / \
++---------------------------------------------------------------+---------------...--+
+| HANDLE 0x00 | ARG0 0x00 ARG1 ...| 0x00 ... variable ... 0x00 | ZSTD DATA |
++---------------------------------------------------------------+---------------...--+
+ \ /
+ +-------- PATHLEN -------------+
@end example
@item exec-fat
@example
- +----------------------- PATH -------------------------+ +---- PAYLOAD ---+
- / \ / \
-+----------------------------------------------------------+---------------...--+
-| HANDLE | ARG0 0x00 ARG1 ...| 0x00 ... variable ... 0x00 | DATA |
-+----------------------------------------------------------+---------------...--+
- \ /
- +-------- PATHLEN --------+
+ +------------------------- PATH ----------------------------+ +---- PAYLOAD ---+
+ / \ / \
++---------------------------------------------------------------+---------------...--+
+| HANDLE 0x00 | ARG0 0x00 ARG1 ...| 0x00 ... variable ... 0x00 | DATA |
++---------------------------------------------------------------+---------------...--+
+ \ /
+ +-------- PATHLEN -------------+
@end example
@item trns
const Base32Encoded32Len = 52
var (
- Version string = "7.1.0"
+ Version string = "7.1.1"
Base32Codec *base32.Encoding = base32.StdEncoding.WithPadding(base32.NoPadding)
)
if doSeen {
if fd, err := os.Create(jobPath + SeenSuffix); err == nil {
fd.Close()
- if err = DirSync(filepath.Base(jobPath)); err != nil {
+ if err = DirSync(filepath.Dir(jobPath)); err != nil {
ctx.LogE("rx-dirsync", les, err, func(les LEs) string {
return fmt.Sprintf(
"Tossing file %s/%s (%s): %s: dirsyncing",
if doSeen {
if fd, err := os.Create(jobPath + SeenSuffix); err == nil {
fd.Close()
- if err = DirSync(filepath.Base(jobPath)); err != nil {
+ if err = DirSync(filepath.Dir(jobPath)); err != nil {
ctx.LogE("rx-dirsync", les, err, func(les LEs) string {
return fmt.Sprintf(
"Tossing file %s/%s (%s): %s: dirsyncing",
if doSeen {
if fd, err := os.Create(jobPath + SeenSuffix); err == nil {
fd.Close()
- if err = DirSync(filepath.Base(jobPath)); err != nil {
+ if err = DirSync(filepath.Dir(jobPath)); err != nil {
ctx.LogE("rx-dirsync", les, err, func(les LEs) string {
return fmt.Sprintf(
"Tossing file %s/%s (%s): %s: dirsyncing",
if doSeen {
if fd, err := os.Create(jobPath + SeenSuffix); err == nil {
fd.Close()
- if err = DirSync(filepath.Base(jobPath)); err != nil {
+ if err = DirSync(filepath.Dir(jobPath)); err != nil {
ctx.LogE("rx-dirsync", les, err, func(les LEs) string {
return fmt.Sprintf(
"Tossing file %s/%s (%s): %s: dirsyncing",