Skip to content

LLP 0382 request: the control surface answers absolute-form exactly where LLP 0247 said it never would - #1374

Open
philcunliffe wants to merge 1 commit into
masterfrom
llp/control-absolute-form-request
Open

LLP 0382 request: the control surface answers absolute-form exactly where LLP 0247 said it never would#1374
philcunliffe wants to merge 1 commit into
masterfrom
llp/control-absolute-form-request

Conversation

@philcunliffe

Copy link
Copy Markdown
Contributor

Feature or issue

Issue #1274 (deferred from PR #1271 triage, review round 2 residual finding 3) is not fixable as a bug: LLP 0247 #the-control-surface-never-answers-absolute-form is categorical ("never"), while #only-forward-proxy-listeners-serve-it promises a pure reverse-proxy listener "behaves exactly as it always has", which path-routes the shape and therefore answers /_hypaware/ locally. Both cannot hold for POST http://attacker.example/_hypaware/ignore/session on a default listener: verified at proxy.js:373/:375 (absoluteFormShape true, absoluteForm false with no door), :411 (Host barrier shape-exempt) and :431 (control gate door-scoped), so the request reaches the unauthenticated control handler unjudged, and the gate even carries the categorical section's @ref while implementing the narrower rule. No capability changes today (a browser cannot send absolute-form, and a loopback process reaches the same route origin-form), but aligning the sections changes what a default listener answers: a design change needing a decision, exactly what the issue's acceptance condition asks for.

Solution

  • Mints request LLP 0382 (llp/0382-doorless-listener-answers-absolute-form-control.rfc.md, Draft RFC), which quotes both conflicting sections, shows the request that falls between them with file:line evidence, and lays out the candidate resolutions: 1, the categorical rule governs and absolute-form never reaches the control handler on any listener (variant 1a falls through to path routing, where a catch-all upstream would receive it; variant 1b refuses ahead of the handler; both change what a default listener answers); 2, the listener-scope rule governs, the exemption is recorded as intended and pinned with the missing control-path absolute-form test. It chooses none of them; choosing is a later design tick's job and ultimately a human's.
  • Appends the mechanical Extended-by: LLP 0382 forward-ref to LLP 0247's header; nothing 0247 decided is edited.
  • node scripts/llp-numbers.js check reports no cross-branch collision (the fetch saw LLP 0381 on its unmerged branch); npm test (6070 pass) and npm run typecheck are green.

Code: +0 / -0 lines

…here LLP 0247 said it never would

Issue #1274 (deferred from PR #1271 triage) is not fixable as a bug: LLP 0247
#the-control-surface-never-answers-absolute-form and
#only-forward-proxy-listeners-serve-it prescribe opposite answers for an
absolute-form control-path request on a doorless listener, and its acceptance
condition asks for a new LLP to decide which rule governs. This mints the
request document stating the contradiction, the code evidence, and the
candidate resolutions, choosing none, plus the mechanical Extended-by
forward-ref on LLP 0247.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

1 participant