#ifndef lint
static char copyright[] =
-"$Id: confpars.c,v 1.117 2000/06/12 20:14:16 mellon Exp $ Copyright (c) 1995-2000 The Internet Software Consortium. All rights reserved.\n";
+"$Id: confpars.c,v 1.118 2000/07/05 07:32:13 mellon Exp $ Copyright (c) 1995-2000 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
struct lease *lease = (struct lease *)0;
if (parse_lease_declaration (&lease, cfile)) {
enter_lease (lease);
- if (lease -> on_expiry)
- executable_statement_dereference
- (&lease -> on_expiry, MDL);
- if (lease -> on_commit)
- executable_statement_dereference
- (&lease -> on_commit, MDL);
- if (lease -> on_release)
- executable_statement_dereference
- (&lease -> on_release, MDL);
lease_dereference (&lease, MDL);
} else
parse_warn (cfile,
seenmask |= seenbit;
} while (1);
+
+ /* If no binding state is specified, make one up. */
+ if (!(seenmask & 256)) {
+ if (lease -> ends > cur_time)
+ lease -> binding_state = FTS_ACTIVE;
+ else
+ lease -> binding_state = FTS_FREE;
+ lease -> next_binding_state = lease -> binding_state;
+ }
+
lease_reference (lp, lease, MDL);
lease_dereference (&lease, MDL);
return 1;