suggested fixes to <dhcp-users@isc.org>.
+ Changes since 4.0.0a2
+
+- Bug in server configuration parser caused server to get stuck on
+ startup for certain bad pool declarations. Thanks to Guillaume
+ Knispel for the bug report and fix.
+
Changes since 4.0.0a1
- Bug in octal parsing fixed. Thanks to Bernd Fuhrmann for the report
#ifndef lint
static char copyright[] =
-"$Id: confpars.c,v 1.170 2007/06/28 17:19:55 dhankins Exp $ Copyright (c) 2004-2007 Internet Systems Consortium. All rights reserved.\n";
+"$Id: confpars.c,v 1.171 2007/07/11 12:02:51 shane Exp $ Copyright (c) 2004-2007 Internet Systems Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
done = 1;
break;
+ case END_OF_FILE:
+ /*
+ * We can get to END_OF_FILE if, for instance,
+ * the parse_statement() reads all available tokens
+ * and leaves us at the end.
+ */
+ parse_warn("unexpected end of file");
+ goto cleanup;
+
default:
declaration = parse_statement (cfile, pool -> group,
POOL_DECL,
log_error ("one range statement.");
}
+cleanup:
/* Dereference the lease chain. */
lp = (struct lease *)0;
while (lpchain) {