Commit Graph

43186 Commits

Author SHA1 Message Date
Nicolas Grekas
ef2db217e2 [Cache][DI] cleanup 2019-08-12 09:38:14 +02:00
Nicolas Grekas
f51f7e7b74 [HttpFoundation] fix typo 2019-08-11 11:51:13 +02:00
Nicolas Grekas
ed590ca16b Revert "bug #33092 [DependencyInjection] Improve an exception message (fabpot)"
This reverts commit 2f2d1aa053, reversing
changes made to 07cf927237.
2019-08-10 23:23:27 +02:00
Nicolas Grekas
45d449ce5b minor #33094 Bump minimal requirements (jderusse)
This PR was merged into the 4.3 branch.

Discussion
----------

Bump minimal requirements

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? |
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Follow up #33079 Fix failures with lowest requirements in branch 4.3

Commits
-------

c874d3b778 Bump minimal requirements
2019-08-10 23:09:35 +02:00
Jérémy Derussé
c874d3b778 Bump minimal requirements 2019-08-10 23:01:55 +02:00
Nicolas Grekas
9d9f5582b2 Merge branch '3.4' into 4.3
* 3.4:
  cleanups
  Disable PHPUnit result cache on the CI
  [Translation] Highlight invalid translation status
2019-08-10 22:47:15 +02:00
Nicolas Grekas
7fb7f59385 cleanups 2019-08-10 22:41:30 +02:00
Nicolas Grekas
d45b903935 minor #33110 Disable PHPUnit result cache on the CI (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

Disable PHPUnit result cache on the CI

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

We don't need it and disabling it works around the segfault on 4.3

Commits
-------

912d7db7dd Disable PHPUnit result cache on the CI
2019-08-10 21:57:59 +02:00
Nicolas Grekas
912d7db7dd Disable PHPUnit result cache on the CI 2019-08-10 20:59:22 +02:00
Fabien Potencier
6070daa079 minor #33103 [Security] Cleanup "Digest nonce has expired." translation (ro0NL)
This PR was merged into the 4.3 branch.

Discussion
----------

[Security] Cleanup "Digest nonce has expired." translation

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Same as #31243 actually

Commits
-------

7aa1120993 [Security] Cleanup "Digest nonce has expired." translation
2019-08-10 10:01:42 +02:00
Fabien Potencier
80c970dbbf minor #33102 [Translation] Highlight invalid translation status (ro0NL)
This PR was merged into the 3.4 branch.

Discussion
----------

[Translation] Highlight invalid translation status

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Highlights translation locales with overflow in red, which is currently the case in 4.3 :)

Commits
-------

2d8015551e [Translation] Highlight invalid translation status
2019-08-10 09:58:47 +02:00
Roland Franssen
7aa1120993 [Security] Cleanup "Digest nonce has expired." translation 2019-08-10 09:37:37 +02:00
Roland Franssen
2d8015551e [Translation] Highlight invalid translation status 2019-08-10 09:29:37 +02:00
Fabien Potencier
1ca00893f6 Merge branch '3.4' into 4.3
* 3.4:
  Added translations in validator for Serbian Cyrillic
  Added translations in validator for Serbian Latin
