aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/dhcpc.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/udhcp/dhcpc.c')
-rw-r--r--networking/udhcp/dhcpc.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c
index 8a16e987d..bef73277a 100644
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -1129,9 +1129,15 @@ static void perform_release(uint32_t server_addr, uint32_t requested_ip)
1129 bb_error_msg("unicasting a release of %s to %s", 1129 bb_error_msg("unicasting a release of %s to %s",
1130 inet_ntoa(temp_addr), buffer); 1130 inet_ntoa(temp_addr), buffer);
1131 send_release(server_addr, requested_ip); /* unicast */ 1131 send_release(server_addr, requested_ip); /* unicast */
1132 udhcp_run_script(NULL, "deconfig");
1133 } 1132 }
1134 bb_error_msg("entering released state"); 1133 bb_error_msg("entering released state");
1134/*
1135 * We can be here on: SIGUSR2,
1136 * or on exit (SIGTERM) and -R "release on quit" is specified.
1137 * Users requested to be notified in all cases, even if not in one
1138 * of the states above.
1139 */
1140 udhcp_run_script(NULL, "deconfig");
1135 1141
1136 change_listen_mode(LISTEN_NONE); 1142 change_listen_mode(LISTEN_NONE);
1137 state = RELEASED; 1143 state = RELEASED;
@@ -1813,9 +1819,8 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
1813 temp = udhcp_get_option(&packet, DHCP_SERVER_ID); 1819 temp = udhcp_get_option(&packet, DHCP_SERVER_ID);
1814 if (!temp) { 1820 if (!temp) {
1815 non_matching_svid: 1821 non_matching_svid:
1816 log1("%s with wrong server ID, ignoring packet", 1822 log1("received DHCP NAK with wrong"
1817 "Received DHCP NAK" 1823 " server ID, ignoring packet");
1818 );
1819 continue; 1824 continue;
1820 } 1825 }
1821 move_from_unaligned32(svid, temp); 1826 move_from_unaligned32(svid, temp);