Vladimir Dubrovin
737bdc7d24
Reach the configuration through a pointer
...
conf is now a pointer to the current configuration rather than the
structure itself: at first confboot, which exists before main() runs, as
plugins and the standalone services use it too; later configurations
will start from confdefaults. Both are made from confinit.h, the one list
of initial values. The timeouts are an array of the configuration
instead of a pointer to a global one. Nothing behaves differently yet.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 19:12:54 +03:00
Vladimir Dubrovin
3b2d664563
Keep the name servers and RADIUS servers in conf
...
nservers, numservers and authnserver (resolve.c, common.c) and
radiuslist, nradservers and radiussecret (authradius.c) were globals of
their own; they are configuration, set by nserver, authnserver and
radius, and now live in struct extparam with the rest of it.
MAXNSERVERS, MAXRADIUS and struct radserver move to structures.h, which
plugins include without proxy.h.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 15:39:37 +03:00
Vladimir Dubrovin
a20f646169
Pre-allocate client/server/tmp/etc buffers with client structure
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
2026-10-12 17:19:55 +03:00
Vladimir Dubrovin
4877b39f2c
Fix deadcode / warnings / minor bugs
2026-07-31 18:55:59 +03:00
Vladimir Dubrovin
e4a5a7252c
Fix: buffer overflow in radsend (log radius or combination of auth radius with fakeresolve must be enabled, RADIUS feature is experimental)
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) Has been cancelled
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
C/C++ CI cmake / ubuntu-latest (wolfSSL) (push) Has been cancelled
2026-07-28 11:31:06 +03:00
Vladimir Dubrovin
f173f8860d
wolfSSL support added
2026-07-13 20:24:51 +03:00
Vladimir Dubrovin
c893e866bd
Use Solar Designer's md4/md5 on non-Windows
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI MacOS / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
2026-07-10 14:01:29 +03:00
Vladimir Dubrovin
fbc0953d5c
Use native Windows crypto for MD4/MD5
2026-07-10 13:04:43 +03:00
Vladimir Dubrovin
05c4832c6c
Minor cleanups
2026-05-13 23:21:13 +03:00
Vladimir Dubrovin
381ef993a7
Minor logging improvement / code cleanup
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI MacOS / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
2026-05-12 21:21:59 +03:00
Vladimir Dubrovin
b1d21cbdca
Copyright update
2026-05-08 18:07:08 +03:00
Vladimir Dubrovin
978f351560
Add compatiblity with older SSL versions
2026-05-08 17:16:47 +03:00
Vladimir Dubrovin
c104203765
Fix memory leak in hash functions
2026-05-08 12:10:08 +03:00
Vladimir Dubrovin
8107f03062
Move PCRE/SSL to main code
2026-05-01 15:11:08 +03:00
Vladimir Dubrovin
b1ac46da79
Remove linux futext implementation
Build Win32 3proxy-lite with Watcom / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
Build Win32 3proxy with MSVC / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
Build Win64 3proxy with MSVC / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
Build Win-arm64 3proxy with MSVC / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI Linux / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI MacOS / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI Windows / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (macos-15) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-24.04-arm) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (ubuntu-latest) (push) Has been cancelled
C/C++ CI cmake / ${{ matrix.target }} (windows-2022) (push) Has been cancelled
2026-04-28 18:06:54 +03:00
Vladimir Dubrovin
2d6eeff5f3
FIx typos, update documentation
2026-04-12 13:58:42 +03:00
Vladimir Dubrovin
c206349ee2
Support unix sockets for internal and -i
...
Example configuration:
log
auto -iunix:/path/to/3proxy.sock
test with
curl --unix-socket /path/to/3proxy.sock https://3proxy.ru
2026-04-12 00:30:35 +03:00
Vladimir Dubrovin
483542b914
Use uint32_t/uint16_t instead of unsigned long / unsigned short where required
2026-04-08 21:13:18 +03:00
Vladimir Dubrovin
8198db8617
adding state to socket functions
2024-02-17 17:31:25 +03:00
Vladimir Dubrovin
5e2b2a399e
clean up warnings
2023-07-13 15:29:26 +03:00
Vladimir Dubrovin
266e62644c
Fix RADIUS Login-Service/Login-TCP-Port length
2022-02-22 15:45:23 +03:00
z3apa3a
5fa261e91e
Send accounting start packet if log radius is enabled
2021-07-02 18:38:21 +03:00
z3apa3a
e1b4e50242
Copyright update
2021-07-02 11:50:33 +03:00
z3APA3A
36f8cde2fb
remove unused float variable
2020-11-13 11:39:13 +03:00
z3APA3A
a8b000b7f1
Allow to specify binding address for RADIUS
2020-10-15 12:21:46 +03:00
z3APA3A
4a553de100
RADIUS accounting added (not optimized yet)
2017-12-19 01:22:07 +03:00
z3APA3A
b4043e944c
Unify RADIUS code for logging
2017-06-25 18:40:26 +03:00
z3APA3A
c5f8a8e139
Add support for Reply-Message (may be used to send code with Auth-Reject).
2016-12-21 01:33:34 +03:00
z3APA3A
7b4a34f6fc
Support for Framed-IP-Address / Framed-IPv6-Address in RADIUS server's reply
2016-12-21 00:30:05 +03:00
z3APA3A
bfe7e89bd0
RADIUS authentication corrected and tested
2016-12-20 23:38:06 +03:00
z3APA3A
e7433d633c
'radius' and 'auth radius' support added (not tested yet)
...
Example:
radius secret 192.168.0.1 192.168.0.2
authcache ip,user
auth cache radius
2016-12-20 19:50:50 +03:00
z3apa3a
5cb3947c45
radauth.c: implements RADIUS authentication for 3proxy
2016-12-20 18:39:06 +03:00
z3APA3A
f709255d62
Copyrights cleaned, authradius.c added
2016-12-20 15:47:02 +03:00