From e079f25a2b9553b1082aa15057b6dd07decd3558 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Fri, 17 Dec 2010 23:05:41 -0600 Subject: [PATCH] dhclient: explicitly request WPAD option (bgo #368423) --- src/dhcp-manager/nm-dhcp-dhclient-utils.c | 3 +++ src/dhcp-manager/tests/test-dhcp-dhclient.c | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/src/dhcp-manager/nm-dhcp-dhclient-utils.c b/src/dhcp-manager/nm-dhcp-dhclient-utils.c index cfc766f25..cc5255ab5 100644 --- a/src/dhcp-manager/nm-dhcp-dhclient-utils.c +++ b/src/dhcp-manager/nm-dhcp-dhclient-utils.c @@ -179,12 +179,15 @@ nm_dhcp_dhclient_create_config (const char *interface, "option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;\n"); g_string_append (new_contents, "option ms-classless-static-routes code 249 = array of unsigned integer 8;\n"); + /* Web Proxy Auto-Discovery option (bgo #368423) */ + g_string_append (new_contents, "option wpad code 252 = string;\n"); g_string_append_c (new_contents, '\n'); /* Everything we want to request from the DHCP server */ add_also_request (alsoreq, "rfc3442-classless-static-routes"); add_also_request (alsoreq, "ms-classless-static-routes"); + add_also_request (alsoreq, "wpad"); add_also_request (alsoreq, "ntp-servers"); /* And add it to the dhclient configuration */ diff --git a/src/dhcp-manager/tests/test-dhcp-dhclient.c b/src/dhcp-manager/tests/test-dhcp-dhclient.c index 1f5166b00..37d37e7f0 100644 --- a/src/dhcp-manager/tests/test-dhcp-dhclient.c +++ b/src/dhcp-manager/tests/test-dhcp-dhclient.c @@ -68,9 +68,11 @@ static const char *orig_missing_expected = \ "\n" "option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;\n" "option ms-classless-static-routes code 249 = array of unsigned integer 8;\n" + "option wpad code 252 = string;\n" "\n" "also request rfc3442-classless-static-routes;\n" "also request ms-classless-static-routes;\n" + "also request wpad;\n" "also request ntp-servers;\n" "\n"; @@ -97,9 +99,11 @@ static const char *override_client_id_expected = \ "\n" "option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;\n" "option ms-classless-static-routes code 249 = array of unsigned integer 8;\n" + "option wpad code 252 = string;\n" "\n" "also request rfc3442-classless-static-routes;\n" "also request ms-classless-static-routes;\n" + "also request wpad;\n" "also request ntp-servers;\n" "\n"; @@ -126,9 +130,11 @@ static const char *override_hostname_expected = \ "\n" "option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;\n" "option ms-classless-static-routes code 249 = array of unsigned integer 8;\n" + "option wpad code 252 = string;\n" "\n" "also request rfc3442-classless-static-routes;\n" "also request ms-classless-static-routes;\n" + "also request wpad;\n" "also request ntp-servers;\n" "\n"; @@ -155,11 +161,13 @@ static const char *existing_alsoreq_expected = \ "\n" "option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;\n" "option ms-classless-static-routes code 249 = array of unsigned integer 8;\n" + "option wpad code 252 = string;\n" "\n" "also request something;\n" "also request another-thing;\n" "also request rfc3442-classless-static-routes;\n" "also request ms-classless-static-routes;\n" + "also request wpad;\n" "also request ntp-servers;\n" "\n";