use correct return values when callin cmd
diff --git a/ssl/ssl_conf.c b/ssl/ssl_conf.c
index 5948756..dc0a3f0 100644
--- a/ssl/ssl_conf.c
+++ b/ssl/ssl_conf.c
@@ -319,7 +319,7 @@
rv = SSL_CTX_set_cipher_list(cctx->ctx, value);
if (cctx->ssl)
rv = SSL_set_cipher_list(cctx->ssl, value);
- return rv;
+ return rv > 0;
}
static int cmd_protocol(SSL_CONF_CTX *cctx, const char *value)
@@ -434,16 +434,20 @@
if (runcmd)
{
+ int rv;
if (value == NULL)
return -3;
- if (t->cmd(cctx, value))
+ rv = t->cmd(cctx, value);
+ if (rv > 0)
return 2;
+ if (rv == -2)
+ return -2;
if (cctx->flags & SSL_CONF_FLAG_SHOW_ERRORS)
{
SSLerr(SSL_F_SSL_CONF_CTX_CMD, SSL_R_BAD_VALUE);
ERR_add_error_data(4, "cmd=", cmd, ", value=", value);
}
- return -1;
+ return 0;
}
if (cctx->flags & SSL_CONF_FLAG_CMDLINE)