Handle DHCP FQDN option with all flags zero and --dhcp-client-update
diff --git a/CHANGELOG b/CHANGELOG
index e1daeef..73b4c95 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,9 @@
+version 2.64
+ Handle DHCP FQDN options with all flag bits zero and
+ --dhcp-client-update set. Thanks to Bernd Krumbroeck for
+ spotting the problem.
+
+
version 2.63
Do duplicate dhcp-host address check in --test mode.
diff --git a/src/rfc2131.c b/src/rfc2131.c
index cf22c03..ff7e114 100644
--- a/src/rfc2131.c
+++ b/src/rfc2131.c
@@ -510,7 +510,8 @@
char *pq = daemon->dhcp_buff;
unsigned char *pp, *op = option_ptr(opt, 0);
- fqdn_flags = *op;
+ /* Set an MBZ bit to indicate receipt of FQDN option - cleared later */
+ fqdn_flags = *op | 0x10;
len -= 3;
op += 3;
pp = op;
@@ -2261,7 +2262,7 @@
if ((p = free_space(mess, end, OPTION_CLIENT_FQDN, len)))
{
- *(p++) = fqdn_flags;
+ *(p++) = fqdn_flags & 0x0f; /* MBZ bits to zero */
*(p++) = 255;
*(p++) = 255;