Busybox Update Problem

Denys Vlasenko vda.linux at googlemail.com
Fri Sep 26 22:19:44 UTC 2008


On Friday 26 September 2008 18:49, Michael Davis wrote:
> I had a chance to look at the actual patch this time, and I noticed that 
> you set state  to INIT_SELECTING right before you check if it is == to 
> REQUESTING
> 
> 				change_listen_mode(LISTEN_RAW);
> 				state = INIT_SELECTING;
> 				/* "discover...select...discover..." loops
> 				 * were seen in the wild. Treat then similarly
> 				 * to "no response to discover" case */
> 				if (state == REQUESTING)
> {bb_error_msg("discover/select loop detected, goto leasefail");
> 					goto leasefail;
> }
> 
> So I moved the state = INIT_SELECTING; to after the if statement and 
> recompiled.

D O H ! ! !

> 
>                 change_listen_mode(LISTEN_RAW);
>                 /* "discover...select...discover..." loops
>                  * were seen in the wild. Treat then similarly
>                  * to "no response to discover" case */
>                 if (state == REQUESTING)
> {bb_error_msg("discover/select loop detected, goto leasefail");
>                     goto leasefail;
> }
>                 state = INIT_SELECTING;

Yes. You also need to set state to INIT_SELECTING right before goto too.

Thanks!
--
vda



More information about the busybox mailing list