Support Passpoint frame filters in Android
The conf->hs20 flag is not used in Android, but HS 2.0
configuration is still required when setting up the frame filters
in the WPA driver. Split the is_hs20_network() to two functions,
and moved the conf->hs20() check to a new is_hs20_config function.
Added ANDROID compilation flag in hs20_configure_frame_filters()
to skip the configuration check.
Additionally, trigger a call to hs20_configure_frame_filters()
upon succesful connection when state equals to WPA_COMPLETED.
Bug: 168681498
Test: Verify wpa driver is called with the appropriate frame filter
flags when connecting to Passpoint networks.
Test: Verify wpa driver is not called to filter frames for other
Enterprise networks.
Change-Id: I3afea6018d5ddd2211974ca10a30180c6cc204e7
diff --git a/wpa_supplicant/hs20_supplicant.h b/wpa_supplicant/hs20_supplicant.h
index e43414b..2d478f4 100644
--- a/wpa_supplicant/hs20_supplicant.h
+++ b/wpa_supplicant/hs20_supplicant.h
@@ -22,6 +22,7 @@
struct wpa_bss *bss, const u8 *sa,
const u8 *data, size_t slen, u8 dialog_token);
int get_hs20_version(struct wpa_bss *bss);
+int is_hs20_config(struct wpa_supplicant *wpa_s);
int is_hs20_network(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,
struct wpa_bss *bss);
int hs20_get_pps_mo_id(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid);