From 9655d73f49cd4da189ddb2ed708c26dc4cb3babe Mon Sep 17 00:00:00 2001
From: Luke Dashjr <luke-jr+git@utopios.org>
Date: Fri, 8 Jun 2012 16:43:06 +0000
Subject: [PATCH] Allow building with IPv6 support, but it disabled by default

---
 bitcoin-qt.pro           | 8 ++++++--
 src/init.cpp             | 6 ++++++
 src/makefile.linux-mingw | 2 +-
 src/makefile.mingw       | 2 +-
 src/makefile.osx         | 2 +-
 src/makefile.unix        | 2 +-
 6 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/bitcoin-qt.pro b/bitcoin-qt.pro
index f8422af33..92103f1e3 100644
--- a/bitcoin-qt.pro
+++ b/bitcoin-qt.pro
@@ -71,12 +71,16 @@ contains(FIRST_CLASS_MESSAGING, 1) {
     DEFINES += FIRST_CLASS_MESSAGING
 }
 
-# use: qmake "USE_IPV6=1" (enabled; default)
+# use: qmake "USE_IPV6=1" ( enabled by default; default)
+#  or: qmake "USE_IPV6=0" (disabled by default)
 #  or: qmake "USE_IPV6=-" (not supported)
 contains(USE_IPV6, -) {
 	message(Building without IPv6 support)
 } else {
-	DEFINES += USE_IPV6
+	count(USE_IPV6, 0) {
+		USE_IPV6=1
+	}
+	DEFINES += USE_IPV6=$$USE_IPV6
 }
 
 contains(BITCOIN_NEED_QT_PLUGINS, 1) {
diff --git a/src/init.cpp b/src/init.cpp
index 1a1e31c2f..25756c4e6 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -500,6 +500,12 @@ bool AppInit2()
                 SetLimited(net);
         }
     }
+#if defined(USE_IPV6)
+#if ! USE_IPV6
+    else
+        SetLimited(NET_IPV6);
+#endif
+#endif
 
     CService addrProxy;
     bool fProxy = false;
diff --git a/src/makefile.linux-mingw b/src/makefile.linux-mingw
index 059504b80..ad74aa6c9 100644
--- a/src/makefile.linux-mingw
+++ b/src/makefile.linux-mingw
@@ -45,7 +45,7 @@ ifneq (${USE_UPNP}, -)
 endif
 
 ifneq (${USE_IPV6}, -)
-	DEFS += -DUSE_IPV6
+	DEFS += -DUSE_IPV6=$(USE_IPV6)
 endif
 
 LIBS += -l mingwthrd -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l mswsock -l shlwapi
diff --git a/src/makefile.mingw b/src/makefile.mingw
index 0bde965e1..6102dad61 100644
--- a/src/makefile.mingw
+++ b/src/makefile.mingw
@@ -41,7 +41,7 @@ ifneq (${USE_UPNP}, -)
 endif
 
 ifneq (${USE_IPV6}, -)
-	DEFS += -DUSE_IPV6
+	DEFS += -DUSE_IPV6=$(USE_IPV6)
 endif
 
 LIBS += -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l mswsock -l shlwapi
diff --git a/src/makefile.osx b/src/makefile.osx
index d4109b941..de829b9eb 100644
--- a/src/makefile.osx
+++ b/src/makefile.osx
@@ -110,7 +110,7 @@ endif
 endif
 
 ifneq (${USE_IPV6}, -)
-	DEFS += -DUSE_IPV6
+	DEFS += -DUSE_IPV6=$(USE_IPV6)
 endif
 
 all: bitcoind
diff --git a/src/makefile.unix b/src/makefile.unix
index 81337148d..ac42743d8 100644
--- a/src/makefile.unix
+++ b/src/makefile.unix
@@ -45,7 +45,7 @@ ifneq (${USE_UPNP}, -)
 endif
 
 ifneq (${USE_IPV6}, -)
-	DEFS += -DUSE_IPV6
+	DEFS += -DUSE_IPV6=$(USE_IPV6)
 endif
 
 LIBS+= \