diff -ru dhcpcd-3.2.3_patched_suse/client.c dhcpcd-3.2.3/client.c --- dhcpcd-3.2.3_patched_suse/client.c 2010-02-11 14:48:54.000000000 +0100 +++ dhcpcd-3.2.3/client.c 2010-02-11 16:47:22.000000000 +0100 @@ -746,6 +746,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: @@ -757,6 +761,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 set default timeout", inet_ntoa(dhcp->address)); + state->timeout = DEFAULT_TIMEOUT; + } state->state = STATE_REQUESTING; break; case STATE_REQUESTING: