mesh: Do not force another peering exchange on driver event
If the local driver indicated a peer candidate event when the peer had already initiated peering exchange in open mesh case, we used to force a new exchange to be started instead of allowing the previously started exchange to complete. This is not desirable, so make this initiation of the new exchange conditional on there not being an already started (or successfully completed) exchange. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
		
							parent
							
								
									cc64fe7b9e
								
							
						
					
					
						commit
						27446e471c
					
				
					 1 changed files with 6 additions and 3 deletions
				
			
		|  | @ -669,11 +669,14 @@ void wpa_mesh_new_mesh_peer(struct wpa_supplicant *wpa_s, const u8 *addr, | |||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	if (conf->security == MESH_CONF_SEC_NONE) | ||||
| 	if (conf->security == MESH_CONF_SEC_NONE) { | ||||
| 		if (sta->plink_state < PLINK_OPEN_SENT || | ||||
| 		    sta->plink_state > PLINK_ESTAB) | ||||
| 			mesh_mpm_plink_open(wpa_s, sta, PLINK_OPEN_SENT); | ||||
| 	else | ||||
| 	} else { | ||||
| 		mesh_rsn_auth_sae_sta(wpa_s, sta); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| void mesh_mpm_mgmt_rx(struct wpa_supplicant *wpa_s, struct rx_mgmt *rx_mgmt) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Jouni Malinen
						Jouni Malinen