diff --git a/dhcp-4.1.1-initialization-delay.patch b/dhcp-4.1.1-initialization-delay.patch index b73f00f..e8abb0e 100644 --- a/dhcp-4.1.1-initialization-delay.patch +++ b/dhcp-4.1.1-initialization-delay.patch @@ -1,21 +1,45 @@ diff -up dhcp-4.1.1/client/dhclient.c.initialization-delay dhcp-4.1.1/client/dhclient.c ---- dhcp-4.1.1/client/dhclient.c.initialization-delay 2010-04-29 17:02:09.000000000 +0200 -+++ dhcp-4.1.1/client/dhclient.c 2010-04-29 17:03:27.000000000 +0200 -@@ -930,7 +930,7 @@ main(int argc, char **argv) { - /* Set up a timeout to start the - * initialization process. +--- dhcp-4.1.1/client/dhclient.c.initialization-delay 2010-05-03 15:16:43.000000000 +0200 ++++ dhcp-4.1.1/client/dhclient.c 2010-05-03 15:23:05.000000000 +0200 +@@ -927,11 +927,16 @@ main(int argc, char **argv) { + do_release(client); + else { + client->state = S_INIT; +- /* Set up a timeout to start the +- * initialization process. ++ /* Set up a timeout (0-1 second) to ++ * start the initialization process. */ - tv.tv_sec = cur_time + random() % 5; -+ tv.tv_sec = cur_time + random() % 1; - tv.tv_usec = 0; +- tv.tv_usec = 0; ++ tv.tv_sec = cur_tv.tv_sec; ++ tv.tv_usec = cur_tv.tv_usec; ++ tv.tv_usec += (random() % 100) * 10000; ++ if (tv.tv_usec >= 1000000) { ++ tv.tv_sec += 1; ++ tv.tv_usec -= 1000000; ++ } add_timeout(&tv, state_reboot, client, 0, 0); -@@ -3913,7 +3913,7 @@ isc_result_t dhclient_interface_startup_ + } +@@ -3911,10 +3916,16 @@ isc_result_t dhclient_interface_startup_ + ip -> flags |= INTERFACE_RUNNING; + for (client = ip -> client; client; client = client -> next) { client -> state = S_INIT; - /* Set up a timeout to start the initialization - process. */ +- /* Set up a timeout to start the initialization +- process. */ - tv . tv_sec = cur_time + random () % 5; -+ tv . tv_sec = cur_time + random () % 1; - tv . tv_usec = 0; +- tv . tv_usec = 0; ++ /* Set up a timeout (0-1 second) to ++ * start the initialization process. ++ */ ++ tv.tv_sec = cur_tv.tv_sec; ++ tv.tv_usec = cur_tv.tv_usec; ++ tv.tv_usec += (random() % 100) * 10000; ++ if (tv.tv_usec >= 1000000) { ++ tv.tv_sec += 1; ++ tv.tv_usec -= 1000000; ++ } add_timeout (&tv, state_reboot, client, 0, 0); } + } diff --git a/dhcp.spec b/dhcp.spec index c89e3a8..1ca07b7 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -13,7 +13,7 @@ Summary: Dynamic host configuration protocol software Name: dhcp Version: %{basever} -Release: 20%{?dist} +Release: 21%{?dist} # NEVER CHANGE THE EPOCH on this package. The previous maintainer (prior to # dcantrell maintaining the package) made incorrect use of the epoch and # that's why it is at 12 now. It should have never been used, but it was. @@ -215,23 +215,25 @@ libdhcpctl and libomapi static libraries are also included in this package. # Discard unicast Request/Renew/Release/Decline message # (unless we set unicast option) and respond with Reply # with UseMulticast Status Code option (#573090) +# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #21235]) %patch22 -p1 -b .UseMulticast # If any of the bound addresses are found to be in use on the link, # the dhcpv6 client sends a Decline message to the server # as described in section 18.1.7 of RFC-3315 (#559147) +# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #21237]) %patch23 -p1 -b .sendDecline # In client initiated message exchanges stop retransmission # upon reaching the MRD rather than at some point after it (#559153) +# (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #21238]) %patch24 -p1 -b .retransmission # Fill in Elapsed Time Option in Release message (#582939) # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #21171]) %patch25 -p1 -b .release6-elapsed -# There was a useless 0-4 second delay before sending first DHCPDISCOVER. -# I didn't remove it at all, but made it 0-1 second. (#587070) +# Cut down the 0-4 second delay before sending first DHCPDISCOVER (#587070) %patch26 -p1 -b .initialization-delay # Copy in documentation and example scripts for LDAP patch to dhcpd @@ -516,9 +518,11 @@ fi %attr(0644,root,root) %{_mandir}/man3/omapi.3.gz %changelog +* Mon May 03 2010 Jiri Popelka - 12:4.1.1-21 +- Fix the initialization-delay.patch (#587070) + * Thu Apr 29 2010 Jiri Popelka - 12:4.1.1-20 -- There was a useless 0-4 second delay before sending first DHCPDISCOVER. - I didn't remove it at all, but made it 0-1 second. (#587070) +- Cut down the 0-4 second delay before sending first DHCPDISCOVER (#587070) * Wed Apr 28 2010 Jiri Popelka - 12:4.1.1-19 - Move /etc/NetworkManager/dispatcher.d/10-dhclient script