Skip to content

Fix internal authority in HTTP handler transactions - #5978

Draft
cloutiertyler wants to merge 2 commits into
masterfrom
tyler/http-handler-auth
Draft

cloutiertyler wants to merge 2 commits into
masterfrom
tyler/http-handler-auth

Conversation

@cloutiertyler

@cloutiertyler cloutiertyler commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Description of Changes

HTTP handler transaction contexts in Rust, C#, and C++ no longer report internal authority. Reusing an is_internal()-gated authorization helper inside a handler could previously grant that branch to anonymous HTTP requests. TypeScript already reports external authority.

The Rust behavior originated in #4636 and persisted through #5323. Existing modules must be rebuilt and republished to receive the fix; upgrading the host alone is insufficient. Split from #5892.

API and ABI breaking changes

This changes the behavior of is_internal() for Rust, C#, and C++ in HTTP handlers. HTTP handlers are unstable in those languages, but nevertheless this is a potentially codebreaking change.

Rollback safety impact

n/a

Expected complexity level and risk

1/5. Changes only handler authentication construction in the module libraries.

Testing

All three handler regressions fail against the original implementations and pass with the fix. Rust (4 tests) and native C++ (5 tests) cover both transaction APIs and commit retries; C# (9 tests, .NET 8 target) covers the shared handler factory and refresh path. Enables the existing C# test assembly to access runtime internals. No workflow changes.

@JasonAtClockwork JasonAtClockwork left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM for the C++ side

This branch has not been deployed

No deployments
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.

2 participants