Skip to content

WW-5846 docs: describe exemptedPaths matching and cross-site form posts - #371

Merged
lukaszlenart merged 1 commit into
mainfrom
WW-5846-fetch-metadata-coop-coep-docs
Nov 7, 2026
Merged

lukaszlenart merged 1 commit into
mainfrom
WW-5846-fetch-metadata-coop-coep-docs

Conversation

@lukaszlenart

Copy link
Copy Markdown
Member

Documents WW-5846 (apache/struts#2124, #2125) and WW-5754 / WW-5753 on the Fetch Metadata, COOP and COEP interceptor pages.

Merge together with the 7.5.0 / 6.13.0 release — the pages describe behaviour of those versions.

Changes

  • All three pages: exemptedPaths entries are compared exactly with the request path inside the application (servlet path plus path info, extension included); an entry equal to the context path no longer disables the interceptor app-wide, use disabled instead. Examples move exemptedPaths to a stack-level configuration. COOP page gains the disabled parameter.
  • Fetch Metadata page:
    • policy pseudo-code matches the implementation (navigate + GET/HEAD, object/embed excluded; the obsolete nested-navigate is dropped);
    • states the interceptor is in defaultStack rather than opt-in;
    • new "Cross-site form posts" section: cross-site POST navigations (SAML/OIDC form_post, payment returns) get a 403 since 7.5.0 / 6.13.0, with exemptedPaths and disabled as the opt-outs;
    • one line on struts.mapper.action.prefix.enabled and exempted paths.

🤖 Generated with Claude Code

The Fetch Metadata, COOP and COEP interceptor pages now state that
exemptedPaths entries are compared exactly with the request path inside the
application (servlet path plus path info, extension included) since 7.5.0 /
6.13.0, and that an entry equal to the context path no longer disables the
interceptor app-wide.

The Fetch Metadata page also documents the policy as implemented, notes the
interceptor is in defaultStack, and explains that cross-site POST navigations
(SAML/OIDC form_post, payment returns) are rejected since 7.5.0 / 6.13.0
(WW-5753, WW-5754), with exemptedPaths and disabled as the opt-outs.

Examples move exemptedPaths to a stack-level configuration.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@asf-ci

asf-ci commented Nov 7, 2026

Copy link
Copy Markdown

Staged site is ready at https://struts.staged.apache.org/

@lukaszlenart
lukaszlenart marked this pull request as ready for review November 7, 2026 17:56
@lukaszlenart
lukaszlenart merged commit 224e0c2 into main Nov 7, 2026
1 check passed
@lukaszlenart
lukaszlenart deleted the WW-5846-fetch-metadata-coop-coep-docs branch November 7, 2026 17:56
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