binder: INetwork enterprise Set params interface
am: 63b019be89
Change-Id: I393942eab6238389e9bd9b3d620a2585774417f7
diff --git a/wpa_supplicant/binder/fi/w1/wpa_supplicant/INetwork.aidl b/wpa_supplicant/binder/fi/w1/wpa_supplicant/INetwork.aidl
index 4f94d85..9bc84e2 100644
--- a/wpa_supplicant/binder/fi/w1/wpa_supplicant/INetwork.aidl
+++ b/wpa_supplicant/binder/fi/w1/wpa_supplicant/INetwork.aidl
@@ -74,6 +74,23 @@
const int PAIRWISE_CIPHER_MASK_TKIP = 0x08;
const int PAIRWISE_CIPHER_MASK_CCMP = 0x10;
+ /** Possble mask of values for EapMethod param. */
+ const int EAP_METHOD_PEAP = 0;
+ const int EAP_METHOD_TLS = 1;
+ const int EAP_METHOD_TTLS = 2;
+ const int EAP_METHOD_PWD = 3;
+ const int EAP_METHOD_SIM = 4;
+ const int EAP_METHOD_AKA = 5;
+ const int EAP_METHOD_AKA_PRIME = 6;
+ const int EAP_METHOD_WFA_UNAUTH_TLS = 7;
+
+ /** Possble mask of values for Phase2Method param. */
+ const int EAP_PHASE2_METHOD_NONE = 0;
+ const int EAP_PHASE2_METHOD_PAP = 1;
+ const int EAP_PHASE2_METHOD_MSPAP = 2;
+ const int EAP_PHASE2_METHOD_MSPAPV2 = 3;
+ const int EAP_PHASE2_METHOD_GTC = 4;
+
/**
* Retrieves the ID allocated to this network by wpa_supplicant.
*
@@ -105,6 +122,7 @@
* Setters for the various network params.
* These correspond to elements of |wpa_sssid| struct used internally by
* wpa_supplicant to represent each network.
+ * Sets |{struct wpa_ssid}.ssid|.
*/
/** Set SSID for this network. Max length of |SSID_MAX_LEN|. */
void SetSSID(in byte[] ssid);
@@ -113,31 +131,51 @@
* Set the network to only connect to an AP with provided BSSSID.
* Pass array of size 0 to clear this param.
* Length of the value should be |BSSID_LEN|.
+ * Sets |{struct wpa_ssid}.bssid|.
*/
void SetBSSID(in byte[] bssid);
- /** Set whether to send Probe Requests for this network (hidden). */
+ /**
+ * Set whether to send Probe Requests for this network (hidden).
+ * Sets |{struct wpa_ssid}.scan_ssid|.
+ */
void SetScanSSID(boolean enable);
- /** Combination of |KEY_MGMT_MASK_*| values above. */
+ /**
+ * Combination of |KEY_MGMT_MASK_*| values above.
+ * Sets |{struct wpa_ssid}.key_mgmt|.
+ */
void SetKeyMgmt(int key_mgmt_mask);
- /** Combination of |PROTO_MASK_*| values above. */
+ /**
+ * Combination of |PROTO_MASK_*| values above.
+ * Sets |{struct wpa_ssid}.proto|.
+ */
void SetProto(int proto_mask);
- /** Combination of |AUTH_ALG_MASK_*| values above. */
+ /**
+ * Combination of |AUTH_ALG_MASK_*| values above.
+ * Sets |{struct wpa_ssid}.auth_alg|.
+ * */
void SetAuthAlg(int auth_alg_mask);
- /** Combination of |GROUP_CIPHER_MASK_*| values above. */
+ /**
+ * Combination of |GROUP_CIPHER_MASK_*| values above.
+ * Sets |{struct wpa_ssid}.group_cipher|.
+ */
void SetGroupCipher(int group_cipher_mask);
- /** Combination of |PAIRWISE_CIPHER_MASK_*| values above. */
+ /**
+ * Combination of |PAIRWISE_CIPHER_MASK_*| values above.
+ * Sets |{struct wpa_ssid}.pairwise_cipher|.
+ * */
void SetPairwiseCipher(int pairwise_cipher_mask);
/**
* Set passphrase for WPA_PSK network.
* Min length of value is |PSK_PASSPHRASE_MIN_LEN|.
* Max length of value is |PSK_PASSPHRASE_MAX_LEN|.
+ * Sets |{struct wpa_ssid}.passphrase|.
*/
void SetPskPassphrase(String psk);
@@ -145,19 +183,112 @@
* Set WEP key for WEP network.
* Length of each key should be either |WEP40_KEY_LEN| or
* |WEP104_KEY_LEN|.
+ * Sets |{struct wpa_ssid}.wep_key|.
*
* @param key_idx Index of wep key to be set.
* Max of |WEP_KEYS_MAX_NUM| keys.
*/
void SetWepKey(int key_idx, in byte[] wep_key);
- /** Set default Tx key index for WEP network. */
+ /**
+ * Set default Tx key index for WEP network.
+ * Sets |{struct wpa_ssid}.wep_tx_key_idx|.
+ * */
void SetWepTxKeyIdx(int wep_tx_key_idx);
- /** Set whether RequirePMF is enabled for this network. */
+ /**
+ * Set whether RequirePMF is enabled for this network.
+ * Sets |{struct wpa_ssid}.ieee80211w|.
+ * */
void SetRequirePMF(boolean enable);
/**
+ * Set EAP Method for this network.
+ * Must be one of |EAP_METHOD_*| values.
+ * Sets |{struct eap_peer_config}.eap_methods|.
+ */
+ void SetEapMethod(int method);
+
+ /**
+ * Set EAP Phase2 Method for this network.
+ * Must be one of |EAP_PHASE2_METHOD_*| values.
+ * Sets |{struct eap_peer_config}.phase2|.
+ */
+ void SetEapPhase2Method(int method);
+
+ /**
+ * Set EAP Identity for this network.
+ * Sets |{struct eap_peer_config}.identity|.
+ */
+ void SetEapIdentity(in byte[] identity);
+
+ /**
+ * Set EAP Anonymous Identity for this network.
+ * Sets |{struct eap_peer_config}.anonymous_identity|.
+ */
+ void SetEapAnonymousIdentity(in byte[] identity);
+
+ /**
+ * Set EAP Password for this network.
+ * Sets |{struct eap_peer_config}.password|.
+ */
+ void SetEapPassword(in byte[] password);
+
+ /**
+ * Set EAP CA certificate file path for this network.
+ * Sets |{struct eap_peer_config}.ca_cert|.
+ */
+ void SetEapCACert(String path);
+
+ /**
+ * Set EAP CA certificate directory path for this network.
+ * Sets |{struct eap_peer_config}.ca_path|.
+ */
+ void SetEapCAPath(String path);
+
+ /**
+ * Set EAP Client certificate file path for this network.
+ * Sets |{struct eap_peer_config}.client_cert|.
+ */
+ void SetEapClientCert(String path);
+
+ /**
+ * Set EAP private key file path for this network.
+ * Sets |{struct eap_peer_config}.private_key|.
+ */
+ void SetEapPrivateKey(String path);
+
+ /**
+ * Set EAP subject match for this network.
+ * Sets |{struct eap_peer_config}.subject_match|.
+ */
+ void SetEapSubjectMatch(String match);
+
+ /**
+ * Set EAP Altsubject match for this network.
+ * Sets |{struct eap_peer_config}.altsubject_match|.
+ */
+ void SetEapAltSubjectMatch(String match);
+
+ /**
+ * Enable EAP Open SSL Engine for this network.
+ * Sets |{struct eap_peer_config}.engine|.
+ */
+ void SetEapEngine(boolean enable);
+
+ /**
+ * Set EAP Open SSL Engine ID for this network.
+ * Sets |{struct eap_peer_config}.engine_id|.
+ */
+ void SetEapEngineID(String id);
+
+ /**
+ * Set EAP Domain suffix match for this network.
+ * Sets |{struct eap_peer_config}.domain_suffix_match|.
+ */
+ void SetEapDomainSuffixMatch(String match);
+
+ /**
* Getters for the various network params.
*/
/** Get SSID for this network. */
diff --git a/wpa_supplicant/binder/network.cpp b/wpa_supplicant/binder/network.cpp
index 5750cd7..2fb5ae0 100644
--- a/wpa_supplicant/binder/network.cpp
+++ b/wpa_supplicant/binder/network.cpp
@@ -350,6 +350,125 @@
return android::binder::Status::ok();
}
+android::binder::Status Network::SetEapMethod(int32_t method)
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status Network::SetEapPhase2Method(int32_t method)
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status
+Network::SetEapIdentity(const std::vector<uint8_t> &identity)
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status
+Network::SetEapAnonymousIdentity(const std::vector<uint8_t> &identity)
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status
+Network::SetEapPassword(const std::vector<uint8_t> &password)
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status Network::SetEapCACert(const std::string &path)
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status Network::SetEapCAPath(const std::string &path)
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status Network::SetEapClientCert(const std::string &path)
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status Network::SetEapPrivateKey(const std::string &path)
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status Network::SetEapSubjectMatch(const std::string &match)
+
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status Network::SetEapAltSubjectMatch(const std::string &match)
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status Network::SetEapEngine(bool enable)
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status Network::SetEapEngineID(const std::string &id)
+
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
+android::binder::Status
+Network::SetEapDomainSuffixMatch(const std::string &match)
+
+{
+ struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
+ RETURN_IF_NETWORK_INVALID(wpa_ssid);
+
+ return android::binder::Status::ok();
+}
+
android::binder::Status Network::GetSSID(std::vector<uint8_t> *ssid)
{
struct wpa_ssid *wpa_ssid = retrieveNetworkPtr();
diff --git a/wpa_supplicant/binder/network.h b/wpa_supplicant/binder/network.h
index 6745125..7def762 100644
--- a/wpa_supplicant/binder/network.h
+++ b/wpa_supplicant/binder/network.h
@@ -63,6 +63,28 @@
SetWepKey(int key_idx, const std::vector<uint8_t> &wep_key) override;
android::binder::Status SetWepTxKeyIdx(int32_t wep_tx_key_idx) override;
android::binder::Status SetRequirePMF(bool enable) override;
+ android::binder::Status SetEapMethod(int32_t method) override;
+ android::binder::Status SetEapPhase2Method(int32_t method) override;
+ android::binder::Status
+ SetEapIdentity(const std::vector<uint8_t> &identity) override;
+ android::binder::Status
+ SetEapAnonymousIdentity(const std::vector<uint8_t> &identity) override;
+ android::binder::Status
+ SetEapPassword(const std::vector<uint8_t> &password) override;
+ android::binder::Status SetEapCACert(const std::string &path) override;
+ android::binder::Status SetEapCAPath(const std::string &path) override;
+ android::binder::Status
+ SetEapClientCert(const std::string &path) override;
+ android::binder::Status
+ SetEapPrivateKey(const std::string &path) override;
+ android::binder::Status
+ SetEapSubjectMatch(const std::string &match) override;
+ android::binder::Status
+ SetEapAltSubjectMatch(const std::string &match) override;
+ android::binder::Status SetEapEngine(bool enable) override;
+ android::binder::Status SetEapEngineID(const std::string &id) override;
+ android::binder::Status
+ SetEapDomainSuffixMatch(const std::string &match) override;
android::binder::Status GetSSID(std::vector<uint8_t> *ssid) override;
android::binder::Status GetBSSID(std::vector<uint8_t> *bssid) override;
android::binder::Status GetScanSSID(bool *enable) override;