From 2c461f0e99525ceb727d17aca253426745268ce9 Mon Sep 17 00:00:00 2001
From: Victor Dodon <printesoi@chromium.org>
Date: Wed, 6 Jan 2016 10:07:11 -0800
Subject: [PATCH] Change vendor_encapsulated_options to binhex

Make option vendor_encapsulated_options of type binhex and pass
VendorEncapsulatedOptions on dbus as a byte array

BUG=chromium:574578
TEST=run `dbus-monitor --system \
"type=signal,path=/org/chromium/dhcpcd,interface=org.chromium.dhcpcd,arg1='BOUND'"`
and check that VendorEncapsulatedOptions is sent
as array of bytes
---
 dbus/dbus-dict.c        | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 dbus/rpc-dbus.c         |  2 +-
 dhcpcd-definitions.conf |  2 +-
 3 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/dbus/dbus-dict.c b/dbus/dbus-dict.c
index aeee57c..995b82d 100644
--- a/dbus/dbus-dict.c
+++ b/dbus/dbus-dict.c
@@ -29,6 +29,7 @@
 
 #include <ctype.h>
 #include <stdlib.h>
+#include <stdio.h>
 #include <string.h>
 #include <syslog.h>
 
@@ -167,6 +168,50 @@ append_config_value(DBusMessageIter *entry, int type,
 }
 
 static int
+append_config_byte_array(DBusMessageIter *entry, const char *data)
+{
+	DBusMessageIter var, array;
+	dbus_bool_t ok = TRUE;
+	uint8_t u8, u8_2;
+	size_t len;
+	const char *it, *end;
+	const char *tsa, *ts;
+
+	tsa = DBUS_TYPE_ARRAY_AS_STRING DBUS_TYPE_BYTE_AS_STRING;
+	ts = DBUS_TYPE_BYTE_AS_STRING;
+
+	dbus_message_iter_open_container(entry, DBUS_TYPE_VARIANT, tsa, &var);
+	dbus_message_iter_open_container(&var, DBUS_TYPE_ARRAY, ts, &array);
+
+	len = strlen(data);
+	it = data;
+	end = data + len;
+
+	/* "a12" is treated as "0a12" */
+	if (len & 1) {
+		ok = (sscanf(it++, "%1hhx", &u8) == 1) &&
+			dbus_message_iter_append_basic(&array, DBUS_TYPE_BYTE,
+						       &u8);
+	}
+
+	while (ok && it < end) {
+		/* sscanf("1z", "%2hhx", &u8) will store 0x01 in u8 and
+		 * will return 1 */
+		ok = (sscanf(it++, "%1hhx", &u8) == 1) &&
+			(sscanf(it++, "%1hhx", &u8_2) == 1);
+		if (!ok)
+			break;
+
+		u8 = (u8 << 4) | u8_2;
+		ok = dbus_message_iter_append_basic(&array, DBUS_TYPE_BYTE, &u8);
+	}
+
+	dbus_message_iter_close_container(&var, &array);
+	dbus_message_iter_close_container(entry, &var);
+	return ok ? 0 : -1;
+}
+
+static int
 append_config_array(DBusMessageIter *entry, int type, const char *data)
 {
 	int retval;
@@ -177,6 +222,9 @@ append_config_array(DBusMessageIter *entry, int type, const char *data)
 	dbus_uint32_t u32;
 	struct in_addr in;
 
+	if (type == DBUS_TYPE_BYTE)
+		return append_config_byte_array(entry, data);
+
 	switch (type) {
 	case DBUS_TYPE_STRING:
 		tsa = DBUS_TYPE_ARRAY_AS_STRING DBUS_TYPE_STRING_AS_STRING;
diff --git a/dbus/rpc-dbus.c b/dbus/rpc-dbus.c
index ea380c4..438aa00 100644
--- a/dbus/rpc-dbus.c
+++ b/dbus/rpc-dbus.c
@@ -160,7 +160,7 @@ static const struct o_dbus dhos[] = {
 	{ "nis_domain=", DBUS_TYPE_STRING, 0, "NISDomain" },
 	{ "nis_servers=", DBUS_TYPE_ARRAY, DBUS_TYPE_UINT32, "NISServers" },
 	{ "ntp_servers=", DBUS_TYPE_ARRAY, DBUS_TYPE_UINT32, "NTPServers" },
-	{ "vendor_encapsulated_options=", DBUS_TYPE_STRING, 0,
+	{ "vendor_encapsulated_options=", DBUS_TYPE_ARRAY, DBUS_TYPE_BYTE,
 	  "VendorEncapsulatedOptions" },
 	{ "netbios_name_servers=" ,DBUS_TYPE_ARRAY, DBUS_TYPE_UINT32,
 	  "NetBIOSNameServers" },
diff --git a/dhcpcd-definitions.conf b/dhcpcd-definitions.conf
index ad37c2b..0e5aa3b 100644
--- a/dhcpcd-definitions.conf
+++ b/dhcpcd-definitions.conf
@@ -58,7 +58,7 @@ define 39	byte			tcp_keepalive_garbage
 define 40	string			nis_domain
 define 41	array ipaddress		nis_servers
 define 42	array ipaddress		ntp_servers
-define 43	string			vendor_encapsulated_options
+define 43	binhex			vendor_encapsulated_options
 define 44	array ipaddress		netbios_name_servers
 define 45	ipaddress		netbios_dd_server
 define 46	byte			netbios_node_type
-- 
2.6.0.rc2.230.g3dd15c0

