Lines Matching refs:c_session
23 * c_session A coap_session_t *
25 * m_env A coap_mbedtls_env_t * (held in c_session->tls)
117 * c_session->tls points to this.
180 coap_session_t *c_session = (coap_session_t *)ctx;
183 if (!c_session->tls) {
187 data = &((coap_mbedtls_env_t *)c_session->tls)->coap_ssl_data;
222 coap_session_t *c_session = (coap_session_t *)ctx;
224 if (c_session) {
225 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
227 if (!coap_netif_available(c_session)
229 && c_session->endpoint == NULL
236 result = (int)c_session->sock.lfunc[COAP_LAYER_TLS].l_write(c_session,
260 coap_session_t *c_session = (coap_session_t *)p_info;
266 if (c_session == NULL)
272 coap_session_refresh_psk_identity(c_session, &lidentity);
277 m_env = (coap_mbedtls_env_t *)c_session->tls;
278 setup_data = &c_session->context->spsk_setup_data;
282 c_session,
285 coap_session_refresh_psk_key(c_session, psk_key);
287 psk_key = coap_get_session_server_psk_key(c_session);
341 const coap_session_t *c_session = (coap_session_t *)data;
343 (coap_mbedtls_context_t *)c_session->context->dtls_context;
361 coap_session_t *c_session = (coap_session_t *)data;
363 (coap_mbedtls_context_t *)c_session->context->dtls_context;
376 coap_session_str(c_session),
384 coap_session_str(c_session),
392 coap_session_str(c_session),
400 coap_session_str(c_session),
414 coap_session_str(c_session),
422 coap_session_str(c_session),
431 coap_session_str(c_session),
441 coap_session_str(c_session),
451 coap_session_str(c_session),
463 c_session,
480 coap_session_str(c_session),
502 coap_session_t *c_session,
786 cert_verify_callback_mbedtls, c_session);
800 coap_session_t *c_session = (coap_session_t *)p_info;
801 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
803 (coap_mbedtls_context_t *)c_session->context->dtls_context;
854 c_session,
880 coap_session_t *c_session = (coap_session_t *)p_info;
882 (coap_mbedtls_context_t *)c_session->context->dtls_context;
906 c_session->context->spsk_setup_data.validate_sni_call_back(name,
907 c_session,
908 c_session->context->spsk_setup_data.sni_call_back_arg);
930 coap_session_refresh_psk_hint(c_session,
932 coap_session_refresh_psk_key(c_session,
941 setup_server_ssl_session(coap_session_t *c_session,
944 (coap_mbedtls_context_t *)c_session->context->dtls_context;
951 c_session->proto == COAP_PROTO_DTLS ?
969 mbedtls_ssl_conf_psk_cb(&m_env->conf, psk_server_callback, c_session);
970 if (c_session->context->spsk_setup_data.validate_sni_call_back) {
971 mbedtls_ssl_conf_sni(&m_env->conf, psk_sni_callback, c_session);
981 c_session, &m_context->setup_data,
988 mbedtls_ssl_conf_sni(&m_env->conf, pki_sni_callback, c_session);
1005 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu);
1118 setup_client_ssl_session(coap_session_t *c_session,
1123 (coap_mbedtls_context_t *)c_session->context->dtls_context;
1129 c_session->proto == COAP_PROTO_DTLS ?
1153 psk_key = coap_get_session_client_psk_key(c_session);
1154 psk_identity = coap_get_session_client_psk_identity(c_session);
1167 if (c_session->cpsk_setup_data.client_sni) {
1169 c_session->cpsk_setup_data.client_sni)) != 0) {
1190 c_session, &m_context->setup_data,
1197 if (c_session->proto == COAP_PROTO_TLS ||
1198 c_session->proto == COAP_PROTO_WSS) {
1212 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu);
1282 do_mbedtls_handshake(coap_session_t *c_session,
1292 coap_session_str(c_session));
1325 coap_session_str(c_session), m_env->ssl.in_msg[1],
1331 c_session->dtls_event = COAP_EVENT_DTLS_CLOSED;
1349 c_session->dtls_event = COAP_EVENT_DTLS_ERROR;
1402 coap_session_t *c_session = (coap_session_t *)ctx;
1405 ret = (int)c_session->sock.lfunc[COAP_LAYER_TLS].l_read(c_session, out, outl);
1431 coap_session_t *c_session = (coap_session_t *)context;
1433 ret = c_session->sock.lfunc[COAP_LAYER_TLS].l_write(c_session,
1438 if ((c_session->state == COAP_SESSION_STATE_CSM ||
1439 c_session->state == COAP_SESSION_STATE_HANDSHAKE) &&
1473 coap_session_str(c_session), inl, coap_socket_strerror(),
1474 c_session->state);
1486 coap_dtls_new_mbedtls_env(coap_session_t *c_session,
1490 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
1518 if (setup_client_ssl_session(c_session, m_env) != 0) {
1526 if (setup_server_ssl_session(c_session, m_env) != 0) {
1547 mbedtls_ssl_set_bio(&m_env->ssl, c_session, coap_dgram_write,
1551 COAP_PROTO_NOT_RELIABLE(c_session->proto)) {
1569 mbedtls_ssl_set_bio(&m_env->ssl, c_session, coap_sock_write,
1822 coap_dtls_new_client_session(coap_session_t *c_session) {
1824 (void)c_session;
1830 coap_mbedtls_env_t *m_env = coap_dtls_new_mbedtls_env(c_session,
1838 if (COAP_PROTO_NOT_RELIABLE(c_session->proto)) {
1851 ret = do_mbedtls_handshake(c_session, m_env);
1864 coap_dtls_new_server_session(coap_session_t *c_session) {
1866 (void)c_session;
1873 (coap_mbedtls_env_t *)c_session->tls;
1877 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu);
1887 coap_dtls_free_session(coap_session_t *c_session) {
1888 if (c_session && c_session->context && c_session->tls) {
1889 coap_dtls_free_mbedtls_env(c_session->tls);
1890 c_session->tls = NULL;
1891 coap_handle_event(c_session->context, COAP_EVENT_DTLS_CLOSED, c_session);
1897 coap_dtls_session_update_mtu(coap_session_t *c_session) {
1900 (coap_mbedtls_env_t *)c_session->tls;
1903 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu);
1907 (void)c_session;
1912 coap_dtls_send(coap_session_t *c_session,
1915 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
1922 c_session->dtls_event = -1;
1932 c_session->dtls_event = COAP_EVENT_DTLS_CLOSED;
1947 ret = do_mbedtls_handshake(c_session, m_env);
1950 return coap_dtls_send(c_session, data, data_len);
1955 if (c_session->dtls_event >= 0) {
1957 if (c_session->dtls_event != COAP_EVENT_DTLS_CLOSED)
1958 coap_handle_event(c_session->context, c_session->dtls_event, c_session);
1959 if (c_session->dtls_event == COAP_EVENT_DTLS_ERROR ||
1960 c_session->dtls_event == COAP_EVENT_DTLS_CLOSED) {
1961 coap_session_disconnected(c_session, COAP_NACK_TLS_FAILED);
1968 coap_session_str(c_session), ret);
1971 coap_session_str(c_session), ret, data_len);
1987 coap_dtls_get_timeout(coap_session_t *c_session, coap_tick_t now) {
1988 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
1992 assert(c_session->state == COAP_SESSION_STATE_HANDSHAKE);
2030 coap_dtls_handle_timeout(coap_session_t *c_session) {
2031 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
2033 assert(m_env != NULL && c_session->state == COAP_SESSION_STATE_HANDSHAKE);
2035 if ((++c_session->dtls_timeout_count > c_session->max_retransmit) ||
2036 (do_mbedtls_handshake(c_session, m_env) < 0)) {
2038 coap_session_disconnected(c_session, COAP_NACK_TLS_FAILED);
2050 coap_dtls_receive(coap_session_t *c_session,
2055 c_session->dtls_event = -1;
2056 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
2064 coap_session_str(c_session), ssl_data->pdu_len);
2081 if (c_session->state == COAP_SESSION_STATE_HANDSHAKE) {
2082 coap_handle_event(c_session->context, COAP_EVENT_DTLS_CONNECTED,
2083 c_session);
2084 c_session->sock.lfunc[COAP_LAYER_TLS].l_establish(c_session);
2089 ret = coap_handle_dgram(c_session->context, c_session, pdu, (size_t)ret);
2099 c_session->dtls_event = COAP_EVENT_DTLS_CLOSED;
2114 ret = do_mbedtls_handshake(c_session, m_env);
2117 coap_session_connected(c_session);
2121 ret = do_mbedtls_handshake(c_session, m_env);
2124 coap_session_connected(c_session);
2132 if (c_session->dtls_event >= 0) {
2134 if (c_session->dtls_event != COAP_EVENT_DTLS_CLOSED)
2135 coap_handle_event(c_session->context, c_session->dtls_event, c_session);
2136 if (c_session->dtls_event == COAP_EVENT_DTLS_ERROR ||
2137 c_session->dtls_event == COAP_EVENT_DTLS_CLOSED) {
2138 coap_session_disconnected(c_session, COAP_NACK_TLS_FAILED);
2152 coap_session_str(c_session), ret);
2164 coap_dtls_hello(coap_session_t *c_session,
2168 (void)c_session;
2176 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
2181 m_env = coap_dtls_new_mbedtls_env(c_session, COAP_DTLS_ROLE_SERVER,
2184 c_session->tls = m_env;
2192 (unsigned char *)&c_session->addr_info.remote,
2193 sizeof(c_session->addr_info.remote))) != 0) {
2202 coap_session_str(c_session), ssl_data->pdu_len);
2207 ret = do_mbedtls_handshake(c_session, m_env);
2210 c_session to continue the do_mbedtls_handshake past the client hello
2232 coap_dtls_get_overhead(coap_session_t *c_session) {
2233 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
2245 coap_tls_new_client_session(coap_session_t *c_session) {
2247 (void)c_session;
2254 coap_mbedtls_env_t *m_env = coap_dtls_new_mbedtls_env(c_session,
2265 c_session->tls = m_env;
2266 ret = do_mbedtls_handshake(c_session, m_env);
2268 coap_handle_event(c_session->context, COAP_EVENT_DTLS_CONNECTED, c_session);
2269 c_session->sock.lfunc[COAP_LAYER_TLS].l_establish(c_session);
2278 coap_tls_new_server_session(coap_session_t *c_session) {
2280 (void)c_session;
2288 coap_mbedtls_env_t *m_env = coap_dtls_new_mbedtls_env(c_session,
2296 c_session->tls = m_env;
2297 ret = do_mbedtls_handshake(c_session, m_env);
2299 coap_handle_event(c_session->context, COAP_EVENT_DTLS_CONNECTED, c_session);
2300 c_session->sock.lfunc[COAP_LAYER_TLS].l_establish(c_session);
2308 coap_tls_free_session(coap_session_t *c_session) {
2309 coap_dtls_free_session(c_session);
2319 coap_tls_write(coap_session_t *c_session, const uint8_t *data,
2322 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
2331 c_session->dtls_event = -1;
2344 c_session->sock.flags |= COAP_SOCKET_WANT_WRITE;
2348 c_session->dtls_event = COAP_EVENT_DTLS_CLOSED;
2365 ret = do_mbedtls_handshake(c_session, m_env);
2367 coap_handle_event(c_session->context, COAP_EVENT_DTLS_CONNECTED,
2368 c_session);
2369 c_session->sock.lfunc[COAP_LAYER_TLS].l_establish(c_session);
2375 if (c_session->dtls_event >= 0) {
2377 if (c_session->dtls_event != COAP_EVENT_DTLS_CLOSED)
2378 coap_handle_event(c_session->context, c_session->dtls_event, c_session);
2379 if (c_session->dtls_event == COAP_EVENT_DTLS_ERROR ||
2380 c_session->dtls_event == COAP_EVENT_DTLS_CLOSED) {
2381 coap_session_disconnected(c_session, COAP_NACK_TLS_FAILED);
2388 coap_session_str(c_session), ret);
2391 coap_session_str(c_session), ret, data_len);
2402 coap_tls_read(coap_session_t *c_session, uint8_t *data, size_t data_len) {
2405 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
2412 c_session->dtls_event = -1;
2415 ret = do_mbedtls_handshake(c_session, m_env);
2417 coap_handle_event(c_session->context, COAP_EVENT_DTLS_CONNECTED,
2418 c_session);
2419 c_session->sock.lfunc[COAP_LAYER_TLS].l_establish(c_session);
2423 if (c_session->state != COAP_SESSION_STATE_NONE && m_env->established) {
2429 c_session->dtls_event = COAP_EVENT_DTLS_CLOSED;
2435 c_session->dtls_event = COAP_EVENT_DTLS_CLOSED;
2449 c_session->sock.flags &= ~COAP_SOCKET_CAN_READ;
2453 if (c_session->dtls_event >= 0) {
2455 if (c_session->dtls_event != COAP_EVENT_DTLS_CLOSED)
2456 coap_handle_event(c_session->context, c_session->dtls_event, c_session);
2457 if (c_session->dtls_event == COAP_EVENT_DTLS_ERROR ||
2458 c_session->dtls_event == COAP_EVENT_DTLS_CLOSED) {
2459 coap_session_disconnected(c_session, COAP_NACK_TLS_FAILED);
2465 coap_session_str(c_session), ret);
2488 coap_dtls_get_tls(const coap_session_t *c_session,
2492 if (c_session && c_session->tls) {
2496 memcpy(&m_env, &c_session->tls, sizeof(m_env));