Skip to content

FELIX-6849 : Apply org.eclipse.jetty.UriComplianceMode to redirect URIs#534

Merged
paulrutter merged 4 commits into
masterfrom
FELIX-6849-redirect-uri-compliance
Jul 21, 2026
Merged

FELIX-6849 : Apply org.eclipse.jetty.UriComplianceMode to redirect URIs#534
paulrutter merged 4 commits into
masterfrom
FELIX-6849-redirect-uri-compliance

Conversation

@paulrutter

@paulrutter paulrutter commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

https://issues.apache.org/jira/browse/FELIX-6849

Felix jetty12 mapped the org.eclipse.jetty.UriComplianceMode property to HttpConfiguration.setUriCompliance() only, leaving redirect URI compliance at Jetty's default. Since Jetty 12.1 that default rejects ambiguous encodings (e.g. %2F) in the Location header, so a deployment relaxing request URI compliance (e.g. LEGACY) still had its redirects rejected.

Apply the configured compliance to setRedirectUriCompliance() as well, so the mode takes effect end-to-end. Behavior is unchanged when the property is unset (Jetty defaults still apply).

Added redirect URI compliance coverage to the default and LEGACY integration tests.

paulrutter and others added 4 commits July 21, 2026 13:04
Felix jetty12 mapped the org.eclipse.jetty.UriComplianceMode property to
HttpConfiguration.setUriCompliance() only, leaving redirect URI compliance
at Jetty's default. Since Jetty 12.1 that default rejects ambiguous encodings
(e.g. %2F) in the Location header, so a deployment relaxing request URI
compliance (e.g. LEGACY) still had its redirects rejected.

Apply the configured compliance to setRedirectUriCompliance() as well, so the
mode takes effect end-to-end. Behavior is unchanged when the property is unset
(Jetty defaults still apply).

Added redirect URI compliance coverage to the default and LEGACY integration
tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…dule

The itest default http.jetty.version was still 2.0.1-SNAPSHOT, while the
jetty12 module is now 2.0.3-SNAPSHOT. The stale reference transitively pulled
in org.apache.felix.http.base:6.0.0-SNAPSHOT, which no longer exists (base is
now 6.0.1-SNAPSHOT), breaking dependency resolution in CI. Bump the property to
2.0.3-SNAPSHOT so the current in-reactor jetty12 (and http.base 6.0.1-SNAPSHOT)
is used.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The jetty11 profile still pinned http.jetty.version=5.2.3-SNAPSHOT, while the
jetty (jetty9) module is now 5.2.5-SNAPSHOT. Align it so that profile resolves
the current in-reactor module (and http.base 6.0.1-SNAPSHOT) instead of a
stale, non-existent snapshot.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@paulrutter
paulrutter merged commit 8cff4d8 into master Jul 21, 2026
3 checks passed
@paulrutter
paulrutter deleted the FELIX-6849-redirect-uri-compliance branch July 21, 2026 11:38
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