aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/dhcpc.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2016-07-03 20:26:44 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2016-07-03 20:26:44 +0200
commit44399e00ffa73270cd7fc108c983d3b1705b9d86 (patch)
tree704af5332cd123a2e51fb03c035c868d52b19756 /networking/udhcp/dhcpc.c
parentaabb0a93e947a2a3cd180b490ae6664396446f63 (diff)
downloadbusybox-w32-44399e00ffa73270cd7fc108c983d3b1705b9d86.tar.gz
busybox-w32-44399e00ffa73270cd7fc108c983d3b1705b9d86.tar.bz2
busybox-w32-44399e00ffa73270cd7fc108c983d3b1705b9d86.zip
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.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index fc7b6216d..e58acbaca 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)
1118 struct in_addr temp_addr; 1118 struct in_addr temp_addr;
1119 1119
1120 /* send release packet */ 1120 /* send release packet */
1121 if (state == BOUND || state == RENEWING || state == REBINDING) { 1121 if (state == BOUND
1122 || state == RENEWING
1123 || state == REBINDING
1124 || state == RENEW_REQUESTED
1125 ) {
1122 temp_addr.s_addr = server_addr; 1126 temp_addr.s_addr = server_addr;
1123 strcpy(buffer, inet_ntoa(temp_addr)); 1127 strcpy(buffer, inet_ntoa(temp_addr));
1124 temp_addr.s_addr = requested_ip; 1128 temp_addr.s_addr = requested_ip;