Commit Graph

28795 Commits

Author SHA1 Message Date
Fabien Potencier
728574d94f minor #39095 [Cache] Run Redis Sentinel tests in GithubAction (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[Cache] Run Redis Sentinel tests in GithubAction

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

Add support for Sentinel tests in GHA

Commits
-------

bd84394dc5 Run Redis Sentinel tests in GithubAction
2020-11-17 06:55:49 +01:00
Jérémy Derussé
bd84394dc5
Run Redis Sentinel tests in GithubAction 2020-11-16 18:15:10 +01:00
Alexander M. Turek
15da31686a [Ldap] Fix undefined variable $con. 2020-11-16 18:05:55 +01:00
Alexander M. Turek
55707fbcba minor #39030 [LDAP] Add ldap tests to github CI (lucasaba, jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[LDAP] Add ldap tests to github CI

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

Adds LDAP test on github actions pipeline and corrects sum bugs in the LDAP Component test

It also adds a bug resolution from @Nek- made in #38875

Commits
-------

ea78f728b1 Use GithubAction to run ldap tests
af9562b12c Adds LDAP Adapter test in integration group
2020-11-16 16:51:33 +01:00
Jérémy Derussé
ea78f728b1
Use GithubAction to run ldap tests 2020-11-16 16:15:08 +01:00
Alexander M. Turek
cf70d3a180 bug #39091 [Config] Recheck glob brace support after GlobResource was serialized (wouterj)
This PR was merged into the 4.4 branch.

Discussion
----------

[Config] Recheck glob brace support after GlobResource was serialized

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

cc @bastnic

This bug was reported on Symfony Slack: `$this->globBrace` is set to `null` after unserialization from the `.meta` file.

Instead of serializing this property, I decided to reinitialize the property after unserialization. I think that's a safer option (e.g. it works when the cache is build on a different server with different globBrace support than the one running the application).

Commits
-------

d9534779cf Reinitialize globBrace after unserialization
2020-11-16 15:38:21 +01:00
Luca Saba
af9562b12c
Adds LDAP Adapter test in integration group
Adds ext-ldap on github-actions
2020-11-16 15:17:13 +01:00
Jérémy Derussé
a2b74762a6
Fix critical extension when reseting paged control 2020-11-16 12:50:58 +01:00
Wouter de Jong
d9534779cf Reinitialize globBrace after unserialization 2020-11-16 12:15:53 +01:00
Alexander M. Turek
091265bbbb bug #38614 [HttpFoundation] Fix for virtualhosts based on URL path (mvorisek)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpFoundation] Fix for virtualhosts based on URL path

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

This PR fixes base URL detection when:
- virtualhost is based on URL path
- AND local path does not match that URL virtual host path prefix

fix covered with tests

Commits
-------

75ff86811f [HttpFoundation] Fix for virtualhosts based on URL path
2020-11-15 23:42:48 +01:00
Fabien Potencier
1f4625053c minor #39080 [Yaml] remove unreachable code (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Yaml] remove unreachable code

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

mistakenly added in #33658

Commits
-------

5907444e81 remove unreachable code
2020-11-14 16:22:22 +01:00
Christian Flothmann
5907444e81 remove unreachable code 2020-11-14 15:49:24 +01:00
Antoine Makdessi
4e45d2da3b
Update ExceptionEvent.php 2020-11-13 13:20:22 +01:00
Christian Flothmann
c72f85333a bug #38387 [Validator] prevent hash collisions caused by reused object hashes (fancyweb, xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] prevent hash collisions caused by reused object hashes

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

Commits
-------

8dd1a6e545 prevent hash collisions caused by reused object hashes
9645fa39ec [Validator][RecursiveContextualValidator] Prevent validated hash collisions
2020-11-13 10:30:24 +01:00
Christian Flothmann
3834d76e11 bug #38999 [DependencyInjection] autoconfigure behavior describing tags on decorators (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] autoconfigure behavior describing tags on decorators

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

