Lines Matching refs:c_session
142 coap_session_t *c_session = (coap_session_t *)ctx; in coap_dgram_read() local
145 if (!c_session->tls) { in coap_dgram_read()
149 data = &((coap_mbedtls_env_t *)c_session->tls)->coap_ssl_data; in coap_dgram_read()
187 coap_session_t *c_session = (coap_session_t *)ctx; in coap_dgram_write() local
189 if (c_session) { in coap_dgram_write()
190 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dgram_write()
191 result = coap_session_send(c_session, send_buffer, send_buffer_length); in coap_dgram_write()
215 coap_session_t *c_session = (coap_session_t *)p_info; in psk_server_callback() local
224 if (c_session == NULL || c_session->context == NULL || in psk_server_callback()
225 c_session->context->get_server_psk == NULL) { in psk_server_callback()
228 m_env = (coap_mbedtls_env_t *)c_session->tls; in psk_server_callback()
229 setup_data = &c_session->context->spsk_setup_data; in psk_server_callback()
237 c_session, in psk_server_callback()
243 coap_session_refresh_psk_key(c_session, psk_key); in psk_server_callback()
248 psk_len = c_session->context->get_server_psk(c_session, in psk_server_callback()
303 coap_session_t *c_session = (coap_session_t*)data; in cert_verify_callback_mbedtls() local
305 (coap_mbedtls_context_t *)c_session->context->dtls_context; in cert_verify_callback_mbedtls()
319 coap_session_str(c_session), in cert_verify_callback_mbedtls()
328 coap_session_str(c_session), in cert_verify_callback_mbedtls()
337 coap_session_str(c_session), in cert_verify_callback_mbedtls()
346 coap_session_str(c_session), in cert_verify_callback_mbedtls()
360 coap_session_str(c_session), in cert_verify_callback_mbedtls()
370 coap_session_str(c_session), in cert_verify_callback_mbedtls()
380 coap_session_str(c_session), in cert_verify_callback_mbedtls()
392 coap_session_str(c_session), in cert_verify_callback_mbedtls()
404 coap_session_str(c_session), in cert_verify_callback_mbedtls()
416 c_session, in cert_verify_callback_mbedtls()
434 coap_session_str(c_session), in cert_verify_callback_mbedtls()
457 coap_session_t *c_session, in setup_pki_credentials() argument
725 cert_verify_callback_mbedtls, c_session); in setup_pki_credentials()
740 coap_session_t *c_session = (coap_session_t *)p_info; in pki_sni_callback() local
741 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in pki_sni_callback()
743 (coap_mbedtls_context_t *)c_session->context->dtls_context; in pki_sni_callback()
794 c_session, in pki_sni_callback()
822 coap_session_t *c_session = (coap_session_t *)p_info; in psk_sni_callback() local
824 (coap_mbedtls_context_t *)c_session->context->dtls_context; in psk_sni_callback()
848 c_session->context->spsk_setup_data.validate_sni_call_back(name, in psk_sni_callback()
849 c_session, in psk_sni_callback()
850 c_session->context->spsk_setup_data.sni_call_back_arg); in psk_sni_callback()
873 coap_session_refresh_psk_hint(c_session, in psk_sni_callback()
875 coap_session_refresh_psk_key(c_session, in psk_sni_callback()
883 static int setup_server_ssl_session(coap_session_t *c_session, in setup_server_ssl_session() argument
887 (coap_mbedtls_context_t *)c_session->context->dtls_context; in setup_server_ssl_session()
894 c_session->proto == COAP_PROTO_DTLS ? in setup_server_ssl_session()
911 mbedtls_ssl_conf_psk_cb(&m_env->conf, psk_server_callback, c_session); in setup_server_ssl_session()
912 if (c_session->context->spsk_setup_data.validate_sni_call_back) { in setup_server_ssl_session()
913 mbedtls_ssl_conf_sni(&m_env->conf, psk_sni_callback, c_session); in setup_server_ssl_session()
924 c_session, &m_context->setup_data, in setup_server_ssl_session()
931 mbedtls_ssl_conf_sni(&m_env->conf, pki_sni_callback, c_session); in setup_server_ssl_session()
948 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu); in setup_server_ssl_session()
1030 static int setup_client_ssl_session(coap_session_t *c_session, in setup_client_ssl_session() argument
1036 (coap_mbedtls_context_t *)c_session->context->dtls_context; in setup_client_ssl_session()
1042 c_session->proto == COAP_PROTO_DTLS ? in setup_client_ssl_session()
1068 psk_len = c_session->context->get_client_psk(c_session, in setup_client_ssl_session()
1080 if (c_session->cpsk_setup_data.client_sni) { in setup_client_ssl_session()
1082 c_session->cpsk_setup_data.client_sni); in setup_client_ssl_session()
1100 c_session, &m_context->setup_data, in setup_client_ssl_session()
1107 if (c_session->proto == COAP_PROTO_TLS) { in setup_client_ssl_session()
1121 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu); in setup_client_ssl_session()
1175 static int do_mbedtls_handshake(coap_session_t *c_session, in do_mbedtls_handshake() argument
1185 coap_session_str(c_session)); in do_mbedtls_handshake()
1209 coap_session_str(c_session), m_env->ssl.in_msg[1], in do_mbedtls_handshake()
1213 c_session->dtls_event = COAP_EVENT_DTLS_CLOSED; in do_mbedtls_handshake()
1231 c_session->dtls_event = COAP_EVENT_DTLS_ERROR; in do_mbedtls_handshake()
1269 static coap_mbedtls_env_t *coap_dtls_new_mbedtls_env(coap_session_t *c_session, in coap_dtls_new_mbedtls_env() argument
1273 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_new_mbedtls_env()
1300 if (setup_client_ssl_session(c_session, m_env) != 0) { in coap_dtls_new_mbedtls_env()
1305 if (setup_server_ssl_session(c_session, m_env) != 0) { in coap_dtls_new_mbedtls_env()
1319 mbedtls_ssl_set_bio(&m_env->ssl, c_session, coap_dgram_write, in coap_dtls_new_mbedtls_env()
1519 void *coap_dtls_new_client_session(coap_session_t *c_session) in coap_dtls_new_client_session() argument
1522 (void)c_session; in coap_dtls_new_client_session()
1528 coap_mbedtls_env_t *m_env = coap_dtls_new_mbedtls_env(c_session, in coap_dtls_new_client_session()
1536 ret = do_mbedtls_handshake(c_session, m_env); in coap_dtls_new_client_session()
1546 void *coap_dtls_new_server_session(coap_session_t *c_session) in coap_dtls_new_server_session() argument
1549 (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_new_server_session()
1553 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu); in coap_dtls_new_server_session()
1560 void coap_dtls_free_session(coap_session_t *c_session) in coap_dtls_free_session() argument
1562 if (c_session && c_session->context && c_session->tls) { in coap_dtls_free_session()
1563 coap_dtls_free_mbedtls_env(c_session->tls); in coap_dtls_free_session()
1564 c_session->tls = NULL; in coap_dtls_free_session()
1565 coap_handle_event(c_session->context, COAP_EVENT_DTLS_CLOSED, c_session); in coap_dtls_free_session()
1570 void coap_dtls_session_update_mtu(coap_session_t *c_session) in coap_dtls_session_update_mtu() argument
1574 (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_session_update_mtu()
1577 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu); in coap_dtls_session_update_mtu()
1583 int coap_dtls_send(coap_session_t *c_session, in coap_dtls_send() argument
1588 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_send()
1595 c_session->dtls_event = -1; in coap_dtls_send()
1605 c_session->dtls_event = COAP_EVENT_DTLS_CLOSED; in coap_dtls_send()
1621 ret = do_mbedtls_handshake(c_session, m_env); in coap_dtls_send()
1624 return coap_dtls_send(c_session, data, data_len); in coap_dtls_send()
1629 if (c_session->dtls_event >= 0) { in coap_dtls_send()
1631 if (c_session->dtls_event != COAP_EVENT_DTLS_CLOSED) in coap_dtls_send()
1632 coap_handle_event(c_session->context, c_session->dtls_event, c_session); in coap_dtls_send()
1633 if (c_session->dtls_event == COAP_EVENT_DTLS_ERROR || in coap_dtls_send()
1634 c_session->dtls_event == COAP_EVENT_DTLS_CLOSED) { in coap_dtls_send()
1635 coap_session_disconnected(c_session, COAP_NACK_TLS_FAILED); in coap_dtls_send()
1652 coap_tick_t coap_dtls_get_timeout(coap_session_t *c_session, coap_tick_t now) in coap_dtls_get_timeout() argument
1654 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_get_timeout()
1658 assert(c_session->state == COAP_SESSION_STATE_HANDSHAKE); in coap_dtls_get_timeout()
1691 void coap_dtls_handle_timeout(coap_session_t *c_session) in coap_dtls_handle_timeout() argument
1693 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_handle_timeout()
1695 assert(m_env != NULL && c_session->state == COAP_SESSION_STATE_HANDSHAKE); in coap_dtls_handle_timeout()
1697 if ((++c_session->dtls_timeout_count > c_session->max_retransmit) || in coap_dtls_handle_timeout()
1698 (do_mbedtls_handshake(c_session, m_env) < 0)) { in coap_dtls_handle_timeout()
1700 coap_session_disconnected(c_session, COAP_NACK_TLS_FAILED); in coap_dtls_handle_timeout()
1710 int coap_dtls_receive(coap_session_t *c_session, in coap_dtls_receive() argument
1716 c_session->dtls_event = -1; in coap_dtls_receive()
1717 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_receive()
1725 coap_session_str(c_session), ssl_data->pdu_len); in coap_dtls_receive()
1742 if (c_session->state == COAP_SESSION_STATE_HANDSHAKE) { in coap_dtls_receive()
1743 coap_handle_event(c_session->context, COAP_EVENT_DTLS_CONNECTED, in coap_dtls_receive()
1744 c_session); in coap_dtls_receive()
1745 coap_session_connected(c_session); in coap_dtls_receive()
1750 ret = coap_handle_dgram(c_session->context, c_session, pdu, (size_t)ret); in coap_dtls_receive()
1760 c_session->dtls_event = COAP_EVENT_DTLS_CLOSED; in coap_dtls_receive()
1777 ret = do_mbedtls_handshake(c_session, m_env); in coap_dtls_receive()
1780 coap_session_connected(c_session); in coap_dtls_receive()
1784 ret = do_mbedtls_handshake(c_session, m_env); in coap_dtls_receive()
1787 coap_session_connected(c_session); in coap_dtls_receive()
1795 if (c_session->dtls_event >= 0) { in coap_dtls_receive()
1797 if (c_session->dtls_event != COAP_EVENT_DTLS_CLOSED) in coap_dtls_receive()
1798 coap_handle_event(c_session->context, c_session->dtls_event, c_session); in coap_dtls_receive()
1799 if (c_session->dtls_event == COAP_EVENT_DTLS_ERROR || in coap_dtls_receive()
1800 c_session->dtls_event == COAP_EVENT_DTLS_CLOSED) { in coap_dtls_receive()
1801 coap_session_disconnected(c_session, COAP_NACK_TLS_FAILED); in coap_dtls_receive()
1821 int coap_dtls_hello(coap_session_t *c_session, in coap_dtls_hello() argument
1826 (void)c_session; in coap_dtls_hello()
1834 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_hello()
1839 m_env = coap_dtls_new_mbedtls_env(c_session, COAP_DTLS_ROLE_SERVER); in coap_dtls_hello()
1841 c_session->tls = m_env; in coap_dtls_hello()
1850 (unsigned char *)&c_session->addr_info.remote, in coap_dtls_hello()
1851 sizeof(c_session->addr_info.remote))) != 0) { in coap_dtls_hello()
1861 coap_session_str(c_session), ssl_data->pdu_len); in coap_dtls_hello()
1866 ret = do_mbedtls_handshake(c_session, m_env); in coap_dtls_hello()
1890 unsigned int coap_dtls_get_overhead(coap_session_t *c_session) in coap_dtls_get_overhead() argument
1892 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_get_overhead()
1902 void *coap_tls_new_client_session(coap_session_t *c_session COAP_UNUSED, in coap_tls_new_client_session()
1908 void *coap_tls_new_server_session(coap_session_t *c_session COAP_UNUSED, in coap_tls_new_server_session()
1914 void coap_tls_free_session( coap_session_t *c_session COAP_UNUSED) in coap_tls_free_session()
1918 ssize_t coap_tls_write(coap_session_t *c_session COAP_UNUSED, in coap_tls_write()
1926 ssize_t coap_tls_read(coap_session_t *c_session COAP_UNUSED, in coap_tls_read()
1943 coap_dtls_get_tls(const coap_session_t *c_session, in coap_dtls_get_tls() argument
1947 if (c_session && c_session->tls) { in coap_dtls_get_tls()
1951 memcpy(&m_env, &c_session->tls, sizeof(m_env)); in coap_dtls_get_tls()