Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support new operators in eACL rules #286

Merged
merged 2 commits into from
Feb 5, 2024

Conversation

cthulhu-rider
Copy link
Contributor

No description provided.

roman-khimov
roman-khimov previously approved these changes Feb 2, 2024
Previously, protocol did not clearly support access rules based on
attribute absence. Using `STRING_EQUAL` op with empty value was an
insufficiently clear notation of a missing attribute since it could
cause a collision with attributes with an empty value (there are no such
things now, but they may be possible in the future).

`MatchType` enumeration is extended with `NOT_PRESENT` value. Being set
in the `EACLRecord.Filter`, this operator will limit access rule to the
objects without. The op is prohibited for system attributes so as not to
create deliberately false (for known attributes) or undefined behavior
(for unsupported ones).

Closes #256.

Signed-off-by: Leonard Lyubich <[email protected]>
Previously, protocol did not support numeric comparisons in access rules
except `==` and `!=`. This may be needed for system attributes such as
payload size or creation epoch, and for user ones if required by the
client application.

New values of `MatchType` enumeration are added: `>`, `>=`, `<`, `<=`.
Being set in the `EACLRecord.Filter`, these operators will allow user to
apply access rules with any decimal attributes. While only base-10
numbers are allowed, additional bases may be supported in the future
without new enumerations.

Closes #255.
Refs #265.

Signed-off-by: Leonard Lyubich <[email protected]>
@cthulhu-rider
Copy link
Contributor Author

fixed markdown a bit

@roman-khimov roman-khimov merged commit dcead71 into master Feb 5, 2024
3 checks passed
@roman-khimov roman-khimov deleted the feature/256-acl-missing-attr branch February 5, 2024 19:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants