39 lines
1.3 KiB
Text
39 lines
1.3 KiB
Text
Index: galerautils/src/gu_resolver.cpp
|
|
--- galerautils/src/gu_resolver.cpp.orig
|
|
+++ galerautils/src/gu_resolver.cpp
|
|
@@ -17,7 +17,7 @@
|
|
#include <map>
|
|
#include <stdexcept>
|
|
|
|
-#if defined(__APPLE__) || defined(__FreeBSD__)
|
|
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
|
# include <ifaddrs.h>
|
|
# define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
|
|
# define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP
|
|
@@ -79,7 +79,7 @@ class SchemeMap (private)
|
|
family,
|
|
socktype,
|
|
protocol,
|
|
-#if defined(__FreeBSD__)
|
|
+#if defined(__FreeBSD__) || defined(__OpenBSD__)
|
|
0, // FreeBSD gives ENOMEM error with non-zero value
|
|
#else
|
|
sizeof(struct sockaddr),
|
|
@@ -208,7 +208,7 @@ static unsigned int get_ifindex_by_addr(const gu::net:
|
|
|
|
unsigned int idx(-1);
|
|
int err(0);
|
|
-#if defined(__APPLE__) || defined(__FreeBSD__)
|
|
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
|
struct ifaddrs *if_addrs = NULL;
|
|
struct ifaddrs *if_addr = NULL;
|
|
|
|
@@ -272,7 +272,7 @@ out:
|
|
}
|
|
#if defined(__linux__) || defined(__GNU__)
|
|
idx = ifrp->ifr_ifindex;
|
|
-#elif defined(__sun__) || defined(__FreeBSD_kernel__)
|
|
+#elif defined(__sun__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__)
|
|
idx = ifrp->ifr_index;
|
|
#else
|
|
# error "Unsupported ifreq structure"
|