2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-22 01:49:35 +00:00

- The parse warning that 'deny dyanmic bootp;' must be configured for

failover protected subnets was removed. [ISC-Bugs #16975]
This commit is contained in:
David Hankins 2007-06-28 17:19:55 +00:00
parent b55d0d5f53
commit b9d0cc0595
2 changed files with 6 additions and 55 deletions

View File

@ -167,6 +167,11 @@ suggested fixes to <dhcp-users@isc.org>.
were transmitted to it, and what frames are being carried through it which
it should not intercept.
Changes since 3.1.0rc1
- The parse warning that 'deny dyanmic bootp;' must be configured for
failover protected subnets was removed.
Changes since 3.1.0b2
- Failover rebalance events no longer play ping pong with round errors

View File

@ -34,7 +34,7 @@
#ifndef lint
static char copyright[] =
"$Id: confpars.c,v 1.169 2007/06/27 18:25:15 each Exp $ Copyright (c) 2004-2007 Internet Systems Consortium. All rights reserved.\n";
"$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";
#endif /* not lint */
#include "dhcpd.h"
@ -1558,60 +1558,6 @@ void parse_pool_statement (cfile, group, type)
}
} while (!done);
#if defined (FAILOVER_PROTOCOL)
/* We can't do failover on a pool that supports dynamic bootp,
because BOOTP doesn't support leases, and failover absolutely
depends on lease timing. */
if (pool -> failover_peer) {
/* This search order matches the search orders later in
* execution - deny first, if not denied, check permit
* list. A dynamic bootp client may be known or unknown,
* it may belong to a member of a class, but it definitely
* will not be authenticated since that requires DHCP
* to work. So a dynamic bootp client is definitely not
* an authenticated client, and we can't say for sure about
* anything else.
*
* So we nag the user.
*/
for (permit = pool -> prohibit_list; permit;
permit = permit -> next) {
if (permit -> type == permit_dynamic_bootp_clients ||
permit -> type == permit_unauthenticated_clients ||
permit -> type == permit_all_clients)
break;
}
if (!permit) {
permit = pool -> permit_list;
do {
if (!permit ||
permit -> type !=
permit_authenticated_clients) {
parse_warn (cfile,
"pools with failover peers %s",
"may not permit dynamic bootp.");
log_error ("Either write a \"%s\" %s",
"no failover",
"statement and use disjoint");
log_error ("pools, or%s (%s) %s",
" don't permit dynamic bootp",
"\"deny dynamic bootp clients;\"",
"in this pool.");
log_error ("This is a protocol,%s %s",
" limitation, not an ISC DHCP",
"limitation, so");
log_error ("please don't request an %s",
"enhancement or ask why this is.");
break;
}
permit = permit -> next;
} while (permit);
}
}
#endif /* FAILOVER_PROTOCOL */
/* See if there's already a pool into which we can merge this one. */
for (pp = pool -> shared_network -> pools; pp; pp = pp -> next) {
struct lease *l;