Fix automatically denied events with small deadlines #1284
Merged
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.
macOS 14.4 betas introduce much smaller ES deadline values for AUTH messages. Additionally, it adds several "critical" binaries with extremely small deadline values which also perform operations Santa attempts to authorize that weren't previously typical before macOS 14.4.
Santa attempts to respond to AUTH events before deadlines even if a result wasn't complete to prevent being killed by the system. However the basic mechanism Santa used had its assumptions broken in the latest betas. This results in events from binaries treated as "critical" by ES being immediately denied by Santa.
This patch changes how event processing budgets are computed to be more flexible with events with extremely low timeouts. This should unblock Santa deployment on macOS 14.4.