initrd: accept 'infinity' as argument to rd.net.timeout.dhcp
(cherry picked from commit 97833237bf
)
This commit is contained in:
@@ -1085,8 +1085,12 @@ nmi_cmdline_reader_parse(const char * sysfs_dir,
|
|||||||
else if (nm_streq(tag, "rd.peerdns"))
|
else if (nm_streq(tag, "rd.peerdns"))
|
||||||
reader->ignore_auto_dns = !_nm_utils_ascii_str_to_bool(argument, TRUE);
|
reader->ignore_auto_dns = !_nm_utils_ascii_str_to_bool(argument, TRUE);
|
||||||
else if (nm_streq(tag, "rd.net.timeout.dhcp")) {
|
else if (nm_streq(tag, "rd.net.timeout.dhcp")) {
|
||||||
|
if (nm_streq0(argument, "infinity")) {
|
||||||
|
reader->dhcp_timeout = G_MAXINT32;
|
||||||
|
} else {
|
||||||
reader->dhcp_timeout =
|
reader->dhcp_timeout =
|
||||||
_nm_utils_ascii_str_to_int64(argument, 10, 1, G_MAXINT32, reader->dhcp_timeout);
|
_nm_utils_ascii_str_to_int64(argument, 10, 1, G_MAXINT32, reader->dhcp_timeout);
|
||||||
|
}
|
||||||
} else if (nm_streq(tag, "rd.net.dhcp.vendor-class")) {
|
} else if (nm_streq(tag, "rd.net.dhcp.vendor-class")) {
|
||||||
if (nm_utils_validate_dhcp4_vendor_class_id(argument, NULL))
|
if (nm_utils_validate_dhcp4_vendor_class_id(argument, NULL))
|
||||||
nm_utils_strdup_reset(&reader->dhcp4_vci, argument);
|
nm_utils_strdup_reset(&reader->dhcp4_vci, argument);
|
||||||
|
@@ -240,6 +240,7 @@ test_dhcp_timeout(void)
|
|||||||
{NM_MAKE_STRV("ip=dhcp", "rd.net.timeout.dhcp=0"), 90},
|
{NM_MAKE_STRV("ip=dhcp", "rd.net.timeout.dhcp=0"), 90},
|
||||||
{NM_MAKE_STRV("ip=dhcp", "rd.net.timeout.dhcp=foobar"), 90},
|
{NM_MAKE_STRV("ip=dhcp", "rd.net.timeout.dhcp=foobar"), 90},
|
||||||
{NM_MAKE_STRV("ip=dhcp", "rd.net.timeout.dhcp=42"), 42},
|
{NM_MAKE_STRV("ip=dhcp", "rd.net.timeout.dhcp=42"), 42},
|
||||||
|
{NM_MAKE_STRV("ip=dhcp", "rd.net.timeout.dhcp=infinity"), G_MAXINT32},
|
||||||
};
|
};
|
||||||
guint i;
|
guint i;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user