diff options
Diffstat (limited to 'src/settings')
| -rw-r--r-- | src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c | 11 | ||||
| -rw-r--r-- | src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c | 15 |
2 files changed, 11 insertions, 15 deletions
diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c index 9c3ae10af8..9205de8643 100644 --- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c +++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c @@ -1116,15 +1116,6 @@ next: ? info_to->v.addr.plen : (addr_family == AF_INET ? 32 : 128); - if ( ( (addr_family == AF_INET && !info_to->v.addr.addr.addr4) - || (addr_family == AF_INET6 && IN6_IS_ADDR_UNSPECIFIED (&info_to->v.addr.addr.addr6))) - && prefix == 0) { - /* we ignore default routes by returning -ERANGE. */ - g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION, - "Ignore manual default route"); - return -ERANGE; - } - route = nm_ip_route_new_binary (addr_family, &info_to->v.addr.addr, prefix, @@ -1244,7 +1235,7 @@ read_one_ip4_route (shvarFile *ifcfg, return FALSE; if (has_key) { prefix = nm_utils_ip4_netmask_to_prefix (netmask); - if (prefix == 0 || netmask != _nm_utils_ip4_prefix_to_netmask (prefix)) { + if (netmask != _nm_utils_ip4_prefix_to_netmask (prefix)) { g_set_error (error, NM_SETTINGS_ERROR, NM_SETTINGS_ERROR_INVALID_CONNECTION, "Invalid IP4 netmask '%s' \"%s\"", netmask_tag, nm_utils_inet4_ntop (netmask, inet_buf)); return FALSE; diff --git a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c index 45e90b919c..db394d8fa5 100644 --- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c +++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c @@ -1520,10 +1520,8 @@ test_read_wired_ipv6_manual (void) NMIPAddress *ip6_addr; NMIPRoute *ip6_route; - NMTST_EXPECT_NM_WARN ("*ignoring manual default route*"); connection = _connection_from_file (TEST_IFCFG_DIR"/ifcfg-test-wired-ipv6-manual", NULL, TYPE_ETHERNET, &unmanaged); - g_test_assert_expected_messages (); g_assert (!unmanaged); /* ===== CONNECTION SETTING ===== */ @@ -1581,7 +1579,7 @@ test_read_wired_ipv6_manual (void) g_assert_cmpint (nm_ip_address_get_prefix (ip6_addr), ==, 96); /* Routes */ - g_assert_cmpint (nm_setting_ip_config_get_num_routes (s_ip6), ==, 3); + g_assert_cmpint (nm_setting_ip_config_get_num_routes (s_ip6), ==, 4); /* Route #1 */ ip6_route = nm_setting_ip_config_get_route (s_ip6, 0); g_assert (ip6_route); @@ -1592,12 +1590,19 @@ test_read_wired_ipv6_manual (void) /* Route #2 */ ip6_route = nm_setting_ip_config_get_route (s_ip6, 1); g_assert (ip6_route); + g_assert_cmpstr (nm_ip_route_get_dest (ip6_route), ==, "::"); + g_assert_cmpint (nm_ip_route_get_prefix (ip6_route), ==, 0); + g_assert_cmpstr (nm_ip_route_get_next_hop (ip6_route), ==, "dead::beaf"); + g_assert_cmpint (nm_ip_route_get_metric (ip6_route), ==, -1); + /* Route #3 */ + ip6_route = nm_setting_ip_config_get_route (s_ip6, 2); + g_assert (ip6_route); g_assert_cmpstr (nm_ip_route_get_dest (ip6_route), ==, "abbe::cafe"); g_assert_cmpint (nm_ip_route_get_prefix (ip6_route), ==, 64); g_assert_cmpstr (nm_ip_route_get_next_hop (ip6_route), ==, NULL); g_assert_cmpint (nm_ip_route_get_metric (ip6_route), ==, 777); - /* Route #3 */ - ip6_route = nm_setting_ip_config_get_route (s_ip6, 2); + /* Route #4 */ + ip6_route = nm_setting_ip_config_get_route (s_ip6, 3); g_assert (ip6_route); g_assert_cmpstr (nm_ip_route_get_dest (ip6_route), ==, "aaaa::cccc"); g_assert_cmpint (nm_ip_route_get_prefix (ip6_route), ==, 64); |
