summaryrefslogtreecommitdiffstats
path: root/apps/s_cb.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2012-12-29 23:58:44 +0000
committerDr. Stephen Henson <steve@openssl.org>2012-12-29 23:58:44 +0000
commit5477ff9ba2422a74226c4bd8bad122f9820d54f6 (patch)
treed622db8715299ffc32ee97697165de4a390fc367 /apps/s_cb.c
parent46b11600b0b0858056f46c771b6122cef890d4ea (diff)
make JPAKE work again, fix memory leaks
Diffstat (limited to 'apps/s_cb.c')
-rw-r--r--apps/s_cb.c20
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;
}