Vladimir Dubrovin
375e3a74d0
call local socket function
2024-02-18 19:41:45 +03:00
Vladimir Dubrovin
d162ad5c38
Fix windows issues
2024-02-17 18:53:58 +03:00
Vladimir Dubrovin
8198db8617
adding state to socket functions
2024-02-17 17:31:25 +03:00
Vladimir Dubrovin
20a929ca53
Add per-service sockfuncs
2024-02-17 12:57:36 +03:00
Vladimir Dubrovin
13979b5df4
Allow hostnames in parent
2023-04-26 15:05:47 +03:00
Daniel Winzen
cc0fd518bd
Incorporate feedback from z3APA3A
2022-11-08 15:42:04 +01:00
Daniel Winzen
9a6908e623
Add backlog config option
2022-11-08 15:04:19 +01:00
Vladimir Dubrovin
c98621aeef
Always select between IPV6_BOUND_IF and IP_BOUND_IF
2022-06-29 10:35:17 +03:00
Vladimir Dubrovin
3dc698eccd
Fix compilation issues
2022-06-29 10:18:36 +03:00
Vladimir Dubrovin
c1beceb24b
Support IP_BOUND_IF on MacOS
2022-06-28 12:50:48 +03:00
Vladimir Dubrovin
55d1bbe155
Grace delay feature added
...
`proxy -g8000,3,10`
First parameter is average read size we want to keep, second parameter is
minimal number of packets in the same direction to apply algorythm,
last value is delay added after polling and prior to reading data.
An example above adds 10 millisecond delay before reading data if average
polling size is below 8000 bytes and 3 read operations are made in the same
direction. It's specially usefule with splice. `logdump 1 1` is useful
to see how grace delays work, choose delay value to avoid filling the read
pipe/buffer (typically 64K) but keep the request sizes close to chosen average
on large file upload/download.
2022-05-19 18:51:02 +03:00
Vladimir Dubrovin
7e681bbacd
Update common.c
...
Process failed connect more correcly
2022-04-07 20:19:49 +03:00
z3apa3a
e1b4e50242
Copyright update
2021-07-02 11:50:33 +03:00
z3apa3a
bad85a3d51
Support IPv6 subnets in parent extip
2021-04-21 20:39:57 +03:00
z3apa3a
5f550c9107
change code for getpeername() error
2021-04-21 16:36:34 +03:00
z3APA3A
cbe0c2f511
parentretries command added
2021-01-19 14:40:18 +03:00
z3APA3A
29f8867a9e
fix the compilation warning
2020-12-02 11:13:55 +03:00
z3APA3A
c1c5875356
better memory allocation errors handling, countall/nocountall corrected
2020-11-03 02:05:18 +03:00
z3APA3A
624c3e6ae1
correct IPv6 parsing where hostname is expected
2020-10-16 22:51:02 +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
1fd759d327
Correct typo (name resolution could fail on some platforms)
2020-08-07 12:14:03 +03:00
z3APA3A
8c511a19e9
Do not resolve hostname to IP on ACL destination
2020-08-06 17:56:28 +03:00
z3APA3A
859713d10f
Fail if can not bind to device
2020-06-17 16:05:23 +03:00
z3APA3A
930d9823ea
Use futex instead of pthread_mutex on Linux
2018-12-28 18:49:45 +03:00
z3APA3A
eb09ae7c58
Support socket options for connback sockets and connection timeouts
2018-05-05 17:16:51 +03:00
z3APA3A
a42bb38d76
Use WSAPoll on Windows (except lite version)
2018-04-21 23:57:42 +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
ff91a6fe72
connlim / noconnlim commands added to support connection / connectio rate limits
2018-01-12 19:09:42 +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
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
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
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
f709255d62
Copyrights cleaned, authradius.c added
2016-12-20 15:47:02 +03:00
z3apa3a
1ab549036c
Changed -a / -s options handling for 'anonymous' after last commit
2016-12-19 03:19:17 +03:00
z3APA3A
e2b406f27b
Addition al fix for Linux (glibc?) specific daemon problem
2016-08-23 18:36:18 +03:00
z3APA3A
b242d6df8c
Fix daemonize in *nix
2016-08-23 14:19:27 +03:00
z3APA3A
6426ed0c1a
fix %i logging
2016-06-07 15:39:14 +03:00
z3APA3A
84664a203b
support %i in loformat
2016-06-06 17:54:23 +03:00
z3APA3A
f347b37770
support port number in 'nserver' / 'authnserver'
2016-05-18 00:05:23 +03:00
z3APA3A
8cdf341d0e
workaround for broken getsockname() in FTP proxy
2016-05-14 00:09:51 +03:00
Vladimir Dubrovin
9bfae5faaa
force / no force commands added
2016-04-02 11:43:25 +03:00
z3APA3A
6cac541e33
fix broken extip functionality
2016-03-30 19:16:12 +03:00