doc/download.texi | 4 ++++ doc/news.ru.texi | 19 ++++++++++++++----- doc/news.texi | 18 +++++++++++++----- doc/pkt/plain.texi | 28 ++++++++++++++-------------- src/nncp.go | 2 +- src/toss.go | 8 ++++---- diff --git a/doc/download.texi b/doc/download.texi index 96868ed7551135114af07b7505ea2b568967f2551ddadad8365c0b995496669e..84a8e3251cb58af1e59b84c251d9d6fe459d70c415632177127feadee214b7b1 100644 --- a/doc/download.texi +++ b/doc/download.texi @@ -28,6 +28,10 @@ @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} diff --git a/doc/news.ru.texi b/doc/news.ru.texi index 9654311270413f3dcd0ca8a235d9a992dbbfe3d0b9e6df5eec3f5c76265b30fb..f5d57073699f8ebb49730b4db81f2f502d8a2ad311ddaabfa2bc4f2afc9ba876 100644 --- a/doc/news.ru.texi +++ b/doc/news.ru.texi @@ -1,9 +1,23 @@ @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} @@ -29,11 +43,6 @@ У @command{nncp-rm} команды можно указывать alias-ы имён нод. @item @command{nncp-pkt} может парсить @file{.hdr} файлы. - -@item -Появилась возможность мультивещательной (multicast) рассылки пакетов. -Реализовано всего лишь дополнительным типом простых пакетов и изменением -@command{nncp-toss}, @command{nncp-file} и @command{nncp-exec} команд. @end itemize diff --git a/doc/news.texi b/doc/news.texi index cd46687806d1805d8120f3ef2b0c3b7e20a4d28c8c71996c3839c6e087489c30..42406a0aaf03e9049d8f336a41083e20f90260ef1192a49dc9031e1b475afd8e 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -3,9 +3,22 @@ @unnumbered News 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} @@ -30,11 +43,6 @@ @command{nncp-rm} command can take node alias name. @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 diff --git a/doc/pkt/plain.texi b/doc/pkt/plain.texi index 7f8be1a0a91eb9f1767097296cd6f63e3b7b9f523f901ef6ec99fb1305234ce0..c3218fe66569b2238dfa00f444a1e2cfd4ba1673ceaea4a7149ef736273238bd 100644 --- a/doc/pkt/plain.texi +++ b/doc/pkt/plain.texi @@ -98,24 +98,24 @@ @end example @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 diff --git a/src/nncp.go b/src/nncp.go index 40219abdbf44b790e50796eb7b8444ee24a55a012e97e6a7a9012a3212606c7f..53a83deea72819244c6d205fee4e7d2a4c770a26c274ddb2358b4f121b958c0b 100644 --- a/src/nncp.go +++ b/src/nncp.go @@ -40,7 +40,7 @@ const Base32Encoded32Len = 52 var ( - Version string = "7.1.0" + Version string = "7.1.1" Base32Codec *base32.Encoding = base32.StdEncoding.WithPadding(base32.NoPadding) ) diff --git a/src/toss.go b/src/toss.go index daa5092e804e31c388a7ffd2f209e1fa7459c6959796aab903aa16f94af444c6..a95385af8b763b01d2312b666e3af0f0d410813a93e94442196dea67b19f3bab 100644 --- a/src/toss.go +++ b/src/toss.go @@ -200,7 +200,7 @@ if !dryRun && jobPath != "" { 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", @@ -393,7 +393,7 @@ if jobPath != "" { 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", @@ -518,7 +518,7 @@ if jobPath != "" { 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", @@ -607,7 +607,7 @@ if !dryRun && jobPath != "" { 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",