mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-10-31 02:17:58 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From: Felix Fietkau <nbd@nbd.name>
 | |
| Date: Mon, 18 Feb 2019 12:57:11 +0100
 | |
| Subject: [PATCH] mesh: allow processing authentication frames in blocked state
 | |
| 
 | |
| If authentication fails repeatedly e.g. because of a weak signal, the link
 | |
| can end up in blocked state. If one of the nodes tries to establish a link
 | |
| again before it is unblocked on the other side, it will block the link to
 | |
| that other side. The same happens on the other side when it unblocks the
 | |
| link. In that scenario, the link never recovers on its own.
 | |
| 
 | |
| To fix this, allow restarting authentication even if the link is in blocked
 | |
| state, but don't initiate the attempt until the blocked period is over.
 | |
| 
 | |
| Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | |
| ---
 | |
| 
 | |
| --- a/src/ap/ieee802_11.c
 | |
| +++ b/src/ap/ieee802_11.c
 | |
| @@ -3020,15 +3020,6 @@ static void handle_auth(struct hostapd_d
 | |
|  				       seq_ctrl);
 | |
|  			return;
 | |
|  		}
 | |
| -#ifdef CONFIG_MESH
 | |
| -		if ((hapd->conf->mesh & MESH_ENABLED) &&
 | |
| -		    sta->plink_state == PLINK_BLOCKED) {
 | |
| -			wpa_printf(MSG_DEBUG, "Mesh peer " MACSTR
 | |
| -				   " is blocked - drop Authentication frame",
 | |
| -				   MAC2STR(sa));
 | |
| -			return;
 | |
| -		}
 | |
| -#endif /* CONFIG_MESH */
 | |
|  #ifdef CONFIG_PASN
 | |
|  		if (auth_alg == WLAN_AUTH_PASN &&
 | |
|  		    (sta->flags & WLAN_STA_ASSOC)) {
 | 
