Skip to content

Commit

Permalink
Add Haiku support (rofl0r#340)
Browse files Browse the repository at this point in the history
  • Loading branch information
Ethan F authored Aug 17, 2020
1 parent bf2ef2c commit 0ee5db6
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ ProxyChains-NG ver 4.14 README
If your program doesn't work with proxychains, consider using an
iptables based solution instead; this is much more robust.

Supported Platforms: Linux, BSD, Mac.
Supported Platforms: Linux, BSD, Mac, Haiku.


*********** ATTENTION ***********
Expand Down
8 changes: 8 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,10 @@ solaris_detected=false
issolaris() {
$solaris_detected
}
haiku_detected=false
ishaiku() {
$haiku_detected
}

check_compile 'whether we have GNU-style getservbyname_r()' "-DHAVE_GNU_GETSERVBYNAME_R" \
'#define _GNU_SOURCE\n#include <netdb.h>\nint main() {\nstruct servent *se = 0;struct servent se_buf;char buf[1024];\ngetservbyname_r("foo", (void*) 0, &se_buf, buf, sizeof(buf), &se);\nreturn 0;}'
Expand All @@ -168,6 +172,7 @@ check_compile_run 'whether OpenBSDs fclose() (illegally) calls close()' \
OUR_CPPFLAGS="$OUR_CPPFLAGS -DBROKEN_FCLOSE"
}
check_define __sun && check_define __SVR4 && solaris_detected=true
check_define __HAIKU__ && haiku_detected=true

echo "CC=$CC">>config.mak
[ -z "$CPPFLAGS" ] || echo "CPPFLAGS=$CPPFLAGS">>config.mak
Expand Down Expand Up @@ -213,6 +218,9 @@ elif isbsd ; then
elif issolaris; then
echo "CFLAGS+=-DIS_SOLARIS -D__EXTENSIONS__" >> config.mak
echo "SOCKET_LIBS=-lsocket -lnsl" >> config.mak
elif ishaiku ; then
echo LIBDL=>>config.mak
echo "CFLAGS+=-DIS_HAIKU" >> config.mak
fi

echo "Done, now run $make_cmd && $make_cmd install"
7 changes: 7 additions & 0 deletions src/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,13 @@ char *get_config_path(char* default_path, char* pbuf, size_t bufsize) {
path = pbuf;
if(check_path(path))
goto have;

// priority 3b: ~/config/settings/proxychains.conf (for haiku)
path = getenv("HOME");
snprintf(pbuf, bufsize, "%s/config/settings/%s", path, PROXYCHAINS_CONF_FILE);
path = pbuf;
if(check_path(path))
goto have;

// priority 4: $SYSCONFDIR/proxychains.conf
path = SYSCONFDIR "/" PROXYCHAINS_CONF_FILE;
Expand Down
1 change: 1 addition & 0 deletions src/libproxychains.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
#include "core.h"
#include "common.h"

#undef satosin
#define satosin(x) ((struct sockaddr_in *) &(x))
#define SOCKADDR(x) (satosin(x)->sin_addr.s_addr)
#define SOCKADDR_2(x) (satosin(x)->sin_addr)
Expand Down

0 comments on commit 0ee5db6

Please sign in to comment.