Commit Graph

44268 Commits

Author SHA1 Message Date
Nicolas Grekas
6514fa3cc7 Merge branch '3.4' into 4.3
* 3.4:
  Bump phpunit-bridge cache
2020-01-31 10:56:21 +01:00
Nicolas Grekas
b2339b5e32 Bump phpunit-bridge cache 2020-01-31 10:55:33 +01:00
Nicolas Grekas
0f13d5a5fc Merge branch '3.4' into 4.3
* 3.4:
  [Validator] fix access to uninitialized property when getting value
  [HttpKernel] Fix stale-if-error behavior, add tests
  Improved error message when no supported user provider is found
2020-01-31 10:10:37 +01:00
Nicolas Grekas
e39d66eeee bug #35530 [HttpClient] Fix regex bearer (noniagriconomie)
This PR was merged into the 4.3 branch.

Discussion
----------

[HttpClient] Fix regex bearer

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

Small fix related to https://github.com/symfony/symfony/issues/34919#issuecomment-571145590

Commits
-------

cd0db78ab5 [HttpClient] Fix regex bearer
2020-01-31 10:08:14 +01:00
Fabien Potencier
aeea451433 bug #35532 [Validator] fix access to uninitialized property when getting value (greedyivan)
This PR was squashed before being merged into the 3.4 branch (closes #35532).

Discussion
----------

[Validator] fix access to uninitialized property when getting value

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

In PHP 7.4, the type-hinted property is [uninitialized](https://wiki.php.net/rfc/typed_properties_v2#uninitialized_and_unset_properties) by default. So it needs to be checked before use.

Commits
-------

1edecf77c1 [Validator] fix access to uninitialized property when getting value
2020-01-31 09:56:30 +01:00
Ivan Grigoriev
1edecf77c1 [Validator] fix access to uninitialized property when getting value 2020-01-31 09:56:24 +01:00
noniagriconomie
cd0db78ab5 [HttpClient] Fix regex bearer 2020-01-30 17:47:09 +01:00
Fabien Potencier
e50db1f93f bug #35305 [HttpKernel] Fix stale-if-error behavior, add tests (mpdude)
This PR was squashed before being merged into the 3.4 branch (closes #35305).

Discussion
----------

[HttpKernel] Fix stale-if-error behavior, add tests

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

This PR adds the first tests for `stale-if-error` logic in `HttpCache`.

It also fixes an observation from #24248: For responses that have been cached as `public` with an `ETag` but without a lifetime, in case of an error the stale response will be served forever (= as long as the error persists), even beyond the configured `stale-if-error` grace period.

Furthermore, it tries to improve compliance with RFC 7234: Stale responses must not be sent (under no condition) if one of
* `no-cache`
* `must-revalidate`
* `proxy-revalidate` or
* `s-maxage` (sic) is present.

This can be found in the corresponding chapters of Section 5.2.2 for these directives, but is also summarized in [Section 4.2.4](https://tools.ietf.org/html/rfc7234#section-4.2.4) as

 > A cache MUST NOT generate a stale response if it is prohibited by an explicit in-protocol directive (e.g., by a "no-store" or "no-cache" cache directive, a "must-revalidate" cache-response-directive, or an applicable "s-maxage" or "proxy-revalidate" cache-response-directive; see Section 5.2.2).

Because disabling of `stale-if-error` for `s-maxage` responses probably has a big impact on the usefulness of that feature in practice, it has to be enabled explicitly with a new config setting `strict_smaxage` (defaulting to `false`).

Commits
-------

ad5f427bed [HttpKernel] Fix stale-if-error behavior, add tests
2020-01-30 17:05:58 +01:00
Matthias Pigulla
ad5f427bed [HttpKernel] Fix stale-if-error behavior, add tests 2020-01-30 17:05:53 +01:00
Fabien Potencier
46e8da39e8 bug #34808 [PhpUnitBridge] Properly handle phpunit arguments for configuration file (biozshock)
This PR was merged into the 4.3 branch.

Discussion
----------

[PhpUnitBridge] Properly handle phpunit arguments for configuration file

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

PhpUnitBridge should properly parse cli arguments for configuration file.
After fixing #34300 the PhpUnitBridge stopped recognizing short `-c` option.
Also original PHPUnit allows to pass a directory as configuration parameter and read from either phpunit.xml or phpunit.xml.dist

Commits
-------

a7a5885661 Properly handle phpunit arguments for configuration file
2020-01-30 16:35:02 +01:00
Tobias Schultze
14c355548a bug #35480 [Messenger] Check for all serialization exceptions during message dec… (Patrick Berenschot)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Check for all serialization exceptions during message dec…

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

Makes it so that the Messenger Serializer throws a `MessageDecodingFailedException` for any serializer exception.

Commits
-------

21fffcadd5 [Messenger] Check for all serialization exceptions during message dec…
2020-01-29 15:30:24 +01:00
Patrick Berenschot
21fffcadd5 [Messenger] Check for all serialization exceptions during message dec… 2020-01-29 13:59:11 +01:00
Robin Chalas
5f87c7b434 minor #35487 [Messenger] Fix messenger argument (jderusse)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] Fix messenger argument

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

`Connection::DEFAULT_OPTIONS` is an key/value array. The exception `Unknown option found : [%s]. Allowed options are [%s]` should use allowed option's key instead of the value.

Commits
-------

ae0c6344b4 Fix exception message in Doctrine Messenger
2020-01-27 23:28:36 +01:00
Jérémy Derussé
ae0c6344b4
Fix exception message in Doctrine Messenger 2020-01-27 19:01:48 +01:00
Nicolas Grekas
c966016a37 minor #35375 [Lock] Don't allow mysqli to be used as it doesn't work (duncan3dc)
This PR was merged into the 4.3 branch.

Discussion
----------

[Lock] Don't allow mysqli to be used as it doesn't work

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

Mysqli doesn't support named parameters, so if you pass a doctrine connection using `mysqli` then you get the following error:
`You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':id, :token, UNIX_TIMESTAMP() + 300)'`
This PR ensures a clear error is provided and suggests to use `pdo_mysql` instead

Commits
-------

ef3bcda5e3 Mysqli doesn't support the named parameters used by PdoStore
2020-01-27 11:29:37 +01:00
Nicolas Grekas
b90664ba18 minor #35472 [Security] Improved error message when no supported user provider is found (wouterj)
This PR was submitted for the 4.4 branch but it was merged into the 3.4 branch instead.

Discussion
----------

[Security] Improved error message when no supported user provider is found

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

Commits
-------

6b2db6dc30 Improved error message when no supported user provider is found
2020-01-27 10:47:05 +01:00
Wouter de Jong
6b2db6dc30 Improved error message when no supported user provider is found 2020-01-27 10:46:58 +01:00
Nicolas Grekas
86ccf322e8 minor #35473 [Cache] Don't allow mysqli to be used as it doesn't work (duncan3dc)
This PR was merged into the 4.3 branch.

Discussion
----------

[Cache] Don't allow mysqli to be used as it doesn't work

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

As discussed in #35375 Mysqli doesn't support named parameters, so if you pass a doctrine connection using `mysqli` then you get errors for any queries using named parameters.
This PR ensures a clear error is provided and suggests to use `pdo_mysql` instead

Commits
-------

a7864489b0 Mysqli doesn't support the named parameters used by PdoAdapter
2020-01-27 10:22:54 +01:00
Craig Duncan
a7864489b0 Mysqli doesn't support the named parameters used by PdoAdapter 2020-01-27 09:15:09 +00:00
Nicolas Grekas
d695b43b98 minor #35471 Fix displaying anonymous classes on PHP >= 7.4.2 (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

Fix displaying anonymous classes on PHP >= 7.4.2

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

Commits
-------

dd94b386a9 Fix displaying anonymous classes on PHP >= 7.4.2
2020-01-25 13:38:50 +01:00
Nicolas Grekas
dd94b386a9 Fix displaying anonymous classes on PHP >= 7.4.2 2020-01-25 13:32:28 +01:00
Nicolas Grekas
a1e105ee6c minor #35396 [DoctrineBridge] [DX] Improve condition for exception text in ManagerRegistry to avoid confusion (guilliamxavier)
This PR was submitted for the 4.4 branch but it was merged into the 4.3 branch instead.

Discussion
----------

[DoctrineBridge] [DX] Improve condition for exception text in ManagerRegistry to avoid confusion

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yesish
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix https://github.com/symfony/symfony/pull/31047#issuecomment-575548372
| License       | MIT
| Doc PR        | -

(Targetting 4.4 because 4.3 is already almost EOM)

Commits
-------

0d47fdfb49 [DoctrineBridge] [DX] Improve condition for exception text in ManagerRegistry to avoid confusion
2020-01-23 11:55:20 +01:00
Guilliam Xavier
0d47fdfb49 [DoctrineBridge] [DX] Improve condition for exception text in ManagerRegistry to avoid confusion 2020-01-23 11:55:13 +01:00
Nicolas Grekas
c2e17645c2 Merge branch '3.4' into 4.3
* 3.4:
  Fix testing with mongodb
  bumped Symfony version to 3.4.38
  updated VERSION for 3.4.37
  update CONTRIBUTORS for 3.4.37
  updated CHANGELOG for 3.4.37
2020-01-23 11:52:31 +01:00
Nicolas Grekas
d90a503160 minor #35450 Fix testing with mongodb (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix testing with mongodb

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

Commits
-------

28cd964ac9 Fix testing with mongodb
2020-01-23 11:33:58 +01:00
Nicolas Grekas
28cd964ac9 Fix testing with mongodb 2020-01-23 11:22:55 +01:00
Fabien Potencier
a1eb0d3c44 bug #35428 [Cache] fix checking for igbinary availability (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Cache] fix checking for igbinary availability

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

As reported by @andrerom in a2c924d772 (r36427445)

Commits
-------

09818e99ac [Cache] fix checking for igbinary availability
2020-01-22 10:38:05 +01:00
Fabien Potencier
1e9aad0670 minor #35432 [4.3] Minor Travis configuration cosmetic patch (romainneutron)
This PR was merged into the 4.3 branch.

Discussion
----------

[4.3] Minor Travis configuration cosmetic patch

| Q             | A
| ------------- | ---
| Branch?       | 4.3 (Does not appear in previous versions)
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no

The Travis configuration is organized in steps: each step begins with a comment followed by the commands to run.
The ` # List all PHP extensions with versions` is empty, its content has been put in the next section, without comment title.

This patch fixes this minor issue

Commits
-------

3918f23307 Minor Travis cosmetic patch
2020-01-22 10:36:15 +01:00
Romain Neutron
3918f23307
Minor Travis cosmetic patch 2020-01-22 10:20:58 +01:00
Nicolas Grekas
09818e99ac [Cache] fix checking for igbinary availability 2020-01-22 08:40:03 +01:00
Fabien Potencier
f2cf444fb0 bumped Symfony version to 4.3.11 2020-01-21 14:21:51 +01:00
Fabien Potencier
cb6fc75d4d
Merge pull request #35412 from fabpot/release-4.3.10
released v4.3.10
2020-01-21 14:14:01 +01:00
Fabien Potencier
83a0727346 updated VERSION for 4.3.10 2020-01-21 14:13:44 +01:00
Fabien Potencier
7a676b04f6 updated CHANGELOG for 4.3.10 2020-01-21 14:13:32 +01:00
Fabien Potencier
6aec780351 bumped Symfony version to 3.4.38 2020-01-21 14:12:52 +01:00
Fabien Potencier
1bd873459b
Merge pull request #35411 from fabpot/release-3.4.37
released v3.4.37
2020-01-21 13:30:09 +01:00
Fabien Potencier
10663730ae updated VERSION for 3.4.37 2020-01-21 13:29:51 +01:00
Fabien Potencier
c7333d0aa6 update CONTRIBUTORS for 3.4.37 2020-01-21 13:29:48 +01:00
Fabien Potencier
a3cc5e50c0 updated CHANGELOG for 3.4.37 2020-01-21 13:29:39 +01:00
Nicolas Grekas
79d9bdac35 bug #35364 [Yaml] Throw on unquoted exclamation mark (fancyweb)
This PR was merged into the 4.3 branch.

Discussion
----------

[Yaml] Throw on unquoted exclamation mark

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

Commits
-------

6b4147c991 [Yaml] Throw on unquoted exclamation mark
2020-01-21 12:09:03 +01:00
Nicolas Grekas
c7a1916661 Merge branch '3.4' into 4.3
* 3.4:
  Use supportsClass where possible
2020-01-21 12:08:18 +01:00
Nicolas Grekas
fb0be81b7a bug #35065 [Security] Use supportsClass in addition to UnsupportedUserException (linaori)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Use supportsClass in addition to UnsupportedUserException

| Q             | A
| ------------- | ---
| Branch?       | 3.4+
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #35045
| License       | MIT
| Doc PR        | ~

This PR fixes the issue where user providers rely on just the UnsupportedUserException from `refreshUser()`, causing a flow where users are wrongfully re-authenticated.

There's one issue where `refreshUser()` can do far more sophisticated checks on the user class, which it will never reach if the class is not supported. As far as I know it was never intended to support instances that are rejected by `supportsClass()`, though people could've implemented this (by accident). So the question is more if we should add a BC layer for this; for example:

```php
try {
    $refreshedUser = $provider->refreshUser($user);
    $newToken = clone $token;
    $newToken->setUser($refreshedUser);

    if (!$provider->supportsClass($userClass)) {
        if ($this->shouldCheckSupportsClass) {
            continue;
        }
        // have to think of a proper deprecation here for 6.0
        @trigger_error('Provider %s does not support user class %s via supportsClass() while it does support it via refreshUser .. please set option X and fix %s::supportsUser() ', E_USER_DEPRECATED);
    }
```
This would prevent behavior from breaking but also means we can't fix this on anything less than 5.1.

Commits
-------

d3942cbe17 Use supportsClass where possible
2020-01-21 12:02:57 +01:00
Nicolas Grekas
31410c7273 minor #35409 [Messenger] Add missing documentation link in README (pyrech)
This PR was submitted for the 4.4 branch but it was merged into the 4.3 branch instead.

Discussion
----------

[Messenger] Add missing documentation link in README

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

Commits
-------

5714eaa0de Add link to messenger documentation in its README
2020-01-21 11:11:20 +01:00
Loïck Piera
5714eaa0de Add link to messenger documentation in its README 2020-01-21 11:11:13 +01:00
Nicolas Grekas
c80a7ad042 [HttpKernel] restore compat with clock mocking 2020-01-21 11:03:13 +01:00
Fabien Potencier
f1230757c3 Merge branch '3.4' into 4.3
* 3.4:
  chown and chgrp should also accept int as owner and group
  Fix RememberMe with null password
  [Validator] Fix plurals for sr_Latn (Serbian language written in latin script) validation messages
  [PhpUnitBridge][SymfonyTestsListenerTrait] Remove some unneeded code
  fix PHP const mapping keys using the inline notation
  Fix that no-cache requires positive validation with the origin, even for fresh responses
2020-01-21 09:20:29 +01:00
Nicolas Grekas
ff174dfec3 minor #35178 [PhpUnitBridge][SymfonyTestsListenerTrait] Remove some unneeded code (fancyweb)
This PR was merged into the 3.4 branch.

Discussion
----------

[PhpUnitBridge][SymfonyTestsListenerTrait] Remove some unneeded code

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

Risky errors when there are no assertions are added before the test end listeners are called (ie, before the code in endTest is executed) so forcing beStrictAboutTestsThatDoNotTestAnything to false when there is a expectedDeprecation annotation is enough.

If the goal is to reset the value to the original value, then I think we should not do it since we basically "lie" to the next listeners. Let's assume that when a test expect a deprecation, it can have 0 assertions. Also this flag is not used anymore by PHPUnit after we reset it.

Ref https://github.com/symfony/symfony/pull/21786 btw

Commits
-------

fb48bbc05b [PhpUnitBridge][SymfonyTestsListenerTrait] Remove some unneeded code
2020-01-20 13:28:41 +01:00
Craig Duncan
ef3bcda5e3 Mysqli doesn't support the named parameters used by PdoStore 2020-01-17 17:27:29 +00:00
Thomas Calvet
6b4147c991 [Yaml] Throw on unquoted exclamation mark 2020-01-17 12:30:02 +01:00
Nicolas Grekas
f889c1167f minor #35369 [Filesystem] chown and chgrp should also accept int as owner and group (3.4) (Slamdunk)
This PR was merged into the 3.4 branch.

Discussion
----------

[Filesystem] chown and chgrp should also accept int as owner and group (3.4)

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

Reference: https://github.com/symfony/symfony/pull/35356#issuecomment-575526299

Commits
-------

6b811e6b4c chown and chgrp should also accept int as owner and group
2020-01-17 12:07:25 +01:00