Commit Graph

53440 Commits

Author SHA1 Message Date
Nicolas Grekas
55637fb409 minor #40559 [travis] remove cache of composer.lock for deps=low (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[travis] remove cache of composer.lock for deps=low

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

Let's hope that Composer 2 made this fast enough. Maintaining this script might not be worth it anymore.

Reverts #28146

Commits
-------

9ba015d236 [travis] remove cache of composer.lock for deps=low
2021-03-23 22:05:01 +01:00
Nicolas Grekas
d158d22b5c minor #40560 [Filesystem] Fix comment with typo (sebpacz)
This PR was merged into the 4.4 branch.

Discussion
----------

[Filesystem] Fix comment with typo

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

Commits
-------

96a05daf7e Fix comment with typo
2021-03-23 22:03:03 +01:00
Nicolas Grekas
9ba015d236 [travis] remove cache of composer.lock for deps=low 2021-03-23 21:57:14 +01:00
sebpacz
96a05daf7e Fix comment with typo 2021-03-23 21:55:00 +01:00
Nicolas Grekas
5e9644fae4 Merge branch '4.4' into 5.2
* 4.4:
  fix reported class when deprecated method is static
2021-03-23 21:42:04 +01:00
Nicolas Grekas
cdc1087943 minor #40558 [PhpUnitBridge] fix reported class when deprecated method is static (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[PhpUnitBridge] fix reported class when deprecated method is static

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

Commits
-------

aa80df609f fix reported class when deprecated method is static
2021-03-23 21:41:31 +01:00
Christian Flothmann
aa80df609f fix reported class when deprecated method is static 2021-03-23 21:33:06 +01:00
Nicolas Grekas
7a972c43c2 Merge branch '4.4' into 5.2
* 4.4:
  [travis] use packagist API v2
  [translation] Fix update existing key with existing +int-icu domain
  [Contracts] Fix branch name in README.md links
2021-03-23 20:33:48 +01:00
Nicolas Grekas
3d1c59ae7f minor #40557 [travis] use packagist API v2 (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[travis] use packagist API v2

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

Commits
-------

af43ca080b [travis] use packagist API v2
2021-03-23 20:33:33 +01:00
Nicolas Grekas
af43ca080b [travis] use packagist API v2 2021-03-23 20:31:36 +01:00
Nicolas Grekas
1665555dd5 bug #40552 [Translation] Fix update existing key with existing +int-icu domain (Alexis)
This PR was merged into the 4.4 branch.

Discussion
----------

[Translation] Fix update existing key with existing +int-icu domain

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

Using php-translation webui interface, I was trying to update an existing +int-icu domain but a regular domain was created and the existing key wasn't updated. Looks like in the method I modified, we should have been looking for a potential domain+intl-icu domain and try update it first

Commits
-------

2a196ca0dc [translation] Fix update existing key with existing +int-icu domain
2021-03-23 17:25:13 +01:00
Alexis
2a196ca0dc [translation] Fix update existing key with existing +int-icu domain 2021-03-23 17:25:01 +01:00
Robin Chalas
2c99518454 minor #40553 [Contracts] Fix branch name in README.md links (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Contracts] Fix branch name in README.md links

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

Commits
-------

c5c47f11a4 [Contracts] Fix branch name in README.md links
2021-03-23 17:08:21 +01:00
Robin Chalas
c5c47f11a4 [Contracts] Fix branch name in README.md links 2021-03-23 16:25:38 +01:00
Nicolas Grekas
e494b389f3 bug #40541 Fixed parsing deprecated definitions without message key (adamwojs)
This PR was merged into the 5.2 branch.

Discussion
----------

Fixed parsing deprecated definitions without message key

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

### Steps to reproduce

1. Create service/alias definition and mark it as deprecated without specifying message key as shown in https://symfony.com/doc/5.2/service_container/alias_private.html#deprecating-service-aliases. For example:

```yaml
services:
    service_without_deprecation_message:
        class: Foo
        deprecated:
            package: vendor/package
            version: 1.1

    alias_without_deprecation_message:
        alias: foobar
        deprecated:
            package: vendor/package
            version: 1.1
```

2. Clear cache by running `php bin/console cache:clear`

### Actual behaviour

`Symfony\Component\Config\Exception\LoaderLoadException` exception is thrown with the following message: `Warning: Undefined array key "message" (...)`

See https://gist.github.com/adamwojs/5bac85d4326d8fbe6f52a357fa6e57e6 for full stactrace.

### Excepted behaviour

Given definitions are loaded correctly. Default service/alias deprecation message is used as shown in linked documentation page.

Commits
-------

d585b64953 Fixed parsing deprecated definitions without message key
2021-03-23 13:46:26 +01:00
Nicolas Grekas
88d222d856 Merge branch '4.4' into 5.2
* 4.4:
  [Console] minor fix
  [Validator] Avoid triggering the autoloader for user-input values
  Hardening Security - Unserialize DumpDataCollector
  [HttpClient] remove using $http_response_header
  [Security] Handle properly 'auto' option for remember me cookie security
2021-03-23 13:45:44 +01:00
Nicolas Grekas
9a8e2c2625 bug #40537 [Security] Handle properly 'auto' option for remember me cookie security (fliespl)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Handle properly 'auto' option for remember me cookie security

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

Manually setting remember_me cookie secure as auto is still is being set as secure one even if used over http.

This PR fixes this behaviour by converting auto to null prior setting it up for service.

Commits
-------

