From d69d20bcb4043ef96041401fd722620d349234ab Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Thu, 14 Nov 2019 19:29:43 +0300 Subject: [PATCH] Unify news source formatting --- doc/news.ru.texi | 175 +++++++++++++++++++++++++++++++++-------------- doc/news.texi | 173 ++++++++++++++++++++++++++++++++-------------- 2 files changed, 247 insertions(+), 101 deletions(-) diff --git a/doc/news.ru.texi b/doc/news.ru.texi index 47bb716..7411c8e 100644 --- a/doc/news.ru.texi +++ b/doc/news.ru.texi @@ -4,93 +4,123 @@ @node Релиз 5.0.0 @subsection Релиз 5.0.0 @itemize -@item @strong{Несовместимое} изменение формата конфигурационного файла: - YAML заменён на Hjson, из-за его гораздо большей простоты, без - заметного потеря функционала и удобства. -@item @strong{Несовместимое} изменение формата простых пакетов. Работа - со старыми версиями не поддерживается. @code{zlib} сжатие заменено - на @code{Zstandard}, так как оно значительно быстрее и эффективнее, - не смотря на то, что версия библиотеки ещё не проверена временем. -@item @command{nncp-cfgnew} генерирует конфигурационный файл с - множеством комментариев. Можно использовать @option{-nocomments} - опцию для старого поведения. -@item Дубликаты имён файлов имеют суффикс @file{.CTR}, вместо - @file{CTR}, чтобы избежать возможных коллизий с @file{.nncp.chunkCTR}. -@item По умолчанию файлы и директории создаются с 666/777 правами - доступа, позволяя управлять ими @command{umask}-ом. -@item Обновлены зависимости. -@item Полное использование go модулей для управления зависимостями - (используется @code{go.cypherpunks.ru/nncp/v5} namespace). -@item Отмена автоматического использования более новых версий GNU GPL - (лицензия проекта GNU GPLv3-только). + +@item +@strong{Несовместимое} изменение формата конфигурационного файла: +YAML заменён на Hjson, из-за его гораздо большей простоты, без +заметного потеря функционала и удобства. + +@item +@strong{Несовместимое} изменение формата простых пакетов. Работа со +старыми версиями не поддерживается. @code{zlib} сжатие заменено на +@code{Zstandard}, так как оно значительно быстрее и эффективнее, не +смотря на то, что версия библиотеки ещё не проверена временем. + +@item +@command{nncp-cfgnew} генерирует конфигурационный файл с множеством +комментариев. Можно использовать @option{-nocomments} опцию для старого +поведения. + +@item +Дубликаты имён файлов имеют суффикс @file{.CTR}, вместо @file{CTR}, +чтобы избежать возможных коллизий с @file{.nncp.chunkCTR}. + +@item +По умолчанию файлы и директории создаются с 666/777 правами доступа, +позволяя управлять ими @command{umask}-ом. + +@item +Обновлены зависимости. + +@item +Полное использование go модулей для управления зависимостями +(используется @code{go.cypherpunks.ru/nncp/v5} namespace). + +@item +Отмена автоматического использования более новых версий GNU GPL +(лицензия проекта GNU GPLv3-только). + @end itemize @node Релиз 4.1 @subsection Релиз 4.1 @itemize -@item -Восстановлена работоспособность на GNU/Linux системах и Go версии 1.10. +@item Восстановлена работоспособность на GNU/Linux системах и Go версии 1.10. @end itemize @node Релиз 4.0 @subsection Релиз 4.0 @itemize + @item @strong{Несовместимое} изменение формата зашифрованных и eblob пакетов: используется AEAD режим шифрования с 128 КиБ блоками, так как раньше @command{nncp-toss} не проверял MAC зашифрованного пакета прежде чем отсылать дешифрованные данные внешней команде. Старые версии не поддерживаются. + @item Проверка доступного места перед копированием во время работы @command{nncp-xfer}, @command{nncp-daemon}, @command{nncp-call(er)}. + @item @command{nncp-call} имеет возможность только показывать список пакетов на удалённой машине, без их передачи. + @item @command{nncp-call} имеет возможность передавать только чётко указанные пакеты. + @item Восстановлена работоспособность @option{xxrate} настройки в @option{calls} секции конфигурационного файла. + @item Зависимые библиотеки обновлены. + @item Небольшие исправления ошибок. + @item Начало использования @code{go.mod} подсистемы. + @end itemize @node Релиз 3.4 @subsection Релиз 3.4 @itemize -@item -@command{nncp-daemon} может быть запущен как @command{inetd}-служба. +@item @command{nncp-daemon} может быть запущен как @command{inetd}-служба. @end itemize @node Релиз 3.3 @subsection Релиз 3.3 @itemize + @item @command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller} проверяют существование @file{.seen} файла и расценивают его как то, что файл уже был скачан. Возможно передача данных была осуществлена сторонним способом и удалённая сторона должна быть оповещена об этом. + @item Если более высокоприоритетный пакет попадает в спул, то @command{nncp-daemon} добавит его в очередь отправки первым, прерывая низкоприоритетные передачи. + @item К средствам связанным с online-соединениями (@command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller}) добавлен простой ограничитель скорости. + @item Возможность задания приоритета символьными обозначениями: @verb{|NORMAL|}, @verb{|BULK+10|}, @verb{|PRIORITY-5|}, итд. + @item Изменены значения приоритетов по-умолчанию: для @command{nncp-exec} с 64 на 96, для @command{nncp-freq} с 64 на 160, для @command{nncp-file} с 196 на 224. + @end itemize @node Релиз 3.2 @@ -116,9 +146,11 @@ @node Релиз 3.0 @subsection Релиз 3.0 @itemize + @item @strong{Несовместимое} изменение формата простых пакетов. Работа со старыми версиями не поддерживается. + @item Добавлена возможность удалённого исполнения команд, путём конфигурирования @option{exec} опции конфигурационного файла и @@ -133,84 +165,100 @@ @option{exec}. @verb{|sendmail: [...]|} нужно заменить на @verb{|exec: sendmail: [...]|}. @end itemize + @item Возможность переопределить @option{via} опцию конфигурации для целевого узла через @option{-via} опцию командной строки для следующих команд: @command{nncp-file}, @command{nncp-freq}, @command{nncp-exec}. + @item Chunked файлы, меньшего размера чем указанный chunk, отправляются просто в виде одного файла. + @item Exec команды вызываются с дополнительными переменными окружения @env{NNCP_NICE} и @env{NNCP_SELF}. + @item Отправляемые файлы в ответ на запрос имеют приоритет указанный в запросе. Указать их желаемый приоритет во время вызова @command{nncp-freq} можно аргументом @option{-replynice}. + @item Команде @command{nncp-toss} можно сказать не обрабатывать определённые типы пакетов, за счёт опций @option{-nofile}, @option{-nofreq}, @option{-noexec}, @option{-notrns}. + @item По-умолчанию @command{nncp-file} команда для @option{-minsize}/@option{-chunked} опций использует @option{FreqMinSize}/@option{FreqChunked} из конфигурационного файла. Это можно отключить указав нулевое значение. + @end itemize @node Релиз 2.0 @subsection Релиз 2.0 @itemize + @item @strong{Несовместимое} изменение формата зашифрованных и eblob пакетов. Работа со старыми версиями не поддерживается. + @item Алгоритм шифрования Twofish заменён на ChaCha20. Он намного быстрее. Одним криптографическим примитивом меньше. + @item HKDF-BLAKE2b-256 KDF алгоритм заменён на BLAKE2Xb XOF. Ещё одним криптографическим примитивом меньше (предполагая, что BLAKE2X практически идентичен BLAKE2). + @end itemize @node Релиз 1.0 @subsection Релиз 1.0 @itemize + @item @strong{Несовместимое} изменение формата зашифрованных пакетов. Работа со старыми версиями не поддерживается. + @item @command{nncp-bundle} команда может создавать потоки зашифрованных пакетов или потреблять их. Это полезно когда речь идёт о stdin/stdout методах передачи (например запись на CD-ROM без создания промежуточного подготовленного ISO образа или работа с ленточными накопителями). + @item @command{nncp-toss} команда может создавать @file{.seen} файлы, предотвращая приём дублированных пакетов. + @item В команде @command{nncp-call} разрешается иметь только одного обработчика контрольной суммы в фоне. Это полезно когда тысячи маленьких входящих пакетов могут создать много горутин. + @item Возможность переопределить путь до spool директории и файла журнала через аргумент командной строки или переменную окружения. + @item @command{nncp-rm} команда может удалять все исходящие/входящие, @file{.seen}, @file{.part}, @file{.lock} и временные файлы. + @end itemize @node Релиз 0.12 @subsection Релиз 0.12 @itemize -@item -Команда sendmail вызывается с @env{NNCP_SENDER} переменной окружения. +@item Команда sendmail вызывается с @env{NNCP_SENDER} переменной окружения. @end itemize @node Релиз 0.11 @subsection Релиз 0.11 @itemize -@item -Вывод команды @command{nncp-stat} отсортирован по имени ноды. +@item Вывод команды @command{nncp-stat} отсортирован по имени ноды. @end itemize @node Релиз 0.10 @@ -241,6 +289,7 @@ HKDF-BLAKE2b-256 KDF алгоритм заменён на BLAKE2Xb XOF. Ещё @node Релиз 0.7 @subsection Релиз 0.7 @itemize + @item Возможность предоставлять данные для @command{nncp-file} через стандартный ввод, используя временный зашифрованный файл для этого. @@ -267,12 +316,14 @@ HKDF-BLAKE2b-256 KDF алгоритм заменён на BLAKE2Xb XOF. Ещё а @command{nncp-mincfg} в @command{nncp-cfgmin}, для того чтобы они имели общий префикс и были сгруппированы для удобства. -@item Появилась команда @command{nncp-cfgenc}, позволяющая +@item +Появилась команда @command{nncp-cfgenc}, позволяющая шифровать/дешифровать конфигурационный файл, чтобы безопасно его хранить без использования OpenPGP или других подобных инструментов. @item Обновлены зависимые криптографические библиотеки. + @end itemize @node Релиз 0.6 @@ -285,46 +336,68 @@ HKDF-BLAKE2b-256 KDF алгоритм заменён на BLAKE2Xb XOF. Ещё @node Релиз 0.5 @subsection Релиз 0.5 @itemize -@item Тривиальное небольшое исправление в значениях приоритетов -по-умолчанию в @command{nncp-file} и @command{nncp-freq} командах. +@item +Тривиальное небольшое исправление в значениях приоритетов по-умолчанию в +@command{nncp-file} и @command{nncp-freq} командах. @end itemize @node Релиз 0.4 @subsection Релиз 0.4 @itemize -@item Небольшое исправление в @command{nncp-call}, @command{nncp-caller}, + +@item +Небольшое исправление в @command{nncp-call}, @command{nncp-caller}, @command{nncp-daemon}: иногда они могли падать с segmentation fault ошибкой (данные не терялись). -@item @command{nncp-newnode} переименована в @command{nncp-newcfg} -- + +@item +@command{nncp-newnode} переименована в @command{nncp-newcfg} -- это короче и удобнее для использования. -@item Появилась команда @command{nncp-mincfg}: вспомогательная утилита + +@item +Появилась команда @command{nncp-mincfg}: вспомогательная утилита позволяющая создать минималистичный урезанный конфигурационный файл без приватных ключей, что полезно во время использования @command{nncp-xfer}. + @end itemize @node Релиз 0.3 @subsection Релиз 0.3 -Исправлена совместимость с Go 1.6. +@itemize +@item Исправлена совместимость с Go 1.6. +@end itemize @node Релиз 0.2 @subsection Релиз 0.2 @itemize -@item @strong{Несовместимое} изменение формата пакета (магическое число -тоже изменено): поле размера пакета шифруется и не посылается в открытом -виде. -@item @option{-minsize} опция даёт возможность автоматически дополнять + +@item +@strong{Несовместимое} изменение формата пакета (магическое число тоже +изменено): поле размера пакета шифруется и не посылается в открытом виде. + +@item +@option{-minsize} опция даёт возможность автоматически дополнять исходящие пакеты до указанного минимального размера. -@item @command{nncp-daemon} и -@command{nncp-call}/@command{nncp-caller} всегда в фоне проверяют появление -исходящих @emph{tx} пакетов пока подключены. Удалённая сторона сразу же -оповещается об этом. -@item @option{-onlinedeadline} опция даёт возможность выставления -timeout-а на неактивность в online соединении, когда оно должно быть -отключено. Она может быть использована для сохранения соединения на -долгое время. -@item @option{-maxonlinetime} опция даёт возможность указания -максимального возможного времени жизни соединения. -@item Появилась @command{nncp-caller} команда: клиент TCP-демона -работающий по cron-у. -@item @command{nncp-pkt} команда может разжимать данные. + +@item +@command{nncp-daemon} и @command{nncp-call}/@command{nncp-caller} всегда +в фоне проверяют появление исходящих @emph{tx} пакетов пока подключены. +Удалённая сторона сразу же оповещается об этом. + +@item +@option{-onlinedeadline} опция даёт возможность выставления timeout-а на +неактивность в online соединении, когда оно должно быть отключено. Она +может быть использована для сохранения соединения на долгое время. + +@item +@option{-maxonlinetime} опция даёт возможность указания максимального +возможного времени жизни соединения. + +@item +Появилась @command{nncp-caller} команда: клиент TCP-демона работающий по +cron-у. + +@item +@command{nncp-pkt} команда может разжимать данные. + @end itemize diff --git a/doc/news.texi b/doc/news.texi index 5135efe..f4d7dc4 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -6,90 +6,120 @@ See also this page @ref{Новости, on russian}. @node Release 5.0.0 @section Release 5.0.0 @itemize -@item @strong{Incompatible} configuration file format change: YAML is - replaced with Hjson, due to its simplicity, without noticeable lack - of either functionality or convenience. + +@item +@strong{Incompatible} configuration file format change: YAML is +replaced with Hjson, due to its simplicity, without noticeable lack +of either functionality or convenience. + +@item @strong{Incompatible} plain packet format changes. Older versions are - not supported. @code{zlib} compression is replaced with - @code{Zstandard}, due to its speed and efficiency, however library - version is not mature enough. -@item @command{nncp-cfgnew} generates configuration file with many - comments. @option{-nocomments} option can be used for an old - behaviour. -@item Duplicate filenames have @file{.CTR} suffix, instead of - @file{CTR}, to avoid possible collisions with @file{.nncp.chunkCTR}. -@item Files and directories are created with 666/777 permissions by - default, allowing control with @command{umask}. -@item Updated dependencies. -@item Full usage of go modules for dependencies management - (@code{go.cypherpunks.ru/nncp/v5} namespace is used). -@item Forbid any later GNU GPL version autousage - (project's licence now is GNU GPLv3-only). +not supported. @code{zlib} compression is replaced with +@code{Zstandard}, due to its speed and efficiency, despite library +version is not mature enough. + +@item +@command{nncp-cfgnew} generates configuration file with many +comments. @option{-nocomments} option can be used for an old +behaviour. + +@item +Duplicate filenames have @file{.CTR} suffix, instead of @file{CTR}, to +avoid possible collisions with @file{.nncp.chunkCTR}. + +@item +Files and directories are created with 666/777 permissions by default, +allowing control with @command{umask}. + +@item +Updated dependencies. + +@item +Full usage of go modules for dependencies management +(@code{go.cypherpunks.ru/nncp/v5} namespace is used). + +@item +Forbid any later GNU GPL version autousage +(project's licence now is GNU GPLv3-only). + @end itemize @node Release 4.1 @section Release 4.1 @itemize -@item -Workability on GNU/Linux systems and Go 1.10 is fixed. +@item Workability on GNU/Linux systems and Go 1.10 is fixed. @end itemize @node Release 4.0 @section Release 4.0 @itemize + @item @strong{Incompatible} encrypted and eblob packet format change: AEAD encryption mode with 128 KiB blocks is used now, because previously @command{nncp-toss} did not verify encrypted packet's MAC before feeding decrypted data to external command. Older versions are not supported. + @item Available free space checking before copying in @command{nncp-xfer}, @command{nncp-daemon}, @command{nncp-call(er)}. + @item @command{nncp-call} has ability only to list packets on remote node, without their transmission. + @item @command{nncp-call} has ability to transfer only specified packets. + @item Workability of @option{xxrate} preference in @option{calls} configuration file section. + @item Dependant libraries are updated. + @item Minor bugfixes. + @item Begin using of @code{go.mod} subsystem. + @end itemize @node Release 3.4 @section Release 3.4 @itemize -@item -@command{nncp-daemon} can be run as @command{inetd}-service. +@item @command{nncp-daemon} can be run as @command{inetd}-service. @end itemize @node Release 3.3 @section Release 3.3 @itemize + @item @command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller} check if @file{.seen} exists and treat it like file was already downloaded. Possibly it was transferred out-of-bound and remote side needs to be notifier about that. + @item If higher priority packet is spooled, then @command{nncp-daemon} will queue its sending first, interrupting lower priority transmissions. + @item Simple packet rate limiter added to online-related tools (@command{nncp-daemon}, @command{nncp-call}, @command{nncp-caller}). + @item Ability to specify niceness with symbolic notation: @verb{|NORMAL|}, @verb{|BULK+10|}, @verb{|PRIORITY-5|}, etc. + @item Changed default niceness levels: for @command{nncp-exec} from 64 to 96, for @command{nncp-freq} from 64 to 160, for @command{nncp-file} from 196 to 224. + @end itemize @node Release 3.2 @@ -114,9 +144,11 @@ Ability to disable relaying at all using @verb{|-via -|} command line option. @node Release 3.0 @section Release 3.0 @itemize + @item @strong{Incompatible} plain packet format changes. Older versions are not supported. + @item Ability to queue remote command execution, by configuring @option{exec} option in configuration file and using @command{nncp-exec} command: @@ -130,84 +162,100 @@ option in configuration file and using @command{nncp-exec} command: @option{exec}. @verb{|sendmail: [...]|} must be replaced with @verb{|exec: sendmail: [...]|}. @end itemize + @item Ability to override @option{via} configuration option for destination node via @option{-via} command line option for following commands: @command{nncp-file}, @command{nncp-freq}, @command{nncp-exec}. + @item 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. + @item Files, that are sent as a reply to freq, have niceness level taken from the freq packet. You can set desired niceness during @command{nncp-freq} invocation using @option{-replynice} option. + @item @command{nncp-toss} command can ignore specified packet types during processing: @option{-nofile}, @option{-nofreq}, @option{-noexec}, @option{-notrns}. + @item @command{nncp-file} command uses @option{FreqMinSize}/@option{FreqChunked} configuration file options for @option{-minsize}/@option{-chunked} by default. You can turn this off by specifying zero value. + @end itemize @node Release 2.0 @section Release 2.0 @itemize + @item @strong{Incompatible} encrypted/eblob packet format changes. Older versions are not supported. + @item Twofish encryption algorithm is replaced with ChaCha20. It is much more faster. One cryptographic primitive less. + @item HKDF-BLAKE2b-256 KDF algorithm is replaced with BLAKE2Xb XOF. Yet another cryptographic primitive less (assuming that BLAKE2X is nearly identical to BLAKE2). + @end itemize @node Release 1.0 @section Release 1.0 @itemize + @item @strong{Incompatible} encrypted packet format changes. Older versions are not supported. + @item @command{nncp-bundle} command can either create stream of encrypted packets, or digest it. It is useful when dealing with stdin/stdout based transmission methods (like writing to CD-ROM without intermediate prepared ISO image and working with tape drives). + @item @command{nncp-toss} is able to create @file{.seen} files preventing duplicate packets receiving. + @item Single background checksum verifier worker is allowed in @command{nncp-call}. This is helpful when thousands of small inbound packets could create many goroutines. + @item Ability to override path to spool directory and logfile through either command line argument, or environment variable. + @item @command{nncp-rm} is able to delete outbound/inbound, @file{.seen}, @file{.part}, @file{.lock} and temporary files. + @end itemize @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 @section Release 0.11 @itemize -@item -@command{nncp-stat}'s command output is sorted by node name. +@item @command{nncp-stat}'s command output is sorted by node name. @end itemize @node Release 0.10 @@ -237,6 +285,7 @@ option for unchunked transfer was not in KiBs, but in bytes. @node Release 0.7 @section Release 0.7 @itemize + @item Ability to feed @command{nncp-file} from stdin, that uses an encrypted temporary file for that. @@ -270,6 +319,7 @@ similar tools usage. @item Cryptographic libraries (dependencies) are updated. + @end itemize @node Release 0.6 @@ -282,44 +332,67 @@ Cryptographic libraries (dependencies) are updated. @node Release 0.5 @section Release 0.5 @itemize -@item Trivial small fix in default niceness level of @command{nncp-file} +@item +Trivial small fix in default niceness level of @command{nncp-file} and @command{nncp-freq} commands. @end itemize @node Release 0.4 @section Release 0.4 @itemize -@item Small fix in @command{nncp-call}, @command{nncp-caller}, + +@item +Small fix in @command{nncp-call}, @command{nncp-caller}, @command{nncp-daemon}: they can segmentation fail sometimes (no data is lost). -@item @command{nncp-newnode} renamed to @command{nncp-newcfg} -- it is -shorter and more convenient to use. -@item @command{nncp-mincfg} command appeared: helper allowing to create -minimalistic stripped down configuration file without private keys, -that is useful during @command{nncp-xfer} usage. + +@item +@command{nncp-newnode} renamed to @command{nncp-newcfg} -- it is shorter +and more convenient to use. + +@item +@command{nncp-mincfg} command appeared: helper allowing to create +minimalistic stripped down configuration file without private keys, that +is useful during @command{nncp-xfer} usage. + @end itemize @node Release 0.3 @section Release 0.3 -Fixed compatibility with Go 1.6. +@itemize +@item Fixed compatibility with Go 1.6. +@end itemize @node Release 0.2 @section Release 0.2 @itemize -@item @strong{Incompatible} packet's format change (magic number is -changed too): size field is encrypted and is not send in plaintext -anymore. -@item @option{-minsize} option gives ability to automatically pad -outgoing packets to specified minimal size. -@item @command{nncp-daemon} and -@command{nncp-call}/@command{nncp-caller} always check new @emph{tx} -packets appearance in the background while connected. Remote side is -immediately notified. -@item @option{-onlinedeadline} option gives ability to configure timeout -of inactivity of online connection, when it could be disconnected. It -could be used to keep connection alive for a long time. -@item @option{-maxonlinetime} option gives ability to set maximal -allowable online connection aliveness time. -@item @command{nncp-caller} command appeared: cron-ed TCP daemon caller. -@item @command{nncp-pkt} command can decompress the data. + +@item +@strong{Incompatible} packet's format change (magic number is changed +too): size field is encrypted and is not send in plaintext anymore. + +@item +@option{-minsize} option gives ability to automatically pad outgoing +packets to specified minimal size. + +@item +@command{nncp-daemon} and @command{nncp-call}/@command{nncp-caller} +always check new @emph{tx} packets appearance in the background while +connected. Remote side is immediately notified. + +@item +@option{-onlinedeadline} option gives ability to configure timeout of +inactivity of online connection, when it could be disconnected. It could +be used to keep connection alive for a long time. + +@item +@option{-maxonlinetime} option gives ability to set maximal allowable +online connection aliveness time. + +@item +@command{nncp-caller} command appeared: cron-ed TCP daemon caller. + +@item +@command{nncp-pkt} command can decompress the data. + @end itemize -- 2.48.1