3proxy/src
Vladimir Dubrovin 488317da1d Read the request body before replying, and generate certificates portably
httpsrv parsed Content-Length and never read what followed. The reply is
followed by a close, and closing a socket that still holds unread data
resets the connection instead of ending it, so a POST could cost the client
the reply it was about to read. Windows does that reliably; the same test
passes on Linux and macOS, which is why it looked flaky. Drain the body,
bounded at a megabyte.

The test CA was built with -addext, which LibreSSL - the openssl on a stock
macOS - does not apply the same way, leaving a certificate that is not
usable as a CA and a client that cannot build a chain to it. Put the
extensions in a file both accept, and verify the generated chain before any
of it is handed to a proxy, so a failure there is not read as a fault in
the proxy.
2026-08-26 09:28:46 +03:00
..
libs fix wolfSSL, switch minimal/busybox to musl+wolfssl 2026-07-31 11:27:10 +03:00
plugins Minor FilePlugin cleanup 2026-08-08 23:06:36 +03:00
3proxy_crypt.c wolfSSL support added 2026-07-13 20:24:51 +03:00
3proxy.c implement small http server for admin and testing 2026-08-25 17:21:33 +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 Fix non-linux cmake 2026-08-25 17:32:02 +03:00
auth.c implement small http server for admin and testing 2026-08-25 17:21:33 +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 Fix: insufficient default stack for wolfSSL with glibc 2026-08-25 19:07:20 +03:00
conf.c Fix: insufficient default stack for wolfSSL with glibc 2026-08-25 19:07:20 +03:00
datatypes.c Fix non-linux cmake 2026-08-25 17:32:02 +03:00
dnspr.c port range support (parent extport / intport) 2026-08-25 14:23:33 +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 Read the request body before replying, and generate certificates portably 2026-08-26 09:28:46 +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 implement small http server for admin and testing 2026-08-25 17:21:33 +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: pcre/ssl command handlers broken in last commits 2026-07-26 15:51:55 +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: descriptors leak in proxy.c 2026-08-08 21:31:54 +03:00
proxy.h Fix: insufficient default stack for wolfSSL with glibc 2026-08-25 19:07:20 +03:00
proxymain.c implement small http server for admin and testing 2026-08-25 17:21:33 +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 Use memmove for overlapping region 2026-08-08 20:46:52 +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 deadcode / warnings / minor bugs 2026-07-31 18:55:59 +03:00
stringtable.c Added imapp, starttls support for smtpp, pop3p, tlspr 2026-07-22 16:15:50 +03:00
structures.h implement small http server for admin and testing 2026-08-25 17:21:33 +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
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