2bcf69c071 [Security] Handle properly 'auto' option for remember me cookie security
2021-03-23 13:31:44 +01:00
Nicolas Grekas
7eb4db6d9d [Console] minor fix 2021-03-23 13:24:21 +01:00
Nicolas Grekas
1044c0bd4b bug #40524 [Console] fix emojis messing up the line width (MarionLeHerisson)
This PR was submitted for the 5.x branch but it was merged into the 5.2 branch instead.

Discussion
----------

[Console] fix emojis messing up the line width

| Q             | A
| ------------- | ---
| Branch?       | 5.2
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix https://github.com/symfony/symfony/issues/37904
| License       | MIT

Description
========

The emojis, because they take as much space as two characters, would cause the console to display too many spaces to complete a line, which made it uneven, as described in the issue.

The fix uses the `width` function instead of `strlen`. To answer @ogizanagi's comment, yes it does work with "composed" emojis.

Before :

![image](https://user-images.githubusercontent.com/11477247/111832081-9d72b100-88f0-11eb-8eda-65ee480c898d.png)

After :

![image](https://user-images.githubusercontent.com/11477247/111832103-a6638280-88f0-11eb-802e-838d97f61c81.png)

Other changes
==========

Removed two unused lines of code, the value of `$messageLineLength` was never used.

Note
====
I'd like to add some tests, but I don't know how since I think this depends on console client width ?

Thanks for your reviews 🙏

Commits
-------

36b36dcecc [Command] fix emojis messing up the line width
2021-03-23 13:19:25 +01:00
Marion Hurteau
36b36dcecc [Command] fix emojis messing up the line width
add tests + removed irrelevant method
2021-03-23 13:19:11 +01:00
Nicolas Grekas
689056ef7f bug #40506 [Validator] Avoid triggering the autoloader for user-input values (Seldaek)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Validator] Avoid triggering the autoloader for user-input values

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

Following-up to https://twitter.com/seldaek/status/1372450636361502721 - mostly to see if the build passes or if this breaks some undocumented/unclear-to-me assumptions.

Essentially using the `Valid` constraint should only validate objects if they exist as objects. If a user sends a string and that gets assigned to a property, `Valid` should not attempt autoloading that user-given string.

As far as I can tell, this is used in two places:

- acb32dd396/src/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php (L364-L365) where non-objects are anyway ignored, so this change is harmless there.
- acb32dd396/src/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php (L652-L660) where it's explicitly passing anything in there to get the proper exception, so my change makes sure that exception is thrown *before* autoloading attempts. I am just not 100% sure if there are cases where validateGenericNode will receive a class name as a string to validate in $value. I can't imagine why it would but that doesn't mean it's true.

Commits
-------

e45eb23ba2 [Validator] Avoid triggering the autoloader for user-input values
2021-03-23 12:26:37 +01:00
Jordi Boggiano
e45eb23ba2 [Validator] Avoid triggering the autoloader for user-input values 2021-03-23 12:25:54 +01:00
Nicolas Grekas
4c2f77e5b1 bug #40544 [FrameworkBundle] ensure TestBrowserToken::$firewallName is serialized (kbond)
This PR was merged into the 5.2 branch.

Discussion
----------

[FrameworkBundle] ensure TestBrowserToken::$firewallName is serialized

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

Fixes a bug introduced in #40368. When `TestBrowserToken` in unserialized, `$firewallName` is `null` so trying to access it via `getFirewallName` throws a `TypeError`.

Commits
-------

8ba12ece57 [FrameworkBundle] ensure TestBrowserToken::$firewallName is serialized
2021-03-23 12:16:14 +01:00
Nicolas Grekas
f84adc46f3 minor #40546 Security Hardening - unserialize DumpDataCollector (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

Security Hardening - unserialize DumpDataCollector

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

Commits
-------

214dbfec51 Hardening Security - Unserialize DumpDataCollector
2021-03-23 09:51:46 +01:00
Jérémy Derussé
214dbfec51
Hardening Security - Unserialize DumpDataCollector 2021-03-23 09:46:32 +01:00
Nyholm
0f4870b23f
bug #40547 [RateLimiter] Security hardening - Rate limiter (jderusse)
This PR was merged into the 5.2 branch.

Discussion
----------

[RateLimiter] Security hardening - Rate limiter

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

Commits
-------

e61553af4b Security hardening - Rate limiter
2021-03-23 08:09:52 +01:00
Jérémy Derussé
e61553af4b
Security hardening - Rate limiter 2021-03-22 20:26:15 +01:00
Pierre Rineau
d29e433ae8 [Serializer] AbstractNormalizer force null for non-optional nullable constructor parameter denormalization when not present in input 2021-03-22 17:47:33 +01:00
Kevin Bond
8ba12ece57
[FrameworkBundle] ensure TestBrowserToken::$firewallName is serialized 2021-03-22 10:43:01 -04:00
Adam Wójs
d585b64953 Fixed parsing deprecated definitions without message key 2021-03-22 12:10:24 +01:00
Fabien Potencier
602b52041a bug #40538 [HttpClient] remove using $http_response_header (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] remove using $http_response_header

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

Spotted after reading https://wiki.php.net/rfc/deprecations_php_8_1#predefined_variable_http_response_header

Commits
-------

b78f1dffc2 [HttpClient] remove using $http_response_header
2021-03-22 11:36:51 +01:00
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
Nicolas Grekas
b78f1dffc2 [HttpClient] remove using $http_response_header 2021-03-22 10:43:50 +01:00
flies
2bcf69c071 [Security] Handle properly 'auto' option for remember me cookie security 2021-03-22 09:54:48 +01: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