tls: load all CRLs from a PEM bundle - #65577
Open
lazerg wants to merge 2 commits into
Open
Conversation
Collaborator
|
Review requested:
|
lazerg
force-pushed
the
fix/issue-65576-crl-bundle
branch
from
August 27, 2026 08:31
06781d7 to
d20618d
Compare
AddCRL() read a single PEM block and returned, so a crl option holding several concatenated CRLs only ever got its first entry into the store. Any certificate whose issuer's CRL came later in the bundle then failed with UNABLE_TO_GET_CRL. Read in a loop until the BIO is exhausted, the way AddCACertificates() right above it already does for ca bundles. Signed-off-by: Lazizbek Ergashev <lazerg2@gmail.com>
lazerg
force-pushed
the
fix/issue-65576-crl-bundle
branch
from
August 27, 2026 09:36
d20618d to
9db73ed
Compare
pimterry
reviewed
Aug 27, 2026
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #65577 +/- ##
=======================================
Coverage 90.07% 90.08%
=======================================
Files 751 751
Lines 254875 254877 +2
Branches 48115 48116 +1
=======================================
+ Hits 229586 229596 +10
- Misses 16467 16476 +9
+ Partials 8822 8805 -17
🚀 New features to boost your workflow:
|
Return false unless the read loop ran to the end of the BIO, so a bundle holding an unparseable CRL throws instead of quietly applying only the entries that were read. Signed-off-by: Lazizbek Ergashev <lazerg2@gmail.com>
pimterry
approved these changes
Aug 27, 2026
pimterry
left a comment
Member
There was a problem hiding this comment.
LGTM.
There is a question on whether this should be semver major that others might want to chime in on: before, loading a CRL bundle where the first CRL was valid but others were broken was successful - now it fails if any CRLs in the bundle can't be loaded.
Personally I think it's reasonable as a bug fix - you clearly want to load the CRLs and not doing so was a silent error before - but I could be persuaded if anybody else feels strongly.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
AddCRL()read a single PEM block and returned, so acrloption holding several concatenated CRLs only ever got its first entry into the store. Any certificate whose issuer's CRL came later in the bundle then failed withUNABLE_TO_GET_CRL.Read in a loop until the BIO is exhausted, the way
AddCACertificates()right above it already does forcabundles.Fixes: #65576