Стабильный выпуск новой ветки Tor 0.3.1

Представлен выпуск инструментария Tor 0.3.1.7, используемого для организации работы анонимной сети Tor. Tor 0.3.1.7 признан первым стабильным выпуском ветки 0.3.1, которая развивалась последние пять месяцев.

Основные новшества:

  • Задействован более компактный формат документа со сведениями о состоянии сети (consensus), загружаемого клиентами для выбора шлюзов. Новый вариант включает только изменения по сравнению с уже имеющейся у клиента версией документа, что позволяет существенно сократить объём передаваемого трафика (до 94%), необходимого для поддержания актуальной информации о сети;
  • Для сжатия трафика с серверов директорий теперь могут применяться алгоритмы zstd и lzma. Так как lzma требует больших процессорных ресурсов при сжатии, он применяется только для документов, которые сжимаются один раз, а раздаются многократно;
  • На стороне шлюзов ресурсоёмкие операции сжатия и генерация данных об отличиях в документах вынесены в рабочие потоки (worker threads), которые не блокируют выполнение основного потока;
  • Новая система добавочного заполнения, устойчивая к системам анализа трафика, получающим сведения при помощи протокола Netflow;
  • В сборочную систему добавлена экспериментальная возможность сборки компонентов, написанных на языке Rust (пока подобные компоненты отсутствуют, добавлена лишь тестовая заглушка). Для включения поддержки Rust добавлена сборочная опция »--enable-rust»;
  • В число обязательных сборочных зависимостей добавлена утилита pkg-config (требуется для сборки с zstd и lzma);
  • В файлах конфигурации torrc добавлена поддержка директивы »%include» для вставки содержимого других файлов.

Кроме того, представлены корректирующие выпуски прошлых веток Tor 0.2.8.15, 0.2.9.12 и 0.3.0.11. Кроме исправления накопившихся ошибок в новых выпусках устранена уязвимость (CVE-2017–0380) в коде обеспечения работы скрытых сервисов, которая может привести к записи в лог содержимого стека. Проблема проявляется только при установке значения 0 в опции SafeLogging (по умолчанию выставляется 1).

© OpenNet