From 7f7075ca9a12f636dc8a648006c0f7f844e0ce4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Tue, 9 Apr 2019 12:31:23 -0400
Subject: [PATCH] peerdiscovery: support IPV6_JOIN_GROUP

---
 src/network_utils.h    | 4 ++++
 src/peer_discovery.cpp | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/network_utils.h b/src/network_utils.h
index b9148237..b98ccac2 100644
--- a/src/network_utils.h
+++ b/src/network_utils.h
@@ -23,6 +23,10 @@
 #define write(s, b, f) send(s, b, (int)strlen(b), 0)
 #endif
 
+#ifndef IPV6_JOIN_GROUP
+#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
+#endif
+
 namespace dht {
 namespace net {
 
diff --git a/src/peer_discovery.cpp b/src/peer_discovery.cpp
index 038b3e2d..bb282dfe 100644
--- a/src/peer_discovery.cpp
+++ b/src/peer_discovery.cpp
@@ -130,7 +130,7 @@ PeerDiscovery::socketJoinMulticast(int sockfd, sa_family_t family)
 
         config_ipv6.ipv6mr_interface = 0;
         inet_pton(AF_INET6, MULTICAST_ADDRESS_IPV6, &config_ipv6.ipv6mr_multiaddr);
-        if (setsockopt(sockfd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, &config_ipv6, sizeof(config_ipv6)) < 0){
+        if (setsockopt(sockfd, IPPROTO_IPV6, IPV6_JOIN_GROUP, &config_ipv6, sizeof(config_ipv6)) < 0){
             throw std::runtime_error(std::string("Member Addition IPV6 Error: ") + strerror(errno));
         }
         break;
-- 
GitLab