3proxy/src
Vladimir Dubrovin 875e47a230 Event loops: bodies of known length relayed by the callbacks too
A body of known length (waitclient64, waitserver64), the HTTP proxy's
requests and answers, was left to sockmap(). The relay of the callbacks
moves it as sockmap() does: that way only, as much as it has left, the
other way not at all, and ends with 98 or 99 once it is all through.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-25 21:03:58 +03:00
..
libs fix wolfSSL, switch minimal/busybox to musl+wolfssl 2026-07-31 11:27:10 +03:00
plugins Services: threadperclient with PAM, LDAP or Windows authentication 2026-10-24 20:06:39 +03:00
3proxy_crypt.c wolfSSL support added 2026-07-13 20:24:51 +03:00
3proxy.c Logs: a thread and a queue for each log; build-time defaults 2026-10-23 19:41:48 +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 Make filtermaxsize, parentretries, delimchar and maxseg per service 2026-10-13 15:33:35 +03:00
auth.c Reload the configuration atomically 2026-10-14 20:15:14 +03:00
authradius.c Sockets read after a wait are non-blocking, and a read finding nothing waits again 2026-10-24 20:34:46 +03:00
auto.c Pre-allocate client/server/tmp/etc buffers with client structure 2026-10-12 17:19:55 +03:00
base64.c Add outsize parameter to en64 2026-08-08 17:58:49 +03:00
common.c Outgoing connections bound with IP_BIND_ADDRESS_NO_PORT 2026-10-25 16:33:39 +03:00
conf.c Event loops: sockmap() as callbacks, a draft (-L2, loopmode cb) 2026-10-25 19:51:38 +03:00
confinit.h Logs: a thread and a queue for each log; build-time defaults 2026-10-23 19:41:48 +03:00
datatypes.c Logs: a logger for each log string, shared and closed once unused 2026-10-23 11:44:55 +03:00
dnspr.c UDP loop: deadlines in a heap, on a monotonic clock 2026-10-22 23:53:06 +03:00
fiber.c Fibers: stacks a thread switches to and back 2026-10-24 21:51:40 +03:00
fiber.h Fibers: stacks a thread switches to and back 2026-10-24 21:51:40 +03:00
ftp.c Authorize FTP commands and data connections by the rules in force 2026-10-15 00:49:53 +03:00
ftppr.c Sockets closed without SO_LINGER 2026-10-25 01:00:48 +03:00
hash.c Keep the clock, timetoexit and needreload out of conf 2026-10-13 16:05:33 +03:00
hashtables.c resolver: the system's name servers and hosts file by default 2026-10-20 18:49:21 +03:00
httpsrv.c Sockets read after a wait are non-blocking, and a read finding nothing waits again 2026-10-24 20:34:46 +03:00
imapp.c per-service timeouts 2026-10-13 15:12:05 +03:00
limiter.c Re-authenticate clients of old services against the new configuration 2026-10-14 23:16:00 +03:00
log.c Logs: a thread and a queue for each log; build-time defaults 2026-10-23 19:41:48 +03:00
loop.c Event loops: sockets registered once, readiness kept until not found 2026-10-25 12:41:47 +03:00
loop.h Event loops: sockets registered once, readiness kept until not found 2026-10-25 12:41:47 +03:00
mainclient.c splice() pipes closed with fdclose(), the loop forgetting them first 2026-10-25 12:54:46 +03:00
mainconf.c Event loops: sockmap() as callbacks, a draft (-L2, loopmode cb) 2026-10-25 19:51:38 +03:00
mainlisten.c Reattach: a new service's slot for its next client taken before it is found 2026-10-23 20:00:29 +03:00
mainloop.c Event loops: bodies of known length relayed by the callbacks too 2026-10-25 21:03:58 +03:00
maintcp.c Sockets closed without SO_LINGER 2026-10-25 01:00:48 +03:00
mainudp.c Socket functions: _poll becomes _prepoll, which never waits 2026-10-24 19:54:03 +03:00
Makefile initial import to git 2014-04-08 13:03:21 +04:00
Makefile.inc Fibers: stacks a thread switches to and back 2026-10-24 21:51:40 +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 Pre-allocate client/server/tmp/etc buffers with client structure 2026-10-12 17:19:55 +03:00
pcre.h Move PCRE/SSL to main code 2026-05-01 15:11:08 +03:00
plugins.c resolver: the system's name servers and hosts file by default 2026-10-20 18:49:21 +03:00
pop3p.c per-service timeouts 2026-10-13 15:12:05 +03:00
proxy.c Event loops: sockets registered once, readiness kept until not found 2026-10-25 12:41:47 +03:00
proxy.h Event loops: sockmap() as callbacks, a draft (-L2, loopmode cb) 2026-10-25 19:51:38 +03:00
proxymain.c Sockets closed without SO_LINGER 2026-10-25 01:00:48 +03:00
redirect.c resolver: per service, defaultresolve, fakeresolve or sysresolve 2026-10-21 18:45:48 +03:00
resolve.c resolver: per service, defaultresolve, fakeresolve or sysresolve 2026-10-21 18:45:48 +03:00
sem.c Change waiting loops to semaphores for child counters 2026-10-10 23:10:57 +03:00
smtpp.c per-service timeouts 2026-10-13 15:12:05 +03:00
sockgetchar.c Socket functions: _poll becomes _prepoll, which never waits 2026-10-24 19:54:03 +03:00
sockmap.c Event loops: sockmap() as callbacks, a draft (-L2, loopmode cb) 2026-10-25 19:51:38 +03:00
socks.c Event loops: sockets registered once, readiness kept until not found 2026-10-25 12:41:47 +03:00
sql.c Services: threadperclient, a thread for each client where one is needed 2026-10-24 19:54:03 +03:00
ssl.c Event loops: sockets registered once, readiness kept until not found 2026-10-25 12:41:47 +03:00
ssl.h TLS: a part of a record read ahead is not pending data 2026-10-22 12:05:02 +03:00
ssllib.c MITM: a serial number of its own when wolfSSL cannot copy the source's 2026-10-23 13:56:38 +03:00
stringtable.c Name the HTTPSRV service in the string table 2026-10-15 15:36:13 +03:00
structures.h Clients of TCP services on event loops, served by fibers 2026-10-24 23:00:16 +03:00
tcppm.c per-service timeouts 2026-10-13 15:12:05 +03:00
tlspr.c per-service timeouts 2026-10-13 15:12:05 +03:00
transparent.c Pre-allocate client/server/tmp/etc buffers with client structure 2026-10-12 17:19:55 +03:00
udppm.c dnspr: name servers asked from the loop, nothing waits in it 2026-10-18 16:50:34 +03:00
udpsockmap.c Event loops: sockets registered once, readiness kept until not found 2026-10-25 12:41:47 +03:00
version.h Update version files for 1.1.0-pre1 2026-10-24 13:18:56 +00:00
webadmin.c Reload the configuration atomically 2026-10-14 20:15:14 +03:00