diff --git a/src/dhcp/nm-dhcp-dhclient-utils.c b/src/dhcp/nm-dhcp-dhclient-utils.c index 8cc25ab5a..f36451b2c 100644 --- a/src/dhcp/nm-dhcp-dhclient-utils.c +++ b/src/dhcp/nm-dhcp-dhclient-utils.c @@ -245,6 +245,7 @@ nm_dhcp_dhclient_create_config (const char *interface, { GString *new_contents; GPtrArray *fqdn_opts, *reqs; + gboolean reset_reqlist = FALSE; int i; g_return_val_if_fail (!anycast_addr || nm_utils_hwaddr_valid (anycast_addr, ETH_ALEN), NULL); @@ -302,6 +303,7 @@ nm_dhcp_dhclient_create_config (const char *interface, in_req = TRUE; p += strlen (REQ_TAG); g_ptr_array_set_size (reqs, 0); + reset_reqlist = TRUE; } /* Save all request options for later use */ @@ -345,6 +347,8 @@ nm_dhcp_dhclient_create_config (const char *interface, add_request (reqs, "ntp-servers"); } + if (reset_reqlist) + g_string_append (new_contents, "request; # override dhclient defaults\n"); /* And add it to the dhclient configuration */ for (i = 0; i < reqs->len; i++) g_string_append_printf (new_contents, "also request %s;\n", (char *) reqs->pdata[i]); diff --git a/src/dhcp/tests/test-dhcp-dhclient.c b/src/dhcp/tests/test-dhcp-dhclient.c index 82f0c080b..f4cf9c9ff 100644 --- a/src/dhcp/tests/test-dhcp-dhclient.c +++ b/src/dhcp/tests/test-dhcp-dhclient.c @@ -511,6 +511,7 @@ static const char *existing_req_expected = \ "option ms-classless-static-routes code 249 = array of unsigned integer 8;\n" "option wpad code 252 = string;\n" "\n" + "request; # override dhclient defaults\n" "also request another-thing;\n" "also request yet-another-thing;\n" "also request rfc3442-classless-static-routes;\n"