aboutsummaryrefslogtreecommitdiffstats
path: root/src/eapol_supp
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2014-05-12 09:46:02 -0700
committerDmitry Shmidt <dimitrysh@google.com>2014-05-12 09:46:02 -0700
commit5a1480c7c46c4236d93bfd303dde32062bee04ac (patch)
treed4a12c83482c624a61490c5d98c3699a2acdc62b /src/eapol_supp
parent15f1742631bd80013697505636721d34482d4d6b (diff)
downloadandroid_external_wpa_supplicant_8-5a1480c7c46c4236d93bfd303dde32062bee04ac.tar.gz
android_external_wpa_supplicant_8-5a1480c7c46c4236d93bfd303dde32062bee04ac.tar.bz2
android_external_wpa_supplicant_8-5a1480c7c46c4236d93bfd303dde32062bee04ac.zip
Cumulative patch from commit f4626235de4b6d19c7399a2522241f7c43e0caf6
f462623 EAP-pwd server: Allow fragment_size to be configured c876dcd EAP-IKEv2: Allow frag ack without integrity checksum 0f73c64 EAP-pwd: Fix processing of group setup failure 13e2574 EAP-pwd peer: Export Session-Id through getSessionId callback cfdb32e eapol_test: Check EAP-Key-Name 251c53e RADIUS: Define EAP-Key-Name 04cad50 EAP-SIM peer: Fix counter-too-small message building 270c9a4 Interworking: Allow FT to be used for connection 81ed499 Remove duplicated ibss_rsn_deinit() call 144f104 X.509: Fix v3 parsing with issuerUniqueID/subjectUniqueID present 0f1034e P2P: Refrain from performing extended listen during P2P connection 8d0dd4e Add macsec_qca driver wrapper dd10abc MACsec: wpa_supplicant integration 887d9d0 MACsec: Add PAE implementation 7baec80 MACsec: Add driver_ops 4e9528c MACsec: Add common IEEE 802.1X definitions 3bcfab8 MACsec: Add define for EAPOL type MKA 0836c04 MACsec: Allow EAPOL version 3 to be configured 49be483 Add function to fetch EAP Session-Id from EAPOL supplicant ea40a57 nl80211: Use max associated STAs information in AP mode Change-Id: I0e37a10ca58d0dc1be95a0088d6a4c37b2505ad4 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'src/eapol_supp')
-rw-r--r--src/eapol_supp/eapol_supp_sm.c25
-rw-r--r--src/eapol_supp/eapol_supp_sm.h1
2 files changed, 26 insertions, 0 deletions
diff --git a/src/eapol_supp/eapol_supp_sm.c b/src/eapol_supp/eapol_supp_sm.c
index cbcde7ec..1004b1a7 100644
--- a/src/eapol_supp/eapol_supp_sm.c
+++ b/src/eapol_supp/eapol_supp_sm.c
@@ -1345,6 +1345,13 @@ int eapol_sm_rx_eapol(struct eapol_sm *sm, const u8 *src, const u8 *buf,
eapol_sm_step(sm);
}
break;
+#ifdef CONFIG_MACSEC
+ case IEEE802_1X_TYPE_EAPOL_MKA:
+ wpa_printf(MSG_EXCESSIVE,
+ "EAPOL type %d will be handled by MKA",
+ hdr->type);
+ break;
+#endif /* CONFIG_MACSEC */
default:
wpa_printf(MSG_DEBUG, "EAPOL: Received unknown EAPOL type %d",
hdr->type);
@@ -1557,6 +1564,24 @@ key_fetched:
/**
+ * eapol_sm_get_session_id - Get EAP Session-Id
+ * @sm: Pointer to EAPOL state machine allocated with eapol_sm_init()
+ * @len: Pointer to variable that will be set to number of bytes in the session
+ * Returns: Pointer to the EAP Session-Id or %NULL on failure
+ *
+ * The Session-Id is available only after a successful authentication.
+ */
+const u8 * eapol_sm_get_session_id(struct eapol_sm *sm, size_t *len)
+{
+ if (sm == NULL || !eap_key_available(sm->eap)) {
+ wpa_printf(MSG_DEBUG, "EAPOL: EAP Session-Id not available");
+ return NULL;
+ }
+ return eap_get_eapSessionId(sm->eap, len);
+}
+
+
+/**
* eapol_sm_notify_logoff - Notification of logon/logoff commands
* @sm: Pointer to EAPOL state machine allocated with eapol_sm_init()
* @logoff: Whether command was logoff
diff --git a/src/eapol_supp/eapol_supp_sm.h b/src/eapol_supp/eapol_supp_sm.h
index 934eda01..d76c8c21 100644
--- a/src/eapol_supp/eapol_supp_sm.h
+++ b/src/eapol_supp/eapol_supp_sm.h
@@ -285,6 +285,7 @@ void eapol_sm_notify_config(struct eapol_sm *sm,
struct eap_peer_config *config,
const struct eapol_config *conf);
int eapol_sm_get_key(struct eapol_sm *sm, u8 *key, size_t len);
+const u8 * eapol_sm_get_session_id(struct eapol_sm *sm, size_t *len);
void eapol_sm_notify_logoff(struct eapol_sm *sm, Boolean logoff);
void eapol_sm_notify_cached(struct eapol_sm *sm);
void eapol_sm_notify_pmkid_attempt(struct eapol_sm *sm, int attempt);