summaryrefslogtreecommitdiff
path: root/src/lib/libtls/tls_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libtls/tls_server.c')
-rw-r--r--src/lib/libtls/tls_server.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/lib/libtls/tls_server.c b/src/lib/libtls/tls_server.c
index ac44f260ac..8d71d2790f 100644
--- a/src/lib/libtls/tls_server.c
+++ b/src/lib/libtls/tls_server.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls_server.c,v 1.3 2015/01/30 14:25:37 bluhm Exp $ */ 1/* $OpenBSD: tls_server.c,v 1.4 2015/02/07 06:19:26 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -63,12 +63,17 @@ tls_configure_server(struct tls *ctx)
63 if (tls_configure_keypair(ctx) != 0) 63 if (tls_configure_keypair(ctx) != 0)
64 goto err; 64 goto err;
65 65
66 if (ctx->config->ecdhcurve == -1) { 66 if (ctx->config->dheparams == -1)
67 SSL_CTX_set_dh_auto(ctx->ssl_ctx, 1);
68 else if (ctx->config->dheparams == 1024)
69 SSL_CTX_set_dh_auto(ctx->ssl_ctx, 2);
70
71 if (ctx->config->ecdhecurve == -1) {
67 SSL_CTX_set_ecdh_auto(ctx->ssl_ctx, 1); 72 SSL_CTX_set_ecdh_auto(ctx->ssl_ctx, 1);
68 } else if (ctx->config->ecdhcurve != NID_undef) { 73 } else if (ctx->config->ecdhecurve != NID_undef) {
69 if ((ecdh_key = EC_KEY_new_by_curve_name( 74 if ((ecdh_key = EC_KEY_new_by_curve_name(
70 ctx->config->ecdhcurve)) == NULL) { 75 ctx->config->ecdhecurve)) == NULL) {
71 tls_set_error(ctx, "failed to set ECDH curve"); 76 tls_set_error(ctx, "failed to set ECDHE curve");
72 goto err; 77 goto err;
73 } 78 }
74 SSL_CTX_set_options(ctx->ssl_ctx, SSL_OP_SINGLE_ECDH_USE); 79 SSL_CTX_set_options(ctx->ssl_ctx, SSL_OP_SINGLE_ECDH_USE);