X-Git-Url: http://www.git.cypherpunks.ru/?p=nncp.git;a=blobdiff_plain;f=doc%2Fnews.texi;h=4ed60a086029d425bc633b44d1fa7b5af30a503f;hp=86e37545a258d461d9c6f473b1958b0ee615effb;hb=8f99a73cf379f046b3bfb0f4a1a715bb5e215106;hpb=0ca5764d9eeff210ebf50d6c2e03fa6cbd173b99 diff --git a/doc/news.texi b/doc/news.texi index 86e3754..4ed60a0 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -1,8 +1,376 @@ @node News +@cindex news @unnumbered News See also this page @ref{Новости, on russian}. +@node Release 8_7_0 +@section Release 8.7.0 +@itemize + +@item +@command{nncp-ack} previously did not remove corresponding @file{hdr/} files. + +@end itemize + +@node Release 8_6_0 +@section Release 8.6.0 +@itemize + +@item +@command{nncp-xfer} checks if locally copied packet's checksum differs +from the source's one. + +@item +@command{nncp-call} has bad return code if its queues contain unfinished jobs. + +@item +@command{nncp-ack} command appeared, that sends explicit packet receipt +acknowledgement (ACK packet). That acknowledgement deletes referenced +packet from the outbound spool. + +@item +Ability to turn @code{fsync} operation off using @env{$NNCPNOSYNC=1} +environment variable. + +@item +Added various indices in documentation, that should help searching in it. + +@end itemize + +@node Release 8_5_0 +@section Release 8.5.0 +@itemize + +@item +Fixed @command{nncp-bundle} workability. + +@item +Mistakenly @option{-mcd-wait} option was enabled by default in +@command{nncp-call}. + +@item +Ability to override internal default timeout for online protocol through +@env{$NNCPDEADLINE} environment variable. Can be useful for very high +delay links. + +@item +NNCP builds on OpenBSD. + +@end itemize + +@node Release 8_4_0 +@section Release 8.4.0 +@itemize + +@item +Multicast related interface names (@code{mcd-listen} and @code{mcd-send} +configuration options) are now regular expressions. By default +@command{nncp-cfgnew} uncomments them now with @code{.*} interface name. + +@item +@command{nncp-call} command has @option{-mcd-wait} option to wait for +multicast packet about node's address. + +@item +@command{nncp-file} command skips everything that is neither regular +file nor directory during pax-archive creation. + +@end itemize + +@node Release 8_3_0 +@section Release 8.3.0 +@itemize + +@item +Fixed building issues on 32-bit systems. + +@end itemize + +@node Release 8_2_0 +@section Release 8.2.0 +@itemize + +@item +Yggdrasil uses pure-Go IPv6+TCP network stack, instead of naked μTP +transport protocol, making it able to work as an ordinary TCP server +inside overlay network. + +@item +Yggdrasil's @code{prv;bind1,bind2;pub@dots{}}-like configuration strings are +replaced with URL-like ones (@code{yggdrasils://PRV?bind=BIND1&bind=BIND2&pub=PUB}). + +@item +Ability to pass multicast-related parameters to Yggdrasil configuration. + +@item +@command{nncp-daemon} is able to listen on both TCP and Yggdrasil-driven +sockets simultaneously. + +@item +@command{nncp-daemon}'s listening on peering endpoint socket is optional +-- you can be reached through the peers. + +@end itemize + +@node Release 8_1_0 +@section Release 8.1.0 +@itemize + +@item +@command{nncp-cfgdir} does not require @code{self} section existence in +configuration file. + +@item +Ability to act as Yggdrasil network client, using online protocol on top of it. + +@end itemize + +@node Release 8_0_2 +@section Release 8.0.2 +@itemize + +@item +Fixed sending ability to areas. + +@end itemize + +@node Release 8_0_1 +@section Release 8.0.1 +@itemize + +@item +Fixed incorrect @code{freq.chunked} value calculation. If it was missed, +then chunked transfer mode was forcefully turned on anyway. + +@item +Fixed incorrect full file's size calculation in @file{.nncp.meta}. + +@end itemize + +@node Release 8_0_0 +@section Release 8.0.0 +@itemize + +@item +@strong{Incompatible} encrypted packet format change: payload and pad +sizes are sent in-bound in the encrypted stream. That gives ability to +streamingly create encrypted packets, without knowing sizes in advance, +without creating temporary file or buffer data in memory. + +@item +Proper encrypted packet padding verification is done now. This is not +critical issue, but previously neither padding value, nor its size were +authenticated, giving ability to iteratively strip trailing bytes and +determine payload's size by observing the reaction of the encrypted +packet processing. + +@item +@command{nncp-exec} loses its @option{-use-tmp} option, because of +streaming-compatible encrypted packets format. + +@item +@command{nncp-file} and @command{nncp-exec} commands have +@option{-maxsize} option, limiting maximal resulting encrypted packet's +maximal size (returning error if it is exceeded). Could be useful, +because no payload size could be known in advance. + +@end itemize + +@node Release 7_7_0 +@section Release 7.7.0 +@itemize + +@item +Experimental @code{kqueue} and @code{inotify} based notifications +support about spool directory changes, for reducing their often reading +overhead. + +@item +@file{.seen} and @file{.hdr} files moved to @file{seen/} and @file{hdr/} +subdirectories, for faster scanning of spool directories. +Current files migration required: + +@example +$ find $NNCPSPOOL -type f -name "*.hdr" -exec rm @{@} + + +$ find $NNCPSPOOL -type d -name rx | while read rx ; do + cd $rx + mkdir -p seen + find . -type f -name "*.seen" | while read fn ; do + mv $fn seen/$@{fn%.seen@} + done +done + +$ find $NNCPSPOOL -type d -name area | while read area ; do + find $area -type f -name "*.seen" | while read fn ; do + mv $fn $@{fn%.seen@} + done +done +@end example + +@end itemize + +@node Release 7_6_0 +@section Release 7.6.0 +@itemize + +@item +Logging may be done to specified opened file descriptor +(@env{$NNCPLOG=FD:5} for example). +That is friendly to use under @command{daemontools}. + +@item +Added additional checks of public keys existence in configuration file, +preventing some commands from failing. + +@end itemize + +@node Release 7_5_1 +@section Release 7.5.1 +@itemize + +@item +NNCP builds on NetBSD. + +@end itemize + +@node Release 7_5_0 +@section Release 7.5.0 +@itemize + +@item +@command{nncp-daemon} is compatible with UCSPI-TCP interface, so log +will contain remote side's address (when running under appropriate +utility). @option{-ucspi} option should be used instead of @option{-inetd}. + +@item +@command{nncp-call} can be UCSPI-TCP client, using @option{-ucspi} option. + +@item +Do not exit if some of MCD network interfaces can not be listened -- +only warn about that. + +@end itemize + +@node Release 7_4_0 +@section Release 7.4.0 +@itemize + +@item +Fixed simultaneous @command{nncp-daemon} and @command{nncp-caller} MCD work. + +@end itemize + +@node Release 7_3_2 +@section Release 7.3.2 +@itemize + +@item +@command{hjson-cli} utility builds in vendor-mode now. + +@end itemize + +@node Release 7_3_1 +@section Release 7.3.1 +@itemize + +@item +Fixed possibly left opened file descriptor in online commands. + +@item +Severely decreased memory usage of MTH hashing. + +@end itemize + +@node Release 7_3_0 +@section Release 7.3.0 +@itemize + +@item +Fixed some workability problems on 32-bit systems with big files. + +@item +Ability to use directory with a bunch of files as a configuration. +@command{nncp-cfgdir} command appeared. + +@end itemize + +@node Release 7_2_1 +@section Release 7.2.1 +@itemize + +@item +Small optimizations in online commands. + +@end itemize + +@node Release 7_2_0 +@section Release 7.2.0 +@itemize + +@item +@command{nncp-trns} command appeared for manual transition packets creation. + +@item +If destination node of transitional packet has non empty @option{via} +route, then do not ignore, but use it. + +@item +Do not relay multicast packet to area message's originator, that +obviously has seen its own packet. + +@item +Much less memory usage during MTH hashing when offset is zero: when +packet is not resumed, but for example checked with @command{nncp-check} +command. + +@end itemize + +@node Release 7_1_1 +@section Release 7.1.1 +@itemize + +@item +Fixed failing directories @code{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 (@code{stdin} and @option{-use-tmp}). + +@item +Fixed disappearing bad return code in @command{nncp-exec} command. + +@item +Fixed invalid @file{.hdr} generation when transitional packets are used. + +@item +@option{-all} option appeared in @command{nncp-rm} command, applying to +all the nodes at once. + +@item +@option{-cycle} option appeared in @command{nncp-check} command, looping +the check in infinite cycle. + +@item +@command{nncp-rm} command can take node alias name. + +@item +@command{nncp-pkt} can parse @file{.hdr} files. + +@end itemize + @node Release 7_0_0 @section Release 7.0.0 @itemize @@ -194,7 +562,7 @@ second while it is active. automatic tosser options. @item -Use vendoring, instead of @env{GOPATH} overriding during tarball +Use vendoring, instead of @env{$GOPATH} overriding during tarball installation, because current minimal Go's version is 1.12 and it supports modules. @@ -205,7 +573,7 @@ supports modules. @itemize @item -Respect for @env{BINDIR}, @env{INFODIR} and @env{DOCDIR} environment +Respect for @env{$BINDIR}, @env{$INFODIR} and @env{$DOCDIR} environment variables in @file{config} during installation. @end itemize @@ -366,7 +734,7 @@ Bugfix: private and public Noise keys were swapped in newly created configuration files, that lead to inability to authenticate online peers. @item -Explicit directories fsync-ing for guaranteed files renaming. +Explicit directories @code{fsync}-ing for guaranteed files renaming. @end itemize @@ -393,7 +761,7 @@ Free disk space is checked during outbound packets creation. @item @option{freq}, @option{freqminsize}, @option{freqchunked} configuration file options replaced with the structure: -@option{freq: @{path: ..., minsize: ..., chunked: ...@}}. +@option{freq: @{path: @dots{}, minsize: @dots{}, chunked: @dots{}@}}. @item Added @option{freq.maxsize} configuration file option, forbidding of @@ -568,8 +936,8 @@ option in configuration file and using @command{nncp-exec} command: you must use @verb{|nncp-exec NODE sendmail RECIPIENT|}. @item @option{sendmail} configuration file option is replaced with - @option{exec}. @verb{|sendmail: [...]|} must be replaced with - @verb{|exec: sendmail: [...]|}. + @option{exec}. @code{sendmail: [@dots{}]} must be replaced with + @code{exec: sendmail: [@dots{}]}. @end itemize @item @@ -582,8 +950,8 @@ Chunked files, having size less than specified chunk size, will be sent as an ordinary single file. @item -Exec commands are invoked with additional @env{NNCP_NICE} and -@env{NNCP_SELF} environment variables. +Exec commands are invoked with additional @env{$NNCP_NICE} and +@env{$NNCP_SELF} environment variables. @item Files, that are sent as a reply to freq, have niceness level taken from @@ -659,7 +1027,7 @@ command line argument, or environment variable. @node Release 0_12 @section Release 0.12 @itemize -@item Sendmail command is called with @env{NNCP_SENDER} environment variable. +@item Sendmail command is called with @env{$NNCP_SENDER} environment variable. @end itemize @node Release 0_11