1
0
mirror of https://github.com/rofl0r/proxychains-ng synced 2025-01-09 14:52:52 +08:00
Commit Graph

168 Commits

Author SHA1 Message Date
crass
7d60f55c60 Add default case to chain type switch to remove gcc warning. 2013-06-26 07:04:15 +07:00
crass
1ac3334e99 More generically parse proxy chain type 2013-06-26 06:56:29 +07:00
crass
ea4ca0a6b2 Update example config to show examples of RR usage in hypothetical situations. 2013-06-26 06:56:29 +07:00
crass
ecb0a7c3a9 Implement chain specific timeouts. 2013-06-26 06:56:29 +07:00
crass
98b7f6c2d2 Fix parser bug where proxy count in chain could be incremented even though no proxy was added. 2013-06-26 06:53:39 +07:00
crass
a83e7a7003 Add capability to select a defined chain via environment variable. Many bug fixes to configfile loader. 2013-06-26 06:53:39 +07:00
crass
cf5eff0b8a Add more dumping debug functions. 2013-06-26 06:53:39 +07:00
crass
c9b0edca9b remove old dead code. 2013-06-26 06:53:39 +07:00
crass
a65f0f47a0 Update parser and remove most globals. Parser now supports multiple proxy chains, but the current code only uses the first one to break up the commit. 2013-06-26 06:53:39 +07:00
crass
71b7c8b7af Fix NULL pointer use, since start_chain was always being called. 2013-06-26 06:44:53 +07:00
crass
a9a221e51a Move string tables into common.c 2013-06-25 17:08:41 +07:00
crass
bf5576c34f Make string tables const. 2013-06-25 17:08:41 +07:00
crass
64cfcc33e0 Fix RR detection of when its fully looped back around. 2013-06-25 17:08:41 +07:00
crass
75c1bf5283 Add round_robin to example config. 2013-06-25 17:08:41 +07:00
crass
d51cec3abe Add support for round robin mode. 2013-06-23 16:22:18 +07:00
crass
d5df709c83 Add DUMP_PROXY_CHAIN for debug builds and debug.c. 2013-06-23 16:22:18 +07:00
rofl0r
b9ca1cdefd proxychains.conf: add hint that proxy must be in ipv4 notation 2013-05-02 13:44:49 +02:00
rofl0r
64a7cd26dc fix case where proxy was using a DNS name or non-dotted ipv4
it is generally invalid to use a DNS name since DNS subsystem
is only available once connected to the proxy; because
DNS is done server-side.

