aboutsummaryrefslogtreecommitdiffstats
path: root/main/acl.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-01-22 20:34:55 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2008-01-22 20:34:55 +0000
commit35042556d86099c85858a523f2e95d59a22e9b25 (patch)
tree046d511c56d7c8b8461aff32ca04709eafac3041 /main/acl.c
parent4c77fac7b727898f2dacf0024577fdc327a846c8 (diff)
Fix the defines for OS X (and Solaris, too)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@99643 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/acl.c')
-rw-r--r--main/acl.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/main/acl.c b/main/acl.c
index 8b8968c04..0f454d986 100644
--- a/main/acl.c
+++ b/main/acl.c
@@ -43,7 +43,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <netinet/ip.h>
#include <sys/ioctl.h>
-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__Darwin__)
#include <fcntl.h>
#include <net/route.h>
#endif
@@ -52,7 +52,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <sys/sockio.h>
#endif
-#if defined(__linux__)
+#if defined(__Darwin__) || defined(__linux__)
#include <ifaddrs.h>
#endif
@@ -149,23 +149,23 @@ static void score_address(const struct sockaddr_in *sin, struct in_addr *best_ad
static int get_local_address(struct in_addr *ourip)
{
int s, res = -1;
-#ifdef _SOLARIS
+#ifdef SOLARIS
struct lifreq *ifr = NULL;
struct lifnum ifn;
struct lifconf ifc;
struct sockaddr_in *sa;
char *buf = NULL;
int bufsz, x;
-#endif /* _SOLARIS */
-#if defined(_BSD) || defined(__linux__)
+#endif /* SOLARIS */
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__)
struct ifaddrs *ifap, *ifaphead;
int rtnerr;
const struct sockaddr_in *sin;
-#endif /* defined(_BSD) || defined(_LINUX) */
+#endif /* BSD_OR_LINUX */
struct in_addr best_addr = { 0, };
int best_score = -100;
-#if defined(_BSD) || defined(__linux__)
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__)
rtnerr = getifaddrs(&ifaphead);
if (rtnerr) {
perror(NULL);
@@ -176,7 +176,7 @@ static int get_local_address(struct in_addr *ourip)
s = socket(AF_INET, SOCK_STREAM, 0);
if (s > 0) {
-#if defined(_BSD) || defined(__linux__)
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__)
for (ifap = ifaphead; ifap; ifap = ifap->ifa_next) {
if (ifap->ifa_addr->sa_family == AF_INET) {
@@ -188,10 +188,10 @@ static int get_local_address(struct in_addr *ourip)
break;
}
}
-#endif /* _BSD */
+#endif /* BSD_OR_LINUX */
/* There is no reason whatsoever that this shouldn't work on Linux or BSD also. */
-#ifdef _SOLARIS
+#ifdef SOLARIS
/* Get a count of interfaces on the machine */
ifn.lifn_family = AF_INET;
ifn.lifn_flags = 0;
@@ -229,13 +229,13 @@ static int get_local_address(struct in_addr *ourip)
}
free(buf);
-#endif /* _SOLARIS */
+#endif /* SOLARIS */
close(s);
}
-#if defined(_BSD) || defined(__linux__)
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__)
freeifaddrs(ifaphead);
-#endif
+#endif /* BSD_OR_LINUX */
if (res == 0 && ourip)
memcpy(ourip, &best_addr, sizeof(*ourip));