summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Lemon <source@isc.org>2001-05-04 23:28:38 +0000
committerTed Lemon <source@isc.org>2001-05-04 23:28:38 +0000
commit69a76e9beea374b81e0f43a8197bb873d403bed1 (patch)
tree2f520af1a2149f70c19f72f7214d437f4a3f7fd8
parent57f73319b6b630c897e99dc5bd9ed3115c8f246a (diff)
downloadisc-dhcp-69a76e9beea374b81e0f43a8197bb873d403bed1.tar.gz
Let the primary expire leases.
-rw-r--r--server/mdb.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/server/mdb.c b/server/mdb.c
index 7c3c1db0..ea0a45d7 100644
--- a/server/mdb.c
+++ b/server/mdb.c
@@ -43,7 +43,7 @@
#ifndef lint
static char copyright[] =
-"$Id: mdb.c,v 1.67 2001/05/02 07:09:36 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n";
+"$Id: mdb.c,v 1.67.2.1 2001/05/04 23:28:38 mellon Exp $ Copyright (c) 1996-2000 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -1445,7 +1445,15 @@ void pool_timer (vpool)
/* If there's nothing on the queue, skip it. */
if (!*(lptr [i]))
continue;
-
+
+#if defined (FAILOVER)
+ /* The secondary can't remove a lease from the active state
+ except in partner_down. */
+ if (i == ACTIVE_LEASES &&
+ pool -> peer && pool -> peer -> i_am == secondary &&
+ pool -> peer -> me.state != partner_down)
+ continue;
+#endif
lease_reference (&lease, *(lptr [i]), MDL);
while (lease) {