diff --git a/main/acl.c b/main/acl.c index 8b8968c043..0f454d9868 100644 --- a/main/acl.c +++ b/main/acl.c @@ -43,7 +43,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include #include -#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) +#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__Darwin__) #include #include #endif @@ -52,7 +52,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include #endif -#if defined(__linux__) +#if defined(__Darwin__) || defined(__linux__) #include #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));