Commit Graph

53307 Commits

Author SHA1 Message Date
Fabien Potencier
7611d24e06 minor #40539 [Security] improve login throttling rate limiter requirement message (jrushlow)
This PR was submitted for the 5.x branch but it was merged into the 5.2 branch instead.

Discussion
----------

[Security] improve login throttling rate limiter requirement message

| Q             | A
| ------------- | ---
| Branch?       | 5.2
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

Provide the composer command to the user if the `rate-limiter` component is not installed when attempting to use login throttling.

Commits
-------

6958bdc0be improve login throttling rate limiter requirement message
2021-03-22 11:35:16 +01:00
Jesse Rushlow
6958bdc0be
improve login throttling rate limiter requirement message 2021-03-22 06:08:44 -04:00
Robin Chalas
9bb312dc59 minor #40531 [Uid] refer to AbstractUid instead of "parent" (Nyholm)
This PR was merged into the 5.2 branch.

Discussion
----------

[Uid] refer to AbstractUid instead of "parent"

| Q             | A
| ------------- | ---
| Branch?       | 5.2
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

Following @OskarStark's suggestion.

Except for internal code and test code, we do this on one more place. That is `LazyResponseEvent`, but that class is final so there is no need to change it.

Commits
-------

abe4ee5b56 [UID] refer to AbstractUid instead of "parent"
2021-03-21 19:45:58 +01:00
Nyholm
abe4ee5b56
[UID] refer to AbstractUid instead of "parent" 2021-03-21 17:15:38 +01:00
Nicolas Grekas
bd9e2208a0 Merge branch '4.4' into 5.2
* 4.4:
  [HttpKernel] do is_file check before include
  [PhpUnitBridge] fix reporting deprecations from DebugClassLoader
  [FrameworkBundle] skip deprecation in integration tests
2021-03-19 12:02:08 +01:00
Nicolas Grekas
a2d534ccf8 minor #40516 [HttpKernel] Add is_file() check before include (burned42)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] Add is_file() check before include

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes (?)
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

I recently noticed that on every deployment I got warnings reported by sentry from the `cache:clear` command.

> Warning: include(/var/www/html/var/cache/pro_/App_KernelProdContainer.php): failed to open stream: No such file or directory

