aboutsummaryrefslogtreecommitdiff
path: root/src/proone.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/proone.c')
-rw-r--r--src/proone.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/proone.c b/src/proone.c
index 843d75a..6805e0b 100644
--- a/src/proone.c
+++ b/src/proone.c
@@ -876,17 +876,19 @@ static void load_ssl_conf (void) {
0);
BREAKIF_ERR("mbedtls_pk_parse_key");
data = prne_dvault_get_bin(PRNE_DATA_KEY_X509_DH, &dvlen);
- mret = mbedtls_dhm_parse_dhm(&prne_g.s_ssl.dhm, data, dvlen);
- BREAKIF_ERR("mbedtls_dhm_parse_dhm");
+ if (dvlen > 0) {
+ mret = mbedtls_dhm_parse_dhm(&prne_g.s_ssl.dhm, data, dvlen);
+ BREAKIF_ERR("mbedtls_dhm_parse_dhm");
+ mret = mbedtls_ssl_conf_dh_param_ctx(
+ &prne_g.s_ssl.conf,
+ &prne_g.s_ssl.dhm);
+ BREAKIF_ERR("mbedtls_ssl_conf_dh_param_ctx");
+ }
mret = mbedtls_ssl_conf_own_cert(
&prne_g.s_ssl.conf,
&prne_g.s_ssl.crt,
&prne_g.s_ssl.pk);
BREAKIF_ERR("mbedtls_ssl_conf_own_cert");
- mret = mbedtls_ssl_conf_dh_param_ctx(
- &prne_g.s_ssl.conf,
- &prne_g.s_ssl.dhm);
- BREAKIF_ERR("mbedtls_ssl_conf_dh_param_ctx");
mret = mbedtls_ssl_conf_alpn_protocols(
&prne_g.s_ssl.conf,
ALP_LIST);