blob: ec9640d72c8d3d0d6a8f7d35dced1c0b291db56b [file] [log] [blame]
From 8e17c771ca5ec897109f56f9c346b016e4c3c9dc Mon Sep 17 00:00:00 2001
From: Victor Dodon <printesoi@chromium.org>
Date: Fri, 18 Mar 2016 14:58:44 -0700
Subject: [PATCH] Handle DHCP iSNS option
iSNS clients need to handle DHCP iSNS option (RFC 4174) to discover the
location of the iSNS server automatically.
TEST=run `dbus-monitor --system \
"type=signal,path=/org/chromium/dhcpcd,interface=org.chromium.dhcpcd,arg1='BOUND'"`
and check that iSNSOptionData is sent as array of bytes
---
dbus/rpc-dbus.c | 1 +
dhcpcd-definitions.conf | 5 ++++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/dbus/rpc-dbus.c b/dbus/rpc-dbus.c
index 438aa00..a162d2a 100644
--- a/dbus/rpc-dbus.c
+++ b/dbus/rpc-dbus.c
@@ -220,6 +220,7 @@ static const struct o_dbus dhos[] = {
{ "domain_search=", DBUS_TYPE_ARRAY, DBUS_TYPE_STRING,
"DomainSearch" },
{ "wpad_url=", DBUS_TYPE_STRING, 0, "WebProxyAutoDiscoveryUrl" },
+ { "isns_option_data=", DBUS_TYPE_ARRAY, DBUS_TYPE_BYTE, "iSNSOptionData" },
#ifdef INET6
{ "dhcp6_server_id=", DBUS_TYPE_STRING, 0,
"DHCPv6ServerIdentifier" },
diff --git a/dhcpcd-definitions.conf b/dhcpcd-definitions.conf
index 0e5aa3b..7028ecc 100644
--- a/dhcpcd-definitions.conf
+++ b/dhcpcd-definitions.conf
@@ -114,7 +114,10 @@ embed domain fqdn
# Option 82 is for Relay Agents and DHCP servers
-# Options 83 ad 84 are unused, RFC3679
+# iSNS Option for DHCP, RFC4174
+define 83 binhex isns_option_data
+
+# Option 84 is unused, RFC3679
# DHCP Novell Directory Services, RFC2241
define 85 array ipaddress nds_servers
--
2.8.0.rc3.226.g39d4020