In `Symfony\Component\HttpKernel\Kernel` [line 469](https://github.com/symfony/symfony/blob/5.x/src/Symfony/Component/HttpKernel/Kernel.php#L469)
 (on 4.4 it's on [line 536](https://github.com/symfony/symfony/blob/4.4/src/Symfony/Component/HttpKernel/Kernel.php#L536))

This is because the code tries to include the `$cachePath` without checking if it exists/is a file first. It seems like something similar was fixed some time ago already (https://github.com/symfony/symfony/pull/27249) some lines above.

This PR fixes the mentioned warnings for me.

I'm running on Symfony 5.2.5 at the moment, but the docs said that bugfixes should target branch 4.4 and new features should target 5.x, and I guess this could rather be seen as a bugfix than a new feature, so I branched off of 4.4 and also set this as target for the PR, I hope that's correct.

Commits
-------

8efcc17573 [HttpKernel] do is_file check before include
2021-03-19 12:01:36 +01:00
Nicolas Grekas
08306722ba bug #40508 [PhpUnitBridge] fix reporting deprecations from DebugClassLoader (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[PhpUnitBridge] fix reporting deprecations from DebugClassLoader

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #40400
| License       | MIT
| Doc PR        | -

Commits
-------

cb68aeab38 [PhpUnitBridge] fix reporting deprecations from DebugClassLoader
2021-03-19 11:58:33 +01:00
Bernd Stellwag
8efcc17573 [HttpKernel] do is_file check before include
Trying to include a file that doesn't exist issues a warning. Doing an
is_file check beforehand should prevent those warnings.
2021-03-19 08:57:35 +01:00
Fabien Potencier
ab4fcf9bb7 bug #40497 [HttpFoundation] enable HTTP method overrides as early as possible with the HTTP cache (xabbuh)
This PR was merged into the 5.2 branch.

Discussion
----------

[HttpFoundation] enable HTTP method overrides as early as possible with the HTTP cache

| Q             | A
| ------------- | ---
| Branch?       | 5.2
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #40452
| License       | MIT
| Doc PR        |

Commits
-------

93e9337382 enable HTTP method overrides as early as possible with the HTTP cache
2021-03-18 16:34:32 +01:00
Nicolas Grekas
cb68aeab38 [PhpUnitBridge] fix reporting deprecations from DebugClassLoader 2021-03-18 14:54:07 +01:00
Nicolas Grekas
5dd56a61a3 [FrameworkBundle] skip deprecation in integration tests 2021-03-18 10:22:03 +01:00
Christian Flothmann
93e9337382 enable HTTP method overrides as early as possible with the HTTP cache 2021-03-17 21:40:29 +01:00
Christian Flothmann
e3788b68be fix version constraint 2021-03-17 21:31:43 +01:00
Nicolas Grekas
763edf9c92 Fix test 2021-03-17 18:12:15 +01:00
Nicolas Grekas
00036b934b Merge branch '4.4' into 5.2
* 4.4:
  CS fix
2021-03-17 18:02:05 +01:00
Nicolas Grekas
6a6274ca89 CS fix 2021-03-17 18:01:41 +01:00
Nicolas Grekas
98fce3ee7f Merge branch '4.4' into 5.2
* 4.4:
  [Console] Fix line wrapping for decorated text in block output
  [Inflector] Fixed pluralize "coupon"
  [PhpUnitBridge] fix compat with symfony/debug
  [VarDumper] Adds support for ReflectionUnionType to VarDumper
  Correctly clear lines for multi-line progress bar messages.
2021-03-17 17:55:51 +01:00
Nicolas Grekas
9030fd368b bug #40348 [Console] Fix line wrapping for decorated text in block output (grasmash)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Console] Fix line wrapping for decorated text in block output

| Q             | A
| ------------- | ---
| Branch?       |
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| License       | MIT

Fixed bug that caused decorated text to be wrapped too early in SymfonyStyle->block().

Commits
-------

760be88310 [Console] Fix line wrapping for decorated text in block output
2021-03-17 17:22:13 +01:00
Matthew Grasmick
760be88310 [Console] Fix line wrapping for decorated text in block output 2021-03-17 17:22:06 +01:00
Nicolas Grekas
d3c083487d bug #40499 [Inflector][String] Fixed pluralize "coupon" (Nyholm)
This PR was merged into the 4.4 branch.

Discussion
----------

[Inflector][String] Fixed pluralize "coupon"

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #40467
| License       | MIT
| Doc PR        |

The rule for "bacteria (bacterium), criteria (criterion), phenomena (phenomenon)" is producing this behaviour. I added an exception to the "criterion exception".

"coupon" is an old French word, that is maybe why it does not follow the classic "on" rule... I dont know. The test passes and I dont think I've added any side-effects.

This is also my first time working with the `EnglishInflector`.

Commits
-------

d3412e919f [Inflector] Fixed pluralize "coupon"
2021-03-17 17:20:07 +01:00
Nyholm
d3412e919f [Inflector] Fixed pluralize "coupon" 2021-03-17 17:19:54 +01:00
Nicolas Grekas
7678d62f75 bug #40494 [PhpUnitBridge] fix compat with symfony/debug (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[PhpUnitBridge] fix compat with symfony/debug

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #40390
| License       | MIT
| Doc PR        | -

Best reviewed [ignoring whitespaces](https://github.com/symfony/symfony/pull/40494/files?w=1).

Commits
-------

35dd54a654 [PhpUnitBridge] fix compat with symfony/debug
2021-03-17 12:14:50 +01:00
Nicolas Grekas
35dd54a654 [PhpUnitBridge] fix compat with symfony/debug 2021-03-17 09:57:09 +01:00
Fabien Potencier
550489aa8e bug #40453 [VarDumper] Adds support for ReflectionUnionType to VarDumper (Michael Nelson, michaeldnelson)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[VarDumper] Adds support for ReflectionUnionType to VarDumper

Fixes a bug with VarDumper when dumping a ReflectionUnionType.
> PHP Error:  Call to undefined method ReflectionUnionType::isBuiltin()

Notes:
* One of the existing tests relies on its position in the test file. I had to modify its expected line number.
* There is an existing trailing space around line 367 in an expected value.
  I'm not sure if this was left for BC reasons but it seems like a bug if the dumper is leaving trailing spaces.

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

This commit fixes a crash when dumping ReflectionUnionType.  The code is minimal but uses a few extra lines to preserve key order for bc and consistency.  Additionally, there is an else condition that is currently unreachable but is defensive should they add additional subtypes of ReflectionType. Tests are included.  Please let me know if you have any questions or suggestions.  Thanks for Symfony it's a wonderful project.

Commits
-------

1a11491f6e [VarDumper] Adds support for ReflectionUnionType to VarDumper
2021-03-17 07:30:13 +01:00
Michael Nelson
1a11491f6e [VarDumper] Adds support for ReflectionUnionType to VarDumper 2021-03-17 07:30:06 +01:00
Fabien Potencier
cf79189bea bug #40460 Correctly clear lines for multi-line progress bar messages (grasmash)
This PR was merged into the 4.4 branch.

Discussion
----------

Correctly clear lines for multi-line progress bar messages

Measure the length of individual lines when calculating progress bar message length.

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| License       | MIT

When a multiline message is added to a progress bar, the progress bar measures the length of all lines combined in a single string without considering whether that string contains new line characters. It is not accurately measuring the number of lines that are displayed on the terminal.

On the terminal, the actual number of new lines is dictated by a combination of new line characters and text extending beyond the terminal width. Due to this bug, the progress bar sometimes clears too many lines when the progress bar is advanced.

The progress bar should instead consider the overlap of $this->formatLineCount and the actual number of lines in the message and then add any remainder.

Commits
-------

8ada55c07c Correctly clear lines for multi-line progress bar messages.
2021-03-17 07:10:45 +01:00
Matthew Grasmick
8ada55c07c Correctly clear lines for multi-line progress bar messages. 2021-03-16 22:19:58 -04:00
Fabien Potencier
827cf0a1a3 bug #40490 [Security] Add XML support for authenticator manager (wouterj)
This PR was squashed before being merged into the 5.2 branch.

Discussion
----------

[Security] Add XML support for authenticator manager

| Q             | A
| ------------- | ---
| Branch?       | 5.2
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

I discovered we didn't have tests for the experimental configuration and it turns out it didn't support XML at all (this does bring up the question if it's worth maintaining XML support in Symfony).

Commits
-------

77fb0eb0a1 [Security] Add XML support for authenticator manager
2021-03-16 19:11:09 +01:00
Wouter de Jong
77fb0eb0a1 [Security] Add XML support for authenticator manager 2021-03-16 19:11:03 +01:00
Nicolas Grekas
ca06651235 Merge branch '4.4' into 5.2
* 4.4:
  [Console] ProgressBar clears too many lines on update
  [FrameworkBundle] Exclude unreadable files when executing About command
  [Bridge\Twig] Add 'form-control-range' for range input type
  Be explicit about transparent background color of links in toolbar
  [Translation] fix test case name
  [Cache] Fix wrong namespace in test
  [DependencyInjection] Fix return type
2021-03-16 10:10:13 +01:00
Nicolas Grekas
8113f10063 bug #40242 [ErrorHandler] Fix error caused by include + open_basedir (stlrnz)
This PR was submitted for the 5.x branch but it was merged into the 5.2 branch instead.

Discussion
----------

[ErrorHandler] Fix error caused by `include` + open_basedir

| Q             | A
| ------------- | ---
| Branch?       | 5.2
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

https://github.com/symfony/symfony/pull/37492 introduced the option to specify your own error template using `HtmlErrorRenderer::setTemplate('...');`

However, the implementation using `file_exists(...)` in `include` can cause an error when not setting a custom template.
> php.WARNING: Warning: file_exists(): open_basedir restriction in effect. File(assets/css/error.css) is not within the allowed path(s): (...) {"exception":"[object] (ErrorException(code: 0): Warning: file_exists(): open_basedir restriction in effect. File(assets/css/error.css) is not within the allowed path(s): (...) at ...\\vendor\\symfony\\error-handler\\ErrorRenderer\\HtmlErrorRenderer.php:355)"} []

As you can see the error is caused by checking `file_exists(...)` using relative paths in environments with a restrictive `open_basedir` policy.

The proposed solution always uses absolute paths to include errors templates (and other files).

Commits
-------

9ad7832acd [ErrorHandler] Fix error caused by `include` + open_basedir
2021-03-16 10:08:11 +01:00
stlrnz
9ad7832acd [ErrorHandler] Fix error caused by include + open_basedir 2021-03-16 10:07:47 +01:00
Nicolas Grekas
faf7269806 bug #40368 [FrameworkBundle] Make the TestBrowserToken interchangeable with other tokens (Seldaek)
This PR was squashed before being merged into the 5.2 branch.

Discussion
----------

[FrameworkBundle] Make the TestBrowserToken interchangeable with other tokens

| Q             | A
| ------------- | ---
| Branch?       | 5.2
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       |
| License       | MIT
| Doc PR        |

For some reason most tokens implement getFirewallName (and the deprecated getProviderKey), but not all. This adds it to TestBrowserToken because it caused issues in my tests when upgrading to Symfony 5's `Client::loginUser()`.

I am also happy to add this to AnonymousToken but I am more worried about BC impacts there, so I left it alone for now. All other token classes implement it, so I am not sure why this isn't in TokenInterface to begin with.

Commits
-------

a4958ae7ad [FrameworkBundle] Make the TestBrowserToken interchangeable with other tokens
2021-03-16 09:58:51 +01:00
Jordi Boggiano
a4958ae7ad [FrameworkBundle] Make the TestBrowserToken interchangeable with other tokens 2021-03-16 09:58:32 +01:00
Nicolas Grekas
a78fb1832b bug #40450 [Console] ProgressBar clears too many lines on update (danepowell)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Console] ProgressBar clears too many lines on update

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  |no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? |no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License       | MIT

The ProgressBar incorrectly calculates line lengths when updating, including non-displayable characters such as ANSI colors. This causes it to clear too many lines if the terminal width is greater than the displayed line length but less than the line length including non-displayed characters. An example of this bug in action is https://github.com/acquia/cli/issues/467

Commits
-------

2aa3df0c74 [Console] ProgressBar clears too many lines on update
2021-03-16 09:54:45 +01:00
Dane Powell
2aa3df0c74 [Console] ProgressBar clears too many lines on update 2021-03-16 09:54:32 +01:00
Nicolas Grekas
e21004d922 bug #40178 [FrameworkBundle] Exclude unreadable files when executing About command (michaljusiega)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[FrameworkBundle] Exclude unreadable files when executing About command

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix https://github.com/symfony/symfony/issues/39916
| License       | MIT
| Doc PR        | ~

Fix as explained in: https://github.com/symfony/symfony/issues/39916.

Tests failed looks like not releated to my changes.

Commits
-------

25f503a813 [FrameworkBundle] Exclude unreadable files when executing About command
2021-03-16 09:47:37 +01:00
Michał Jusięga
25f503a813 [FrameworkBundle] Exclude unreadable files when executing About command 2021-03-16 09:46:52 +01:00
Nicolas Grekas
73cef1553a minor #40423 [DependencyInjection] Fix return type of getSubscribedServices() (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Fix return type of getSubscribedServices()

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | N/A
| License       | MIT
| Doc PR        | N/A

Commits
-------

ef59c89dea [DependencyInjection] Fix return type
2021-03-16 09:36:52 +01:00
Nicolas Grekas
fcd658e6da minor #40475 Be explicit about anchor background color in profiler toolbar (bezin)
This PR was merged into the 4.4 branch.

Discussion
----------

Be explicit about anchor background color in profiler toolbar

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| License       | MIT

Hello,

we have a project where we work with background colors on links. When we define this in our stylesheet, the Web Profiler picks these styles up due to the cascade. We added two CSS statements to the Web Profiler stylesheet to be explicit about the transparent background.

![2021-03-15 16_10_08](https://user-images.githubusercontent.com/4400435/111176325-860e8d80-85a9-11eb-82c4-7954aa01245a.png)
![2021-03-15 16_10_30](https://user-images.githubusercontent.com/4400435/111176328-86a72400-85a9-11eb-9515-280c5593a288.png)

Commits
-------

f0cac47ae7 Be explicit about transparent background color of links in toolbar
2021-03-16 09:13:06 +01:00
Nicolas Grekas
ff9c815c39 bug #40472 [Bridge\Twig] Add 'form-control-range' for range input type (Oviglo)
This PR was submitted for the 5.x branch but it was squashed and merged into the 4.4 branch instead.

Discussion
----------

[Bridge\Twig] Add 'form-control-range' for range input type

| Q             | A
| ------------- | ---
| Branch?       | 5.x
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Add 'form-control-range' for range input type for Bootstrap theme,  [see the doc](https://getbootstrap.com/docs/4.6/components/forms/#range-inputs)

Commits
-------

e73db2b1f1 [Bridge\Twig] Add 'form-control-range' for range input type
2021-03-16 09:09:07 +01:00
Oviglo
e73db2b1f1 [Bridge\Twig] Add 'form-control-range' for range input type 2021-03-16 09:08:39 +01:00
Fabien Potencier
d9a8a05095 bug #40481 make async-ses required (jderusse)
This PR was merged into the 5.2 branch.

Discussion
----------

make async-ses required

| Q             | A
| ------------- | ---
| Branch?       | 5.2
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #40480
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

AWS S3 signature is not supported anymore, which mean the old "raw HTTP" implementation does not work anymore, and only the implementation that use "async-aws" works.

This PR move "async-aws" to the "requires" section in order to fix that.

Commits
-------

7904d0896b Make async-ses required
2021-03-16 08:52:44 +01:00
Jérémy Derussé
7904d0896b
Make async-ses required 2021-03-16 08:45:57 +01:00
Robin Chalas
abf16d0f1b minor #40470 [Cache] fix test case name (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Cache] fix test case name

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Should make #40468 green.

Commits
-------

e2dffea49d [Translation] fix test case name
2021-03-15 19:43:41 +01:00
bezin
f0cac47ae7
Be explicit about transparent background color of links in toolbar 2021-03-15 16:12:10 +01:00
Nicolas Grekas
e2dffea49d [Translation] fix test case name 2021-03-15 13:54:07 +01:00
Robin Chalas
5b878a2599 minor #40465 [RateLimiter] [5.2] Fix wrong namespace in tests (chalasr)
This PR was merged into the 5.2 branch.

Discussion
----------

[RateLimiter] [5.2] Fix wrong namespace in tests

| Q             | A
| ------------- | ---
| Branch?       | 5.2
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Commits
-------

c620f407ba [RateLimiter] Fix wrong namespace in tests
2021-03-14 21:02:07 +01:00
Robin Chalas
bc87acdf77 minor #40464 [4.4] Fix wrong namespace in tests (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[4.4] Fix wrong namespace in tests

| Q             | A
| ------------- | ---
| Branch?       |  4.4
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Commits
-------

b3759c2882 [Cache] Fix wrong namespace in test
2021-03-14 21:00:50 +01:00
Robin Chalas
c620f407ba [RateLimiter] Fix wrong namespace in tests 2021-03-14 20:33:15 +01:00