From: Hans Dedecker Date: Mon, 30 Jan 2017 11:21:16 +0000 (+0100) Subject: dhcpv6: trigger restart of DHCPv6 state machine when not receiving statefull options X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e9d80cc0f23ec53a2060b4c061dc8462aa0028c8;p=oweals%2Fodhcp6c.git dhcpv6: trigger restart of DHCPv6 state machine when not receiving statefull options Don't set the renew timeout to 600 seconds in case no statefull options are received but rather trigger an immediate restart of the DHCPv6 client state machine. Signed-off-by: Hans Dedecker --- diff --git a/src/dhcpv6.c b/src/dhcpv6.c index 6389052..d8e3ec9 100644 --- a/src/dhcpv6.c +++ b/src/dhcpv6.c @@ -1,5 +1,6 @@ /** * Copyright (C) 2012-2014 Steven Barth + * Copyright (C) 2017 Hans Dedecker * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License v2 as published by @@ -1142,7 +1143,7 @@ static int dhcpv6_handle_reply(enum dhcpv6_msg orig, _unused const int rc, if (orig != DHCPV6_MSG_INFO_REQ) { // Update refresh timers if no fatal status code was received - if ((ret > 0) && dhcpv6_calc_refresh_timers()) { + if ((ret > 0) && (ret = dhcpv6_calc_refresh_timers())) { switch (orig) { case DHCPV6_MSG_RENEW: // Send further renews if T1 is not set @@ -1331,8 +1332,6 @@ static int dhcpv6_calc_refresh_timers(void) t1 = l_t1; t2 = l_t2; t3 = l_t3; - } else { - t1 = 600; } return (int)(ia_pd_entries + ia_na_entries);