aboutsummaryrefslogtreecommitdiff
path: root/src/bitcoinrpc.cpp
diff options
context:
space:
mode:
authorGiel van Schijndel <me@mortis.eu>2012-05-20 17:46:44 +0200
committerGiel van Schijndel <me@mortis.eu>2012-05-25 07:27:24 +0200
commit7cc2ceae09d7b36f9054e8f57c1fa7ba87e21171 (patch)
tree4de8d009524fbe845ad0149afd71a1425bc22759 /src/bitcoinrpc.cpp
parenta0780ba08ac456f8bcfb69e288e0a064b79b5423 (diff)
downloadbitcoin-7cc2ceae09d7b36f9054e8f57c1fa7ba87e21171.tar.xz
Allow all addresses on the loopback subnet (127.0.0.0/8) not just 127.0.0.1
Signed-off-by: Giel van Schijndel <me@mortis.eu>
Diffstat (limited to 'src/bitcoinrpc.cpp')
-rw-r--r--src/bitcoinrpc.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp
index 8a278070cf..bd7cb3ef44 100644
--- a/src/bitcoinrpc.cpp
+++ b/src/bitcoinrpc.cpp
@@ -2558,7 +2558,10 @@ bool ClientAllowed(const boost::asio::ip::address& address)
return ClientAllowed(address.to_v6().to_v4());
if (address == asio::ip::address_v4::loopback()
- || address == asio::ip::address_v6::loopback())
+ || address == asio::ip::address_v6::loopback()
+ || (address.is_v4()
+ // Chech whether IPv4 addresses match 127.0.0.0/8 (loopback subnet)
+ && (address.to_v4().to_ulong() & 0xff000000) == 0x7f000000))
return true;
const string strAddress = address.to_string();