Closed
Conversation
We switched to using `doc_auto_cfg` to automatically indicate in Rustdocs when an item requires a particular feature. This comment about the `dns_name::DnsName` re-export requiring alloc isn't necessary anymore.
We switched to `doc_auto_cfg` and don't need to manually annotate `cfg(feature ...)` annotations for docsrs purposes anymore.
This is what most consumers of the API are interested in, and avoids needing to export the `GeneralDnsNameRef` and `WildcardDnsNameRef` types.
We can express this test with the `expect_cert_dns_names` helper.
Prior to this commit the rustdoc comment on `EndEntityCert.dns_names` mentioned using `verify_is_valid_for_dns_name` and `verify_is_valid_for_at_least_one_dns_name`, but these functions don't exist anymore. This commit updates the comment to point to `EndEntityCert::verify_is_valid_for_subject_name`, and does so with a proper Rustdoc link so that future updates will be caught by `cargo doc` if we forget to fix this reference to match.
The purpose of the `dns_names` helper on an `EndEntityCert` is to provide users the opportunity to get information on the dNSName SAN values in a certificate for **non-validation** purposes. Checking that a certificate is valid for a particular name should always be done with `verify_is_valid_for_at_least_one_dns_name`. With that use-case in mind, we can make the `dns_names` helper easier for consumers to use by filtering out invalid general names, returning an `Iterator<Item = &'a str>` unconditionally, instead of a `Result`. This better matches the updated name validation semantics where we ignore `MalformedDnsIdentifier` errors to continue to try to find a valid name to validate against.
With the update to the `dns_names` function in the previous commit we can now make `EndEntity.dns_names` work without requiring `alloc`.
Avoid combinator chaining, use explicit `match`.
Codecov Report
@@ Coverage Diff @@
## main #182 +/- ##
==========================================
+ Coverage 96.31% 96.43% +0.11%
==========================================
Files 17 17
Lines 4510 4512 +2
==========================================
+ Hits 4344 4351 +7
+ Misses 166 161 -5
... and 6 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
The From impl feels a little unidiomatic because the DnsNameRef is not consumed. An AsRef impl would unnecessarily constrain the lifetime of the output value to `&self`, whereas it can live as long as `'a`.
The From impl feels a little unidiomatic because the WildcardDnsNameRef is not consumed. An AsRef impl would unnecessarily constrain the lifetime of the output value to `&self`, whereas it can live as long as `'a`.
The From impl feels a little unidiomatic because the GeneralDnsNameRef is not consumed. An AsRef impl would unnecessarily constrain the lifetime of the output value to `&self`, whereas it can live as long as `'a`.
219a115 to
27a1234
Compare
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.
Small refactoring for the name API from reviewing #178. Hope this doesn't make a rebase too painful.