@node Новости
@section Новости
+@node Релиз 3.2
+@subsection Релиз 3.2
+@itemize
+@item
+@strong{Несовместимое} изменение формата @emph{bundle} архивов и
+работоспособность @command{nncp-bundle} команды с Go 1.10+. Bundle
+должен быть корректным tar архивом, но Go 1.9 делал его недействительным
+из-за длинных путей внутри. NNCP нечаянно был зависим от этой баги.
+Явное добавление @file{NNCP/} директории в архив восстанавливает
+работоспособность с корректными tar архивами.
+@end itemize
+
@node Релиз 3.1
@subsection Релиз 3.1
@itemize
See also this page @ref{Новости, on russian}.
+@node Release 3.2
+@section Release 3.2
+@itemize
+@item
+@strong{Incompatible} @emph{bundle} archive format changes and
+@command{nncp-bundle} workability with Go 1.10+. Bundles must be
+valid tar archives, but Go 1.9 made them invalid because of long paths
+inside. NNCP accidentally was dependant on that bug. Explicit adding of
+@file{NNCP/} directory in archive restores workability with valid tar
+archives.
+@end itemize
+
@node Release 3.1
@section Release 3.1
@itemize
job.Fd.Close()
continue
}
+ if err = tarWr.WriteHeader(&tar.Header{
+ Format: tar.FormatUSTAR,
+ Name: nncp.NNCPBundlePrefix,
+ Mode: 0700,
+ Typeflag: tar.TypeDir,
+ }); err != nil {
+ log.Fatalln("Error writing tar header:", err)
+ }
if err = tarWr.WriteHeader(&tar.Header{
Format: tar.FormatPAX,
Name: strings.Join([]string{
}
continue
}
+ if entry.Typeflag != tar.TypeDir {
+ ctx.LogD("nncp-bundle", sds, "Expected NNCP/")
+ continue
+ }
+ entry, err = tarR.Next()
+ if err != nil {
+ if err != io.EOF {
+ ctx.LogD(
+ "nncp-bundle",
+ nncp.SdsAdd(sds, nncp.SDS{"err": err}),
+ "error reading tar",
+ )
+ }
+ continue
+ }
sds["pkt"] = entry.Name
if entry.Size < nncp.PktEncOverhead {
ctx.LogD("nncp-bundle", sds, "Too small packet")