]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
x509_vfy.c: Revert the core of #14094 regarding chain_build() error reporting
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>
Sat, 9 Jul 2022 09:09:08 +0000 (11:09 +0200)
committerDr. David von Oheimb <dev@ddvo.net>
Tue, 12 Jul 2022 11:58:25 +0000 (13:58 +0200)
The problem of producing to-the-point diagnostics will be fixed in a follow-up PR.
Fixes #18691

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/18758)

crypto/x509/x509_vfy.c

index df7cb7d5ea80df46e004b9c0570064738a2831f6..6a8a834b7d526ade3d61754c0d3d87720fbb202a 100644 (file)
@@ -359,8 +359,6 @@ static int check_issued(ossl_unused X509_STORE_CTX *ctx, X509 *x, X509 *issuer)
      * SUBJECT_ISSUER_MISMATCH just means 'x' is clearly not issued by 'issuer'.
      * Every other error code likely indicates a real error.
      */
-    if (err != X509_V_ERR_SUBJECT_ISSUER_MISMATCH)
-        ctx->error = err;
     return 0;
 }
 
@@ -3014,7 +3012,6 @@ static int build_chain(X509_STORE_CTX *ctx)
     int alt_untrusted = 0;
     int max_depth;
     int ok = 0;
-    int prev_error = ctx->error;
     int i;
 
     /* Our chain starts with a single untrusted element. */
@@ -3296,8 +3293,6 @@ static int build_chain(X509_STORE_CTX *ctx)
 
     switch (trust) {
     case X509_TRUST_TRUSTED:
-        /* Must restore any previous error value for backward compatibility */
-        ctx->error = prev_error;
         return 1;
     case X509_TRUST_REJECTED:
         /* Callback already issued */