3proxy/src
Vladimir Dubrovin f265ea0b52
Some checks failed
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
C/C++ CI MacOS / ${{ matrix.target }} (macos-15) (push) Waiting to run
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Waiting to run
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Waiting to run
C/C++ CI cmake / ubuntu-latest (wolfSSL) (push) Waiting to run
Update HTML documentation / docs (push) Has been cancelled
Update wiki / wiki (push) Has been cancelled
Fix rewrite and over-long header handling on Windows
op_rewrite checked what it built with targetunsafe(), which describes a
path on this machine: on Windows it must name a drive or a share, so a
rewritten request path was refused and every rewrite rule failed there.
A rewrite produces a request path and is checked as one.

The header loop stopped at HTTPSRV_MAXHDR and answered anyway, leaving
the rest of the request in the stream for the next one to be read out
of. It refuses the request instead. A header longer than the buffer
arrives as several lines, so the count bounds what is read rather than
what a client may send in one header.

The test for the buffer growth after a PCRE rewrite sent its request
through to an httpsrv origin, which stops reading at that same cap; it
uses an origin which reads whatever it is sent, since what is under test
is the proxy in the middle.
2026-08-29 20:37:12 +03:00
..
libs fix wolfSSL, switch minimal/busybox to musl+wolfssl 2026-07-31 11:27:10 +03:00
plugins Transparent moved to main code (TransparentPlugin removed), BSD pf support added 2026-08-26 16:48:08 +03:00
3proxy_crypt.c wolfSSL support added 2026-07-13 20:24:51 +03:00
3proxy.c http server implemented, pcre support for hostnames in acls implemented 2026-08-29 19:09:54 +03:00
3proxy.ico build rc file from res 2020-11-22 02:14:53 +03:00
3proxy.rc Copyright update 2021-07-02 11:50:33 +03:00
acl.c Move patternmatch from common.c 2026-08-29 19:09:54 +03:00
auth.c support proxypass in web server 2026-08-29 19:09:54 +03:00
authradius.c Fix deadcode / warnings / minor bugs 2026-07-31 18:55:59 +03:00
auto.c Fix deadcode / warnings / minor bugs 2026-07-31 18:55:59 +03:00
base64.c Add outsize parameter to en64 2026-08-08 17:58:49 +03:00
common.c Move patternmatch from common.c 2026-08-29 19:09:54 +03:00
conf.c http server implemented, pcre support for hostnames in acls implemented 2026-08-29 19:09:54 +03:00
datatypes.c Fix non-linux cmake 2026-08-25 17:32:02 +03:00
dnspr.c Fix dnspr for Windows 2026-08-26 16:48:09 +03:00
ftp.c Minor cleanups 2026-05-13 23:21:13 +03:00
ftppr.c port range support (parent extport / intport) 2026-08-25 14:23:33 +03:00
hash.c Fix warnings 2026-08-08 21:58:53 +03:00
hashtables.c Fix deadcode / warnings / minor bugs 2026-07-31 18:55:59 +03:00
httpsrv.c Fix rewrite and over-long header handling on Windows 2026-08-29 20:37:12 +03:00
imapp.c Add outsize parameter to en64 2026-08-08 17:58:49 +03:00
limiter.c Copyright update 2026-05-08 18:07:08 +03:00
log.c replace recursion with loop for local redirects, fix wolfSSL build 2026-07-31 15:44:22 +03:00
Makefile initial import to git 2014-04-08 13:03:21 +04:00
Makefile.inc Transparent moved to main code (TransparentPlugin removed), BSD pf support added 2026-08-26 16:48:08 +03:00
mdhash.c fix wolfSSL build 2026-07-13 20:50:27 +03:00
mdhash.h wolfSSL support added 2026-07-13 20:24:51 +03:00
pcre.c Fix: proxy buffer may be insufficient after PCRE rewrite 2026-08-29 19:09:54 +03:00
pcre.h Move PCRE/SSL to main code 2026-05-01 15:11:08 +03:00
plugins.c implement small http server for admin and testing 2026-08-25 17:21:33 +03:00
pop3p.c replace recursion with loop for local redirects, fix wolfSSL build 2026-07-31 15:44:22 +03:00
proxy.c Fix: proxy buffer may be insufficient after PCRE rewrite 2026-08-29 19:09:54 +03:00
proxy.h support proxypass in web server 2026-08-29 19:09:54 +03:00
proxymain.c Fix dnspr for Windows 2026-08-26 16:48:09 +03:00
redirect.c port range support (parent extport / intport) 2026-08-25 14:23:33 +03:00
resolve.c Check DNS reply source in udpresolve 2026-08-12 15:32:30 +03:00
smtpp.c Add outsize parameter to en64 2026-08-08 17:58:49 +03:00
sockgetchar.c support proxypass in web server 2026-08-29 19:09:54 +03:00
sockmap.c Use memmove for overlapping region 2026-08-08 20:46:52 +03:00
socks.c port range support (parent extport / intport) 2026-08-25 14:23:33 +03:00
sql.c NOODBC inverted to WITH_ODBC 2026-05-08 20:30:14 +03:00
ssl.c Fix windows build, re-submit as 0.9.8 2026-08-07 19:16:00 +03:00
ssl.h Move PCRE/SSL to main code 2026-05-01 15:11:08 +03:00
ssllib.c Fix MitM for MacOS clients (openssl only) 2026-08-26 11:54:04 +03:00
stringtable.c Added imapp, starttls support for smtpp, pop3p, tlspr 2026-07-22 16:15:50 +03:00
structures.h support proxypass in web server 2026-08-29 19:09:54 +03:00
tcppm.c replace recursion with loop for local redirects, fix wolfSSL build 2026-07-31 15:44:22 +03:00
tlspr.c Fix deadcode / warnings / minor bugs 2026-07-31 18:55:59 +03:00
transparent.c Transparent moved to main code (TransparentPlugin removed), BSD pf support added 2026-08-26 16:48:08 +03:00
udppm.c Support acls for UDP ASSOC, fix udppm via SOCKSv5 2026-08-11 19:02:54 +03:00
udpsockmap.c port range support (parent extport / intport) 2026-08-25 14:23:33 +03:00
version.h Update version files for 1.0.0 2026-08-22 12:13:00 +00:00
webadmin.c Fix non-linux cmake 2026-08-25 17:32:02 +03:00