@ -487,6 +487,11 @@ static int wpa_supplicant_match_privacy(struct wpa_bss *bss,
return 1 ;
# endif /* CONFIG_WPS */
# ifdef CONFIG_OWE
if ( ( ssid - > key_mgmt & WPA_KEY_MGMT_OWE ) & & ! ssid - > owe_only )
return 1 ;
# endif /* CONFIG_OWE */
if ( has_wep_key ( ssid ) )
privacy = 1 ;
@ -622,7 +627,8 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
}
# ifdef CONFIG_IEEE80211W
if ( wpas_get_ssid_pmf ( wpa_s , ssid ) = = MGMT_FRAME_PROTECTION_REQUIRED ) {
if ( wpas_get_ssid_pmf ( wpa_s , ssid ) = = MGMT_FRAME_PROTECTION_REQUIRED & &
( ! ( ssid - > key_mgmt & WPA_KEY_MGMT_OWE ) | | ssid - > owe_only ) ) {
if ( debug_print )
wpa_dbg ( wpa_s , MSG_DEBUG ,
" skip - MFP Required but network not MFP Capable " ) ;
@ -692,6 +698,16 @@ static int wpa_supplicant_ssid_bss_match(struct wpa_supplicant *wpa_s,
return 1 ;
}
# ifdef CONFIG_OWE
if ( ( ssid - > key_mgmt & WPA_KEY_MGMT_OWE ) & & ! ssid - > owe_only & &
! wpa_ie & & ! rsn_ie ) {
if ( debug_print )
wpa_dbg ( wpa_s , MSG_DEBUG ,
" allow in OWE transition mode " ) ;
return 1 ;
}
# endif /* CONFIG_OWE */
if ( ( ssid - > proto & ( WPA_PROTO_WPA | WPA_PROTO_RSN ) ) & &
wpa_key_mgmt_wpa ( ssid - > key_mgmt ) & & proto_match = = 0 ) {
if ( debug_print )
@ -1137,6 +1153,7 @@ struct wpa_ssid * wpa_scan_res_match(struct wpa_supplicant *wpa_s,
if ( ! osen & & ! wpa & &
! ( ssid - > key_mgmt & WPA_KEY_MGMT_NONE ) & &
! ( ssid - > key_mgmt & WPA_KEY_MGMT_WPS ) & &
! ( ssid - > key_mgmt & WPA_KEY_MGMT_OWE ) & &
! ( ssid - > key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA ) ) {
if ( debug_print )
wpa_dbg ( wpa_s , MSG_DEBUG ,