diff options
author | Riccardo Spagni <ric@spagni.net> | 2015-08-14 19:12:19 +0200 |
---|---|---|
committer | Riccardo Spagni <ric@spagni.net> | 2015-08-14 19:12:19 +0200 |
commit | 93944333c52050ab31d509fcee2333f2e166d945 (patch) | |
tree | 77e223a83bd35329987358ae6448a0ca661e731c /external/unbound/util/net_help.c | |
parent | Merge pull request #369 (diff) | |
download | monero-93944333c52050ab31d509fcee2333f2e166d945.tar.xz |
update unbound
Diffstat (limited to 'external/unbound/util/net_help.c')
-rw-r--r-- | external/unbound/util/net_help.c | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/external/unbound/util/net_help.c b/external/unbound/util/net_help.c index 8b39af6b3..07605b19f 100644 --- a/external/unbound/util/net_help.c +++ b/external/unbound/util/net_help.c @@ -629,9 +629,9 @@ void* listen_sslctx_create(char* key, char* pem, char* verifypem) SSL_CTX_free(ctx); return NULL; } - if(!SSL_CTX_use_certificate_file(ctx, pem, SSL_FILETYPE_PEM)) { + if(!SSL_CTX_use_certificate_chain_file(ctx, pem)) { log_err("error for cert file: %s", pem); - log_crypto_err("error in SSL_CTX use_certificate_file"); + log_crypto_err("error in SSL_CTX use_certificate_chain_file"); SSL_CTX_free(ctx); return NULL; } @@ -647,6 +647,23 @@ void* listen_sslctx_create(char* key, char* pem, char* verifypem) SSL_CTX_free(ctx); return NULL; } +#if HAVE_DECL_SSL_CTX_SET_ECDH_AUTO + if(!SSL_CTX_set_ecdh_auto(ctx,1)) { + log_crypto_err("Error in SSL_CTX_ecdh_auto, not enabling ECDHE"); + } +#elif defined(USE_ECDSA) + if(1) { + EC_KEY *ecdh = EC_KEY_new_by_curve_name (NID_X9_62_prime256v1); + if (!ecdh) { + log_crypto_err("could not find p256, not enabling ECDHE"); + } else { + if (1 != SSL_CTX_set_tmp_ecdh (ctx, ecdh)) { + log_crypto_err("Error in SSL_CTX_set_tmp_ecdh, not enabling ECDHE"); + } + EC_KEY_free (ecdh); + } + } +#endif if(verifypem && verifypem[0]) { if(!SSL_CTX_load_verify_locations(ctx, verifypem, NULL)) { @@ -684,7 +701,7 @@ void* connect_sslctx_create(char* key, char* pem, char* verifypem) return NULL; } if(key && key[0]) { - if(!SSL_CTX_use_certificate_file(ctx, pem, SSL_FILETYPE_PEM)) { + if(!SSL_CTX_use_certificate_chain_file(ctx, pem)) { log_err("error in client certificate %s", pem); log_crypto_err("error in certificate file"); SSL_CTX_free(ctx); |