Lines Matching refs:m_env
190 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dgram_write() local
197 else if (m_env) { in coap_dgram_write()
200 m_env->last_timeout = now; in coap_dgram_write()
219 coap_mbedtls_env_t *m_env; in psk_server_callback() local
228 m_env = (coap_mbedtls_env_t *)c_session->tls; in psk_server_callback()
244 m_env->seen_client_hello = 1; in psk_server_callback()
252 m_env->seen_client_hello = 1; in psk_server_callback()
455 coap_mbedtls_env_t *m_env, in setup_pki_credentials() argument
494 ret = mbedtls_ssl_conf_own_cert(&m_env->conf, public_cert, private_key); in setup_pki_credentials()
518 mbedtls_ssl_conf_ca_chain(&m_env->conf, cacert, NULL); in setup_pki_credentials()
582 ret = mbedtls_ssl_conf_own_cert(&m_env->conf, public_cert, private_key); in setup_pki_credentials()
625 mbedtls_ssl_conf_ca_chain(&m_env->conf, cacert, NULL); in setup_pki_credentials()
654 ret = mbedtls_ssl_conf_own_cert(&m_env->conf, public_cert, private_key); in setup_pki_credentials()
678 mbedtls_ssl_conf_ca_chain(&m_env->conf, cacert, NULL); in setup_pki_credentials()
701 mbedtls_ssl_conf_ca_chain(&m_env->conf, cacert, NULL); in setup_pki_credentials()
710 mbedtls_ssl_conf_ca_chain(&m_env->conf, cacert, NULL); in setup_pki_credentials()
713 mbedtls_ssl_conf_cert_req_ca_list(&m_env->conf, in setup_pki_credentials()
717 mbedtls_ssl_conf_authmode(&m_env->conf, setup_data->verify_peer_cert ? in setup_pki_credentials()
724 mbedtls_ssl_conf_verify(&m_env->conf, in setup_pki_credentials()
741 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in pki_sni_callback() local
792 m_env, in pki_sni_callback()
884 coap_mbedtls_env_t *m_env) in setup_server_ssl_session() argument
891 mbedtls_ssl_cookie_init(&m_env->cookie_ctx); in setup_server_ssl_session()
892 if ((ret = mbedtls_ssl_config_defaults(&m_env->conf, in setup_server_ssl_session()
903 mbedtls_ssl_conf_rng(&m_env->conf, mbedtls_ctr_drbg_random, &m_env->ctr_drbg); in setup_server_ssl_session()
906 mbedtls_ssl_conf_handshake_timeout(&m_env->conf, COAP_DTLS_RETRANSMIT_MS, in setup_server_ssl_session()
911 mbedtls_ssl_conf_psk_cb(&m_env->conf, psk_server_callback, c_session); in setup_server_ssl_session()
913 mbedtls_ssl_conf_sni(&m_env->conf, psk_sni_callback, c_session); in setup_server_ssl_session()
922 ret = setup_pki_credentials(&m_env->cacert, &m_env->public_cert, in setup_server_ssl_session()
923 &m_env->private_key, m_env, m_context, in setup_server_ssl_session()
931 mbedtls_ssl_conf_sni(&m_env->conf, pki_sni_callback, c_session); in setup_server_ssl_session()
935 if ((ret = mbedtls_ssl_cookie_setup(&m_env->cookie_ctx, in setup_server_ssl_session()
937 &m_env->ctr_drbg)) != 0) { in setup_server_ssl_session()
944 mbedtls_ssl_conf_dtls_cookies(&m_env->conf, mbedtls_ssl_cookie_write, in setup_server_ssl_session()
946 &m_env->cookie_ctx ); in setup_server_ssl_session()
948 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu); in setup_server_ssl_session()
1031 coap_mbedtls_env_t *m_env) in setup_client_ssl_session() argument
1040 if ((ret = mbedtls_ssl_config_defaults(&m_env->conf, in setup_client_ssl_session()
1052 mbedtls_ssl_conf_handshake_timeout(&m_env->conf, COAP_DTLS_RETRANSMIT_MS, in setup_client_ssl_session()
1056 mbedtls_ssl_conf_authmode(&m_env->conf, MBEDTLS_SSL_VERIFY_REQUIRED); in setup_client_ssl_session()
1057 mbedtls_ssl_conf_rng(&m_env->conf, mbedtls_ctr_drbg_random, &m_env->ctr_drbg); in setup_client_ssl_session()
1077 mbedtls_ssl_conf_psk(&m_env->conf, (const unsigned char *)psk_key, in setup_client_ssl_session()
1081 mbedtls_ssl_set_hostname(&m_env->ssl, in setup_client_ssl_session()
1086 set_ciphersuites(&m_env->conf, COAP_ENC_PSK); in setup_client_ssl_session()
1097 mbedtls_ssl_conf_authmode(&m_env->conf, MBEDTLS_SSL_VERIFY_OPTIONAL); in setup_client_ssl_session()
1098 ret = setup_pki_credentials(&m_env->cacert, &m_env->public_cert, in setup_client_ssl_session()
1099 &m_env->private_key, m_env, m_context, in setup_client_ssl_session()
1110 ret = mbedtls_ssl_conf_alpn_protocols(&m_env->conf, alpn_list); in setup_client_ssl_session()
1117 mbedtls_ssl_set_hostname(&m_env->ssl, m_context->setup_data.client_sni); in setup_client_ssl_session()
1121 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu); in setup_client_ssl_session()
1124 set_ciphersuites(&m_env->conf, COAP_ENC_PKI); in setup_client_ssl_session()
1132 static void mbedtls_cleanup(coap_mbedtls_env_t *m_env) in mbedtls_cleanup() argument
1134 if (!m_env) { in mbedtls_cleanup()
1138 mbedtls_x509_crt_free(&m_env->cacert); in mbedtls_cleanup()
1139 mbedtls_x509_crt_free(&m_env->public_cert); in mbedtls_cleanup()
1140 mbedtls_pk_free(&m_env->private_key); in mbedtls_cleanup()
1141 mbedtls_entropy_free(&m_env->entropy); in mbedtls_cleanup()
1142 mbedtls_ssl_config_free(&m_env->conf); in mbedtls_cleanup()
1143 mbedtls_ctr_drbg_free(&m_env->ctr_drbg); in mbedtls_cleanup()
1144 mbedtls_ssl_free(&m_env->ssl); in mbedtls_cleanup()
1145 mbedtls_ssl_cookie_free(&m_env->cookie_ctx); in mbedtls_cleanup()
1149 coap_dtls_free_mbedtls_env(coap_mbedtls_env_t *m_env) { in coap_dtls_free_mbedtls_env() argument
1150 if (m_env) { in coap_dtls_free_mbedtls_env()
1151 mbedtls_cleanup(m_env); in coap_dtls_free_mbedtls_env()
1152 mbedtls_free(m_env); in coap_dtls_free_mbedtls_env()
1176 coap_mbedtls_env_t *m_env) { in do_mbedtls_handshake() argument
1180 ret = mbedtls_ssl_handshake(&m_env->ssl); in do_mbedtls_handshake()
1183 m_env->established = 1; in do_mbedtls_handshake()
1207 if (m_env->ssl.in_msg[1] != MBEDTLS_SSL_ALERT_MSG_CLOSE_NOTIFY) in do_mbedtls_handshake()
1209 coap_session_str(c_session), m_env->ssl.in_msg[1], in do_mbedtls_handshake()
1210 report_mbedtls_alert(m_env->ssl.in_msg[1])); in do_mbedtls_handshake()
1227 mbedtls_ssl_send_alert_message(&m_env->ssl, in do_mbedtls_handshake()
1237 mbedtls_ssl_session_reset(&m_env->ssl); in do_mbedtls_handshake()
1273 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_new_mbedtls_env() local
1275 if (m_env) in coap_dtls_new_mbedtls_env()
1276 return m_env; in coap_dtls_new_mbedtls_env()
1278 m_env = (coap_mbedtls_env_t *)mbedtls_malloc(sizeof(coap_mbedtls_env_t)); in coap_dtls_new_mbedtls_env()
1279 if (!m_env) { in coap_dtls_new_mbedtls_env()
1282 memset(m_env, 0, sizeof(coap_mbedtls_env_t)); in coap_dtls_new_mbedtls_env()
1284 mbedtls_ssl_init(&m_env->ssl); in coap_dtls_new_mbedtls_env()
1285 mbedtls_ctr_drbg_init(&m_env->ctr_drbg); in coap_dtls_new_mbedtls_env()
1286 mbedtls_ssl_config_init(&m_env->conf); in coap_dtls_new_mbedtls_env()
1287 mbedtls_entropy_init(&m_env->entropy); in coap_dtls_new_mbedtls_env()
1290 mbedtls_esp_enable_debug_log(&m_env->conf, CONFIG_MBEDTLS_DEBUG_LEVEL); in coap_dtls_new_mbedtls_env()
1292 if ((ret = mbedtls_ctr_drbg_seed(&m_env->ctr_drbg, in coap_dtls_new_mbedtls_env()
1293 mbedtls_entropy_func, &m_env->entropy, NULL, 0)) != 0) { 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()
1313 mbedtls_ssl_conf_min_version(&m_env->conf, MBEDTLS_SSL_MAJOR_VERSION_3, in coap_dtls_new_mbedtls_env()
1316 if ((ret = mbedtls_ssl_setup(&m_env->ssl, &m_env->conf)) != 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()
1321 mbedtls_ssl_set_timer_cb(&m_env->ssl, &m_env->timer, in coap_dtls_new_mbedtls_env()
1325 mbedtls_ssl_conf_dbg(&m_env->conf, mbedtls_debug_out, stdout); in coap_dtls_new_mbedtls_env()
1326 return m_env; in coap_dtls_new_mbedtls_env()
1329 if (m_env) { in coap_dtls_new_mbedtls_env()
1330 mbedtls_free(m_env); in coap_dtls_new_mbedtls_env()
1528 coap_mbedtls_env_t *m_env = coap_dtls_new_mbedtls_env(c_session, in coap_dtls_new_client_session()
1532 if (m_env) { in coap_dtls_new_client_session()
1535 m_env->last_timeout = now; in coap_dtls_new_client_session()
1536 ret = do_mbedtls_handshake(c_session, m_env); in coap_dtls_new_client_session()
1538 coap_dtls_free_mbedtls_env(m_env); in coap_dtls_new_client_session()
1542 return m_env; in coap_dtls_new_client_session()
1548 coap_mbedtls_env_t *m_env = in coap_dtls_new_server_session() local
1550 if (m_env) { 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()
1557 return m_env; in coap_dtls_new_server_session()
1573 coap_mbedtls_env_t *m_env = in coap_dtls_session_update_mtu() local
1575 if (m_env) { 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()
1588 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_send() local
1590 assert(m_env != NULL); in coap_dtls_send()
1592 if (!m_env) { in coap_dtls_send()
1596 if (m_env->established) { in coap_dtls_send()
1597 ret = mbedtls_ssl_write(&m_env->ssl, (const unsigned char*) data, data_len); in coap_dtls_send()
1621 ret = do_mbedtls_handshake(c_session, m_env); in coap_dtls_send()
1654 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_get_timeout() local
1655 int ret = mbedtls_timing_get_delay(&m_env->timer); in coap_dtls_get_timeout()
1656 unsigned int scalar = 1 << m_env->retry_scalar; in coap_dtls_get_timeout()
1662 if (m_env->last_timeout + COAP_DTLS_RETRANSMIT_COAP_TICKS * scalar > now) { in coap_dtls_get_timeout()
1664 return m_env->last_timeout + COAP_DTLS_RETRANSMIT_COAP_TICKS * scalar; in coap_dtls_get_timeout()
1666 m_env->last_timeout = now; in coap_dtls_get_timeout()
1674 if (m_env->last_timeout + COAP_DTLS_RETRANSMIT_COAP_TICKS * scalar > now) { in coap_dtls_get_timeout()
1675 return m_env->last_timeout + COAP_DTLS_RETRANSMIT_COAP_TICKS * scalar; in coap_dtls_get_timeout()
1679 m_env->last_timeout = now; in coap_dtls_get_timeout()
1693 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_handle_timeout() local
1695 assert(m_env != NULL && c_session->state == COAP_SESSION_STATE_HANDSHAKE); in coap_dtls_handle_timeout()
1696 m_env->retry_scalar++; in coap_dtls_handle_timeout()
1698 (do_mbedtls_handshake(c_session, m_env) < 0)) { in coap_dtls_handle_timeout()
1717 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_receive() local
1720 assert(m_env != NULL); in coap_dtls_receive()
1722 ssl_data = &m_env->coap_ssl_data; in coap_dtls_receive()
1730 if (m_env->established) { in coap_dtls_receive()
1748 ret = mbedtls_ssl_read(&m_env->ssl, pdu, sizeof(pdu)); in coap_dtls_receive()
1777 ret = do_mbedtls_handshake(c_session, m_env); in coap_dtls_receive()
1784 ret = do_mbedtls_handshake(c_session, m_env); in coap_dtls_receive()
1834 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_hello()
1838 if (!m_env) { in coap_dtls_hello()
1839 m_env = coap_dtls_new_mbedtls_env(c_session, COAP_DTLS_ROLE_SERVER); in coap_dtls_hello()
1840 if (m_env) { in coap_dtls_hello()
1841 c_session->tls = m_env; in coap_dtls_hello()
1849 if((ret = mbedtls_ssl_set_client_transport_id(&m_env->ssl, in coap_dtls_hello()
1858 ssl_data = &m_env->coap_ssl_data; in coap_dtls_hello()
1866 ret = do_mbedtls_handshake(c_session, m_env); in coap_dtls_hello()
1867 if (ret == 0 || m_env->seen_client_hello) { in coap_dtls_hello()
1873 m_env->seen_client_hello = 0; in coap_dtls_hello()
1892 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls; in coap_dtls_get_overhead() local
1893 int expansion = mbedtls_ssl_get_record_expansion(&m_env->ssl); in coap_dtls_get_overhead()
1948 coap_mbedtls_env_t *m_env; in coap_dtls_get_tls() local
1951 memcpy(&m_env, &c_session->tls, sizeof(m_env)); in coap_dtls_get_tls()
1953 return (void *)&m_env->ssl; in coap_dtls_get_tls()