diff options
author | David Hankins <dhankins@isc.org> | 2006-09-22 19:51:25 +0000 |
---|---|---|
committer | David Hankins <dhankins@isc.org> | 2006-09-22 19:51:25 +0000 |
commit | b48719ff1fa95b932ad5d88924db7b056c1d4f4a (patch) | |
tree | 122f453192840a0fc690a370bbf55727b30f79c1 | |
parent | f1ba9f08b7d614cd72d155f5dc5d3a484069146f (diff) | |
download | isc-dhcp-b48719ff1fa95b932ad5d88924db7b056c1d4f4a.tar.gz |
Pulling up rt16412b.v3_0_4_PBSG0
-rw-r--r-- | README | 16 | ||||
-rw-r--r-- | RELNOTES | 9 | ||||
-rw-r--r-- | includes/version.h | 2 | ||||
-rw-r--r-- | server/failover.c | 23 |
4 files changed, 35 insertions, 15 deletions
@@ -1,6 +1,6 @@ Internet Systems Consortium DHCP Distribution - Version 3.0.4 - April 27, 2006 + Version 3.0.4-PBSG0 + September 22, 2006 README FILE @@ -96,10 +96,14 @@ system. RELEASE STATUS -This is ISC DHCP 3.0.4. This is a maintenance release which seeks only -to fix bugs present in versions 3.0.3 and earlier. No new features -have been added, although you should take careful note of the RELNOTES -discussion on the new 'atsfp' failover value. +This is ISC DHCP 3.0.4-PBSG0. 3.0.4 is a maintenance release which +seeks only to fix bugs present in versions 3.0.3 and earlier. No new +features have been added, although you should take careful note of +the RELNOTES discussion on the new 'atsfp' failover value. + +3.0.4-PBSG0 is a custom 3.0.4 release with patches for specific bugs +that PBSG has reported to the ISC Support Programme. These changes +are detailed in the RELNOTES. In this release, the server and relay agent are currently fully functional on NetBSD, Linux systems with kernel version 2.2 or later, @@ -1,6 +1,6 @@ Internet Systems Consortium DHCP Distribution - Version 3.0.4 - April 27, 2006 + Version 3.0.4-PBSG0 + September 22, 2006 Release Notes @@ -81,6 +81,11 @@ thanks to all of these good people here, both for working on the code and for prodding me into improving it. + Changes since 3.0.4 (Custom Changes) + +- Failover servers try harder to retransmit binding updates upon entering + NORMAL state. + Changes since 3.0.4rc1 - The dhcp-options.5 manpage was updated to correct indentation errors diff --git a/includes/version.h b/includes/version.h index e313595c..d68dbb51 100644 --- a/includes/version.h +++ b/includes/version.h @@ -1,3 +1,3 @@ /* Current version of ISC DHCP Distribution. */ -#define DHCP_VERSION "V3.0.4" +#define DHCP_VERSION "V3.0.4-PBSG0" diff --git a/server/failover.c b/server/failover.c index 2e907f4f..f767d57b 100644 --- a/server/failover.c +++ b/server/failover.c @@ -34,7 +34,7 @@ #ifndef lint static char copyright[] = -"$Id: failover.c,v 1.53.2.45 2006/02/22 22:43:27 dhankins Exp $ Copyright (c) 2004-2006 Internet Systems Consortium. All rights reserved.\n"; +"$Id: failover.c,v 1.53.2.45.14.1 2006/09/22 19:51:25 dhankins Exp $ Copyright (c) 2004-2006 Internet Systems Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -1731,15 +1731,27 @@ isc_result_t dhcp_failover_set_state (dhcp_failover_state_t *state, switch (new_state) { case normal: + /* Section 9.6.1 of the failover draft revision 7 indicates + * that servers 'will send to the other server all currently + * unacknowledged binding updates as BNDUPD messages.'. This + * function call below basically resets our update queue. + */ + dhcp_failover_generate_update_queue(state, 0); + + if (state->update_queue_tail != NULL) { + dhcp_failover_send_updates(state); + log_info("Sending updates to %s.", state->name); + } + if (state -> partner.state == normal) dhcp_failover_state_pool_check (state); break; - + case potential_conflict: if (state -> i_am == primary) dhcp_failover_send_update_request (state); break; - + case startup: #if defined (DEBUG_FAILOVER_TIMING) log_info ("add_timeout +15 %s", @@ -1752,7 +1764,7 @@ isc_result_t dhcp_failover_set_state (dhcp_failover_state_t *state, (tvunref_t) omapi_object_dereference); break; - + /* If we come back in recover_wait and there's still waiting to do, set a timeout. */ case recover_wait: @@ -1772,7 +1784,7 @@ isc_result_t dhcp_failover_set_state (dhcp_failover_state_t *state, } else dhcp_failover_recover_done (state); break; - + case recover: if (state -> link_to_peer) dhcp_failover_send_update_request_all (state); @@ -1805,7 +1817,6 @@ isc_result_t dhcp_failover_set_state (dhcp_failover_state_t *state, } } break; - default: break; |