diff --git a/src/ripple/core/tests/Config.test.cpp b/src/ripple/core/tests/Config.test.cpp index 23b0f27e93..b3dc0b2ce0 100644 --- a/src/ripple/core/tests/Config.test.cpp +++ b/src/ripple/core/tests/Config.test.cpp @@ -40,7 +40,7 @@ port_wss_admin [port_rpc] port = 5005 ip = 127.0.0.1 -admin = allow +admin = 127.0.0.1 protocol = https [port_peer] @@ -51,7 +51,7 @@ protocol = peer [port_wss_admin] port = 6006 ip = 127.0.0.1 -admin = allow +admin = 127.0.0.1 protocol = wss #[port_ws_public] diff --git a/src/ripple/server/impl/ServerHandlerImp.cpp b/src/ripple/server/impl/ServerHandlerImp.cpp index 59813ef746..9030e316f9 100644 --- a/src/ripple/server/impl/ServerHandlerImp.cpp +++ b/src/ripple/server/impl/ServerHandlerImp.cpp @@ -585,28 +585,25 @@ parse_Port (ParsedPort& port, Section const& section, std::ostream& log) port.admin_ip.emplace (); while (std::getline (ss, ip, ',')) { - beast::IP::Address const addr( - beast::IP::Endpoint::from_string_altform (ip).address ()); - - if (addr.is_any ()) - { - has_any = true; - } - else if (is_unspecified (addr)) + auto const addr = beast::IP::Endpoint::from_string_checked (ip); + if (! addr.second) { log << "Invalid value '" << ip << "' for key 'admin' in [" - << section.name() << "]\n"; + << section.name () << "]\n"; throw std::exception (); } + if (is_unspecified (addr.first)) + has_any = true; + if (has_any && ! port.admin_ip->empty ()) { - log << "IP specified with 0.0.0.0 '" << ip << + log << "IP specified along with 0.0.0.0 '" << ip << "' for key 'admin' in [" << section.name () << "]\n"; throw std::exception (); } - port.admin_ip->emplace_back (addr); + port.admin_ip->emplace_back (addr.first.address ()); } } } diff --git a/test/config-example.js b/test/config-example.js index 66c146c999..08703f2de3 100644 --- a/test/config-example.js +++ b/test/config-example.js @@ -63,12 +63,12 @@ exports.servers = { 'port_admin_http': lines('port = 5005', 'ip = 127.0.0.1', - 'admin = allow', + 'admin = 127.0.0.1', 'protocol = http'), 'port_admin_ws': lines('port = 5006', 'ip = 127.0.0.1', - 'admin = allow', + 'admin = 127.0.0.1', 'protocol = ws'), 'node_db': lines('type=memory',