Skip to content
Snippets Groups Projects
Commit 960090d6 authored by Oliver Hader's avatar Oliver Hader Committed by Oliver Hader
Browse files

[BUGFIX] Ensure only empty route requirements for aspects are defined

Overriding route requirements with `.+` allows to have slashes in route
parameters. This is different to Symfony's default behavior not allowing
slashes here at all.

However, when having multiple route parameters it can lead to resolving
false-positive routes like shown in the following example:

    routePath: '{first}/{second}'
    URI: https://example.com/first/second/third
    resolves to parameters
    + first: 'first/second'
    + second: 'third'

This change passes existing TYPO3 route `requirements` and uses pattern
`.+` only for those parameters not having a definition - both applies to
parameters using `aspects` only.

Besides that tests in `EnhancerLinkGeneratorTest` mixed internal argument
values with URL parameters (`100` <=> `hundred`) are were "wrong" before.

Resolves: #91246
Releases: master, 10.4, 9.5
Change-Id: Ic1fe15790cc16dd52c624cd3be9ed060ae9b9d69
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64654


Tested-by: default avatarStephan Großberndt <stephan.grossberndt@typo3.org>
Tested-by: default avatarTYPO3com <noreply@typo3.com>
Tested-by: default avatarBenni Mack <benni@typo3.org>
Tested-by: default avatarOliver Hader <oliver.hader@typo3.org>
Reviewed-by: default avatarBenni Mack <benni@typo3.org>
Reviewed-by: default avatarManuel Selbach <manuel_selbach@yahoo.de>
Reviewed-by: default avatarOliver Hader <oliver.hader@typo3.org>
parent 3cb0d3bb
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment