summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libtls/tls.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/libtls/tls.c b/src/lib/libtls/tls.c
index 6937afe3b8..53a8506622 100644
--- a/src/lib/libtls/tls.c
+++ b/src/lib/libtls/tls.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls.c,v 1.53 2016/12/26 16:20:58 jsing Exp $ */ 1/* $OpenBSD: tls.c,v 1.54 2017/01/02 22:03:56 tedu Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -369,19 +369,19 @@ static int
369tls_ssl_cert_verify_cb(X509_STORE_CTX *x509_ctx, void *arg) 369tls_ssl_cert_verify_cb(X509_STORE_CTX *x509_ctx, void *arg)
370{ 370{
371 struct tls *ctx = arg; 371 struct tls *ctx = arg;
372 int x509_err; 372 int x509_err, rv;
373 373
374 if (ctx->config->verify_cert == 0) 374 if (ctx->config->verify_cert == 0)
375 return (1); 375 return (1);
376 376
377 if ((X509_verify_cert(x509_ctx)) < 0) { 377 if ((rv = X509_verify_cert(x509_ctx)) < 0) {
378 tls_set_errorx(ctx, "X509 verify cert failed"); 378 tls_set_errorx(ctx, "X509 verify cert failed");
379 return (0); 379 return (0);
380 } 380 }
381 if (rv == 1)
382 return 1;
381 383
382 x509_err = X509_STORE_CTX_get_error(x509_ctx); 384 x509_err = X509_STORE_CTX_get_error(x509_ctx);
383 if (x509_err == X509_V_OK)
384 return (1);
385 385
386 tls_set_errorx(ctx, "certificate verification failed: %s", 386 tls_set_errorx(ctx, "certificate verification failed: %s",
387 X509_verify_cert_error_string(x509_err)); 387 X509_verify_cert_error_string(x509_err));