|
@@ -2330,6 +2330,28 @@ int wpa_supplicant_remove_iface(struct wpa_global *global,
|
|
|
}
|
|
|
|
|
|
|
|
|
+/**
|
|
|
+ * wpa_supplicant_get_eap_mode - Get the current EAP mode
|
|
|
+ * @wpa_s: Pointer to the network interface
|
|
|
+ * Returns: Pointer to the eap mode or the string "UNKNOWN" if not found
|
|
|
+ */
|
|
|
+const char * wpa_supplicant_get_eap_mode(struct wpa_supplicant *wpa_s)
|
|
|
+{
|
|
|
+ const char *eapol_method;
|
|
|
+
|
|
|
+ if (wpa_key_mgmt_wpa_ieee8021x(wpa_s->key_mgmt) == 0 &&
|
|
|
+ wpa_s->key_mgmt != WPA_KEY_MGMT_IEEE8021X_NO_WPA) {
|
|
|
+ return "NO-EAP";
|
|
|
+ }
|
|
|
+
|
|
|
+ eapol_method = eapol_sm_get_method_name(wpa_s->eapol);
|
|
|
+ if (eapol_method == NULL)
|
|
|
+ return "UNKNOWN-EAP";
|
|
|
+
|
|
|
+ return eapol_method;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* wpa_supplicant_get_iface - Get a new network interface
|
|
|
* @global: Pointer to global data from wpa_supplicant_init()
|