[1.0.0] Server filter handling RFC conformance. - #265
Merged
Conversation
* Decode extensibleMatch from BER (this was missed in the original decoding). * Evaluate an unrecognized matching rule as Undefined (4.5.1.7). * Use the attribute type's EQUALITY rule when an extensibleMatch omits one. * Treat a defined attribute the entry lacks as false. * Cover tagged variants and SUP subtypes when asserting on an attribute type. * Add filter RFC cases to the storage integration tests that run on ever backend. * Compare integers as integers in the backend. * Match approximately using the type's EQUALITY rule. * Compare DN assertion values unescaped. * Treat attribute options as an unordered, case-insensitive set (RFC 4512 2.5). * Sort by the ordering rule the key asks for, else the one the attribute declares, else its syntax.
… to think through how to make these sorts of attributes filterable.
…from when the schema wasn't required.
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.
This reorganizes the integration tests and adds a ton for various behavior described in the RFCs. The integration tests run across all backend types, so it's pretty comprehensive and can catch a lot. This is all focused on conformance to the RFCs but focused only on server side filter handling right now. This also contains other refactoring, as things have shifted a lot as the backend has evolved. I'll have another follow up for filtering then move on to other areas.