closes #19
2013-05-02 13:44:49 +02:00
rofl0r
9f6ed6ed90 Merge pull request #18 from mancha1/master
Fix NULL pointer deref (issue #17)
2013-04-30 05:41:45 -07:00
mancha
2aba83087e libproxychains.c: fix NULL pointer dereference after fopen().
if a configuration file can be accessed by proxychains but there is a
mandatory access control (or other) block on the target appication's
ability to read that file, fopen() creates a NULL pointer that will
cause a segfault in fgets().

closes #17

Signed-off-by: mancha <mancha1@hush.com>
2013-04-30 04:06:36 -04:00
rofl0r
8a93f45007 README: add hint about IRC channel 2013-03-05 13:48:06 +01:00
rofl0r
73ff65ed76 Makefile: prevent from using 2 slashes (cosmetic change) 2013-02-10 12:38:05 +01:00
rofl0r
aa1b9df2cb overhaul README
especially mentioning that proxychains is a HACK so it may not work.
it is a hack because it modifies existing programs in a way not
originally intended by its authors.
additionally it relies on a very complicated and fragile dynamic
linker infrastructure which can easily break, as is the case with
glibc-linked programs that use dlopen() (see issue #10).
2013-02-10 09:54:03 +01:00
rofl0r
f3af1239a9 better regex for obsolete proxyresolv script (thx yhzarcali)
closes #11
2013-01-29 18:43:21 +01:00
rofl0r
1da09e49e5 hook close() to prevent rude programs like ssh to close our pipes
those pipes are needed to talk with the dns-name allocator thread.

closes #9
2013-01-21 01:54:45 +01:00
rofl0r
a8e8cced6d README: add disclaimer. 2013-01-06 21:42:02 +01:00
rofl0r
2efe207dde README: add bold warnings about risks 2013-01-06 21:23:44 +01:00
rofl0r
5d7715551d Makefile: add install-data to .PHONY 2013-01-06 19:33:34 +01:00
rofl0r
5d9148a900 README: mention install-config 2013-01-06 19:32:55 +01:00
rofl0r
4f7363efbc Makefile: put include config later so the program name can be overridden 2013-01-06 19:26:01 +01:00
rofl0r
173b90368e update proxyresolv 2013-01-06 19:20:44 +01:00
rofl0r
5f433adfed fine-tune configure for BSD 2013-01-06 19:18:04 +01:00
rofl0r
52cbc8f87d post-release update of README 2013-01-06 19:14:43 +01:00
rofl0r
c8bfdc15e6 remove old proxychains launcher script 2013-01-06 19:12:15 +01:00
rofl0r
5526afb56d FreeBSD support 2012-12-25 19:08:05 +01:00
rofl0r
be4efc0fd5 fix no-newline warnings on old compilers 2012-12-25 18:01:11 +01:00
rofl0r
ab4fb353b6 fix for mac build error
closes #6
2012-12-18 09:42:17 +01:00
rofl0r
5ecd5ac51d fix compilation on musl libc 2012-12-18 09:38:32 +01:00
rofl0r
d888e4ebf4 add test for getnameinfo 2012-12-17 23:22:25 +01:00
rofl0r
1c265b9628 getnameinfo: check size and family of salen 2012-12-17 23:21:58 +01:00
rofl0r
346474a43b getnameinfo: return error if buffers are too small 2012-12-17 22:41:51 +01:00
rofl0r
ce655fdac8 fix the never-ending issues with the wrong glibc prototype of getnameinfo
this bug was fixed shortly before 2.14 release, so we checked for that.
however some distros decided to backport this fix to earlier versions,
breaking our compiletime check.

http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=e4ecafe004b3d4270b3a9dace8f970047400ed38

the portable solution is to stick the function into a separate comilation
unit that does not see the glibc prototype.

closes #7
2012-12-17 22:17:04 +01:00
rofl0r
b255484a42 update README for 4.3 release 2012-12-12 04:04:38 +01:00
rofl0r
af5c6f0c6a replace hostent lookup with better performing in-memory copy.
the central dns resolver function proxy_gethostbyname() used
to iterate over the gethostent() db (/etc/hosts) on each dns
request.
since this is not threadsafe, we synchronized access to it
previously using mutexes. the parsing of this file is slow,
and blocking all threads to do it even moreso.
since gethostent_r() is only available on a few platforms,
i decided to read the hostent db once and then use a quick
in-memory lookup on further usage.

+ some further refactoring.
2012-11-08 01:18:19 +01:00
rofl0r
c698d48c03 move stringfromipv4 into common.c 2012-11-07 22:00:03 +01:00
rofl0r
8b19829de4 README: remove paragraph about now fixed fork problems. 2012-11-07 21:55:34 +01:00
rofl0r
03ee84060e remove THREAD_SAFE ifdefs. from now on, pthreads are required.
additionally we have some explicit init and deinit routines for
core.c now, so that we dont need to share variables with
libproxychains.c.
2012-11-07 21:31:19 +01:00
rofl0r
bd07ca49b9 use pipe instead of pipe2 2012-11-07 21:31:18 +01:00
rofl0r
f570a66902 use mutexes also to protect the pipe communication
wasn't threadsafe before.
2012-11-07 21:31:18 +01:00
rofl0r
d0abc93c74 preliminary first fork-safe version
instead of allocating memory in the child, we now use the allocator
thread to do all the necessary allocations himself.
additionally we provide a clean API to query the ip <-> dns mapping.
these functions connect via a pipe to the allocator thread, and
exchange messages.

further cleanup is needed, but it seems to work so far.
thread-safety is not yet guaranteed.

closes #1
2012-11-07 21:31:11 +01:00