mirror of
https://github.com/rofl0r/proxychains-ng
synced 2025-01-23 01:12:59 +08:00
FreeBSD support
This commit is contained in:
parent
be4efc0fd5
commit
5526afb56d
3
Makefile
3
Makefile
@ -22,7 +22,8 @@ LOBJS = src/nameinfo.o \
|
|||||||
|
|
||||||
CFLAGS += -Wall -O0 -g -std=c99 -D_GNU_SOURCE -pipe
|
CFLAGS += -Wall -O0 -g -std=c99 -D_GNU_SOURCE -pipe
|
||||||
NO_AS_NEEDED = -Wl,--no-as-needed
|
NO_AS_NEEDED = -Wl,--no-as-needed
|
||||||
LDFLAGS = -shared -fPIC $(NO_AS_NEEDED) -ldl -lpthread
|
LIBDL = -ldl
|
||||||
|
LDFLAGS = -shared -fPIC $(NO_AS_NEEDED) $(LIBDL) -lpthread
|
||||||
INC =
|
INC =
|
||||||
PIC = -fPIC
|
PIC = -fPIC
|
||||||
AR = $(CROSS_COMPILE)ar
|
AR = $(CROSS_COMPILE)ar
|
||||||
|
9
configure
vendored
9
configure
vendored
@ -34,7 +34,11 @@ parsearg() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ismac() {
|
ismac() {
|
||||||
uname -s | grep Darwin
|
uname -s | grep Darwin >/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
isbsd() {
|
||||||
|
uname -s | grep BSD >/dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
while true ; do
|
while true ; do
|
||||||
@ -83,6 +87,9 @@ if ismac ; then
|
|||||||
echo MAC_CFLAGS+=-DIS_MAC=1>>config.mak
|
echo MAC_CFLAGS+=-DIS_MAC=1>>config.mak
|
||||||
echo LD_SET_SONAME=-Wl,-install_name,>>config.mak
|
echo LD_SET_SONAME=-Wl,-install_name,>>config.mak
|
||||||
echo INSTALL_FLAGS=-m>>config.mak
|
echo INSTALL_FLAGS=-m>>config.mak
|
||||||
|
elif isbsd ; then
|
||||||
|
echo LIBDL=>>config.mak
|
||||||
|
echo "CFLAGS+=-DIS_BSD">>config.mak
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo done, now run make \&\& make install
|
echo done, now run make \&\& make install
|
||||||
|
@ -28,11 +28,16 @@ static void hdb_add(struct hostent_list* hl, char* host, ip_type ip) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void hdb_fill(struct hostent_list *hl) {
|
static void hdb_fill(struct hostent_list *hl) {
|
||||||
|
#ifndef IS_BSD
|
||||||
struct hostent* hp;
|
struct hostent* hp;
|
||||||
while((hp = gethostent()))
|
while((hp = gethostent()))
|
||||||
if(hp->h_addrtype == AF_INET && hp->h_length == sizeof(in_addr_t)) {
|
if(hp->h_addrtype == AF_INET && hp->h_length == sizeof(in_addr_t)) {
|
||||||
hdb_add(hl, hp->h_name, (ip_type) { .as_int = *((in_addr_t*)(hp->h_addr_list[0])) });
|
hdb_add(hl, hp->h_name, (ip_type) { .as_int = *((in_addr_t*)(hp->h_addr_list[0])) });
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
/* FreeBSD hangs on gethostent(). since this feature is not crucial, we just do nothing */
|
||||||
|
(void) hl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void hdb_init(struct hostent_list *hl) {
|
void hdb_init(struct hostent_list *hl) {
|
||||||
|
Loading…
Reference in New Issue
Block a user