udhcpc: fix bug 629: use bcast receive when we perform rebinding

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2009-10-08 23:05:46 +02:00
parent 6332151641
commit 219757fee9

View File

@ -451,6 +451,8 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
state = REBINDING; state = REBINDING;
/* fall right through */ /* fall right through */
case REBINDING: case REBINDING:
/* Switch to bcast receive */
change_listen_mode(LISTEN_RAW);
/* Lease is *really* about to run out, /* Lease is *really* about to run out,
* try to find DHCP server using broadcast */ * try to find DHCP server using broadcast */
if (timeout > 0) { if (timeout > 0) {
@ -462,7 +464,6 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv)
/* Timed out, enter init state */ /* Timed out, enter init state */
bb_info_msg("Lease lost, entering init state"); bb_info_msg("Lease lost, entering init state");
udhcp_run_script(NULL, "deconfig"); udhcp_run_script(NULL, "deconfig");
change_listen_mode(LISTEN_RAW);
state = INIT_SELECTING; state = INIT_SELECTING;
/*timeout = 0; - already is */ /*timeout = 0; - already is */
packet_num = 0; packet_num = 0;