Ethereal-dev: [Ethereal-dev] [PATCH] packet-bootp.c: DHCP option 43.8 bugfix

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Thomas Anders <thomas.anders@xxxxxxxxxxxxx>
Date: Mon, 24 May 2004 15:50:53 +0200
The attached patch fixes a bug concerning DHCP option 43 suboption 8
interpretation per CableLabs standards. It's an octet string, not an
ASCII string.

Please apply.


+Thomas

--
Thomas Anders (thomas.anders at blue-cable.de)
--- packet-bootp.c.FCS	2004-05-07 10:02:22.000000000 +0200
+++ packet-bootp.c	2004-05-24 15:44:58.000000000 +0200
@@ -93,7 +93,7 @@
 enum field_type { none, ipv4, string, toggle, yes_no, special, opaque,
 	time_in_secs,
 	val_u_byte, val_u_short, val_u_le_short, val_u_long,
-	val_s_long, fqdn, ipv4_or_fqdn };
+	val_s_long, fqdn, ipv4_or_fqdn, bytes };
 
 struct opt_info {
 	char	*text;
@@ -1182,7 +1182,7 @@
 		/* 5 */ {"Hardware Version", string},
 		/* 6 */ {"Software Version", string},
 		/* 7 */ {"Boot ROM version", string},
-		/* 8 */ {"Organizational Unique Identifier", string},
+		/* 8 */ {"Organizational Unique Identifier", bytes},
 		/* 9 */ {"Model Number", string},
 		/* 10 */ {"Vendor Name", string},
 		/* *** 11-30: CableHome *** */
@@ -1243,6 +1243,13 @@
 				o43cablelabs_opt[subopt].text, subopt_len,
 				tvb_get_ptr(tvb, optp+2, subopt_len));
 			break;
+
+		case bytes:
+			proto_tree_add_text(v_tree, tvb, optp, subopt_len+2,
+				"Suboption %d: %s = 0x%s", subopt, 
+				o43cablelabs_opt[subopt].text,
+				tvb_bytes_to_str(tvb, optp+2, subopt_len));
+			break;
     
 		case special:
 			proto_tree_add_text(v_tree, tvb, optp, subopt_len+2,