0
0
mirror of https://github.com/darkk/redsocks.git synced 2025-08-26 11:45:30 +00:00
Commit Graph

160 Commits

Author SHA1 Message Date
Leonid Evdokimov
24a5384e29 Emit better errors from config file parser 2016-03-09 01:12:38 +03:00
Leonid Evdokimov
b322e4a8dd Fix crash in config file parser caused by unknown option key 2016-03-09 01:12:36 +03:00
Leonid Evdokimov
23fb178f04 logging: do not crash in SIGUSR1 handler in partly-initialized case 2016-03-07 22:16:51 +03:00
Leonid Evdokimov
e8fd5422e5 logging: respect log_debug for non-syslog `log', SIGUSR1 writes LOG_NOTICE
log_debug and log_info should not waste CPU and disk space while logging
to file and stderr, but SIGUSR1 dump is explicit request, so it's always
logged.
2016-03-07 21:39:23 +03:00
Leonid Evdokimov
2118c616b4 Merge pull request #52 from przemoc/switch-from-gnu99-to-c99
Switch from gnu99 to c99.
2015-09-07 16:03:08 +03:00
Przemyslaw Pawelczyk
a7d1fb09a0 Switch from gnu99 to C99 and provide proper feature macros.
Use _XOPEN_SOURCE=600 to make system headers expose Single UNIX
Specification v3 (SUSv3) definitions, i.e. POSIX.1-2001 base
specification plus the X/Open System Interface (XSI) extension.
POSIX.1-2001 is aligned with C99, so that all of the library
functions standardized in C99 are also standardized in POSIX.1-2001.

Use _BSD_SOURCE together with _DEFAULT_SOURCE to compile without
warnings in glibc <= 2.19 and glibc >= 2.20 (_BSD_SOURCE is deprecated
since glibc 2.20 and it has same effect as defining _DEFAULT_SOURCE
but generates a compile-time warning if used alone). This is required
for availability of non-POSIX functions, like inet_aton() or timercmp(),
that are present on most BSD derivatives.

Note: _DEFAULT_SOURCE, which was introduced in glibc 2.19, will actually
bump _POSIX_C_SOURCE from 200112L to 200809L, but it brings no harm.
2014-07-05 01:28:44 +02:00
Przemyslaw Pawelczyk
19f0fb225a Use __typeof instead of typeof.
__typeof adheres to ISO C standard as it is reserved identifier [1],
so it is collision-free and works in non-GNU mode as long as compiler
supports it.

[1] C99: "All identifiers that begin with an underscore and either an
uppercase letter or another underscore are always reserved for any use."
2014-07-05 01:11:34 +02:00
Przemyslaw Pawelczyk
fce288f657 Rewrite container_of macro without using statement expression.
Statement expression is GNU C extension, not present in ISO standard.
Type checking works now via implicit conversion performed for compound
literal (compound literals are available since C99). typeof is only used
on GNUC compilers like gcc or clang.
2014-07-05 00:31:04 +02:00
Leonid Evdokimov
2e3f648809 Merge pull request #40 from tlvince/systemd-improv
Replace 'su' cruft with systemd's 'User='
2013-02-13 01:55:36 -08:00
Tom Vincent
b1cf7c473d Replace 'su' cruft with systemd's 'User='
See systemd.exec(5)
2013-02-13 13:36:48 +08:00
Leonid Evdokimov
778340243e Add README from balabit.com - it's nice doc about TPROXY. 2012-12-04 20:59:13 +04:00
Leonid Evdokimov
0a491b0be8 Merge pull request #33 from kanzure/typofix
typo fix in README (Andoird -> Android)
2012-09-20 01:08:03 -07:00
Bryan Bishop
c7513aafc6 typo fix in README (Andoird -> Android) 2012-09-20 01:33:46 -05:00
Leonid Evdokimov
18e2b5ed1f Fix compilation on Ubuntu 10.04 LTS and (hopefully) Debian squeeze[1]
fixes #28, fixes #22, fixes #24
[1] current "stable" release
2012-09-12 02:05:39 +04:00
Leonid Evdokimov
9352d659ba conf.example: comments about UDP redirection 2012-09-10 22:36:01 +04:00
Leonid Evdokimov
d8d521c4b5 Merge pull request #29 from tlvince/systemd
Add systemd service unit
2012-09-10 01:44:15 -07:00
Leonid Evdokimov
d57e56f2fa README: links to packages 2012-09-10 12:18:04 +04:00
Tom Vincent
f9a3431265 Add systemd service unit 2012-09-09 21:03:29 +08:00
Leonid Evdokimov
070bd77c29 Script to auto-repack releases into better tarballs. fixes #27 2012-09-01 01:33:13 +04:00
Leonid Evdokimov
a9cfd09011 Merge pull request #21 from jmesmon/master
Fix transposition of memset arguments.
2012-04-24 02:49:53 -07:00
Cody Schafer
b60b492602 Fix transposition of memset parameters. 2012-04-24 04:33:13 -05:00
Leonid Evdokimov
709646d59d Initial support for UDP + TPROXY redirection. No more dest_ip in redudp.
* TPROXY requires Linux 2.6.29+ (see man 7 ip[1]).
 * all redsocks code is running as root to bind to arbitrary port.
 * Non-Linux and old-Linux builds are broken at the moment.

[1] http://www.kernel.org/doc/man-pages/online/pages/man7/ip.7.html
2012-04-13 02:06:02 +04:00
Leonid Evdokimov
6015b3a6f2 inet_ntop -> red_inet_ntop 2012-04-10 01:43:22 +04:00
Leonid Evdokimov
290f19972e Fix bug in DNS resolution - results were ignored (since 8179a1ff). 2012-04-10 00:57:26 +04:00
Leonid Evdokimov
e0b284d7e0 Version bump - v0.4 2012-03-26 00:04:34 +04:00
Leonid Evdokimov
4d2e10df17 Implement better exponential backoff in case of accept() failure.
This commit implements two more features:
 * min_accept_backoff configuration option
 * retry accept() after some close() calls

See also https://github.com/darkk/redsocks/issues/19
2012-03-25 23:58:40 +04:00
Leonid Evdokimov
dd089f09bd Proper accept_backoff event cleanup. 2012-03-25 23:14:27 +04:00
Leonid Evdokimov
d1d5b70b2b README: document socksifying router setup.
Note: I don't know source of doc/iptables-packet-flow.png and
doc/iptables-packet-flow-ng.png files, their license is unknown.
As far as I remember, it's something CC-like and they're quite old:
-rw-r--r-- 1 darkk darkk  99799 2007-09-16 07:00 iptables-packet-flow.png
-rw-r--r-- 1 darkk darkk 287299 2009-10-09 10:42 iptables-packet-flow-ng.png
2012-03-25 14:51:34 +04:00
Leonid Evdokimov
93073cec40 README: typo fixes. 2012-02-05 16:04:10 +04:00
Leonid Evdokimov
f0949e86e7 README: note about GID-based redirection 2012-02-05 16:01:29 +04:00
Leonid Evdokimov
52b936a56c README: add socksified firefox example. 2012-02-05 15:50:59 +04:00
Leonid Evdokimov
5ac05d5b77 Fix typo. Thanks to Apollon Oikonomopoulos. 2012-01-30 14:01:30 +04:00
Leonid Evdokimov
bc57cf8c1b Fix gen/version.c generation: clean git build was broken. 2012-01-28 00:09:24 +04:00
Leonid Evdokimov
128d730583 Implement exponential backoff in case of accept() failure.
Busy-loop strikes the daemon without backoff and log flood fills disks.

See also https://github.com/darkk/redsocks/issues/19
2012-01-28 00:00:09 +04:00
Leonid Evdokimov
6f8312b21f Refactor: replace struct event with tracked_event to track EVLIST_INSERTED state. 2012-01-28 00:00:09 +04:00
Leonid Evdokimov
8156e442c2 Add option to specify listen() queue length. 2012-01-28 00:00:09 +04:00
Leonid Evdokimov
8839230b63 Version bump. 2012-01-03 22:35:46 +04:00
Leonid Evdokimov
f9b207a21b Fix gen/version.c generation for non-git builds. 2012-01-03 22:33:39 +04:00
Leonid Evdokimov
08f9460702 Update redsocks.conf samples. 2012-01-03 22:09:04 +04:00
Apollon Oikonomopoulos
10544feb3c redsocks is now at debian/unstable
debian/* files from redsocks_0.2-1.debian.tar.gz are uploaded to
upstream to ease maintenance.
MD5(redsocks_0.2-1.debian.tar.gz) = 1d4fe1c98520ffe683a55220c80df193

Signed-off-by: Leonid Evdokimov <leon@darkk.net.ru>
2012-01-03 22:07:02 +04:00
Leonid Evdokimov
8179a1ff7d Query DNS during configuration parsing. 2012-01-03 21:50:06 +04:00
Bin Jin
dcbdcae943 Libevent2 fix: bad default line-extracting strategy
Libevent 2 deprecates evbuffer_readline() function, where any sequence
of any number of carriage return and linefeed characters is treated like
end of line, and introduces better evbuffer_readln(), where termination
format can be explicitly set to: \n, [\r]\n, \r\n or already mentioned
old behaviour.

Change past evbuffer_readline() calls to new
redsocks_evbuffer_readline() function. If libevent 2 is present, use
there evbuffer_readln() with eol_style set to an optional carriage
return, followed by a linefeed (EVBUFFER_EOL_CRLF) instead of obsolete
evbuffer_readln().

  Important note:
Consuming all CR and LF characters in one go (behaviour of
evbuffer_readline(), nowadays aliasing to evbuffer_readln() with
eol_style set to EVBUFFER_EOL_ANY) hangs up parsing of HTTP request
header ending with "\r\n\r\n", because it misses the empty line.

Conflicts (resolved):

	utils.c
	utils.h
2011-11-27 03:54:23 +04:00
Leonid Evdokimov
457c5eb79a Added -h, -? CLI options for help & -v for redsocks-version. 2011-11-27 03:30:43 +04:00
Leonid Evdokimov
9fce864ae0 Update README.html as well. 2011-11-14 04:07:01 +04:00
Leonid Evdokimov
27dd0243dc Added references to android tools: ProxyDroid and sshtunnel. 2011-11-14 03:52:48 +04:00
Leonid Evdokimov
2985413627 README: comment about UDP via OpenSSH & README.html 2011-10-14 00:12:44 +04:00
Leonid Evdokimov
57a1cab32d Some more comments regarding DNS via TCP. 2011-10-13 23:51:11 +04:00
Leonid Evdokimov
2f00cf44c5 Added dnstc service that serves any UDP DNS-like request with TC flag.
TC flag means `truncated`, so it actually means "ask me via TCP" for
compliant resolver.
2011-09-22 03:25:26 +04:00
Leonid Evdokimov
ec61ed130e Hey, redsocks has its own mailing list now :) 2011-08-10 19:32:13 +04:00
Leonid Evdokimov
d517e650ef redsocks now compiles with libevent-2.0 2011-08-01 13:28:38 +04:00