dhcpcd: Request and report Web Proxy Auto-Discovery

Request the Web Proxy Auto-Discovery DHCP option, and report
any retrieved value over over DBus.

BUG=chromium:253915
TEST=Packet capture from network_DhcpNegotiationSuccess autotest
Turn on dhcp debugging in shill and note that a WebProxyAutoDiscoveryUrl
key is received (but ignored).

Change-Id: Ib3a0fe4fd4559c7f61545e2a64077265adf0fe7c
Reviewed-on: https://gerrit.chromium.org/gerrit/59967
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
diff --git a/dhcp.c b/dhcp.c
index cc17895..81aabdd 100644
--- a/dhcp.c
+++ b/dhcp.c
@@ -160,6 +160,7 @@
 	{ 114,	STRING,		"default_url" },
 	{ 118,	IPV4,		"subnet_selection" },
 	{ 119,	STRING | RFC3397,	"domain_search" },
+	{ 252,	STRING,		"wpad_url" },
 	{ 0, 0, NULL }
 };
 
diff --git a/dhcpcd-dbus.c b/dhcpcd-dbus.c
index 73285e9..e0655a7 100644
--- a/dhcpcd-dbus.c
+++ b/dhcpcd-dbus.c
@@ -198,6 +198,7 @@
 	{ "subnet_selection=", DBUS_TYPE_UINT32, 0, "SubnetSelection" },
 	{ "domain_search=", DBUS_TYPE_ARRAY, DBUS_TYPE_STRING,
 	  "DomainSearch" },
+	{ "wpad_url=", DBUS_TYPE_STRING, 0, "WebProxyAutoDiscoveryUrl" },
 	{ NULL, 0, 0, NULL }
 };
 
diff --git a/dhcpcd.conf b/dhcpcd.conf
index b8fc6f1..e80ff15 100644
--- a/dhcpcd.conf
+++ b/dhcpcd.conf
@@ -14,7 +14,7 @@
 clientid
 
 # A list of options to request from the DHCP server.
-option domain_name_servers, domain_name, domain_search, host_name
+option domain_name_servers, domain_name, domain_search, host_name, wpad_url
 option classless_static_routes
 # Most distributions have NTP support.
 #option ntp_servers