aboutsummaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2006-09-17 17:16:28 +0000
committerDr. Stephen Henson <steve@openssl.org>2006-09-17 17:16:28 +0000
commit5d20c4fb3582a0e6cbf8513c94c60e4cd326716d (patch)
treef2d8a974055968c0315588ea30d369ace38fe1d5 /apps
parenta04549cc755408ff2dcab209fd87d3e46f7d662a (diff)
downloadopenssl-5d20c4fb3582a0e6cbf8513c94c60e4cd326716d.zip
openssl-5d20c4fb3582a0e6cbf8513c94c60e4cd326716d.tar.gz
openssl-5d20c4fb3582a0e6cbf8513c94c60e4cd326716d.tar.bz2
Overhaul of by_dir code to handle dynamic loading of CRLs.
Diffstat (limited to 'apps')
-rw-r--r--apps/s_cb.c4
-rw-r--r--apps/s_client.c3
-rw-r--r--apps/s_server.c4
3 files changed, 9 insertions, 2 deletions
diff --git a/apps/s_cb.c b/apps/s_cb.c
index 573f98c..6d322d4 100644
--- a/apps/s_cb.c
+++ b/apps/s_cb.c
@@ -123,6 +123,7 @@
int verify_depth=0;
int verify_error=X509_V_OK;
+int verify_return_error=0;
int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx)
{
@@ -142,7 +143,8 @@ int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx)
X509_verify_cert_error_string(err));
if (verify_depth >= depth)
{
- ok=1;
+ if (!verify_return_error)
+ ok=1;
verify_error=X509_V_OK;
}
else
diff --git a/apps/s_client.c b/apps/s_client.c
index d105a74..3515070 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -187,6 +187,7 @@ typedef unsigned int u_int;
extern int verify_depth;
extern int verify_error;
+extern int verify_return_error;
#ifdef FIONBIO
static int c_nbio=0;
@@ -478,6 +479,8 @@ int MAIN(int argc, char **argv)
vflags |= X509_V_FLAG_CRL_CHECK;
else if (strcmp(*argv,"-crl_check_all") == 0)
vflags |= X509_V_FLAG_CRL_CHECK|X509_V_FLAG_CRL_CHECK_ALL;
+ else if (strcmp(*argv,"-verify_return_error") == 0)
+ verify_return_error = 1;
else if (strcmp(*argv,"-prexit") == 0)
prexit=1;
else if (strcmp(*argv,"-crlf") == 0)
diff --git a/apps/s_server.c b/apps/s_server.c
index a294ed3..ac43e5a 100644
--- a/apps/s_server.c
+++ b/apps/s_server.c
@@ -258,7 +258,7 @@ static int accept_socket= -1;
#undef PROG
#define PROG s_server_main
-extern int verify_depth;
+extern int verify_depth, verify_return_error;
static char *cipher=NULL;
static int s_server_verify=SSL_VERIFY_NONE;
@@ -842,6 +842,8 @@ int MAIN(int argc, char *argv[])
{
vflags |= X509_V_FLAG_CRL_CHECK|X509_V_FLAG_CRL_CHECK_ALL;
}
+ else if (strcmp(*argv,"-verify_return_error") == 0)
+ verify_return_error = 1;
else if (strcmp(*argv,"-serverpref") == 0)
{ off|=SSL_OP_CIPHER_SERVER_PREFERENCE; }
else if (strcmp(*argv,"-cipher") == 0)