blob: d16ad188adef9060e99d2478f8b13aab8e5a3c7b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
Index: dhcp.c
==================================================================
--- a/dhcp.c
+++ b/dhcp.c
@@ -201,13 +201,16 @@
e = p + sizeof(dhcp->servername);
} else
goto exit;
break;
case DHO_OPTIONSOVERLOADED:
- /* Ensure we only get this option once */
+ /* Ensure we only get this option once by setting
+ * the last bit as well as the value.
+ * This is valid because only the first two bits
+ * actually mean anything in RFC2132 Section 9.3 */
if (!overl)
- overl = p[1];
+ overl = 0x80 | p[1];
break;
}
l = *p++;
p += l;
}
|