|
0.9.8
!! Исправление: use-after-free на пути обработки запроса ftp:// в HTTP-прокси, перевыделение буфера запроса оставляло устаревший указатель; повреждение кучи, требуется аутентифицированный доступ
!! Исправление: переполнение буфера в radsend() при слишком длинном имени хоста в запросе; RADIUS является экспериментальным, для достижения кода необходимы log radius или auth radius в сочетании с fakeresolve
!! Исправление: переполнение буфера в smtpp при передаче учётных данных AUTH LOGIN серверу, поддерживающему только AUTH PLAIN; требуется авторизованный доступ к smtpp
!! Исправление: чтение за границами буфера в tlspr при некорректном TLS ClientHello
!! Исправление: LDAP-инъекция и небезопасные имена файлов счётчиков в LdapPlugin; плагин не поддерживается и не собирается вместе с 3proxy
!! Исправление: сравнение паролей и хешей в strong-аутентификации теперь выполняется за постоянное время
!! Исправление: проверка границ и ограничения match/depth в pcre-фильтрах
+ imapp: добавлен IMAPv4-прокси, поддерживаются команда LOGIN, AUTH PLAIN и AUTH LOGIN
+ Поддержка STARTTLS для smtpp, pop3p, imapp и tlspr, как со стороны клиента, так и со стороны сервера; опция -x для отключения
+ wolfSSL поддерживается как альтернативный TLS-бэкенд, выбирается через WOLFSSL_CHECK=true (wolfSSL должен быть собран с --enable-opensslextra)
+ HTTP-прокси поддерживает Transfer-Encoding: chunked от клиента
+ dnspr: добавлена опция -F, фиктивное разрешение имён для перенаправления трафика
+ Поддержка сборки ucrt64; поддержка статических библиотек в Makefile.win
+ Docker-образы minimal и busybox переведены на musl + wolfSSL
- Поддержка splice() больше не собирается по умолчанию, она медленнее пути read/write для большинства видов трафика; для сборки добавьте -DWITHSPLICE
! Исправление: элемент хеш-таблицы добавлялся с неверным индексом при росте таблицы; на больших таблицах пользователей/паролей это могло приводить к отсутствию одной записи
! Исправление: состояния гонки; переполнение стека во FreeBSD
! Исправление: генерируемые сертификаты имеют формат X.509 v3 с basicConstraints CA:FALSE и extendedKeyUsage serverAuth, что требуется TLS-стеком Apple и Chrome в macOS/iOS
! Исправление: dnspr был сломан со времён переписывания udppm
! Исправление: короткие пароли в открытом виде не проходили аутентификацию
! Исправление: согласование с родителем после отправки заголовка PROXY protocol
! Исправление: maxchild сбрасывался в 100 при перезагрузке конфигурации, если не задан явно
! Исправление: getrandom() не используется с glibc ниже 2.25
! Исправление: определение IPV6_BOUND_IF для устаревших версий MacOS
! Исправление: сборка cmake, сборка Docker для arm64, Makefile.win с UCRT
! Множество мелких исправлений и очистка кода
0.9.7
+ Код PCRE2 и SSL/TLS перенесён из плагинов в основной бинарный файл 3proxy; по умолчанию динамическое связывание с ssl/pcre, опции STATIC/LIBSTATIC для статического связывания
+ Поддержка unix-сокетов для родительских прокси, tcppm, внутренних слушателей и опции -i; абстрактные (безфайловые) unix-сокеты в Linux
+ ssl_client_mode = 3 для использования «безопасных» типов родителя: https, tcps, socks5s, connect+s и т.д.
+ Новые типы authcache: cacheacl, dstaddr, dstport, dsthost, dstoper, srvaddr, srvport; authcache настраивается для каждого сервиса
+ Хеш-таблицы для списков паролей и authcache, более быстрый поиск паролей
+ 3proxy_crypt: новое внутреннее хеширование паролей, заменяющее mycrypt
+ udppm переведён на хеш-таблицы и поддерживает множество соединений
+ Поддержка UDP-родителя для SOCKSv5; опции NAT -Ne/-Ni
+ Docker-образы для большего числа платформ, подписанные; подписанные DLL; публичный сертификат добавлен в сборку
+ Grace sleep и linger при закрытии соединения; корректная обработка полузакрытых соединений
+ Разрешено задавать внутренние/внешние сетевые пространства имён (network namespaces) в Linux
- Код icqpr/OSCAR удалён
! Исправление: некорректная ошибка в SSL server handshake могла ломать состояние сервиса
! Исправление: некорректное смещение в datafilters
! Исправление: некорректный сокет в poll() мог ломать sockmap() в Windows
! Исправление: взаимоблокировка (deadlock) в ftppr
! Исправление: падение на standalone-сервисах
! Исправление: падение из-за неинициализированного mutex в Windows
! Исправление: родитель socks v5 без аутентификации
! Исправление: зависающие соединения в sockmap; лишний poll в sockmap
! Исправление: конфликт символов с OpenSSL мог приводить к падению
! Исправление: совместимость со старыми версиями SSL и старыми версиями Windows (7 и ниже)
! Множество мелких исправлений и очистка кода
0.9.6
+ В SSLPlugin добавлены ssl_client и множество опций конфигурации, код SSLPlugin значительно улучшен и исправлен. См. https://github.com/3proxy/3proxy/wiki/SSLPlugin. 3proxy теперь может использоваться как замена stunnel во многих сценариях.
+ Поддержка прокси-протокола HAProxy v1 на стороне клиента и сервера. Добавлена опция -H для сервиса, чтобы ожидать заголовок прокси-протокола HA v1. Используйте тип родителя ha: parent 1000 ha 0.0.0.0 0 для отправки заголовка v1.
+ tlspr поддерживается в режиме auto
+ tlspr поддерживает опцию -s, которая разбивает HELLO-пакет для предотвращения обнаружения SNI некоторыми DPI
+ Добавлена опция конфигурации maxseg и поддержка флага сокета TCP_MAXSEG. Устанавливает максимальный размер TCP-сегмента для решения проблем с обнаружением PathMTU
+ Добавлены опции -Ne / -Ni для указания внешнего/внутреннего NAT-адреса для SOCKSv5
+ Добавлено окружение cmake
! Внешняя библиотека pcre2 (pcre2-8) используется для PCRE, код pcre удалён из 3proxy
! Множество мелких исправлений ошибок
0.9.5
!!Фикс безопасности: потенциальный креш при обработке запроса из-за перекрывающихся регионов в strcpy()
+ Новый тип сервиса прокси: tlspr - SNI proxy, может быть так же использован в виде parent с типом tls, достает имя хоста из TLS хендшейка, документация
+ Новый тип прокси: auto - автоматически выбирает между socks и proxy по запросу клиента
+ SSLPlugin полностью переписан доведен до статуса production-ready, поддерживает TLS (SSL) server (можно использовать для создания прокси типа https:// ), умеет проверять сертификаты, документация
+ Добавлена опция -g (grace) для разгрузки процессара при высоких нагрузках, документация
! Множество более мелких фиксов
+ Новые поддерживаемые опции на сокеты
0.9.4
! Fix: invalid handling of '-' character in ACL hostname
! Fix: minor bugfixes and improvements
+ parentretry command added (defaults to 2) to retry connections to parent proxies
- icqpr related code (OSCAR proxy) removed, due to drop of OSCAR support by messengers
0.9.3
Bugfixes:
Fixed: systemd description file (proxy may fail to start after reboot or via systemctl)
Fixed: group/account creation in installation scripts
Fixed: countall/nocounall do not work in some configurations
Fixed: counters do not work if counter file is not specified
Fixed: counters without rotation (type N) are incorrectly shown in web admin interface
Fixed: %n may be incomplete or missed in long log records
Fixed: connect back functionality does not work
Improvements:
+ Docker builds
0.9.2
Bugfixes:
Fixed: bandwidth limiters (once again)
Fixed: data filtering plugins (PCREPlugin, SSLPlugin). SSLPlugin use on Linux requires to disable splice (-s0)
FIxed: standalone proxies do not react on HUP (Ctrl+C) in Linux/Unix
Fixed: few minor bugs
Improvements:
+ deb for arm platforms (experimental)
+ Openssl 1.1 support for SSLPlugin
0.9.1 - bugfix release
Пофикшены ошибки:
Fixed: сокет может быть закрыт до чтения/отравки всех данных
Fixed: не работает bandlimin
Fixed: пофикшена работа countall/nocountall
Fixed: устранено несколько race conditions
В версии 0.9 реализованы опции сокетов, в т.ч. привязка к интерфейсам в Linux/Unix, ограничения по соединениям и рейтлимитам соединений, реализован режим zero-copy под Linux, возможность
запретить одновременный вход пользователем с нескольких IP, улучшена поддержка IPv6, реализована предварительная поддержка RADIUS, поддержана платформа ARM на Windows.
Ветка 0.9 рекомендована для обновления всех более старых релизов.
Ветка 0.9 считается стабильной, разработка
ведется в ветке 10. Ветка 0.8 больше не поддерживается, за исключением
исправлений, связанных с безопасностью.
Загрузить: http://3proxy.ru/download/
|