3proxy/src
Vladimir Dubrovin 94a83d126f dnspr: only the answer to the query asked is relayed
dnspr relayed to the client whatever came first to the socket it asked
the name server from, from any address, under any id. Now:

- the query goes to the name server under a random id of its own, the
  client's put back in what is relayed to it;
- an answer over UDP is taken only from the address and port of the
  name server asked, anything else read past until DNS_TO runs out;
- the answer must have that id, be a response, and carry the question
  asked byte for byte, over UDP and TCP alike (a TCP answer that does
  not is error 834).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 12:04:18 +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 Reorganize service config parsing / main loop 2026-10-12 13:58:57 +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 Support = in socket options, make TCP_NODELAY default 2026-10-12 13:58:48 +03:00
conf.c Fix memory leaks found under AddressSanitizer 2026-10-14 20:15:42 +03:00
datatypes.c parent: support fraction and % syntaxis for weight; support fallbacks with 0 weight 2026-09-16 20:11:55 +03:00
dnspr.c dnspr: only the answer to the query asked is relayed 2026-10-22 12:04:18 +03:00
ftp.c Build the mail proxies and FTP only when they are asked for 2026-09-16 20:11:50 +03:00
ftppr.c Fix socket draining / lingering 2026-10-12 13:58:48 +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 memory leaks found under AddressSanitizer 2026-10-14 20:15:42 +03:00
imapp.c Build the mail proxies and FTP only when they are asked for 2026-09-16 20:11:50 +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 Reorganize service config parsing / main loop 2026-10-12 13:58:57 +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 Build the mail proxies and FTP only when they are asked for 2026-09-16 20:11:50 +03:00
proxy.c Free the HTTP proxy's request buffer while a connection waits 2026-10-21 20:37:16 +03:00
proxy.h splice() per direction, pipes per connection, automatic mode 2026-10-12 13:58:48 +03:00
proxymain.c Unix sockets: no addresses on streams, abstract names, tcppm port 0 2026-10-18 12:25:13 +03:00
redirect.c parent: support fraction and % syntaxis for weight; support fallbacks with 0 weight 2026-09-16 20:11:55 +03:00
resolve.c Check DNS reply source in udpresolve 2026-08-12 15:32:30 +03:00
sem.c Change waiting loops to semaphores for child counters 2026-10-12 13:58:48 +03:00
smtpp.c Build the mail proxies and FTP only when they are asked for 2026-09-16 20:11:50 +03:00
sockgetchar.c Unix sockets: no addresses on streams, abstract names, tcppm port 0 2026-10-18 12:25:13 +03:00
sockmap.c Unix sockets: no addresses on streams, abstract names, tcppm port 0 2026-10-18 12:25:13 +03:00
socks.c Unix sockets: no addresses on streams, abstract names, tcppm port 0 2026-10-18 12:25:13 +03:00
sql.c NOODBC inverted to WITH_ODBC 2026-05-08 20:30:14 +03:00
ssl.c Read TLS records ahead with OpenSSL 1.1.0 and later 2026-10-22 12:04:08 +03:00
ssl.h Read TLS records ahead with OpenSSL 1.1.0 and later 2026-10-22 12:04:08 +03:00
ssllib.c Read TLS records ahead with OpenSSL 1.1.0 and later 2026-10-22 12:04:08 +03:00
stringtable.c Name the HTTPSRV service in the string table 2026-10-15 15:36:13 +03:00
structures.h Unix sockets: no addresses on streams, abstract names, tcppm port 0 2026-10-18 12:25:13 +03:00
tcppm.c replace recursion with loop for local redirects, fix wolfSSL build 2026-07-31 15:44:22 +03:00
tlspr.c Build the mail proxies and FTP only when they are asked for 2026-09-16 20:11:50 +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 Unix sockets: no addresses on streams, abstract names, tcppm port 0 2026-10-18 12:25:13 +03:00
version.h Update version files for 1.0.1 2026-10-10 16:21:01 +00:00
webadmin.c Fix non-linux cmake 2026-08-25 17:32:02 +03:00