Commit 26be82af authored by David Hankins's avatar David Hankins
Browse files

- Fixed a bug with the 'ddns-updates' boolean server configuration

  parameter, which caused the server to fail. [ISC-Bugs #17002]
parent 2e13ba55
...@@ -90,6 +90,9 @@ suggested fixes to <dhcp-users@isc.org>. ...@@ -90,6 +90,9 @@ suggested fixes to <dhcp-users@isc.org>.
- Fixed a bug parsing DHCPv6 client-id's in host-identifier statements - Fixed a bug parsing DHCPv6 client-id's in host-identifier statements
- Fixed a bug with the 'ddns-updates' boolean server configuration
parameter, which caused the server to fail.
Changes since 4.0.0-20070413 Changes since 4.0.0-20070413
- Old (expired) leases are now cleaned. - Old (expired) leases are now cleaned.
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
#ifndef lint #ifndef lint
static char copyright[] = static char copyright[] =
"$Id: tree.c,v 1.116 2007/06/07 15:52:29 dhankins Exp $ Copyright (c) 2004-2007 Internet Systems Consortium. All rights reserved.\n"; "$Id: tree.c,v 1.117 2007/07/10 21:42:05 dhankins Exp $ Copyright (c) 2004-2007 Internet Systems Consortium. All rights reserved.\n";
#endif /* not lint */ #endif /* not lint */
#include "dhcpd.h" #include "dhcpd.h"
...@@ -2972,12 +2972,16 @@ int evaluate_boolean_option_cache (ignorep, packet, ...@@ -2972,12 +2972,16 @@ int evaluate_boolean_option_cache (ignorep, packet,
cfg_options, scope, oc, file, line)) cfg_options, scope, oc, file, line))
return 0; return 0;
/* The boolean option cache is actually a trinary value. Zero is
* off, one is on, and 2 is 'ignore'.
*/
if (ds.len) { if (ds.len) {
result = ds.data [0]; result = ds.data [0];
if (result == 2) { if (result == 2) {
result = 0; result = 0;
*ignorep = 1; if (ignorep != NULL)
} else *ignorep = 1;
} else if (ignorep != NULL)
*ignorep = 0; *ignorep = 0;
} else } else
result = 0; result = 0;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment