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
1 file changed
tree: f7ab23aa0af024160e0be622ff18162955993f72
- framework/