Lines Matching refs:sm
18 static void eap_tls_deinit(struct eap_sm *sm, void *priv);
33 static void * eap_tls_init(struct eap_sm *sm) in eap_tls_init() argument
36 struct eap_peer_config *config = eap_get_config(sm); in eap_tls_init()
41 if (!sm->init_phase2) in eap_tls_init()
43 else if (sm->use_machine_cred) in eap_tls_init()
56 data->ssl_ctx = sm->init_phase2 && sm->ssl_ctx2 ? sm->ssl_ctx2 : in eap_tls_init()
57 sm->ssl_ctx; in eap_tls_init()
59 if (eap_peer_tls_ssl_init(sm, &data->ssl, config, EAP_TYPE_TLS)) { in eap_tls_init()
61 eap_tls_deinit(sm, data); in eap_tls_init()
65 eap_sm_request_pin(sm); in eap_tls_init()
66 sm->ignore = true; in eap_tls_init()
70 eap_sm_request_passphrase(sm); in eap_tls_init()
71 sm->ignore = true; in eap_tls_init()
83 static void * eap_unauth_tls_init(struct eap_sm *sm) in eap_unauth_tls_init() argument
86 struct eap_peer_config *config = eap_get_config(sm); in eap_unauth_tls_init()
92 data->ssl_ctx = sm->init_phase2 && sm->ssl_ctx2 ? sm->ssl_ctx2 : in eap_unauth_tls_init()
93 sm->ssl_ctx; in eap_unauth_tls_init()
95 if (eap_peer_tls_ssl_init(sm, &data->ssl, config, in eap_unauth_tls_init()
98 eap_tls_deinit(sm, data); in eap_unauth_tls_init()
110 static void * eap_wfa_unauth_tls_init(struct eap_sm *sm) in eap_wfa_unauth_tls_init() argument
113 struct eap_peer_config *config = eap_get_config(sm); in eap_wfa_unauth_tls_init()
119 data->ssl_ctx = sm->init_phase2 && sm->ssl_ctx2 ? sm->ssl_ctx2 : in eap_wfa_unauth_tls_init()
120 sm->ssl_ctx; in eap_wfa_unauth_tls_init()
122 if (eap_peer_tls_ssl_init(sm, &data->ssl, config, in eap_wfa_unauth_tls_init()
125 eap_tls_deinit(sm, data); in eap_wfa_unauth_tls_init()
145 static void eap_tls_deinit(struct eap_sm *sm, void *priv) in eap_tls_deinit() argument
150 eap_peer_tls_ssl_deinit(sm, &data->ssl); in eap_tls_deinit()
158 static struct wpabuf * eap_tls_failure(struct eap_sm *sm, in eap_tls_failure() argument
180 static void eap_tls_success(struct eap_sm *sm, struct eap_tls_data *data, in eap_tls_success() argument
212 data->key_data = eap_peer_tls_derive_key(sm, &data->ssl, label, in eap_tls_success()
227 data->session_id = eap_peer_tls_derive_session_id(sm, &data->ssl, in eap_tls_success()
239 static struct wpabuf * eap_tls_process(struct eap_sm *sm, void *priv, in eap_tls_process() argument
251 if (sm->waiting_ext_cert_check && data->pending_resp) { in eap_tls_process()
252 struct eap_peer_config *config = eap_get_config(sm); in eap_tls_process()
259 sm->waiting_ext_cert_check = 0; in eap_tls_process()
268 sm->waiting_ext_cert_check = 0; in eap_tls_process()
277 pos = eap_peer_tls_process_init(sm, &data->ssl, data->eap_type, ret, in eap_tls_process()
291 res = eap_peer_tls_process_helper(sm, &data->ssl, data->eap_type, 0, in eap_tls_process()
295 return eap_tls_failure(sm, data, ret, res, resp, id); in eap_tls_process()
298 if (sm->waiting_ext_cert_check) { in eap_tls_process()
320 eap_tls_success(sm, data, ret); in eap_tls_process()
331 static bool eap_tls_has_reauth_data(struct eap_sm *sm, void *priv) in eap_tls_has_reauth_data() argument
338 static void eap_tls_deinit_for_reauth(struct eap_sm *sm, void *priv) in eap_tls_deinit_for_reauth() argument
348 static void * eap_tls_init_for_reauth(struct eap_sm *sm, void *priv) in eap_tls_init_for_reauth() argument
354 if (eap_peer_tls_reauth_init(sm, &data->ssl)) { in eap_tls_init_for_reauth()
362 static int eap_tls_get_status(struct eap_sm *sm, void *priv, char *buf, in eap_tls_get_status() argument
366 return eap_peer_tls_status(sm, &data->ssl, buf, buflen, verbose); in eap_tls_get_status()
370 static bool eap_tls_isKeyAvailable(struct eap_sm *sm, void *priv) in eap_tls_isKeyAvailable() argument
377 static u8 * eap_tls_getKey(struct eap_sm *sm, void *priv, size_t *len) in eap_tls_getKey() argument
395 static u8 * eap_tls_get_emsk(struct eap_sm *sm, void *priv, size_t *len) in eap_tls_get_emsk() argument
413 static u8 * eap_tls_get_session_id(struct eap_sm *sm, void *priv, size_t *len) in eap_tls_get_session_id() argument