Fix: Satisfy all with multiple Require directives (Issue #1304)#1576
Closed
abubakarsabir924-cell wants to merge 2 commits into
Closed
Fix: Satisfy all with multiple Require directives (Issue #1304)#1576abubakarsabir924-cell wants to merge 2 commits into
abubakarsabir924-cell wants to merge 2 commits into
Conversation
- conf.c: Prevent level overwrite when multiple Require directives are used in same Location block - auth.c: Implement AND logic for Satisfy all with multiple Require conditions instead of OR logic Fixes OpenPrinting#1304
Contributor
Author
|
Hi @michaelrsweet Sir! This PR addresses #1304 by fixing the Satisfy all logic. I’ve corrected the level overwrite in conf.c and ensured that auth.c now uses AND logic for multiple Require directives. Tested locally and it now correctly restricts access unless all requirements are satisfied. |
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.
Problem
When using Satisfy all with multiple Require directives,
CUPS was granting access if ANY one condition passed instead
of requiring ALL conditions to pass.
Two bugs were found:
level set by first Require
Satisfy all was set
Fix
Testing
Tested with user joe in @System group:
Fixes #1304