@@ -295,14 +295,29 @@ nc_tls_session_destroy_wrap(void *tls_session)
295295}
296296
297297void *
298- nc_tls_config_new_wrap (int UNUSED ( side ) )
298+ nc_tls_config_new_wrap (int side )
299299{
300+ int r ;
300301 mbedtls_ssl_config * tls_cfg ;
301302
302303 tls_cfg = malloc (sizeof * tls_cfg );
303304 NC_CHECK_ERRMEM_RET (!tls_cfg , NULL );
304305
305306 mbedtls_ssl_config_init (tls_cfg );
307+
308+ /* set default config data */
309+ if (side == NC_SERVER ) {
310+ r = mbedtls_ssl_config_defaults (tls_cfg , MBEDTLS_SSL_IS_SERVER , MBEDTLS_SSL_TRANSPORT_STREAM , MBEDTLS_SSL_PRESET_DEFAULT );
311+ } else {
312+ r = mbedtls_ssl_config_defaults (tls_cfg , MBEDTLS_SSL_IS_CLIENT , MBEDTLS_SSL_TRANSPORT_STREAM , MBEDTLS_SSL_PRESET_DEFAULT );
313+ }
314+ if (r ) {
315+ nc_mbedtls_strerr (NULL , r , "Setting default TLS config failed" );
316+ mbedtls_ssl_config_free (tls_cfg );
317+ free (tls_cfg );
318+ return NULL ;
319+ }
320+
306321 return tls_cfg ;
307322}
308323
@@ -1143,27 +1158,15 @@ nc_tls_init_ctx_wrap(void *cert, void *pkey, void *cert_store, void *crl_store,
11431158}
11441159
11451160int
1146- nc_tls_setup_config_from_ctx_wrap (struct nc_tls_ctx * tls_ctx , int side , void * tls_cfg )
1161+ nc_tls_setup_config_from_ctx_wrap (struct nc_tls_ctx * tls_ctx , void * tls_cfg )
11471162{
1148- int rc ;
1149-
1150- /* set default config data */
1151- if (side == NC_SERVER ) {
1152- rc = mbedtls_ssl_config_defaults (tls_cfg , MBEDTLS_SSL_IS_SERVER , MBEDTLS_SSL_TRANSPORT_STREAM , MBEDTLS_SSL_PRESET_DEFAULT );
1153- } else {
1154- rc = mbedtls_ssl_config_defaults (tls_cfg , MBEDTLS_SSL_IS_CLIENT , MBEDTLS_SSL_TRANSPORT_STREAM , MBEDTLS_SSL_PRESET_DEFAULT );
1155- }
1156- if (rc ) {
1157- nc_mbedtls_strerr (NULL , rc , "Setting default TLS config failed" );
1158- return 1 ;
1159- }
1160-
11611163 /* set config's rng */
11621164 mbedtls_ssl_conf_rng (tls_cfg , mbedtls_ctr_drbg_random , tls_ctx -> ctr_drbg );
11631165 /* set config's cert and key */
11641166 mbedtls_ssl_conf_own_cert (tls_cfg , tls_ctx -> cert , tls_ctx -> pkey );
11651167 /* set config's CA and CRL cert store */
11661168 mbedtls_ssl_conf_ca_chain (tls_cfg , tls_ctx -> cert_store , tls_ctx -> crl_store );
1169+
11671170 return 0 ;
11681171}
11691172
0 commit comments