Skip to content

Enable Kirshara queue protections on macOS - #339

Merged
netniV merged 4 commits into
STFC-Mod:devfrom
Guffawaffle:fix/macos-kirshara-parity
Nov 1, 2026
Merged

netniV merged 4 commits into
STFC-Mod:devfrom
Guffawaffle:fix/macos-kirshara-parity

Conversation

@Guffawaffle

@Guffawaffle Guffawaffle commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Faster Queue Recovery and Thin Queue Protection currently compile to no-ops on macOS. Enable their existing implementations on Apple Silicon and Intel, using the host ABI for the validated course-response aggregate. Queue Address Guard already supports macOS. Queue policy, settings, defaults and hook ownership are unchanged.

This is a standalone change from dev; it does not depend on settings PR #333. Includes focused startup, cross-fleet queue, recall, destroyed-head and off/on tester instructions.

Validation: three independent semantic reviews, Windows release build, all three queue-policy suites, diff and upstream scope guards pass. Historical Mac client 199 inspection supports the aggregate ABI and all seven detour extents on both architectures. Current Mac architecture builds, current-client native fit and exact-artifact gameplay remain pending; historical evidence does not qualify a newer client.

Includes the portable fleet-sync number conversion from #354 as a build dependency, avoiding a macOS 26 requirement in the shared sync source.

Comment thread mods/src/patches/parts/action_queue.cc Outdated
#include <Windows.h>
// Use the host ABI for the 24-byte value-type callback on Windows and both Mac architectures.
// Validate the managed layout before installing.
#if (defined(_WIN32) && defined(_M_X64)) || (defined(__APPLE__) && (defined(__arm64__) || defined(__x86_64__)))

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems redundant considering this is the platforms we cover?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed this guard and the empty fallback in 9228894. The implementation now builds directly on our supported platforms; runtime layout and method checks are unchanged.

// Windows x64 callback ABI is validated against running metadata; current native fit is recorded separately.
#if defined(_WIN32) && defined(_M_X64)
// Shared 64-bit managed layout; incompatible runtime contracts leave the feature unavailable.
#if (defined(_WIN32) && defined(_M_X64)) || (defined(__APPLE__) && (defined(__arm64__) || defined(__x86_64__)))

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same for this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed this guard and its no-op fallback in 9228894 as well, retaining the existing runtime validation.

@netniV netniV added invalid This doesn't seem right and removed needs testing labels Oct 24, 2026
@Guffawaffle
Guffawaffle requested a review from netniV October 29, 2026 03:57
@netniV
netniV added this pull request to the merge queue Nov 1, 2026
Merged via the queue into STFC-Mod:dev with commit 64577eb Nov 1, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

invalid This doesn't seem right

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants