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>
			
			
This commit is contained in:
		@@ -793,7 +793,11 @@ static void perform_renew(void)
 | 
			
		||||
static void perform_d6_release(struct in6_addr *server_ipv6, struct in6_addr *our_cur_ipv6)
 | 
			
		||||
{
 | 
			
		||||
	/* send release packet */
 | 
			
		||||
	if (state == BOUND || state == RENEWING || state == REBINDING) {
 | 
			
		||||
	if (state == BOUND
 | 
			
		||||
	 || state == RENEWING
 | 
			
		||||
	 || state == REBINDING
 | 
			
		||||
	 || state == RENEW_REQUESTED
 | 
			
		||||
	) {
 | 
			
		||||
		bb_error_msg("unicasting a release");
 | 
			
		||||
		send_d6_release(server_ipv6, our_cur_ipv6); /* unicast */
 | 
			
		||||
		d6_run_script(NULL, "deconfig");
 | 
			
		||||
 
 | 
			
		||||
@@ -1118,7 +1118,11 @@ static void perform_release(uint32_t server_addr, uint32_t requested_ip)
 | 
			
		||||
	struct in_addr temp_addr;
 | 
			
		||||
 | 
			
		||||
	/* send release packet */
 | 
			
		||||
	if (state == BOUND || state == RENEWING || state == REBINDING) {
 | 
			
		||||
	if (state == BOUND
 | 
			
		||||
	 || state == RENEWING
 | 
			
		||||
	 || state == REBINDING
 | 
			
		||||
	 || state == RENEW_REQUESTED
 | 
			
		||||
	) {
 | 
			
		||||
		temp_addr.s_addr = server_addr;
 | 
			
		||||
		strcpy(buffer, inet_ntoa(temp_addr));
 | 
			
		||||
		temp_addr.s_addr = requested_ip;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user