diff -ur chillispot-1.0/src/chilli.c chillispot-1.0.patched/src/chilli.c --- chillispot-1.0/src/chilli.c Mon Sep 19 23:54:23 2005 +++ chillispot-1.0.patched/src/chilli.c Wed Jul 5 06:45:06 2006 @@ -31,6 +31,22 @@ #include #endif +#if defined (__OpenBSD__) +#include +#include +#ifndef EIDRM +#define EIDRM EINVAL +#endif +#ifndef ENOMSG +#define ENOMSG EAGAIN +#endif +#endif + +#if defined (__NetBSD__) +#include +#include +#endif + #include #include @@ -3625,7 +3641,7 @@ if (dhcp) FD_SET(dhcp->fd, &fds); if ((dhcp) && (dhcp->arp_fd)) FD_SET(dhcp->arp_fd, &fds); if ((dhcp) && (dhcp->eapol_fd)) FD_SET(dhcp->eapol_fd, &fds); -#elif defined (__FreeBSD__) || defined (__APPLE__) +#elif defined (__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) if (dhcp) FD_SET(dhcp->fd, &fds); #endif if (radius->fd != -1) FD_SET(radius->fd, &fds); diff -ur chillispot-1.0/src/dhcp.c chillispot-1.0.patched/src/dhcp.c --- chillispot-1.0/src/dhcp.c Mon Sep 19 22:49:28 2005 +++ chillispot-1.0.patched/src/dhcp.c Wed Jul 5 04:58:20 2006 @@ -46,7 +46,7 @@ #include #include -#elif defined (__FreeBSD__) || defined (__APPLE__) +#elif defined (__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) #include #include #include @@ -254,7 +254,7 @@ #if defined(__linux__) ifr.ifr_netmask.sa_family = AF_INET; -#elif defined(__FreeBSD__) || defined (__APPLE__) +#elif defined(__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) ((struct sockaddr_in *) &ifr.ifr_addr)->sin_len = sizeof (struct sockaddr_in); ((struct sockaddr_in *) &ifr.ifr_dstaddr)->sin_len = @@ -303,7 +303,7 @@ ((struct sockaddr_in *) &ifr.ifr_netmask)->sin_addr.s_addr = netmask->s_addr; -#elif defined(__FreeBSD__) || defined (__APPLE__) +#elif defined(__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) ((struct sockaddr_in *) &ifr.ifr_addr)->sin_addr.s_addr = netmask->s_addr; @@ -329,7 +329,7 @@ /* TODO: How does it work on Solaris? */ -#if defined(__FreeBSD__) || defined (__APPLE__) +#if defined(__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) (void)dhcp_sifflags(devname, IFF_UP | IFF_RUNNING); /* TODO */ /*return tun_addroute(this, addr, addr, netmask);*/ #else @@ -447,7 +447,7 @@ return fd; } -#elif defined (__FreeBSD__) || defined (__APPLE__) +#elif defined (__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) int dhcp_getmac(const char *ifname, char *macaddr) { @@ -630,7 +630,7 @@ fd, length); return -1; } -#elif defined(__FreeBSD__) || defined (__APPLE__) +#elif defined(__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) if (write(fd, packet, length) < 0) { sys_err(LOG_ERR, __FILE__, __LINE__, errno, "write() failed"); return -1; diff -ur chillispot-1.0/src/redir.c chillispot-1.0.patched/src/redir.c --- chillispot-1.0/src/redir.c Mon Sep 19 23:54:23 2005 +++ chillispot-1.0.patched/src/redir.c Wed Jul 5 04:22:18 2006 @@ -9,6 +9,7 @@ * */ +#include #include #include @@ -485,7 +486,7 @@ address.sin_family = AF_INET; address.sin_addr.s_addr = addr->s_addr; address.sin_port = htons(port); -#if defined(__FreeBSD__) || defined (__APPLE__) +#if defined(__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) address.sin_len = sizeof (struct sockaddr_in); #endif diff -ur chillispot-1.0/src/syserr.c chillispot-1.0.patched/src/syserr.c --- chillispot-1.0/src/syserr.c Fri Apr 2 19:55:11 2004 +++ chillispot-1.0.patched/src/syserr.c Wed Jul 5 04:25:34 2006 @@ -10,6 +10,7 @@ */ #include +#include #include #include #include diff -ur chillispot-1.0/src/tun.c chillispot-1.0.patched/src/tun.c --- chillispot-1.0/src/tun.c Sun Sep 18 13:07:49 2005 +++ chillispot-1.0.patched/src/tun.c Wed Jul 5 05:01:12 2006 @@ -46,7 +46,7 @@ #include #include -#elif defined (__FreeBSD__) +#elif defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__) #include #include @@ -334,7 +334,7 @@ this->addrs++; return 0; -#elif defined (__FreeBSD__) || defined (__APPLE__) +#elif defined (__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) int fd; struct ifaliasreq areq; @@ -413,7 +413,7 @@ #if defined(__linux__) ifr.ifr_netmask.sa_family = AF_INET; -#elif defined(__FreeBSD__) || defined (__APPLE__) +#elif defined(__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) ((struct sockaddr_in *) &ifr.ifr_addr)->sin_len = sizeof (struct sockaddr_in); ((struct sockaddr_in *) &ifr.ifr_dstaddr)->sin_len = @@ -465,7 +465,7 @@ ((struct sockaddr_in *) &ifr.ifr_netmask)->sin_addr.s_addr = netmask->s_addr; -#elif defined(__FreeBSD__) || defined (__APPLE__) +#elif defined(__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) ((struct sockaddr_in *) &ifr.ifr_addr)->sin_addr.s_addr = netmask->s_addr; @@ -494,7 +494,7 @@ tun_sifflags(this, IFF_UP | IFF_RUNNING); -#if defined(__FreeBSD__) || defined (__APPLE__) +#if defined(__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) tun_addroute(this, dstaddr, addr, netmask); this->routes = 1; #endif @@ -553,7 +553,7 @@ close(fd); return 0; -#elif defined(__FreeBSD__) || defined (__APPLE__) +#elif defined(__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) struct { struct rt_msghdr rt; @@ -642,7 +642,7 @@ #if defined(__linux__) struct ifreq ifr; -#elif defined(__FreeBSD__) || defined (__APPLE__) +#elif defined(__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) char devname[IFNAMSIZ+5]; /* "/dev/" + ifname */ int devnum; struct ifaliasreq areq; @@ -690,7 +690,7 @@ ioctl((*tun)->fd, TUNSETNOCSUM, 1); /* Disable checksums */ return 0; -#elif defined(__FreeBSD__) || defined (__APPLE__) +#elif defined(__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) /* Find suitable device */ for (devnum = 0; devnum < 255; devnum++) { /* TODO 255 */ @@ -822,7 +822,7 @@ int tun_decaps(struct tun_t *this) { -#if defined(__linux__) || defined (__FreeBSD__) || defined (__APPLE__) +#if defined(__linux__) || defined (__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) unsigned char buffer[PACKET_MAX]; int status; @@ -863,7 +863,7 @@ int tun_encaps(struct tun_t *tun, void *pack, unsigned len) { -#if defined(__linux__) || defined (__FreeBSD__) || defined (__APPLE__) +#if defined(__linux__) || defined (__FreeBSD__) || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) return write(tun->fd, pack, len);