diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2012-12-29 23:58:44 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2012-12-29 23:58:44 +0000 |
commit | 5477ff9ba2422a74226c4bd8bad122f9820d54f6 (patch) | |
tree | d622db8715299ffc32ee97697165de4a390fc367 /apps/s_cb.c | |
parent | 46b11600b0b0858056f46c771b6122cef890d4ea (diff) |
make JPAKE work again, fix memory leaks
Diffstat (limited to 'apps/s_cb.c')
-rw-r--r-- | apps/s_cb.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/apps/s_cb.c b/apps/s_cb.c index 45d4aab333..e760289f9d 100644 --- a/apps/s_cb.c +++ b/apps/s_cb.c @@ -1545,7 +1545,7 @@ int args_ssl(char ***pargs, int *pargc, SSL_CONF_CTX *cctx, } int args_ssl_call(SSL_CTX *ctx, BIO *err, SSL_CONF_CTX *cctx, - STACK_OF(OPENSSL_STRING) *str, int no_ecdhe) + STACK_OF(OPENSSL_STRING) *str, int no_ecdhe, int no_jpake) { int i; SSL_CONF_CTX_set_ssl_ctx(cctx, ctx); @@ -1558,6 +1558,13 @@ int args_ssl_call(SSL_CTX *ctx, BIO *err, SSL_CONF_CTX *cctx, */ if (!no_ecdhe && !strcmp(param, "-named_curve")) no_ecdhe = 1; +#ifndef OPENSSL_NO_JPAKE + if (!no_jpake && !strcmp(param, "-cipher")) + { + BIO_puts(err, "JPAKE sets cipher to PSK\n"); + return 0; + } +#endif if (SSL_CONF_cmd(cctx, param, value) <= 0) { BIO_printf(err, "Error with command: \"%s %s\"\n", @@ -1579,5 +1586,16 @@ int args_ssl_call(SSL_CTX *ctx, BIO *err, SSL_CONF_CTX *cctx, return 0; } } +#ifndef OPENSSL_NO_JPAKE + if (!no_jpake) + { + if (SSL_CONF_cmd(cctx, "-cipher", "PSK") <= 0) + { + BIO_puts(err, "Error setting cipher to PSK\n"); + ERR_print_errors(err); + return 0; + } + } +#endif return 1; } |