udhcpc: ensure at least one unicast renew attempt
No binary (build failed)
—
(log yok)
| @@ -1738,8 +1738,9 @@ int udhcpc6_main(int argc UNUSED_PARAM, char **argv) | |
| /* note: "int timeout" will not overflow even with 0xffffffff inputs here: */ | |
| timeout = (prefix_timeout < address_timeout ? prefix_timeout : address_timeout) / 2; | |
| /* paranoia: must not be too small */ | |
| - | if (timeout < 0x10) |
| - | timeout = 0x10; |
| + | /* timeout > 60 - ensures at least one unicast renew attempt */ |
| + | if (timeout < 61) |
| + | timeout = 61; |
| /* enter bound state */ | |
| d6_run_script(packet.d6_options, packet_end, | |
| (state == REQUESTING ? "bound" : "renew")); | |
| @@ -1725,8 +1725,9 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) | |
| move_from_unaligned32(lease_seconds, temp); | |
| lease_seconds = ntohl(lease_seconds); | |
| /* paranoia: must not be too small and not prone to overflows */ | |
| - | if (lease_seconds < 0x10) |
| - | lease_seconds = 0x10; |
| + | /* timeout > 60 - ensures at least one unicast renew attempt */ |
| + | if (lease_seconds < 2 * 61) |
| + | lease_seconds = 2 * 61; |
| //if (lease_seconds > 0x7fffffff) | |
| // lease_seconds = 0x7fffffff; | |
| //^^^not necessary since "timeout = lease_seconds / 2" | |