diff --git a/ecal/core/include/ecal/types/ecal_custom_data_types.h b/ecal/core/include/ecal/types/ecal_custom_data_types.h index 8f931e5462..096c15e7ea 100644 --- a/ecal/core/include/ecal/types/ecal_custom_data_types.h +++ b/ecal/core/include/ecal/types/ecal_custom_data_types.h @@ -62,7 +62,6 @@ namespace eCAL private: ECAL_API void validateIpString(const std::string& ip_address_); - ECAL_API static void throwException(const std::string& ip_address_ = std::string("")); std::string m_ip_address{}; }; diff --git a/ecal/core/src/types/ecal_custom_data_types.cpp b/ecal/core/src/types/ecal_custom_data_types.cpp index f79d13011d..03fdcf1e87 100644 --- a/ecal/core/src/types/ecal_custom_data_types.cpp +++ b/ecal/core/src/types/ecal_custom_data_types.cpp @@ -30,11 +30,6 @@ #include namespace{ - const std::array INVALID_IPV4_ADDRESSES = { - std::regex("^(((255)|([fF]{2}))\\.){3}((255)|([fF]{2}))$"), // 255.255.255.255 - std::regex("((127|7[fF]).((0|00|000)\\.){2}(1|01|001))"), // 127.0.0.1 - std::regex("((0|00|000)\\.){3}(0|00|000)") // 0.0.0.0 - }; const std::regex IPV4_DEC_REGEX = std::regex("^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])$"); const std::regex IPV4_HEX_REGEX = std::regex("^([0-9a-fA-F]{1,2}\\.){3}[0-9a-fA-F]{1,2}$"); } @@ -58,29 +53,15 @@ namespace eCAL if ( std::regex_match(ip_address_, IPV4_DEC_REGEX) || std::regex_match(ip_address_, IPV4_HEX_REGEX) ) - { - for (const auto& inv_ip_regex : INVALID_IPV4_ADDRESSES) - { - if (std::regex_match(ip_address_, inv_ip_regex)) - { - throwException(ip_address_); - return; - } - } - + { m_ip_address = ip_address_; } else { - throwException(ip_address_); + throw std::invalid_argument("[IpAddressV4] No valid IP address: " + ip_address_); } } - void IpAddressV4::throwException(const std::string& ip_address_ /*std::string("")*/) - { - throw std::invalid_argument("[IpAddressV4] No valid IP address: " + ip_address_); - } - std::string IpAddressV4::Get() const { return m_ip_address; } IpAddressV4& IpAddressV4::operator=(const std::string& ip_string_) { this->validateIpString(ip_string_); return *this; } IpAddressV4& IpAddressV4::operator=(const char* ip_string_) { this->validateIpString(ip_string_); return *this; } diff --git a/ecal/tests/cpp/config_test/src/config_test.cpp b/ecal/tests/cpp/config_test/src/config_test.cpp index 2417811d48..3295f8eeb9 100644 --- a/ecal/tests/cpp/config_test/src/config_test.cpp +++ b/ecal/tests/cpp/config_test/src/config_test.cpp @@ -123,38 +123,10 @@ TEST(core_cpp_config /*unused*/, user_config_death_test /*unused*/) ASSERT_THROW( SetValue(custom_config.transport_layer.udp.network.group, "256.0.0.0"), std::invalid_argument); - ASSERT_THROW( - SetValue(custom_config.transport_layer.udp.network.group, "127.0.0.1"), - std::invalid_argument); - ASSERT_THROW( - SetValue(custom_config.transport_layer.udp.network.group, "255.255.255.255"), - std::invalid_argument); - + ASSERT_THROW( SetValue(custom_config.transport_layer.udp.network.group, "FFF.FF.FF.FF"), std::invalid_argument); - ASSERT_THROW( - SetValue(custom_config.transport_layer.udp.network.group, "FF.FF.FF.FF"), - std::invalid_argument); - ASSERT_THROW( - SetValue(custom_config.transport_layer.udp.network.group, "Ff.fF.ff.Ff"), - std::invalid_argument); - ASSERT_THROW( - SetValue(custom_config.transport_layer.udp.network.group, "7f.0.0.1"), - std::invalid_argument); - - ASSERT_THROW( - SetValue(custom_config.transport_layer.udp.network.group, "0.0.0.0"), - std::invalid_argument); - ASSERT_THROW( - SetValue(custom_config.transport_layer.udp.network.group, "00.00.00.00"), - std::invalid_argument); - ASSERT_THROW( - SetValue(custom_config.transport_layer.udp.network.group, "000.000.000.000"), - std::invalid_argument); - ASSERT_THROW( - SetValue(custom_config.transport_layer.udp.network.group, "0.00.000.0"), - std::invalid_argument); } TEST(core_cpp_config /*unused*/, config_custom_datatypes_tests /*unused*/)