File bnc#579438.diff of Package dhcpcd
--- client.c.orig 2010-06-23 14:11:20.256393428 +0200
+++ client.c 2010-06-23 14:16:37.129271049 +0200
@@ -750,6 +750,10 @@
do_socket (state, SOCKET_OPEN);
_send_message (state, DHCP_REQUEST, options);
state->timeout = dhcp->rebindtime - dhcp->renewaltime;
+ if (state->timeout == 0) {
+ logger (LOG_INFO, "renewing lease of %s set default timeout", inet_ntoa(dhcp->address));
+ state->timeout = DEFAULT_TIMEOUT;
+ }
state->state = STATE_REBINDING;
break;
case STATE_REBINDING:
@@ -761,6 +765,10 @@
dhcp->serveraddress.s_addr = 0;
_send_message (state, DHCP_REQUEST, options);
state->timeout = dhcp->leasetime - dhcp->rebindtime;
+ if (state->timeout == 0) {
+ logger (LOG_INFO, "rebind lease of %s set default timeout", inet_ntoa(dhcp->address));
+ state->timeout = DEFAULT_TIMEOUT;
+ }
state->state = STATE_REQUESTING;
break;
case STATE_REQUESTING: