diff --git a/src/evo/netinfo.cpp b/src/evo/netinfo.cpp index ed5fc19053db1..38e767d69ca70 100644 --- a/src/evo/netinfo.cpp +++ b/src/evo/netinfo.cpp @@ -36,12 +36,9 @@ NetInfoStatus MnNetInfo::ValidateService(const CService& service) return NetInfoStatus::BadInput; } - const auto default_port_main = MainParams().GetDefaultPort(); - if (IsNodeOnMainnet() && service.GetPort() != default_port_main) { - // Must use mainnet port on mainnet - return NetInfoStatus::BadPort; - } else if (service.GetPort() == default_port_main) { - // Using mainnet port prohibited outside of mainnet + if (IsNodeOnMainnet() != (service.GetPort() == MainParams().GetDefaultPort())) { + // Must use mainnet port on mainnet. + // Must NOT use mainnet port on other networks. return NetInfoStatus::BadPort; } diff --git a/src/test/evo_netinfo_tests.cpp b/src/test/evo_netinfo_tests.cpp index a7f376ff24c07..2c8952b234f0c 100644 --- a/src/test/evo_netinfo_tests.cpp +++ b/src/test/evo_netinfo_tests.cpp @@ -11,29 +11,31 @@ #include +BOOST_FIXTURE_TEST_SUITE(evo_netinfo_tests, BasicTestingSetup) + const std::vector> vals{ // Address and port specified - {"1.1.1.1:8888", NetInfoStatus::Success}, + {"1.1.1.1:9999", NetInfoStatus::Success}, // Address specified, port should default to default P2P core {"1.1.1.1", NetInfoStatus::Success}, - // Mainnet P2P port on non-mainnet - {"1.1.1.1:9999", NetInfoStatus::BadPort}, + // Non-mainnet port on mainnet + {"1.1.1.1:9998", NetInfoStatus::BadPort}, + // Internal addresses not allowed on mainnet + {"127.0.0.1:9999", NetInfoStatus::BadInput}, // Valid IPv4 formatting but invalid IPv4 address - {"0.0.0.0:8888", NetInfoStatus::BadInput}, + {"0.0.0.0:9999", NetInfoStatus::BadInput}, // Port greater than uint16_t max {"1.1.1.1:99999", NetInfoStatus::BadInput}, // Only IPv4 allowed - {"[2606:4700:4700::1111]:8888", NetInfoStatus::BadInput}, + {"[2606:4700:4700::1111]:9999", NetInfoStatus::BadInput}, // Domains are not allowed - {"example.com:8888", NetInfoStatus::BadInput}, + {"example.com:9999", NetInfoStatus::BadInput}, // Incorrect IPv4 address - {"1.1.1.256:8888", NetInfoStatus::BadInput}, + {"1.1.1.256:9999", NetInfoStatus::BadInput}, // Missing address - {":8888", NetInfoStatus::BadInput}, + {":9999", NetInfoStatus::BadInput}, }; -BOOST_FIXTURE_TEST_SUITE(evo_netinfo_tests, RegTestingSetup) - void ValidateGetEntries(const CServiceList& entries, const size_t expected_size) { BOOST_CHECK_EQUAL(entries.size(), expected_size);