Skip to content

Refuse malformed admission policy JSON before bootstrap - #705

Merged
rmcdaniel merged 4 commits into
mainfrom
fix/704-reject-malformed-policy-json
Oct 23, 2026
Merged

rmcdaniel merged 4 commits into
mainfrom
fix/704-reject-malformed-policy-json

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Malformed admission-policy JSON was silently treated as an empty policy, so a configured dispatch/durable cap could disappear. The six existing PHP policy maps now accept an omitted value or an explicit JSON object and reject malformed JSON, null, booleans, lists and other non-object values before runtime admission. Raw selected environment values preserve DW-over-legacy precedence even when the selected DW value is invalid. Diagnostics name the variable without exposing its value or chaining the decoder exception.

Final exact source 6b992071555d78d0f3e862ab88ae4ed1ca6de220, whole tree 42b48df95f0bf8e4ea2c2bafeea3c55eb3cb3de6, integrates current main 663e4d5d. All applicable exact-head normal checks pass, including PHP feature/performance qualification, CodeQL, boundary and Sonar. Direct final analysis has zero open/confirmed findings. Installed-framework configuration controls preserve 24 valid cases and change the original 54 invalid acceptances into explicit refusals (78/78 pass after correction). The initial missing-application harness setup failure remains retained separately.

The final diff against current main is exactly four intended files: EnvAuditor, config/server.php, the focused environment controls and the Server reference. Native/shared/parity/OpenAPI/frozen paths match that main exactly; no schema, dependency, Composer, version or admission-authority change is included. Earlier-head passes were not carried across integration.

Source merge is followed by independent main checks. #704 remains open until the next safely published immutable Server image and actual bootstrap/HTTP controls prove the user-visible fix. Server2.11.2 remains permanently source-only and is not reused or published by this PR. The separate existing security publisher/cutover gates and Core2.12 image adoption remain explicit.

@rmcdaniel

Copy link
Copy Markdown
Member Author

General: the earlier exact 7ab7eccc passed every applicable source check, with zero open/confirmed Sonar findings. Current main then advanced independently to 663e4d5d.

Integrated that main normally as 6b992071555d78d0f3e862ab88ae4ed1ca6de220, whole tree 42b48df95f0bf8e4ea2c2bafeea3c55eb3cb3de6. The complete native, shared parity and OpenAPI paths match current main exactly; the PHP policy implementation and focused controls are unchanged. The diff against main remains only the four intended PHP configuration, test and reference files.

Fresh exact-tree checks are required and no earlier result is carried across the integration. This remains source qualification; #704 stays open through the next safely published immutable image and actual bootstrap/HTTP acceptance.

@sonarqubecloud

Copy link
Copy Markdown

@rmcdaniel
rmcdaniel marked this pull request as ready for review October 23, 2026 19:09
@rmcdaniel
rmcdaniel merged commit f67f281 into main Oct 23, 2026
17 checks passed
@rmcdaniel
rmcdaniel deleted the fix/704-reject-malformed-policy-json branch October 23, 2026 19:09
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