diff options
Diffstat (limited to 'networking/udhcp/dhcpc.c')
-rw-r--r-- | networking/udhcp/dhcpc.c | 13 |
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); |