diff options
author | Denys Vlasenko | 2016-07-03 20:26:44 +0200 |
---|---|---|
committer | Denys Vlasenko | 2016-07-03 20:26:44 +0200 |
commit | 44399e00ffa73270cd7fc108c983d3b1705b9d86 (patch) | |
tree | 704af5332cd123a2e51fb03c035c868d52b19756 /networking/udhcp/dhcpc.c | |
parent | aabb0a93e947a2a3cd180b490ae6664396446f63 (diff) | |
download | busybox-44399e00ffa73270cd7fc108c983d3b1705b9d86.zip busybox-44399e00ffa73270cd7fc108c983d3b1705b9d86.tar.gz |
udhcpc: run "deconfig" script in manual renew state too. closes 9061
The bug was seen when the following is done:
# killall 1 udhpc; killall 2 udhpc
Performing a DHCP renew
state: 2 -> 5
Sending renew...
Entering released state
state: 5 -> 6 <<<<<<<<<<<<<< not calling script!!!!
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'networking/udhcp/dhcpc.c')
-rw-r--r-- | networking/udhcp/dhcpc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c index fc7b621..e58acba 100644 --- a/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c @@ -1118,7 +1118,11 @@ static void perform_release(uint32_t server_addr, uint32_t requested_ip) struct in_addr temp_addr; /* send release packet */ - if (state == BOUND || state == RENEWING || state == REBINDING) { + if (state == BOUND + || state == RENEWING + || state == REBINDING + || state == RENEW_REQUESTED + ) { temp_addr.s_addr = server_addr; strcpy(buffer, inet_ntoa(temp_addr)); temp_addr.s_addr = requested_ip; |