z3APA3A
b2f82ed04f
More accurate conditions in sockmap's main event loop
2020-10-19 13:11:44 +03:00
z3APA3A
01ec2f12d5
fail portmapping if name can not be resolved
2020-10-16 23:13:07 +03:00
z3APA3A
624c3e6ae1
correct IPv6 parsing where hostname is expected
2020-10-16 22:51:02 +03:00
z3APA3A
3f2659cb0f
Use MAXFAILATTEMPT to limit socket failuers
2020-10-15 16:44:32 +03:00
z3APA3A
aeb0f4caa5
Better handle socket closing
2020-10-15 16:27:39 +03:00
z3APA3A
22555b58ec
Do not sigmask main thread for standalone services
2020-10-15 16:00:43 +03:00
z3APA3A
a8b000b7f1
Allow to specify binding address for RADIUS
2020-10-15 12:21:46 +03:00
z3APA3A
9f6a8460ac
limit failed mapping attempts to 13
2020-10-15 01:17:10 +03:00
z3APA3A
637cb2e76d
adding guard for polling loop to prevent CPU exhastion in the case of system misbihavior
2020-10-14 18:58:52 +03:00
z3APA3A
47affa0add
Correct returning 98 code from socksmap
2020-10-14 16:15:11 +03:00
z3APA3A
eb829b062b
Major code refactoring
...
- sockmapping rewritten from stratch to minimilse polling. poll() is now
only called if blocking is actually expected, splice pipes are now
polled if splice fails, buffers flushing is much more accurate.
- logging code moved to separate files
- signal masks added to client threads to prevent unneeded interruptions
- bandwidth limitation will not delay the thread after client or server
shutdown
2020-10-09 15:42:34 +03:00
z3APA3A
3dd1969657
Move logging to log.c
2020-10-07 19:03:59 +03:00
z3APA3A
ebd7b34159
-N(NAT_address) option added for socks
2020-10-07 11:21:01 +03:00
z3APA3A
d0725163d1
countall / nocountall ssupport added
2020-10-06 14:29:08 +03:00
z3APA3A
cc6ec2445c
Do not overwrite connection for HTTP "upgade"
2020-08-18 18:43:22 +03:00
z3APA3A
1075370594
Don't terminate connection on datagram sending issue in SOCKSv5 UDP ASSOCIATE
2020-08-08 13:56:34 +03:00
z3APA3A
1fd759d327
Correct typo (name resolution could fail on some platforms)
2020-08-07 12:14:03 +03:00
z3APA3A
c30b4637a5
Do not resolve hostname to IP on ACL destination
2020-08-06 17:57:50 +03:00
z3APA3A
8c511a19e9
Do not resolve hostname to IP on ACL destination
2020-08-06 17:56:28 +03:00
z3APA3A
3b5fa46e27
Change Proxy-authorization to Proxy-Authorization for compatiblity with RFC ignorant upstreams
2020-07-02 18:34:37 +03:00
z3APA3A
19eef46d7e
Compile error in last commit corrected
2020-06-23 11:17:32 +03:00
z3APA3A
c532958b9f
Do not cache external port
2020-06-17 16:14:34 +03:00
z3APA3A
1e7e94d7ac
corrected 'acl' and 'ext' cach types added with previous commit
...
acl - allows to bind cache entry to ACL to prevent caching
authentication for different services
ext - allows to cache external address
both options are useful with RADIUS
2020-06-17 16:09:28 +03:00
z3APA3A
859713d10f
Fail if can not bind to device
2020-06-17 16:05:23 +03:00
z3APA3A
9eac5c13a8
Correct wildcard hostname compare and make it case-insensitve where possible
2020-04-11 11:34:08 +03:00
z3APA3A
041134007d
Correct ip/network/hostname parsing in ACLs
2020-04-11 09:58:47 +03:00
z3APA3A
9996856698
Send Basic vs basic for Basic HTTP auth to deal with reportedly broken implementation
2019-10-16 11:29:07 +03:00
z3APA3A
22cf9254c5
rename memory functions in pluginlink
2019-09-03 20:46:47 +03:00
z3APA3A
e7e7d2fddf
"limit" support in authcache to bind sessions to ip
2019-08-21 15:20:43 +03:00
z3APA3A
336b411ea2
do not use "my" prefix for memory functions in pluginlink
2019-08-19 12:35:36 +03:00
z3APA3A
cb217d79c1
Fix: IPv6 support in TransparentPlugin
2019-08-13 12:38:03 +03:00
z3APA3A
8ad8a9ccd2
Remove unsupported "myalloc" code
2019-08-13 12:36:55 +03:00
z3APA3A
70ed1233fb
Remove outdated LastFRipper plugin
2019-08-13 12:35:47 +03:00
z3APA3A
5471e0faf4
attempt to support IPv6 in netfilter transparent redirection
2019-08-12 14:11:08 +03:00
z3APA3A
bf4ef2284b
Fix: out-of-bounds write and few more bugs in 'admin' configuration upload
2019-08-01 16:46:22 +03:00
z3APA3A
38a1ab80bc
minor changes
2019-06-20 11:19:58 +03:00
z3APA3A
09507a2fe9
prevent warnings in proxymain
2019-01-25 23:40:35 +03:00
z3APA3A
5ee553e9a9
Correct: do not log 98/99 as an error
2019-01-20 17:52:00 +03:00
z3APA3A
eed6e2962e
Do not log events 98 and 99 as errors
2019-01-20 17:33:35 +03:00
z3APA3A
02d52e89e9
Fix: config change may stop log rotation
2019-01-15 11:51:10 +03:00
z3APA3A
d7373be071
Revert "Fixed: logrotation may stop after config change"
...
This reverts commit ede4aee619
.
2019-01-14 20:14:08 +03:00
z3APA3A
ede4aee619
Fixed: logrotation may stop after config change
2019-01-14 18:02:16 +03:00
z3APA3A
8af9ea8de8
back to non-blockin splice on sending
2019-01-11 23:26:52 +03:00
z3APA3A
603ab8187f
make spliced sockmap more reliable
2019-01-11 23:10:39 +03:00
z3APA3A
953959efab
print file descriptors
2019-01-11 19:38:34 +03:00
z3APA3A
03efdc451b
Add POLLRDHUP support to spliced sockmap
2019-01-11 19:12:03 +03:00
z3APA3A
930d9823ea
Use futex instead of pthread_mutex on Linux
2018-12-28 18:49:45 +03:00
z3APA3A
6fe36b01d1
Fixed: admin always starts with -s under Linux
2018-12-28 12:45:52 +03:00
z3APA3A
3f2e621902
Correct socket polling on mapping
2018-12-06 00:32:37 +03:00
z3APA3A
b7e3a85e88
Use non-blocking splice only on write to socket
...
to prevent race condition data is not copied to the pipe yet
2018-12-05 23:41:37 +03:00
z3APA3A
79ea433caf
Can go to 100% CPU if one side have closed connection
2018-12-05 21:44:59 +03:00
z3APA3A
a0591c9786
Fix: $ is ignored in the begginning of quoted line
2018-12-05 14:21:03 +03:00
z3APA3A
68823c2921
Fix sockets option parsing
2018-05-25 18:19:19 +03:00
z3APA3A
46be58ab1d
Add filename to XML data
2018-05-22 19:15:31 +03:00
z3APA3A
3d9ac1e1fb
Flush splice pipe on socket close
2018-05-12 01:19:11 +03:00
z3APA3A
68fed46ea0
fix 'radius' is not applied correctly on configuration reload
2018-05-11 16:23:05 +03:00
z3APA3A
92b3dd8638
Use overloadable poll
2018-05-05 20:07:59 +03:00
z3APA3A
20fa72bd42
Add connback timeouts / improve logging
2018-05-05 19:59:37 +03:00
z3APA3A
eb09ae7c58
Support socket options for connback sockets and connection timeouts
2018-05-05 17:16:51 +03:00
z3APA3A
b8127257f9
Remove pstdin.h
2018-05-01 18:30:04 +03:00
z3APA3A
951304e18e
Send Connection instead of Proxy-Connection to parent proxy
2018-04-27 22:17:37 +03:00
z3APA3A
0376e54196
simlify sockgetline
2018-04-27 19:23:20 +03:00
z3APA3A
572a5b3c34
Fixed: socks fails on 1-character username or password
2018-04-27 15:09:18 +03:00
z3APA3A
9bd81a18b9
Use native OpenSSL 1.0 static build for Windows
2018-04-27 01:54:28 +03:00
z3APA3A
f35f0a0608
Print counters traffic in megabytes in admin
2018-04-27 01:53:10 +03:00
z3APA3A
12b5ad143f
correct trafic accounting in spliced map
2018-04-27 01:52:08 +03:00
z3APA3A
836fffddbe
Include openssl/applink.c in windows plugin DLL
2018-04-25 14:38:32 +03:00
z3APA3A
1af6e65fba
Fix getting group id by groupname
2018-04-24 19:21:35 +03:00
z3APA3A
acc64b03fd
Fix recently broken admin -s
2018-04-23 13:49:39 +03:00
z3APA3A
0f9a9d6e37
Fix redirection to http in lite version
2018-04-23 02:34:36 +03:00
Vladimir Dubrovin
b7c667a682
Bugfixes for previous commit
2018-04-23 02:00:53 +03:00
Vladimir Dubrovin
97b97a5664
Typo corrected
2018-04-23 02:00:34 +03:00
z3APA3A
531e0707cf
Simplify splicemap
2018-04-23 02:00:19 +03:00
z3APA3A
b3abf80a50
slicedmap - replace usleep with poll, remove SPLICE_F_MOVE
...
use poll instead of usleep (to get rid of potential blocking in future)
remove SPLICE_F_MOVE
2018-04-22 23:23:22 +03:00
z3APA3A
fd588949c9
remove unneeded check
2018-04-22 22:44:06 +03:00
z3APA3A
0b0de0d2ee
cleaunup signed/unsigned mismatch
2018-04-22 21:57:17 +03:00
z3APA3A
d971601316
Rmove more icqpr related things
2018-04-22 21:46:18 +03:00
z3APA3A
24127196ce
Remove ICQPR because OSCAR is outdated
2018-04-22 21:46:00 +03:00
z3APA3A
0425cbbdb5
corre usesplice setting
2018-04-22 20:30:16 +03:00
z3APA3A
d2705df891
Use splice by default if no filteers set
...
-s0 to disable splice
2018-04-22 20:03:04 +03:00
z3APA3A
a4bc89dc8f
Fixed recently introduced logging bug
...
Logging could stop after configuration reload, introduced with
50277692f4
2018-04-22 01:12:54 +03:00
z3APA3A
a42bb38d76
Use WSAPoll on Windows (except lite version)
2018-04-21 23:57:42 +03:00
z3APA3A
78e180a054
fixed: race condition on service stop / restart
...
Do not close -l file descriptor while there are alive childrent
2018-04-21 17:25:01 +03:00
z3APA3A
de21bd0f6a
potential memory leak fixed + TCP_CORK support
...
potential memleak fixed in very unlikely configuration
TCP_CORK used to prevent sending request apart of headers
2018-04-21 17:05:36 +03:00
z3APA3A
39be30ba5d
Simplify socket options printing
...
+ add supported options to 3proxy help message
2018-04-21 17:02:20 +03:00
z3APA3A
e2906f1219
pass version thorugh building environment
2018-04-21 03:26:49 +03:00
z3APA3A
b76b3b49fa
rename static buffer
2018-04-21 01:45:09 +03:00
z3APA3A
83441eebc7
Move log buffer to stack
...
Move log bufer to stack and remove mutex
2018-04-21 01:37:31 +03:00
z3APA3A
e469e9e369
Increase default stacksize
2018-04-21 01:29:15 +03:00
z3APA3A
d1b527b523
Minor logging changes
2018-04-21 01:24:18 +03:00
z3APA3A
50277692f4
Replace fclose+fopen with freopen where possible
2018-04-21 00:30:02 +03:00
z3APA3A
6c3a5db52f
Get rid of pstdint.h
2018-04-20 19:32:49 +03:00
z3APA3A
5149996b20
Added support for username/groupname
...
Added support for username/groupname to seuid, setgid, chroot.
2018-04-17 18:46:01 +03:00
z3APA3A
be5aa53106
Allow transparent client proxy with 'parent 1000 extip 0.0.0.0'
2018-04-15 00:28:59 +03:00
z3APA3A
25028ed1b8
support IP_ socket options
2018-04-14 23:52:38 +03:00
z3APA3A
a0ae9ee6fa
Removing unneeded checks
2018-04-06 17:45:42 +03:00
z3APA3A
7423cd0112
Clearing LdapPlugin compilation issues
2018-04-06 17:45:18 +03:00
z3APA3A
dc55d2b724
UDP portmap doesn't resolve hostname in UDP packet
2018-03-06 20:01:03 +03:00
z3APA3A
22ac04576f
Change SSLv23_*_method to TLS_*_method for OpenSSL 1.1
2018-02-17 18:14:59 +03:00
z3APA3A
8b548dccc7
Remove "Proxy-Connection" headers as depricated
2018-02-17 18:14:13 +03:00
z3APA3A
6e240defdb
typo in conf.c leads to infinite loop on some commands
2018-01-25 17:20:36 +03:00
z3APA3A
ff91a6fe72
connlim / noconnlim commands added to support connection / connectio rate limits
2018-01-12 19:09:42 +03:00
z3APA3A
2d1720c15f
Move RADIUS related code to #ifndef NORADIUS
2017-12-22 18:53:50 +03:00
z3APA3A
4a553de100
RADIUS accounting added (not optimized yet)
2017-12-19 01:22:07 +03:00
z3APA3A
0bda7f332e
Move sys/timeb.h to Win32 section.
2017-11-24 12:41:01 +03:00
z3APA3A
d60d00b7b6
Switch to preprocessor macro for version
2017-11-07 21:56:03 +03:00
z3APA3A
6e715df9e1
Fix IPv4/IPv6 addresses in webadmin
2017-11-07 21:53:04 +03:00
z3APA3A
2a781c4a9d
Fix: TransparentPlugin for *BSD ipfw
2017-11-06 18:41:36 +03:00
z3APA3A
18e41cfbe9
add hostname logging to tcppm
2017-11-06 17:18:32 +03:00
z3APA3A
930a959779
Do not use SAISNULL in plugin
2017-10-30 18:20:14 +03:00
z3APA3A
ff1a560547
Add NULLADDR to prevent dynamic linkage error under Linux
2017-10-30 18:10:25 +03:00
z3APA3A
4bb706d140
Use parsehostname in TransparentPlugin
2017-10-30 13:43:53 +03:00
z3APA3A
2c8bf28065
Remove static to prevent race conditions
2017-10-18 17:07:12 +03:00
z3APA3A
8c372572fc
Add check for nul address
2017-10-17 18:25:35 +03:00
z3APA3A
18c1ce0a22
Support for transparent / notransparent commands added
2017-10-17 18:00:09 +03:00
z3APA3A
b99fa7aaa4
Simplify transparent + add support for BSD PF/IPF
2017-10-17 17:07:35 +03:00
z3APA3A
105522b24e
Fix: recursion detection was not working
2017-10-17 15:19:47 +03:00
z3APA3A
8e2a87421c
Fix: %n terminated log string on IPv6 address
2017-10-10 18:21:34 +03:00
z3APA3A
984efe193b
Prevent deadlock on thread creation error
2017-09-25 17:14:13 +03:00
z3APA3A
2554f06759
pthread_attr_destroy added to prevent memory leak on config reload
2017-09-13 22:05:38 +03:00
z3APA3A
ff9c94f616
Fix: invalid reverse check for dnsresolve
2017-09-08 15:53:42 +03:00
z3APA3A
8c0dc7d8c9
Change -Do option to -De (external)
2017-09-06 19:19:36 +03:00
z3APA3A
b033b150b1
change strdup to mystrdup
2017-08-16 12:08:48 +03:00
z3APA3A
b17b36cbce
Add support to bind to interface (-Di / -Do) via SO_BINDTODEVICE
2017-08-14 18:22:15 +03:00
z3APA3A
6010190940
fix: do not fail external with "0.0.0.0" with NOIPV6 (lite version)
2017-07-19 19:23:55 +03:00
z3APA3A
d9e118e754
Change EPSV reply code to 229
2017-06-28 12:33:08 +03:00
z3APA3A
481b9e389f
EPSV support for ftppr
2017-06-27 23:28:17 +03:00
z3APA3A
305f01acb5
closecoket() is used instead of so._closesocket
2017-06-26 16:46:26 +03:00
z3APA3A
b4043e944c
Unify RADIUS code for logging
2017-06-25 18:40:26 +03:00
z3APA3A
2983575952
banlimits for old connection may stop functioning on configuration reload
2017-06-25 18:37:19 +03:00
z3APA3A
1996b11451
Fix - sometime request may go to parent proxy where it shouldn't
2017-06-25 18:33:28 +03:00
z3APA3A
e75b329e62
Fix ACL copy for last patch
2017-03-07 15:06:22 +03:00
z3APA3A
4251322aad
Support hostnames for chained socks5+/socks4+/connect+ requests
2017-03-07 01:19:04 +03:00
z3APA3A
d40e5d458c
FIX: tcppm may not work with parent proxy
2017-02-02 00:36:59 +03:00
z3apa3a
34443d6515
Add netinet/tcp.h to includes to support TCP socket options on *nix.
2016-12-25 03:33:15 +03:00
z3APA3A
cfc10e9efd
Support for few more socket options
2016-12-25 03:22:52 +03:00
z3APA3A
c1beee44ef
Add support for -os, -oc, -ol
...
-ocOPTIONS, -osOPTIONS, -olOPTIONS - options for client (oc), server
(os) or listening (ol) socket
e.g.
proxy -ocTCP_NODELAY,SO_KEEPALIVE,SO_DONTROUTE
2016-12-25 02:46:30 +03:00
z3APA3A
2ed83b0d6e
set TCP_NODELAY for DNS resolution over TCP
2016-12-25 01:28:16 +03:00
z3APA3A
68deec5bcd
Update PCRE version
2016-12-24 01:48:52 +03:00
z3APA3A
e2884b182a
Add timeout for connect in all modules
2016-12-23 00:56:16 +03:00
z3APA3A
3c9ff54ae8
SSL_Plugin: switch to SHA-256 signature
2016-12-22 19:16:50 +03:00
z3APA3A
16f094168a
Correct EINPROGRESS for Windows
2016-12-22 17:46:06 +03:00
z3apa3a
42ca640769
Corrected connect() timeout on *nix
2016-12-22 17:31:17 +03:00
z3APA3A
d1d86ed9b3
implement timeout on connect()
...
STRING_S timeout is used (15 sec by default)
2016-12-22 17:11:44 +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