summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto
diff options
context:
space:
mode:
authortb <>2026-04-07 12:52:19 +0000
committertb <>2026-04-07 12:52:19 +0000
commitc8f25bd7366a35c48b23230ab0da4f3484424ba2 (patch)
treec5520ebd0938ea7b3e5d0b47c44c720cd4eccd1e /src/lib/libcrypto
parente0240e9ee3c8649869db81bfb1767d8a225d80f7 (diff)
downloadopenbsd-c8f25bd7366a35c48b23230ab0da4f3484424ba2.tar.gz
openbsd-c8f25bd7366a35c48b23230ab0da4f3484424ba2.tar.bz2
openbsd-c8f25bd7366a35c48b23230ab0da4f3484424ba2.zip
Add a few to-do items to the crl_cb()
Prompted by the "fix" fighting symptoms of misdesign in Delta CRL processing rather than addressing the root cause. Probably the best fix is to remove support for Indirect CRLs and Delta CRLs outright. ok jsing
Diffstat (limited to 'src/lib/libcrypto')
-rw-r--r--src/lib/libcrypto/asn1/x_crl.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/libcrypto/asn1/x_crl.c b/src/lib/libcrypto/asn1/x_crl.c
index 59f867bc12..d95b044a89 100644
--- a/src/lib/libcrypto/asn1/x_crl.c
+++ b/src/lib/libcrypto/asn1/x_crl.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x_crl.c,v 1.51 2025/08/19 21:54:11 tb Exp $ */ 1/* $OpenBSD: x_crl.c,v 1.52 2026/04/07 12:52:19 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -282,6 +282,11 @@ crl_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg)
282 break; 282 break;
283 283
284 case ASN1_OP_D2I_POST: 284 case ASN1_OP_D2I_POST:
285 /*
286 * XXX - This sets EXFLAG_INVALID but there's no code checking
287 * it. The verifier treats CRLs with EXFLAG_INVALID as valid.
288 * Also fix all the missing and incomplete error checks here.
289 */
285 X509_CRL_digest(crl, X509_CRL_HASH_EVP, crl->hash, NULL); 290 X509_CRL_digest(crl, X509_CRL_HASH_EVP, crl->hash, NULL);
286 crl->idp = X509_CRL_get_ext_d2i(crl, 291 crl->idp = X509_CRL_get_ext_d2i(crl,
287 NID_issuing_distribution_point, NULL, NULL); 292 NID_issuing_distribution_point, NULL, NULL);