Patch to make it build on BeOS R5-BONE and Haiku

This commit is contained in:
Francois Revol 2008-08-07 16:53:59 +00:00 committed by Erik Ekman
parent d24dae882a
commit ec2d6657a0
4 changed files with 28 additions and 1 deletions

View File

@ -14,6 +14,8 @@ CHANGES:
- The interval between "pings" from clients is now 5 seconds.
- Eliminited extra "ping" messages from client to server when server
sends data and gets data back directly.
- Applied patch to make iodine build on BeOS R5-BONE and Haiku,
from Francois Revol. Still work to do to get tun device working.
2008-08-06: 0.4.2 "Opened Zone"
- Applied a few small patches from Maxim Bourmistrov and Gregor Herrmann

View File

@ -9,7 +9,7 @@ OS = `uname | tr "a-z" "A-Z"`
ARCH = `uname -m`
LDFLAGS = -lz `sh osflags link`
CFLAGS = -c -g -Wall -D$(OS) -pedantic
CFLAGS = -c -g -Wall -D$(OS) -pedantic `sh osflags cflags`
all: stateos $(CLIENT) $(SERVER)

View File

@ -74,6 +74,14 @@ static int daemon(int nochdir, int noclose)
}
#endif
#if defined(__BEOS__) && !defined(__HAIKU__)
int setgroups(int count, int *groups)
{
/* errno = ENOSYS; */
return -1;
}
#endif
int
open_dns(int localport, in_addr_t listen_ip)
{
@ -113,11 +121,15 @@ close_dns(int fd)
void
do_chroot(char *newroot)
{
#if !defined(__BEOS__) || defined(__HAIKU__)
if (chroot(newroot) != 0 || chdir("/") != 0)
err(1, "%s", newroot);
seteuid(geteuid());
setuid(getuid());
#else
warnx("chroot not available");
#endif
}
void

View File

@ -7,8 +7,21 @@ link)
SunOS | solaris)
echo '-lsocket -lnsl';
;;
BeOS)
echo '-lsocket -lbind -lbsd';
;;
Haiku)
echo '-lnetwork';
;;
esac
;;
cflags)
case `uname` in
BeOS)
echo '-Dsocklen_t=int';
;;
esac
;;
*)
;;
esac