Properly map EAP-GTC for TTLS
The "auth=GTC" method was never valid for the TTLS outer authentication for wpa_supplicant. Instead, to perform GTC authentication within TTLS, we should use EAP-GTC. This CL performs this mapping within WifiEnterpriseConfig. It accomplishes this by making the EAP Method and Phase 2 Method parameters a part of the internal object state instead of maintaining this value within the mFields hashmap. Further, the problematic "getFields" method is removed since as this actually provided read/write access to the entirety of the WifiEnterpriseConfig's internal state. This was understandably suboptimal. All callers have been updated to either use getFieldValue() or to call a newly added getSupplicantFields() / setSupplicantFields() methods which make the WifiEnterpriseConfig object a sole arbiter for the mapping between its internal state and wpa_supplicant. In the future it might be good to change this logic to strip WifiEnterpriseConfig of all of the string hashmap entirely, leaving WifiEnterpriseConfig as a "struct" and move supplicant mappings to WifiConfigStore. Bug:26400915 Test:runtest frameworks-wifi # New unit test in the same topic Test:cts-tradefed run cts -d --class android.net.wifi.cts.WifiEnterpriseConfigTest Change-Id: I1e09fb3f1f27b2ba844acbed14ec0f570e915b80
Loading
Please register or sign in to comment