[О блоге] [наверх] [пред] [2019-04-28 17:06:24+03:00] [3e3a0d3607d756d537c28045b3a36b00cb37b000]
Темы: [nncp]

Зарелизил 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-е уже больше года
в таком неготовом, с моей точки зрения, состоянии).

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

    [оставить комментарий]