Lines Matching defs:m_env
25 * m_env A coap_mbedtls_env_t * (held in c_session->tls)
225 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
242 } else if (m_env) {
245 m_env->last_timeout = now;
262 coap_mbedtls_env_t *m_env;
277 m_env = (coap_mbedtls_env_t *)c_session->tls;
293 m_env->seen_client_hello = 1;
500 coap_mbedtls_env_t *m_env,
535 NULL, coap_rng, (void *)&m_env->ctr_drbg);
543 ret = mbedtls_ssl_conf_own_cert(&m_env->conf, public_cert, private_key);
565 mbedtls_ssl_conf_ca_chain(&m_env->conf, cacert, NULL);
618 NULL, 0, coap_rng, (void *)&m_env->ctr_drbg);
630 NULL, 0, coap_rng, (void *)&m_env->ctr_drbg);
639 ret = mbedtls_ssl_conf_own_cert(&m_env->conf, public_cert, private_key);
680 mbedtls_ssl_conf_ca_chain(&m_env->conf, cacert, NULL);
708 (void *)&m_env->ctr_drbg);
716 ret = mbedtls_ssl_conf_own_cert(&m_env->conf, public_cert, private_key);
739 mbedtls_ssl_conf_ca_chain(&m_env->conf, cacert, NULL);
760 mbedtls_ssl_conf_ca_chain(&m_env->conf, cacert, NULL);
769 mbedtls_ssl_conf_ca_chain(&m_env->conf, cacert, NULL);
773 mbedtls_ssl_conf_cert_req_ca_list(&m_env->conf,
778 mbedtls_ssl_conf_authmode(&m_env->conf, setup_data->verify_peer_cert ?
785 mbedtls_ssl_conf_verify(&m_env->conf,
801 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
852 m_env,
942 coap_mbedtls_env_t *m_env) {
948 mbedtls_ssl_cookie_init(&m_env->cookie_ctx);
949 if ((ret = mbedtls_ssl_config_defaults(&m_env->conf,
960 mbedtls_ssl_conf_rng(&m_env->conf, mbedtls_ctr_drbg_random, &m_env->ctr_drbg);
963 mbedtls_ssl_conf_handshake_timeout(&m_env->conf, COAP_DTLS_RETRANSMIT_MS,
969 mbedtls_ssl_conf_psk_cb(&m_env->conf, psk_server_callback, c_session);
971 mbedtls_ssl_conf_sni(&m_env->conf, psk_sni_callback, c_session);
979 ret = setup_pki_credentials(&m_env->cacert, &m_env->public_cert,
980 &m_env->private_key, m_env, m_context,
988 mbedtls_ssl_conf_sni(&m_env->conf, pki_sni_callback, c_session);
992 if ((ret = mbedtls_ssl_cookie_setup(&m_env->cookie_ctx,
994 &m_env->ctr_drbg)) != 0) {
1001 mbedtls_ssl_conf_dtls_cookies(&m_env->conf, mbedtls_ssl_cookie_write,
1003 &m_env->cookie_ctx);
1005 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu);
1016 mbedtls_ssl_conf_cid(&m_env->conf, COAP_DTLS_CID_LENGTH, MBEDTLS_SSL_UNEXPECTED_CID_IGNORE);
1119 coap_mbedtls_env_t *m_env) {
1127 if ((ret = mbedtls_ssl_config_defaults(&m_env->conf,
1139 mbedtls_ssl_conf_handshake_timeout(&m_env->conf, COAP_DTLS_RETRANSMIT_MS,
1143 mbedtls_ssl_conf_authmode(&m_env->conf, MBEDTLS_SSL_VERIFY_REQUIRED);
1144 mbedtls_ssl_conf_rng(&m_env->conf, mbedtls_ctr_drbg_random, &m_env->ctr_drbg);
1160 if ((ret = mbedtls_ssl_conf_psk(&m_env->conf, psk_key->s,
1168 if ((ret = mbedtls_ssl_set_hostname(&m_env->ssl,
1177 set_ciphersuites(&m_env->conf, COAP_ENC_PSK);
1187 mbedtls_ssl_conf_authmode(&m_env->conf, MBEDTLS_SSL_VERIFY_OPTIONAL);
1188 ret = setup_pki_credentials(&m_env->cacert, &m_env->public_cert,
1189 &m_env->private_key, m_env, m_context,
1201 ret = mbedtls_ssl_conf_alpn_protocols(&m_env->conf, alpn_list);
1208 mbedtls_ssl_set_hostname(&m_env->ssl, m_context->setup_data.client_sni);
1212 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu);
1215 set_ciphersuites(&m_env->conf, COAP_ENC_PKI);
1225 mbedtls_cleanup(coap_mbedtls_env_t *m_env) {
1226 if (!m_env) {
1230 mbedtls_x509_crt_free(&m_env->cacert);
1231 mbedtls_x509_crt_free(&m_env->public_cert);
1232 mbedtls_pk_free(&m_env->private_key);
1233 mbedtls_entropy_free(&m_env->entropy);
1234 mbedtls_ssl_config_free(&m_env->conf);
1235 mbedtls_ctr_drbg_free(&m_env->ctr_drbg);
1236 mbedtls_ssl_free(&m_env->ssl);
1237 mbedtls_ssl_cookie_free(&m_env->cookie_ctx);
1241 coap_dtls_free_mbedtls_env(coap_mbedtls_env_t *m_env) {
1242 if (m_env) {
1243 if (!m_env->sent_alert)
1244 mbedtls_ssl_close_notify(&m_env->ssl);
1245 mbedtls_cleanup(m_env);
1246 mbedtls_free(m_env);
1283 coap_mbedtls_env_t *m_env) {
1287 ret = mbedtls_ssl_handshake(&m_env->ssl);
1290 m_env->established = 1;
1323 if (m_env->ssl.in_msg[1] != MBEDTLS_SSL_ALERT_MSG_CLOSE_NOTIFY)
1325 coap_session_str(c_session), m_env->ssl.in_msg[1],
1326 report_mbedtls_alert(m_env->ssl.in_msg[1]));
1344 mbedtls_ssl_send_alert_message(&m_env->ssl,
1347 m_env->sent_alert = 1;
1354 mbedtls_ssl_session_reset(&m_env->ssl);
1490 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
1492 if (m_env)
1493 return m_env;
1495 m_env = (coap_mbedtls_env_t *)mbedtls_malloc(sizeof(coap_mbedtls_env_t));
1496 if (!m_env) {
1499 memset(m_env, 0, sizeof(coap_mbedtls_env_t));
1501 mbedtls_ssl_init(&m_env->ssl);
1502 mbedtls_ctr_drbg_init(&m_env->ctr_drbg);
1503 mbedtls_ssl_config_init(&m_env->conf);
1504 mbedtls_entropy_init(&m_env->entropy);
1507 mbedtls_esp_enable_debug_log(&m_env->conf, CONFIG_MBEDTLS_DEBUG_LEVEL);
1509 if ((ret = mbedtls_ctr_drbg_seed(&m_env->ctr_drbg,
1510 mbedtls_entropy_func, &m_env->entropy, NULL, 0)) != 0) {
1518 if (setup_client_ssl_session(c_session, m_env) != 0) {
1526 if (setup_server_ssl_session(c_session, m_env) != 0) {
1537 mbedtls_ssl_conf_min_tls_version(&m_env->conf, MBEDTLS_SSL_VERSION_TLS1_2);
1539 mbedtls_ssl_conf_min_version(&m_env->conf, MBEDTLS_SSL_MAJOR_VERSION_3,
1543 if ((ret = mbedtls_ssl_setup(&m_env->ssl, &m_env->conf)) != 0) {
1547 mbedtls_ssl_set_bio(&m_env->ssl, c_session, coap_dgram_write,
1561 mbedtls_ssl_set_cid(&m_env->ssl, MBEDTLS_SSL_CID_ENABLED, cid,
1569 mbedtls_ssl_set_bio(&m_env->ssl, c_session, coap_sock_write,
1573 mbedtls_ssl_set_timer_cb(&m_env->ssl, &m_env->timer,
1577 mbedtls_ssl_conf_dbg(&m_env->conf, mbedtls_debug_out, stdout);
1578 return m_env;
1581 if (m_env) {
1582 mbedtls_free(m_env);
1830 coap_mbedtls_env_t *m_env = coap_dtls_new_mbedtls_env(c_session,
1835 if (m_env) {
1846 mbedtls_ssl_set_cid(&m_env->ssl, MBEDTLS_SSL_CID_ENABLED, NULL, 0);
1850 m_env->last_timeout = now;
1851 ret = do_mbedtls_handshake(c_session, m_env);
1853 coap_dtls_free_mbedtls_env(m_env);
1857 return m_env;
1872 coap_mbedtls_env_t *m_env =
1874 if (m_env) {
1877 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu);
1881 return m_env;
1899 coap_mbedtls_env_t *m_env =
1901 if (m_env) {
1903 mbedtls_ssl_set_mtu(&m_env->ssl, (uint16_t)c_session->mtu);
1915 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
1917 assert(m_env != NULL);
1919 if (!m_env) {
1923 if (m_env->established) {
1924 ret = mbedtls_ssl_write(&m_env->ssl, (const unsigned char *) data, data_len);
1947 ret = do_mbedtls_handshake(c_session, m_env);
1988 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
1989 int ret = mbedtls_timing_get_delay(&m_env->timer);
1990 unsigned int scalar = 1 << m_env->retry_scalar;
1996 if (m_env->last_timeout + COAP_DTLS_RETRANSMIT_COAP_TICKS * scalar > now) {
1998 return m_env->last_timeout + COAP_DTLS_RETRANSMIT_COAP_TICKS * scalar;
2000 m_env->last_timeout = now;
2008 if (m_env->last_timeout + COAP_DTLS_RETRANSMIT_COAP_TICKS * scalar > now) {
2009 return m_env->last_timeout + COAP_DTLS_RETRANSMIT_COAP_TICKS * scalar;
2013 m_env->last_timeout = now;
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);
2034 m_env->retry_scalar++;
2036 (do_mbedtls_handshake(c_session, m_env) < 0)) {
2056 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
2059 assert(m_env != NULL);
2061 ssl_data = &m_env->coap_ssl_data;
2069 if (m_env->established) {
2087 ret = mbedtls_ssl_read(&m_env->ssl, pdu, sizeof(pdu));
2114 ret = do_mbedtls_handshake(c_session, m_env);
2121 ret = do_mbedtls_handshake(c_session, m_env);
2176 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
2180 if (!m_env) {
2181 m_env = coap_dtls_new_mbedtls_env(c_session, COAP_DTLS_ROLE_SERVER,
2183 if (m_env) {
2184 c_session->tls = m_env;
2191 if ((ret = mbedtls_ssl_set_client_transport_id(&m_env->ssl,
2199 ssl_data = &m_env->coap_ssl_data;
2207 ret = do_mbedtls_handshake(c_session, m_env);
2208 if (ret == 0 || m_env->seen_client_hello) {
2211 and safely allow updating of the m_env and separately
2214 m_env->seen_client_hello = 0;
2233 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
2234 int expansion = mbedtls_ssl_get_record_expansion(&m_env->ssl);
2254 coap_mbedtls_env_t *m_env = coap_dtls_new_mbedtls_env(c_session,
2261 if (!m_env)
2264 m_env->last_timeout = now;
2265 c_session->tls = m_env;
2266 ret = do_mbedtls_handshake(c_session, m_env);
2271 return m_env;
2288 coap_mbedtls_env_t *m_env = coap_dtls_new_mbedtls_env(c_session,
2293 if (!m_env)
2296 c_session->tls = m_env;
2297 ret = do_mbedtls_handshake(c_session, m_env);
2302 return m_env;
2322 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
2325 assert(m_env != NULL);
2327 if (!m_env) {
2332 if (m_env->established) {
2334 ret = mbedtls_ssl_write(&m_env->ssl, &data[amount_sent],
2365 ret = do_mbedtls_handshake(c_session, m_env);
2405 coap_mbedtls_env_t *m_env = (coap_mbedtls_env_t *)c_session->tls;
2407 if (!m_env) {
2414 if (!m_env->established && !m_env->sent_alert) {
2415 ret = do_mbedtls_handshake(c_session, m_env);
2423 if (c_session->state != COAP_SESSION_STATE_NONE && m_env->established) {
2424 ret = mbedtls_ssl_read(&m_env->ssl, data, data_len);
2434 m_env->sent_alert = 1;
2493 coap_mbedtls_env_t *m_env;
2496 memcpy(&m_env, &c_session->tls, sizeof(m_env));
2498 return (void *)&m_env->ssl;