diff --git a/nano/rpc/rpc.cpp b/nano/rpc/rpc.cpp index 5cfdebc3..a1213945 100644 --- a/nano/rpc/rpc.cpp +++ b/nano/rpc/rpc.cpp @@ -32,7 +32,8 @@ nano::rpc::~rpc () void nano::rpc::start () { auto endpoint (boost::asio::ip::tcp::endpoint (boost::asio::ip::make_address_v6 (config.address), config.port)); - if (!endpoint.address ().is_loopback () && config.enable_control) + bool const is_loopback = (endpoint.address ().is_loopback () || (endpoint.address ().to_v6 ().is_v4_mapped () && boost::asio::ip::make_address_v4 (boost::asio::ip::v4_mapped, endpoint.address ().to_v6 ()).is_loopback ())); + if (!is_loopback && config.enable_control) { auto warning = boost::str (boost::format ("WARNING: control-level RPCs are enabled on non-local address %1%, potentially allowing wallet access outside local computer") % endpoint.address ().to_string ()); std::cout << warning << std::endl;