summaryrefslogtreecommitdiff
path: root/common/memory.c
diff options
context:
space:
mode:
authorTed Lemon <source@isc.org>1997-03-06 20:21:32 +0000
committerTed Lemon <source@isc.org>1997-03-06 20:21:32 +0000
commita8b5839494210e4d7ce104c50fa36d6e330cc087 (patch)
treeadd3b69d01569e207c5fda98dc5474f46d323267 /common/memory.c
parentca25f4ab5e986007420a07d716b0b5c1a4a76c5e (diff)
downloadisc-dhcp-a8b5839494210e4d7ce104c50fa36d6e330cc087.tar.gz
If a lease is abandoned, it's okay to supersede even if things don't quite match up.
Diffstat (limited to 'common/memory.c')
-rw-r--r--common/memory.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/common/memory.c b/common/memory.c
index e62b1167..ac6d9c45 100644
--- a/common/memory.c
+++ b/common/memory.c
@@ -42,7 +42,7 @@
#ifndef lint
static char copyright[] =
-"$Id: memory.c,v 1.28 1997/03/06 19:45:20 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
+"$Id: memory.c,v 1.29 1997/03/06 20:21:32 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -452,7 +452,8 @@ int supersede_lease (comp, lease, commit)
lease, then we allow that, in case a dynamic BOOTP lease is
requested *after* a DHCP lease has been assigned. */
- if (comp -> ends > cur_time &&
+ if (!(lease -> flags & ABANDONED_LEASE) &&
+ comp -> ends > cur_time &&
((comp -> uid && (lease -> uid ||
!(lease -> flags & DYNAMIC_BOOTP_OK)) &&
(comp -> uid_len != lease -> uid_len ||