From 19cacf0bd9022d29362101dd292c0eea42129a5d Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Sat, 4 Jul 2026 13:51:28 +0300 Subject: [PATCH] Commit as 0.9.7 --- CHANGELOG | 34 ++++++++++++++++++++++++---------- CHANGELOG.rus | 34 ++++++++++++++++++++++++---------- RELEASE | 2 +- debian/changelog | 6 ++++++ doc/changelog/0/9/7 | 23 +++++++++++++++++++++++ scripts/rh/3proxy.spec | 2 +- src/version.h | 6 +++--- 7 files changed, 82 insertions(+), 25 deletions(-) create mode 100644 doc/changelog/0/9/7 diff --git a/CHANGELOG b/CHANGELOG index 747638d..ad99846 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,11 +1,25 @@ -3proxy-0.9.6 Released April, 11 2026 +3proxy-0.9.7 Released July, 4 2026 -+ ssl_client and multiple configuration options added to SSLPlugin, SSLPlugin code significantly improved and bugfixed. See https://github.com/3proxy/3proxy/wiki/SSLPlugin. 3proxy can now be used as stunnel replacement for many scenarios. -+ HAProxy proxy protocol v1 support as client and server, add -H option for service to expect HA proxy v1 protocol header, use ha parent type: parent 1000 ha 0.0.0.0 0 to send v1 header. -+ tlspr is supported in auto -+ tlspr supports -s option, it breaks HELLO packet to prevent some DPIs from detecting SNI -+ maxseg configuration option and TCP_MAXSEG socket flag support added. It sets maximum size of TCP segment to fix PathMTU discovery problems -+ -Ne / -Ni options added to specify external / internal NAT address for SOCKSv5 -+ cmake environment added -! External pcre2 (pcre2-8) library is used for PCRE, pcre code is removed from 3proxy -! Multiple minor bugfixes \ No newline at end of file ++ PCRE2 and SSL/TLS code moved from plugins into main 3proxy binary; dynamic linking with ssl/pcre by default, STATIC/LIBSTATIC options for static linking ++ Unix sockets support for parent proxies, tcppm, internal listeners and -i option; abstract (fileless) unix sockets on Linux ++ ssl_client_mode = 3 to use 'secure' parent types: https, tcps, socks5s, connect+s, etc. ++ New authcache types: cacheacl, dstaddr, dstport, dsthost, dstoper, srvaddr, srvport; authcache is now configurable per service ++ Hashtables for password lists and authcache, faster password lookups ++ 3proxy_crypt: new internal password hashing replacing mycrypt ++ udppm switched to hashtables and supports multiple connections ++ SOCKSv5 UDP parent support; -Ne/-Ni NAT options ++ Docker images for more platforms, signed; DLLs signed; public cert added to build ++ Grace sleep and linger on connection close; correctly process half-closed connections ++ Allow setting internal/external network namespaces on Linux +- icqpr/OSCAR code removed +! Fix: invalid error in SSL server handshake could break service state +! Fix: invalid offset in datafilters +! Fix: invalid socket in poll() could break sockmap() on Windows +! Fix: deadlock in ftppr +! Fix: crash on standalone services +! Fix: non-initialized mutex crash under Windows +! Fix: socks v5 parent with no auth +! Fix: hanging connections in sockmap; unneeded poll in sockmap +! Fix: symbols collision with OpenSSL could lead to crash +! Fix: compatibility with older SSL versions and older Windows (7 and below) +! Multiple minor bugfixes and code cleanup diff --git a/CHANGELOG.rus b/CHANGELOG.rus index a0da305..c01e782 100644 --- a/CHANGELOG.rus +++ b/CHANGELOG.rus @@ -1,11 +1,25 @@ -3proxy-0.9.6 Вышел 11 Апреля 2026 +3proxy-0.9.7 Вышел 4 Июля 2026 -+ В 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 -! Множество мелких исправлений ошибок \ No newline at end of file ++ Код 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 и ниже) +! Множество мелких исправлений и очистка кода diff --git a/RELEASE b/RELEASE index 9cf0386..bae256f 100644 --- a/RELEASE +++ b/RELEASE @@ -1 +1 @@ -0.9.6 \ No newline at end of file +0.9.7 \ No newline at end of file diff --git a/debian/changelog b/debian/changelog index 1020ba0..46dcbd6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +3proxy (0.9.7-1) buster; urgency=medium + + *3proxy 0.9.7 initial build + + -- z3APA3A <3apa3a@3proxy.org> Sat, 04 Jul 2026 11:55:03 +0300 + 3proxy (0.9.6-1) buster; urgency=medium *3proxy 0.9.6 initial build diff --git a/doc/changelog/0/9/7 b/doc/changelog/0/9/7 new file mode 100644 index 0000000..1d6c005 --- /dev/null +++ b/doc/changelog/0/9/7 @@ -0,0 +1,23 @@ ++ PCRE2 and SSL/TLS code moved from plugins into main 3proxy binary; dynamic linking with ssl/pcre by default, STATIC/LIBSTATIC options for static linking ++ Unix sockets support for parent proxies, tcppm, internal listeners and -i option; abstract (fileless) unix sockets on Linux ++ ssl_client_mode = 3 to use 'secure' parent types: https, tcps, socks5s, connect+s, etc. ++ New authcache types: cacheacl, dstaddr, dstport, dsthost, dstoper, srvaddr, srvport; authcache is now configurable per service ++ Hashtables for password lists and authcache, faster password lookups ++ 3proxy_crypt: new internal password hashing replacing mycrypt ++ udppm switched to hashtables and supports multiple connections ++ SOCKSv5 UDP parent support; -Ne/-Ni NAT options ++ Docker images for more platforms, signed; DLLs signed; public cert added to build ++ Grace sleep and linger on connection close; correctly process half-closed connections ++ Allow setting internal/external network namespaces on Linux +- icqpr/OSCAR code removed +! Fix: invalid error in SSL server handshake could break service state +! Fix: invalid offset in datafilters +! Fix: invalid socket in poll() could break sockmap() on Windows +! Fix: deadlock in ftppr +! Fix: crash on standalone services +! Fix: non-initialized mutex crash under Windows +! Fix: socks v5 parent with no auth +! Fix: hanging connections in sockmap; unneeded poll in sockmap +! Fix: symbols collision with OpenSSL could lead to crash +! Fix: compatibility with older SSL versions and older Windows (7 and below) +! Multiple minor bugfixes and code cleanup diff --git a/scripts/rh/3proxy.spec b/scripts/rh/3proxy.spec index 9d32698..aa4ba22 100644 --- a/scripts/rh/3proxy.spec +++ b/scripts/rh/3proxy.spec @@ -1,5 +1,5 @@ Name: 3proxy -Version: 0.9.6 +Version: 0.9.7 Release: 1%{?dist} Summary: 3proxy tiny proxy server License: GPL/LGPL/Apache/BSD diff --git a/src/version.h b/src/version.h index 05a8bf9..b71d3f9 100644 --- a/src/version.h +++ b/src/version.h @@ -1,14 +1,14 @@ #ifndef VERSION -#define VERSION "3proxy-0.9.6" +#define VERSION "3proxy-0.9.7" #endif #ifndef BUILDDATE #define BUILDDATE "" #endif #define MAJOR3PROXY 0 #define SUBMAJOR3PROXY 9 -#define MINOR3PROXY 6 +#define MINOR3PROXY 7 #define SUBMINOR3PROXY 0 -#define RELEASE3PROXY "3proxy-0.9.6(" BUILDDATE ")\0" +#define RELEASE3PROXY "3proxy-0.9.7(" BUILDDATE ")\0" #ifndef YEAR3PROXY #define YEAR3PROXY "2026" #endif