diff options
author | Ben Laurie <ben@openssl.org> | 2012-12-13 15:48:42 +0000 |
---|---|---|
committer | Ben Laurie <ben@openssl.org> | 2012-12-13 15:48:42 +0000 |
commit | 5bb6d96558ff6013826e3362f4c81513e3df23ff (patch) | |
tree | 126ce5914cbb99e0f60b559bdef5610c8a232883 | |
parent | 28e1bd35bd869acd8816a35a8c0d707ddb9d498e (diff) | |
download | openssl-5bb6d96558ff6013826e3362f4c81513e3df23ff.tar.gz |
Make verify return errors.
-rw-r--r-- | CHANGES | 3 | ||||
-rw-r--r-- | Makefile.org | 2 | ||||
-rw-r--r-- | apps/verify.c | 16 | ||||
-rw-r--r-- | test/Makefile | 2 |
4 files changed, 17 insertions, 6 deletions
@@ -4,6 +4,9 @@ Changes between 1.0.1c and 1.0.1d [xx XXX xxxx] + *) Make openssl verify return errors. + [Chris Palmer <palmer@google.com> and Ben Laurie] + *) Call OCSP Stapling callback after ciphersuite has been chosen, so the right response is stapled. Also change SSL_get_certificate() so it returns the certificate actually sent. diff --git a/Makefile.org b/Makefile.org index 55273ea364..43d16cbcb1 100644 --- a/Makefile.org +++ b/Makefile.org @@ -444,7 +444,7 @@ rehash.time: certs apps [ -x "apps/openssl.exe" ] && OPENSSL="apps/openssl.exe" || :; \ OPENSSL_DEBUG_MEMORY=on; \ export OPENSSL OPENSSL_DEBUG_MEMORY; \ - $(PERL) tools/c_rehash certs) && \ + $(PERL) tools/c_rehash certs/demo) && \ touch rehash.time; \ else :; fi diff --git a/apps/verify.c b/apps/verify.c index 0f34b865ad..893670ff41 100644 --- a/apps/verify.c +++ b/apps/verify.c @@ -222,11 +222,19 @@ int MAIN(int argc, char **argv) goto end; } - if (argc < 1) check(cert_ctx, NULL, untrusted, trusted, crls, e); + ret = 0; + if (argc < 1) + { + if (1 != check(cert_ctx, NULL, untrusted, trusted, crls, e)) + ret = -1; + } else + { for (i=0; i<argc; i++) - check(cert_ctx,argv[i], untrusted, trusted, crls, e); - ret=0; + if (1 != check(cert_ctx,argv[i], untrusted, trusted, crls, e)) + ret = -1; + } + end: if (ret == 1) { BIO_printf(bio_err,"usage: verify [-verbose] [-CApath path] [-CAfile file] [-purpose purpose] [-crl_check]"); @@ -252,7 +260,7 @@ end: sk_X509_pop_free(trusted, X509_free); sk_X509_CRL_pop_free(crls, X509_CRL_free); apps_shutdown(); - OPENSSL_EXIT(ret); + OPENSSL_EXIT(ret < 0 ? 2 : ret); } static int check(X509_STORE *ctx, char *file, diff --git a/test/Makefile b/test/Makefile index 09e6848764..4c9eabcc21 100644 --- a/test/Makefile +++ b/test/Makefile @@ -246,7 +246,7 @@ test_ecdh: test_verify: @echo "The following command should have some OK's and some failures" @echo "There are definitly a few expired certificates" - ../util/shlib_wrap.sh ../apps/openssl verify -CApath ../certs ../certs/*.pem + ../util/shlib_wrap.sh ../apps/openssl verify -CApath ../certs/demo ../certs/demo/*.pem test_dh: @echo "Generate a set of DH parameters" |