Make proxychains working on Mac OS X, build universal binaries to make older

versions of Mac OS X working. Make both proxychains shell script and proxychains program working.

Tested on my 10.7.3
This commit is contained in:
Adam Hamsik 2012-01-28 14:01:28 +01:00
parent e991cabb94
commit 2250ef66a8
4 changed files with 14 additions and 9 deletions

View File

@ -38,7 +38,7 @@ PXCHAINS = proxychains4
ALL_TOOLS = $(PXCHAINS)
CFLAGS+=$(USER_CFLAGS) $(MAC_CFLAGS)
CCFLAGS+=$(USER_CFLAGS) $(MAC_CFLAGS)
CFLAGS_MAIN=-DLIB_DIR=\"$(libdir)\" -DINSTALL_PREFIX=\"$(prefix)\" -DDLL_NAME=\"$(LDSO_PATHNAME)\"

2
configure vendored
View File

@ -60,7 +60,7 @@ echo libdir=$libdir>>config.mak
echo includedir=$includedir>>config.mak
if ismac ; then
echo LDSO_SUFFIX=dylib>>config.mak
echo MAC_CFLAGS+=-DIS_MAC=1>>config.mak
echo MAC_CFLAGS+=-DIS_MAC=1 -arch x86_64 -arch i386 >>config.mak
echo LD_SET_SONAME=-Wl,-install_name,>>config.mak
echo INSTALL_FLAGS=-m>>config.mak
fi

View File

@ -174,12 +174,12 @@ int main(int argc, char *argv[]) {
fprintf(stderr, LOG_PREFIX "preloading %s/%s\n", prefix, dll_name);
#ifndef IS_MAC
snprintf(buf, sizeof(buf), "LD_PRELOAD=%s/%s", prefix, dll_name);
putenv(buf);
snprintf(buf, sizeof(buf), "%s/%s", prefix, dll_name);
setenv("LD_PRELOAD", buf, 1);
#else
snprintf(buf, sizeof(buf), "DYLD_INSERT_LIBRARIES=%s/%s", prefix, dll_name);
putenv(buf);
putenv("DYLD_FORCE_FLAT_NAMESPACE=1");
snprintf(buf, sizeof(buf), "%s/%s", prefix, dll_name);
setenv("DYLD_INSERT_LIBRARIES", buf, 1);
setenv("DYLD_FORCE_FLAT_NAMESPACE", "1", 1);
#endif
execvp(argv[start_argv], &argv[start_argv]);
perror("proxychains can't load process....");

View File

@ -1,5 +1,5 @@
#!/bin/sh
echo "ProxyChains-3.1 (http://proxychains.sf.net)"
echo "ProxyChains-4.0 (http://proxychains.sf.net)"
usage() {
@ -22,5 +22,10 @@ if [ "$1" = "-f" ]; then
shift;
fi
export LD_PRELOAD=libproxychains.so.3
if [ $(uname) = "Darwin" ]; then
export DYLD_FORCE_FLAT_NAMESPACE=
export DYLD_INSERT_LIBRARIES=libproxychains4.dylib
else
export LD_PRELOAD=libproxychains.so.4
fi
exec "$@"