Deleted Added
sdiff udiff text old ( 281806 ) new ( 289549 )
full compact
1/*
2 * hostapd / EAP-TLS (RFC 2716)
3 * Copyright (c) 2004-2008, Jouni Malinen <j@w1.fi>
4 *
5 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
7 */
8

--- 34 unchanged lines hidden (view full) ---

43
44
45static void eap_tls_state(struct eap_tls_data *data, int state)
46{
47 wpa_printf(MSG_DEBUG, "EAP-TLS: %s -> %s",
48 eap_tls_state_txt(data->state),
49 eap_tls_state_txt(state));
50 data->state = state;
51}
52
53
54static void * eap_tls_init(struct eap_sm *sm)
55{
56 struct eap_tls_data *data;
57
58 data = os_zalloc(sizeof(*data));
59 if (data == NULL)
60 return NULL;
61 data->state = START;
62
63 if (eap_server_tls_ssl_init(sm, &data->ssl, 1)) {
64 wpa_printf(MSG_INFO, "EAP-TLS: Failed to initialize SSL.");
65 eap_tls_reset(sm, data);
66 return NULL;
67 }
68
69 data->eap_type = EAP_TYPE_TLS;
70
71 return data;

--- 5 unchanged lines hidden (view full) ---

77{
78 struct eap_tls_data *data;
79
80 data = os_zalloc(sizeof(*data));
81 if (data == NULL)
82 return NULL;
83 data->state = START;
84
85 if (eap_server_tls_ssl_init(sm, &data->ssl, 0)) {
86 wpa_printf(MSG_INFO, "EAP-TLS: Failed to initialize SSL.");
87 eap_tls_reset(sm, data);
88 return NULL;
89 }
90
91 data->eap_type = EAP_UNAUTH_TLS_TYPE;
92 return data;
93}

--- 5 unchanged lines hidden (view full) ---

99{
100 struct eap_tls_data *data;
101
102 data = os_zalloc(sizeof(*data));
103 if (data == NULL)
104 return NULL;
105 data->state = START;
106
107 if (eap_server_tls_ssl_init(sm, &data->ssl, 0)) {
108 wpa_printf(MSG_INFO, "EAP-TLS: Failed to initialize SSL.");
109 eap_tls_reset(sm, data);
110 return NULL;
111 }
112
113 data->eap_type = EAP_WFA_UNAUTH_TLS_TYPE;
114 return data;
115}

--- 62 unchanged lines hidden (view full) ---

178 res = eap_server_tls_build_msg(&data->ssl, data->eap_type, 0, id);
179
180check_established:
181 if (data->established && data->ssl.state != WAIT_FRAG_ACK) {
182 /* TLS handshake has been completed and there are no more
183 * fragments waiting to be sent out. */
184 wpa_printf(MSG_DEBUG, "EAP-TLS: Done");
185 eap_tls_state(data, SUCCESS);
186 }
187
188 return res;
189}
190
191
192static Boolean eap_tls_check(struct eap_sm *sm, void *priv,
193 struct wpabuf *respData)

--- 35 unchanged lines hidden (view full) ---

229 eap_tls_state(data, FAILURE);
230}
231
232
233static void eap_tls_process(struct eap_sm *sm, void *priv,
234 struct wpabuf *respData)
235{
236 struct eap_tls_data *data = priv;
237 if (eap_server_tls_process(sm, &data->ssl, respData, data,
238 data->eap_type, NULL, eap_tls_process_msg) <
239 0)
240 eap_tls_state(data, FAILURE);
241}
242
243
244static Boolean eap_tls_isDone(struct eap_sm *sm, void *priv)
245{
246 struct eap_tls_data *data = priv;
247 return data->state == SUCCESS || data->state == FAILURE;
248}

--- 164 unchanged lines hidden ---