2019-08-10 07:38:01 +02:00
Fabien Potencier
5e3bfad8c8 minor #33096 Added translations in validator for Serbian Cyrillic (Kristijan Kanalas)
This PR was squashed before being merged into the 3.4 branch (closes #33096).

Discussion
----------

Added translations in validator for Serbian Cyrillic

Resolves #30188

Should be able for merges in branches >3.4, not sure how to do that tho :(

Commits
-------

23d4a23b46 Added translations in validator for Serbian Cyrillic
2019-08-10 07:37:06 +02:00
Kristijan Kanalas
23d4a23b46 Added translations in validator for Serbian Cyrillic 2019-08-10 07:36:57 +02:00
Fabien Potencier
143789cabe minor #33097 Added translations in validator for Serbian Latin (Kristijan Kanalas)
This PR was squashed before being merged into the 3.4 branch (closes #33097).

Discussion
----------

Added translations in validator for Serbian Latin

[Validator] Added translations
Related to #30188

Working on Serbian Cyrillic I saw that Latin translations are also missing some translations so this is a PR related to that. As said in the Cyrillic PR this should be able to be merged in all branches above 3.4, but I am not sure how to do that.

Commits
-------

fbe7362362 Added translations in validator for Serbian Latin
2019-08-10 07:35:48 +02:00
Kristijan Kanalas
fbe7362362 Added translations in validator for Serbian Latin 2019-08-10 07:35:39 +02:00
Yonel Ceruto
a944f2909f bug #33093 [EventDispatcher] wrong Request class (maxhelias)
This PR was merged into the 4.3 branch.

Discussion
----------

[EventDispatcher] wrong Request class

| Q             | A
| ------------- | ---
| Branch?       | 4.3 <!-- see below -->
| Bug fix?      | yes
| New feature?  |no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? |no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | -   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | - <!-- required for new features -->

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

97d6184 [EventDispatcher] wrong Request class
2019-08-09 10:18:46 -04:00
Maxime Helias
97d6184123 [EventDispatcher] wrong Request class 2019-08-09 15:57:59 +02:00
Fabien Potencier
2f2d1aa053 bug #33092 [DependencyInjection] Improve an exception message (fabpot)
This PR was merged into the 4.3 branch.

Discussion
----------

[DependencyInjection] Improve an exception message

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

When defining a service with an id that is also a class name, you might have an error message like `Class “” used for service “\App\Some\Service” cannot be found.` if your is starts with a backslash.

The new error message is now hopefully less cryptic: `Service definition "\App\Some\Service" has no class, and its name looks like a FQCN but it starts with a backslash; remove the leading backslash.`

Commits
-------

3647ccaeca [DependencyInjection] improved exception message
2019-08-09 14:54:19 +02:00
Nicolas Grekas
07cf927237 Merge branch '3.4' into 4.3
* 3.4:
  Bump minimal requirements
  Use PHPUnit 8.3 on Travis when possible
2019-08-09 14:37:48 +02:00
Fabien Potencier
3647ccaeca [DependencyInjection] improved exception message 2019-08-09 14:35:59 +02:00
Nicolas Grekas
6b1ddd1759 minor #33079 Use PHPUnit 8.3 on Travis when possible (nicolas-grekas, jderusse)
This PR was merged into the 3.4 branch.

Discussion
----------

Use PHPUnit 8.3 on Travis when possible

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Followup #33072 to fix dependency resolution

Commits
-------

41d94c3226 Bump minimal requirements
de5256b78b Use PHPUnit 8.3 on Travis when possible
2019-08-09 14:33:03 +02:00
Fabien Potencier
1ff2ab3dc1 bug #32541 [HttpKernel] trim the leading backslash in the controller init (Simperfit, fabpot)
This PR was submitted for the 4.4 branch but it was merged into the 4.3 branch instead (closes #32541).

Discussion
----------

[HttpKernel] trim the leading backslash in the controller init

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #29945
| License       | MIT
| Doc PR        | none <!-- required for new features -->

<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

This fixes an error where the classes exists when using a leading backslash in the controller, it's not invalid to do so.

see https://github.com/symfony/symfony/pull/30045#discussion_r271716906

Commits
-------

3c8d395d0d [HttpKernel] fixed class having a leading \ in a route controller
6fdf2527d6 [HttpKernel] trim the leading backslash in the controller init
2019-08-09 14:15:57 +02:00
Fabien Potencier
3c8d395d0d [HttpKernel] fixed class having a leading \ in a route controller 2019-08-09 14:15:48 +02:00
Amrouche Hamza
6fdf2527d6 [HttpKernel] trim the leading backslash in the controller init 2019-08-09 14:15:48 +02:00
Jérémy Derussé
41d94c3226
Bump minimal requirements 2019-08-09 13:59:47 +02:00
Nicolas Grekas
de5256b78b
Use PHPUnit 8.3 on Travis when possible 2019-08-09 13:59:44 +02:00
Nicolas Grekas
ece1532f27 Merge branch '3.4' into 4.3
* 3.4:
  Fix typo
  Fix unitialized variable in DeprecationErrorHandler
  fix Danish translations
  Added the missing translations for the Slovak 'sk' locale.
  Fix negative DateInterval
2019-08-09 13:45:54 +02:00
Nicolas Grekas
d851a794fc Fix typo 2019-08-09 13:44:41 +02:00
Nicolas Grekas
7bfd7bb664 minor #33087 Fix unitialized variable in DeprecationErrorHandler (jderusse)
This PR was merged into the 3.4 branch.

Discussion
----------

Fix unitialized variable in DeprecationErrorHandler

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

In some case the variable `isAtLeastPhpUnit83` were not initialized (see https://github.com/symfony/symfony/pull/33079/files#r312406060).
This PR initialize it when needed.

Commits
-------

310e5c7549 Fix unitialized variable in DeprecationErrorHandler
2019-08-09 13:31:42 +02:00
Jérémy Derussé
310e5c7549
Fix unitialized variable in DeprecationErrorHandler 2019-08-09 11:49:26 +02:00
Fabien Potencier
c474e34dd1 minor #33085 [Validator] fix Danish translations (xabbuh)
This PR was merged into the 3.4 branch.

Discussion
----------

[Validator] fix Danish translations

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #30155
| License       | MIT
| Doc PR        |

Commits
-------

6e0c916eaf fix Danish translations
2019-08-09 11:44:35 +02:00
Christian Flothmann
6e0c916eaf fix Danish translations 2019-08-09 11:35:22 +02:00
Fabien Potencier
e5e3d6a87f minor #33083 Added the missing translations for the Slovak 'sk' locale. (xavice)
This PR was merged into the 3.4 branch.

Discussion
----------

Added the missing translations for the Slovak 'sk' locale.

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets |   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        |  <!-- required for new features -->

Added the missing translations for the Slovak 'sk' locale.
<!--
Replace this notice by a short README for your feature/bugfix. This will help people
understand your PR and can be used as a start for the documentation.

Additionally (see https://symfony.com/roadmap):
 - Bug fixes must be submitted against the lowest maintained branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against branch 4.4.
 - Legacy code removals go to the master branch.
-->

Commits
-------

32a085a75f Added the missing translations for the Slovak 'sk' locale.
2019-08-09 11:15:50 +02:00
Jan Vernarsky
32a085a75f Added the missing translations for the Slovak 'sk' locale. 2019-08-09 10:35:07 +02:00
Fabien Potencier
51eb41b4c6 bug #32455 [HttpFoundation] Clear invalid session cookie (Toflar)
This PR was submitted for the 4.2 branch but it was squashed and merged into the 4.3 branch instead (closes #32455).

Discussion
----------

[HttpFoundation] Clear invalid session cookie

| Q             | A
| ------------- | ---
| Branch?       | 4.2 (actually maybe should also go to 3.4, see below)
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | TODO
| Fixed tickets |
| License       | MIT
| Doc PR        | not required

Currently, invalid session cookies are not cleaned up.

If the session is empty, the `AbstractSessionHandler::write()` destroys the session. If a new session has been started in the current process (meaning `session_start()` has sent the `Set-Cookie` header) then the `AbstractSessionHandler` will make sure this cookie is not sent to the client. If, however, `session_start()` did not send a cookie (meaning there was already a valid session ID in your request cookie), the `AbstractSessionHandler` will clear the session cookie (send a 0-lifetime cookie).
If, however, the request does contain a session ID cookie but it is not valid, `session_start()` will send a new cookie which is then again cleared by the `AbstractSessionHandler`. But it will not clear the old cookie sent by the request.

Here's a more complex example of what happens in the code flow when a user logs out and we regenerate a new session id for security reasons:

1. You have no `PHPSESSID` cookie yet.
2. You log into the system, you get a new `PHPSESSID` assigned. Let's go for session ID `1`.
3. You log out of the system, for security reasons you get session ID `2` regenerated.
4. The `AbstractSessionListener` pops in and calls `->save()` on your session handler.
5. The `NativeSessionStorage` calls the `StrictSessionHandler` (in fact the abstract parent, `AbstractSessionHandler`) which `write()`s the session data. In case the session data is empty, it will actually `destroy()` the session which means it will invalidate the session cookie. In that case, however, it won't send a 0-lifetime cookie because `$cookie = SessionUtils::popSessionCookie($this->sessionName, $sessionId);` will **not** return `null`. That is because after regeneration we actually do have a `Set-Cookie: PHPSESSID=2` header present.
6. This means, our `PHPSESSID=1` cookie is never deleted.

Why is this a problem?
Well, we have an invalid cookie that remains floating around forever. Loads of reverse proxies consider requests with cookies as being private and thus disable caching.

I'm not sure this is the correct fix here but it felt like the only place we can do this because it has to happen during or after `$session->save()`.

Looking for feedback first before we finish this with tests etc.

Regarding Symfony 3.4: Not sure how this is affected because there's not even a `SessionUtils` class so I'd prefer to leave that fix to somebody who feels more comfortable with that code base 😄

/cc @aschempp

Commits
-------

b22a7263b9 [HttpFoundation] Clear invalid session cookie
2019-08-09 09:08:28 +02:00
Yanick Witschi
b22a7263b9 [HttpFoundation] Clear invalid session cookie 2019-08-09 09:08:17 +02:00
Fabien Potencier
e848729ba7 bug #33066 [Serializer] Fix negative DateInterval (jderusse)
This PR was merged into the 3.4 branch.

Discussion
----------

[Serializer] Fix negative DateInterval

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #33052
| License       | MIT
| Doc PR        | NA

This PR adds support for negative and signed DateInterval

Commits
-------

abb8a676ba Fix negative DateInterval
2019-08-09 08:01:14 +02:00
Nicolas Grekas
1b98df7c64 minor #33067 [VarDumper] Fix test patern to handle callstack with/without return typehint (jderusse)
This PR was merged into the 4.3 branch.

Discussion
----------

[VarDumper] Fix test patern to handle callstack with/without return typehint

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #32844
| License       | MIT
| Doc PR        | NA

The TestCase::tearDownAfterClass methods does not always have the same signature which change the output of the reflection. This use another methods for testing

Commits
-------

feaadd1c0b Fix tst patern to handle callstack with/without return typehint
2019-08-08 23:10:45 +02:00
Nicolas Grekas
85c50119f1 Merge branch '3.4' into 4.3
* 3.4:
  Replace warning by isolated test
2019-08-08 22:52:04 +02:00
Nicolas Grekas
7afc9352f3 minor #33069 Replace warning by isolated test (jderusse)
This PR was merged into the 3.4 branch.

Discussion
----------

Replace warning by isolated test

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #32844
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Failing test introduced in PHP 7.4 (fatal error) were skiped with a warning exception.
This PR un tests is isolated process in order to correctly flag the test without stoping the test suite.

I kept a comment to the original bug in order to easily remove theme

Commits
-------

9c45a8e093 Replace warning by isolated test
2019-08-08 22:46:03 +02:00
Jérémy Derussé
9c45a8e093 Replace warning by isolated test 2019-08-08 22:45:38 +02:00
Jérémy Derussé
feaadd1c0b
Fix tst patern to handle callstack with/without return typehint 2019-08-08 21:16:30 +02:00
Jérémy Derussé
abb8a676ba
Fix negative DateInterval 2019-08-08 20:43:11 +02:00
Nicolas Grekas
38f08ba9dc Merge branch '3.4' into 4.3
* 3.4:
  [Intl] use strict comparisons
  Fix s-maxage=3 transient test
2019-08-08 19:11:28 +02:00
Tobias Schultze
02a90d2066 [Intl] use strict comparisons 2019-08-08 19:01:37 +02:00
Nicolas Grekas
d84ee870c2 minor #33051 [HttpKernel] Fix s-maxage=3 transient test (jderusse)
This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Fix s-maxage=3 transient test

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | NA
| License       | MIT
| Doc PR        | NA

sometime the http server returns a `s-maxage=3` header (https://travis-ci.org/symfony/symfony/jobs/569326531)
This PR fixes tests to allow both 2 and 3

Commits
-------

f019b5214d Fix s-maxage=3 transient test
2019-08-08 17:36:09 +02:00
Nicolas Grekas
fdf6fc349c Merge branch '3.4' into 4.3
* 3.4:
  Improve some URLs
  Fix test compatibility with 4.x components
  [Cache] cs fix
2019-08-08 17:11:33 +02:00