Commit Graph

138 Commits

Author SHA1 Message Date
z3APA3A
9356db8de6 Minor memory handling changes 2020-11-03 13:39:56 +03:00
z3APA3A
dbbbe59ef2 Fix acl copy / auth copy out-of-memory error 2020-11-03 11:16:04 +03:00
z3APA3A
b81089f22e More correct handling of insufficient memory 2020-11-02 18:59:13 +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
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
09507a2fe9 prevent warnings in proxymain 2019-01-25 23:40:35 +03:00
z3APA3A
6fe36b01d1 Fixed: admin always starts with -s under Linux 2018-12-28 12:45:52 +03:00
z3APA3A
68823c2921 Fix sockets option parsing 2018-05-25 18:19:19 +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
acc64b03fd Fix recently broken admin -s 2018-04-23 13:49:39 +03:00
z3APA3A
0b0de0d2ee cleaunup signed/unsigned mismatch 2018-04-22 21:57:17 +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
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
39be30ba5d Simplify socket options printing
+ add supported options to 3proxy help message
2018-04-21 17:02:20 +03:00
z3APA3A
e469e9e369 Increase default stacksize 2018-04-21 01:29:15 +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
ff91a6fe72 connlim / noconnlim commands added to support connection / connectio rate limits 2018-01-12 19:09:42 +03:00
z3APA3A
d60d00b7b6 Switch to preprocessor macro for version 2017-11-07 21:56:03 +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
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
b4043e944c Unify RADIUS code for logging 2017-06-25 18:40:26 +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
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
e2884b182a Add timeout for connect in all modules 2016-12-23 00:56:16 +03:00
z3APA3A
f709255d62 Copyrights cleaned, authradius.c added 2016-12-20 15:47:02 +03:00
z3APA3A
34876b7616 put usesplice within #ifdef WITHSPLICE 2016-12-19 13:01:34 +03:00
z3apa3a
1ab549036c Changed -a / -s options handling for 'anonymous' after last commit 2016-12-19 03:19:17 +03:00
z3apa3a
6696b35d74 Added -s option support for proxying with splice() for Liux
(without copying network data to
userspace). Currently only for tcppm.
2016-12-19 02:56:23 +03:00
z3APA3A
7742b08ec5 Revert "Delay service exit until new configuration is loaded"
This reverts commit 05f39246bf.
2016-06-07 14:16:17 +03:00
z3APA3A
05f39246bf Delay service exit until new configuration is loaded 2016-06-06 18:01:51 +03:00
Vladimir Dubrovin
9bfae5faaa force / no force commands added 2016-04-02 11:43:25 +03:00
z3APA3A
938b1d1aab re-authenticate connection on configuration change 2016-03-28 17:57:37 +03:00
z3APA3A
eeb2d78fb1 re-authenticate user on 2016-03-28 17:49:27 +03:00
z3APA3A
58a64924dd log_mutex used prior to initialization 2016-03-02 19:00:28 +03:00
z3APA3A
021a8928bf Avoid windows compilation warnings 2016-02-22 00:18:45 +03:00
z3APA3A
5c5f4e258f Increase default stack size for *nix 2016-02-20 09:11:03 +03:00
z3APA3A
ad9b0046d9 Fix thread init bug introduced 2016-02-19 20:21:16 +03:00
z3APA3A
43a36ec813 Warnings cleanup 2016-02-18 16:43:37 +03:00
z3APA3A
3b8e7741b3 Compilation warnings cleanup 2016-02-16 15:29:51 +03:00
z3APA3A
5fc1d81e5c add stack size configuration
'stacksize' command and -S configuration option added
2016-02-11 16:16:44 +03:00
z3APA3A
6713530fda log_mutex init moved to proxymain 2016-02-05 19:04:16 +03:00
z3APA3A
13a7d6be11 Replace memcpy with assignment where appropriate 2016-02-05 18:31:17 +03:00
z3APA3A
3cc9796583 Support for 'extip' and 'smtp' parent types added 2016-02-05 01:52:45 +03:00
z3APA3A
faf7f665c3 do memset for 'external' sockaddr structures 2016-01-31 15:01:17 +03:00
z3APA3A
e23dd7b746 minor logging changes 2016-01-28 01:18:16 +03:00
z3APA3A
95efeb8a93 Handle accept() errors more accurate 2016-01-28 01:07:09 +03:00
z3APA3A
fec0da52af fixed: use SASIZE() instead of sizeof() in connect() for FreeBSD compatibility 2016-01-25 14:49:17 +03:00
z3APA3A
4af5f2fde7 Use SASIZE() instead of sizeof() in bind() for FreeBSD compatibility 2016-01-22 15:59:40 +03:00
z3APA3A
e59ccd22b1 typo corrected in last update 2016-01-16 00:38:53 +03:00
z3APA3A
75c63d2de6 add support for -u2 in socks 2016-01-15 15:29:57 +03:00
z3APA3A
1ef7308cbf Update documentation for connect back 2016-01-15 02:26:56 +03:00
z3APA3A
9876172e0b Reduce stack usage for threads
Reduce stack usage, because large logging buffers are removed from
stack.
2015-12-27 19:43:04 +03:00
z3APA3A
a4e0f1fb9a NULL pointer deferefence (depends on libc) if no "log" in config 2015-12-21 13:41:35 +03:00
z3APA3A
da52669995 NULL pointer dereference fixed in configuration load
introduced with latest commits
2015-12-07 19:06:16 +03:00
z3APA3A
bd37ffa2f7 Race conditions fixed on config reload
Race conditions on logging and name resolution
2015-12-04 00:59:52 +03:00
z3APA3A
4709f7a7b9 Fixed race conditions with users on configuration reload 2015-12-03 01:13:34 +03:00
z3APA3A
62775da1d5 race condition fixed on configuration reload
Race condition on service free'ing
2015-11-29 00:01:41 +03:00
z3APA3A
355d31f8aa minor cleanups 2015-11-28 22:59:02 +03:00
z3APA3A
a4e54079b5 Show internal interface on service startup 2015-10-16 18:04:00 +03:00
z3APA3A
3e6b230128 better listen/connection accept errors handling 2015-09-24 01:17:50 +03:00
z3APA3A
c538d0c2f8 Prevent too fast connections on connect back
Prevent to fast connections on connect back proxy if port is not
reachable
2015-09-20 22:46:35 +03:00
z3APA3A
a9ec5a085c Fixes infinite loop in previous commit 2015-09-20 22:36:54 +03:00
z3APA3A
a2b5af6dab Connect back proxy functionality added
-r and -R options added to support connect back functionality between
two instances of proxy
2015-09-20 21:01:50 +03:00
z3APA3A
e37a7f48d7 Older CVS comments removed 2014-12-13 23:20:00 +03:00
z3APA3A
042fc2afde nserver address may be given as IPv6 2014-12-13 03:56:01 +03:00
z3APA3A
b5bcb44e27 Fixes for NOIPV6
Fixes to compile without IPv6 support
2014-11-09 21:59:58 +03:00
z3APA3A
db5c4b1255 more changes for IPv6 client support 2014-10-21 06:00:56 +04:00
z3APA3A
10bc0db2a8 add IPv4/IPv6 selection for outgoing connections 2014-10-19 22:02:15 +04:00
z3APA3A
c7310a2060 initial partial patches for IPv6 client support 2014-10-19 21:54:24 +04:00
z3APA3A
f1e017394d Added IPv6 support for 'external' command and -e
Now, 2 external addresses can be specified: one for IPv4 and one for
IPv6
2014-10-19 04:32:18 +04:00
z3APA3A
a425dc40b3 Correct error handling for thread creation
Error handling corrected for thread creation in case of e.g.
insufficient system resources.
2014-08-15 18:52:16 +04:00
z3APA3A
7bae6c4525 resolving compilation issues for *nix 2014-06-11 01:26:07 +04:00
Vladimir Dubrovin
a30d5d51a5 IPv6 server side code
+ IPv6 server side support
!!! Auth need to be fixed
2014-05-12 01:10:58 +04:00
Vladimir Dubrovin
7897b009a1 intport removed, SA macro added 2014-05-12 01:10:47 +04:00
Vladimir Dubrovin
bc7ca3af09 intip changed to intsa
intip changed to intsa for IPv6 use
2014-05-12 01:10:42 +04:00
z3APA3A
a060376f1e initial import to git 2014-04-08 13:03:21 +04:00