summaryrefslogtreecommitdiff
path: root/src/settings
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings')
-rw-r--r--src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c11
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c15
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);