Commits
-------

73a3b838b7 autoconfigure behavior describing tags on decorators
2020-11-13 10:27:22 +01:00
Christian Flothmann
8dd1a6e545 prevent hash collisions caused by reused object hashes 2020-11-13 10:14:12 +01:00
Christian Flothmann
73a3b838b7 autoconfigure behavior describing tags on decorators 2020-11-13 10:09:04 +01:00
Alexander M. Turek
038497cb80 minor #38898 [Cache] Add tests on CacheDataCollector (ScullWM)
This PR was merged into the 4.4 branch.

Discussion
----------

[Cache] Add tests on CacheDataCollector

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | no <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| License       | MIT
<!--
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/releases):
 - Always add tests and ensure they pass.
 - Never break backward compatibility (see https://symfony.com/bc).
 - 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 5.x.
-->

The `calculateStatistics()` method of `Symfony\Component\Cache\DataCollector\CacheDataCollector` contain a lot of logic and manipulate multi-dimensional array that could be refactor with VO.

But before doing this, I would add test on this part.

Commits
-------

7b4310f045 Add tests on CacheDataCollector
2020-11-12 17:05:23 +01:00
Thomas P
7b4310f045 Add tests on CacheDataCollector 2020-11-12 16:25:20 +01:00
Alexander M. Turek
faead9574a bug #39058 [DependencyInjection] Fix circular detection with multiple paths (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Fix circular detection with multiple paths

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

There are currently 2 kind of issues related to the Dependency Injection:

1. performance issue when project contains many loops (#37850)
Which has been fixed by #38882

2. Infinity loop in some case (#38970)
Which has been fixed by #38980 and #39021

The new issue #39056 has been introduced by #38882 (The performance issue refactor) because in order to optimize loop detection, I take a short cut and choose to not collect ALL the circular loop but only the one that matters

I was wrong. All loops matters.

This PR fix my previous refacto to collect ALL the paths, with a low CPU footprint

Commits
-------

1c3721e8ad Fix circular detection with multiple paths
2020-11-12 11:26:24 +01:00
Thomas Calvet
9645fa39ec [Validator][RecursiveContextualValidator] Prevent validated hash collisions 2020-11-12 09:33:23 +01:00
Nicolas Grekas
33fce73bdf [Filesystem] fix cleaning up tmp files when dumpFile() fails 2020-11-11 23:20:15 +01:00
Jérémy Derussé
1c3721e8ad
Fix circular detection with multiple paths 2020-11-11 19:26:13 +01:00
Fabien Potencier
0ae674a29a bug #39021 [DependencyInjection] Optimize circular collection by removing flattening (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

 [DependencyInjection] Optimize circular collection by removing flattening

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

Alternative to #39019

Commits
-------

e649f47726 Optimize circular collection by removing flattening
2020-11-09 13:20:23 +01:00
Jérémy Derussé
e649f47726
Optimize circular collection by removing flattening 2020-11-09 12:28:57 +01:00
Jérémy Derussé
4fe0a6f2b9
Fix LDAP pagination 2020-11-07 21:18:28 +01:00
Nyholm
0ab3032c52
[CI] Fixed invalid doctrine parameter syntax 2020-11-05 21:54:48 +01:00
Robin Chalas
75f8ac1e9b bug #38991 [Console] Fix ANSI when stdErr is not a tty (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] Fix ANSI when stdErr is not a tty

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

Taking the @wouterj 's comment into account (https://github.com/symfony/symfony/issues/38981#issuecomment-721915428)

This PR prevents using the same Formatter for stdOut and stdErr when possible.

When user send a custom formatter (or call `setFormatter`) the previous logic is kept.
Otherwise, symfony is asked to create the Formatter, and thus is able to clone the formatter.

In a future PR targeting 5.3, we could improve the constructor to let people inject 2 distinguished formatters

Commits
-------

f3a398b5af Fix ANSI when stdErr is not a tty
2020-11-05 16:22:05 +01:00
Nicolas Grekas
61b3872b65 bug #38980 [DependencyInjection] Fix circular reference with Factory + Lazy Iterrator (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Fix circular reference with Factory + Lazy Iterrator

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

The issue, occurs when a `factory` iterates over services (think tagged iterator) that also need the `factory`.
The PhpDumper is not able to detect the loop because the TaggedService iterator is flaged as "lazy" which is ignored in the loop detection. 2d7e0b02c6/src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php (L474-L476)

See test case for a reproduce case.

This PR takes into account lazy services when computing loops.

I'm not sure this is the right thing to do /cc @nicolas-grekas .
A better solution could be to do this ONLY when the service is used as a factory?

Commits
-------

51ff060603 Fix circular referene with Factory and LazyIterator
2020-11-05 12:51:33 +01:00
Jérémy Derussé
f3a398b5af
Fix ANSI when stdErr is not a tty 2020-11-05 10:51:39 +01:00
Alexander M. Turek
60e506835a [Security] Fix docblock. 2020-11-05 00:24:50 +01:00
Jérémy Derussé
51ff060603
Fix circular referene with Factory and LazyIterator 2020-11-04 15:21:44 +01:00
Thomas Lallement
3dd385f319
Rename security.pt_PT.xlf to security.pt.xlf 2020-11-03 17:58:31 +01:00
Michael Voříšek
75ff86811f [HttpFoundation] Fix for virtualhosts based on URL path 2020-11-03 12:58:18 +01:00
Nicolas Grekas
703497dccf bug #38971 [PhpUnitBridge] fix replaying skipped tests (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[PhpUnitBridge] fix replaying skipped tests

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

Spotted while working on https://github.com/symfony/polyfill/pull/310

See also https://3v4l.org/D6Gro for the newly skipped tests in symfony/intl

Commits
-------

849d1b3845 [PhpUnitBridge] fix replaying skipped tests
2020-11-03 12:57:46 +01:00
Nicolas Grekas
849d1b3845 [PhpUnitBridge] fix replaying skipped tests 2020-11-03 12:50:26 +01:00
Nicolas Grekas
76c19393c8 [HttpKernel] fix merge 2020-11-02 17:06:19 +01:00
Nicolas Grekas
5831ab2b62 bug #38910 [HttpKernel] Fix session initialized several times (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] Fix session initialized several times

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

The session injected in the request is a factory. When the request is **cloned** (ie sub-request) while the session is not yet used in the master request (the session is still a factory), both Master and Sub request will have a factory.
If both requests attempt to read the session afterward, they both triggers the factory, and both initialize the session.

It's not a dead end for the `SessionListener` because the session come from the container and is shared, but:
- the session is initialized ($storage->setOptions(['cookie_secure' => true])) twice
- if we replace the sesssion from container to a factory, it could be an issue

Commits
-------

30a3c7c87b Fix session called initized several time
2020-11-02 16:36:10 +01:00
Nicolas Grekas
8375eeef67 bug #38882 [DependencyInjection] Improve performances in CircualReference detection (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[DependencyInjection] Improve performances in CircualReference detection

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

This PR change the way circular references are detected.  And improve the project submitted in #37850 [by **86%**](https://blackfire.io/profiles/compare/cc4aa41d-5b63-4caa-9a1b-fc282dc5d64a/graph) (Build the container in 1.1 sec instead of 10)

Issue is: When a project contains a lot Circular Reference, the Dumper [spend a lot of time](https://blackfire.io/profiles/54f6eba2-b93c-4f2b-a268-1e58883faecb/graph) in merging those circular references.
note: a circular reference is not an issue when an service is not injected by constructor, but this Can not be known until all references are resolved (performed previously by connectCircularReferences)

This PR removed the connectCircularReferences and generate a flatten tree of dependencies:
 - the key is the service ID
 - the value is the list of direct **AND** indirect dependency + path to join the dependency

I also [benched the PR with a project with few references](https://blackfire.io/profiles/compare/2f9902e6-3347-40b3-8421-e1fd09c067d2/graph) and result are almost the same before/after.

Commits
-------

d4db75692b Improve performances in CircualReference detection
2020-11-02 16:10:49 +01:00
Nicolas Grekas
ed217a1435 bug #38950 [Process] Dont test TTY if there is no TTY support (Nyholm)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

[Process] Dont test TTY if there is no TTY support

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

Commits
-------

e918e5ab30 [Process] Dont test TTY if there is no TTY support
2020-11-02 16:10:23 +01:00
Nyholm
e918e5ab30 [Process] Dont test TTY if there is no TTY support 2020-11-02 16:10:16 +01:00
Nicolas Grekas
cd53800026 minor #38917 Fixing some Mongolian (Nyholm)
This PR was squashed before being merged into the 4.4 branch.

Discussion
----------

Fixing some Mongolian

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

Hey @luffy1727, could you help me with the last two strings here?

Commits
-------

5c848d9796 Fixing some Mongolian
2020-11-02 16:02:38 +01:00
Nyholm
5c848d9796 Fixing some Mongolian 2020-11-02 16:02:29 +01:00
Bruno Araujo
c0524197a0 translating the validators for european portuguese language 2020-11-02 16:00:21 +01:00
Ben Hakim
b99977efce
Update validators.he.xlf 2020-11-02 16:11:24 +02:00
Alexander M. Turek
ba7c60b745 minor #38961 Update validators.he.xlf (ben29)
This PR was merged into the 4.4 branch.

Discussion
----------

Update validators.he.xlf

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

Commits
-------

98a7e8e150 Update validators.he.xlf
2020-11-02 15:00:41 +01:00
Ben Hakim
c8ab10f427
Update security.he.xlf 2020-11-02 15:41:03 +02:00
Ben Hakim
98a7e8e150
Update validators.he.xlf 2020-11-02 15:36:19 +02:00
Fabien Potencier
08da13391f minor #38932 [Validator] Merge RecursiveValidatorTest with its parents (derrabus)
This PR was merged into the 4.4 branch.

Discussion
----------

[Validator] Merge RecursiveValidatorTest with its parents

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

`RecursiveValidatorTest` as two abstract parent classes that to my understanding exist mainly for historic reasons: We used to have different validator implementations and those abstract classes contained some shared test cases. This is not the case anymore, which leaves `RecursiveValidatorTest` as the only child class of those two abstract classes.

This PR suggests to merge the three classes into one.

I've executed the test suite before and after the change and PHPUnit reported the same number of assertions and test cases.

I've also checked how the merge to 5.1 and 5.x would look like. The merge to 5.1 works without conflicts. From 5.1 to 5.x, two additional test cases have to be moved down and the reference to a few fixture classes needs to be adjusted.

Commits
-------

6822774d37 [Validator] Merge RecursiveValidatorTest with its parents.
2020-11-02 07:49:36 +01:00
Fabien Potencier
5c3781ae18 minor #38945 [Finder] Force set access time in test (Nyholm)
This PR was merged into the 4.4 branch.

Discussion
----------

[Finder] Force set access time in test

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no, it only updates the tests
| New feature?  | no
| Deprecations? | no
| Tickets       | Fix #38942
| License       | MIT
| Doc PR        |

OSX don't really update atime (access time). They claim it is because performance reasons. So this PR will update the test to make PHP force access time on a file.

The different runs of `testAccept` depends on each other because each test modifies the filesystem a bit. That is why I added the extra `sleep(1)`.

Commits
-------

c5ec51abdf [Finder] Force set access time in test
2020-11-02 07:48:36 +01:00