]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
If we reboot an old valid lease but fail to ACK it, we need to
authorRoy Marples <roy@marples.name>
Tue, 26 Jan 2010 08:07:21 +0000 (08:07 +0000)
committerRoy Marples <roy@marples.name>
Tue, 26 Jan 2010 08:07:21 +0000 (08:07 +0000)
clear the address when discovering.

dhcpcd.c

index ea6803b3c849e47b6a8934755149c01c9a2bc0a4..b91a02e0f86c02ae4125caf7eef3865d8d6cbb54 100644 (file)
--- a/dhcpcd.c
+++ b/dhcpcd.c
@@ -403,6 +403,7 @@ start_expire(void *arg)
        iface->state->interval = 0;
        if (iface->addr.s_addr == 0) {
                /* We failed to reboot, so enter discovery. */
+               iface->state->lease.addr.s_addr = 0;
                start_discover(iface);
                return;
        }
@@ -1166,6 +1167,8 @@ start_interface(void *arg)
                        if ((time_t)iface->state->lease.leasetime <
                            now.tv_sec - st.st_mtime)
                        {
+                               syslog(LOG_DEBUG,
+                                   "%s: discarding expired lease", iface->name);
                                free(iface->state->offer);
                                iface->state->offer = NULL;
                        } else {