]> Sergey Matveev's repositories - stargrave-blog.git/commit
Зарелизил NNCP 4.0!
authorSergey Matveev <stargrave@stargrave.org>
Sun, 28 Apr 2019 14:06:24 +0000 (17:06 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 28 Apr 2019 14:06:24 +0000 (17:06 +0300)
commit3e3a0d3607d756d537c28045b3a36b00cb37b000
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parentbf682e126181cba06ca5bf0848e9beb682369246
Зарелизил NNCP 4.0!

https://lists.cypherpunks.ru/pipermail/nncp-devel/2019-April/000075.html
Психанул и решил доделать все TODO/bugfix-ы к NNCP. Если кто думает что
этот проект я забросил и в течении года ничего не делал поэтому --
ничего подобного. NNCP активно используется ежедневно (куча файлов и ВСЯ
почта (а по ней и RSS/Atom рассылки) проходит через него). Просто он
выполняет все поставленные задачи. Но всякие недочёты накопились.

Самое главное -- вместо ChaCha20 и BLAKE2b-MAC я решил перейти просто на
ChaCha20-Poly1305 AEAD шифрование блоками. Главная причина: не гоже
кормить не аутентифицированный материал внешней exec команде. Можно
сначала просчитать весь MAC, потом seek-нуть на начало и уже заниматься
дешифрованием, но: это усложняет интерфейсы (которые сейчас
Reader/Writer простые), при больших объёмах нагрузит жёсткие диски,
нагрузит CPU, так как во время второго прохода всё-равно стоит считать
MAC, так как данные гипотетически могут прийти изменённые (возможно
просто из-за ошибок чтения). Плюнул и решил просто AEAD делать, ибо не
так уж сильно про 128 KiB блоках он и добавляет overhead. Код во многих
местах упростился.

Плюс начал использовать подсистему модулей Go. Отказаться от git
submodule не получается, так как сделать release tarball на одних только
модулях не выходит (пока? хотя оно по тикетам в Github-е уже больше года
в таком неготовом, с моей точки зрения, состоянии).

Кроме того, проверяю наличие свободного места когда хочу
скачать/скопировать какой-то файл. Без этого системы творят непотребное:
копируют, падают из-за нехватки места, удаляют, снова копируют, и т.д..