diff options
| author | tb <> | 2026-06-23 08:28:06 +0000 |
|---|---|---|
| committer | tb <> | 2026-06-23 08:28:06 +0000 |
| commit | bf24a103424334af46d2cf695b6e60f39ce9e3a8 (patch) | |
| tree | 8e7095528f568f1d9125bb449da4f0f108e57bac /src | |
| parent | 9651bfd8dce17526bd1584b10704a2477ca54c44 (diff) | |
| download | openbsd-bf24a103424334af46d2cf695b6e60f39ce9e3a8.tar.gz openbsd-bf24a103424334af46d2cf695b6e60f39ce9e3a8.tar.bz2 openbsd-bf24a103424334af46d2cf695b6e60f39ce9e3a8.zip | |
crl_cb(): fix EXFLAG_CRITICAL mishandling
The EXFLAG_CRITICAL should be set on encountering a critical CRL
extension unsupported by the library. The current loop does the
opposite: it stops looking as soon as it finds the first critical
extension the library supports...
ok kenjiro
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/asn1/x_crl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/libcrypto/asn1/x_crl.c b/src/lib/libcrypto/asn1/x_crl.c index d95b044a89..0b8631e65d 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.52 2026/04/07 12:52:19 tb Exp $ */ | 1 | /* $OpenBSD: x_crl.c,v 1.53 2026/06/23 08:28:06 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 | * |
| @@ -326,7 +326,7 @@ crl_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg) | |||
| 326 | if (nid == NID_issuing_distribution_point || | 326 | if (nid == NID_issuing_distribution_point || |
| 327 | nid == NID_authority_key_identifier || | 327 | nid == NID_authority_key_identifier || |
| 328 | nid == NID_delta_crl) | 328 | nid == NID_delta_crl) |
| 329 | break; | 329 | continue; |
| 330 | crl->flags |= EXFLAG_CRITICAL; | 330 | crl->flags |= EXFLAG_CRITICAL; |
| 331 | break; | 331 | break; |
| 332 | } | 332 | } |
