Commit Graph

31410 Commits

Author SHA1 Message Date
Fabien Potencier
df7099cb2d feature #39153 [Security] Automatically register custom authenticator as entry_point (if supported) (wouterj)
This PR was squashed before being merged into the 5.2 branch.

Discussion
----------

[Security] Automatically register custom authenticator as entry_point (if supported)

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

@weaverryan came up with exactly the same issue as proposed by a contributor before (see referenced ticket). Back then, it was decided impossible to fix: see https://github.com/symfony/symfony/pull/37075. However, after some thinking we came up with a way to fix the issue and improve the DX for custom authenticators.

The new authenticators are no longer required to implement `AuthenticationEntryPointInterface` (required for internal authenticators like the `RememberMeAuthenticator` and pre authenticated ones). This PR uses a compiler pass to check if a custom authenticator is supported:

```yaml
security:
  firewalls:
    main:
      # in any case, if an entry_point is already configured it'll not be overriden
      # (http_basic remains the entry point here)
      http_basic: ~
      custom_authenticator: App\Security\CustomAuthenticator
      entry_point: http_basic

      # if only one custom authenticator implements AuthenticationEntryPointInterface,
      # it's automatically configured as the entry point
      custom_authenticator: App\Security\CustomAuthenticator
      custom_authenticators: [App\Security\CustomAuthenticator, App\Security\NoEntryPointAuthenticator]

      # if no custom authenticator implements AuthenticationEntryPointInterface,
      # an error is thrown
      custom_authenticator: App\Security\NoEntryPointAuthenticator

      # if more than one authenticator implements AuthenticationEntryPointInterface,
      # the entry point must be configured explicitly (or an error is thrown)
      custom_authenticators: [App\Security\CustomAuthenticator, App\Security\AnotherCustomAuthenticator]
      entry_point: App\Security\CustomAuthenticator
```

---

I know this is very late for Symfony 5.2. It would be good to decide whether this can be included in the release, in order to smooth out the biggest struggle for people using custom authenticators for the first time.

Commits
-------

cab0672248 [Security] Automatically register custom authenticator as entry_point (if supported)
2020-11-27 11:24:59 +01:00
Wouter de Jong
cab0672248 [Security] Automatically register custom authenticator as entry_point (if supported) 2020-11-27 11:24:53 +01:00
Fabien Potencier
7378b0b836 feature #39128 [HttpFoundation] Deprecate BinaryFileResponse::create() (derrabus)
This PR was merged into the 5.2 branch.

Discussion
----------

[HttpFoundation] Deprecate BinaryFileResponse::create()

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

Follows #34771. We've deprecated the static `::create()` methods on all response classes but `BinaryFileResponse`. This PR proposes to fix this inconsistency.

Commits
-------

9ce2e86207 [HttpFoundation] Deprecate BinaryFileResponse::create().
2020-11-27 07:13:25 +01:00
Alexander M. Turek
01bea3c085 Support for SwitchUserToken instances serialized with 4.4/5.1. 2020-11-27 02:03:01 +01:00
Alexander M. Turek
62184bd8f0 Merge branch '5.1' into 5.2
* 5.1:
  Fix test.
  [PhpUnitBridge] Fix qualification of deprecations triggered by the debug class loader
  Improve return phpdoc for Normalizer
  Use a partial buffer in SymfonyStyle
  Fix console closing tag
  Fix typo in comment
  [VarDumper] fix casting resources turned into objects on PHP 8
2020-11-27 01:39:34 +01:00
Alexander M. Turek
b047064842 Fix test. 2020-11-27 01:30:48 +01:00
Alexander M. Turek
b96d0089a5 Merge branch '4.4' into 5.1
* 4.4:
  [PhpUnitBridge] Fix qualification of deprecations triggered by the debug class loader
  Improve return phpdoc for Normalizer
  Use a partial buffer in SymfonyStyle
  Fix console closing tag
  Fix typo in comment
  [VarDumper] fix casting resources turned into objects on PHP 8
2020-11-27 00:46:31 +01:00
Robin Chalas
fd910eb5b5 bug #39160 [Console] Use a partial buffer in SymfonyStyle (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[Console] Use a partial buffer in SymfonyStyle

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

Symfony style needs to buffer output in order to get the last 2 chars in order to prepend Block.

By using a `BufferedOutput` symfony bufferize everything while it not needed.

This PR adds a new `TrimmedBufferOutput` that keep only the N last chars.

Commits
-------

18fca2984d Use a partial buffer in SymfonyStyle
2020-11-26 00:15:36 +01:00
Vincent Langlet
f2713d6580 Improve return phpdoc for Normalizer 2020-11-25 12:55:08 +01:00
Jérémy Derussé
18fca2984d
Use a partial buffer in SymfonyStyle 2020-11-25 12:18:08 +01:00
Jérémy Derussé
2834c279d7
Fix console closing tag 2020-11-25 01:21:23 +01:00
Alexander M. Turek
f9d2afb9a0 bug #39155 [VarDumper] fix casting resources turned into objects on PHP 8 (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[VarDumper] fix casting resources turned into objects on PHP 8

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

Commits
-------

76a077d947 [VarDumper] fix casting resources turned into objects on PHP 8
2020-11-24 17:05:32 +01:00
Ikko Ashimine
ca93ae5b1a Fix typo in comment
possibe -> possible
2020-11-24 14:31:32 +01:00
Nicolas Grekas
76a077d947 [VarDumper] fix casting resources turned into objects on PHP 8 2020-11-24 10:55:37 +01:00
Ryan Weaver
79571e0e77 Removing AnonymousPassport
This is not used - is leftover from the security component
authenticator changes
2020-11-22 09:22:08 -05:00
Christian Flothmann
bdadbf31a0 Merge branch '5.1' into 5.2
* 5.1:
  Display debug info
  [HttpClient] don't fallback to HTTP/1.1 when HTTP/2 streams break
  fix lexing nested sequences/mappings
2020-11-21 10:39:55 +01:00
Christian Flothmann
634d168d9c Merge branch '4.4' into 5.1
* 4.4:
  [HttpClient] don't fallback to HTTP/1.1 when HTTP/2 streams break
  fix lexing nested sequences/mappings
2020-11-21 10:37:14 +01:00
Fabien Potencier
af8bd4bd26 Bump Symfony version to 5.2.0 2020-11-21 09:49:39 +01:00
Fabien Potencier
192b826178 Update VERSION for 5.2.0-RC2 2020-11-21 09:45:53 +01:00
Jérémy Derussé
fcbf0bf76e
Display debug info 2020-11-20 23:06:42 +01:00
Anderson Müller
4c6f4c7b9c
[HttpFoundation] Typo on deprecation package name 2020-11-20 18:25:36 +01:00
Alexander M. Turek
9ce2e86207 [HttpFoundation] Deprecate BinaryFileResponse::create(). 2020-11-20 16:47:02 +01:00
Fabien Potencier
b60bb6e2d6 bug #39115 [HttpClient] don't fallback to HTTP/1.1 when HTTP/2 streams break (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpClient] don't fallback to HTTP/1.1 when HTTP/2 streams break

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

With this change, I don't reproduce the failures that I describe in https://github.com/composer/composer/issues/9481 when running the script in #38690

Apparently curl has an issue when both h1.1 and h2 connections are open to the same host.

Instead of switching to HTTP/1.1 when retrying requests that failed because of an HTTP/2 stream error, I propose to close the http/2 connection when issuing a retry.

With this change, running the mirroring script of packagist works like a charm.

No need to investigate your mirrors @Seldaek, this was definitely a data corruption issue.

Commits
-------

0c92bc5a83 [HttpClient] don't fallback to HTTP/1.1 when HTTP/2 streams break
2020-11-19 07:02:19 +01:00
Fabien Potencier
308231aafb bug #33763 [Yaml] fix lexing nested sequences/mappings (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Yaml] fix lexing nested sequences/mappings

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | #34805, #37788, #37876, #39011, #39013, #39064
| License       | MIT
| Doc PR        |

Commits
-------

4c15f80d84 fix lexing nested sequences/mappings
2020-11-19 06:58:37 +01:00
Nicolas Grekas
0c92bc5a83 [HttpClient] don't fallback to HTTP/1.1 when HTTP/2 streams break 2020-11-19 01:16:06 +01:00
Wouter de Jong
e39e844606 Default to user provider, if available, in password upgrader 2020-11-18 22:00:38 +01:00
Alexander M. Turek
0302332238 Merge branch '5.1' into 5.2
* 5.1:
  do not depend on the actual time to fix a transient test
  Run Redis Sentinel tests in GithubAction
  Minor : Removed typo (extra "the" term)
  Check if method inheritEnvironmentVariables exists
  [PhpUnitBridge] Fix test fixture file name
2020-11-18 10:58:20 +01:00
Alexander M. Turek
3e90720bc1 Merge branch '4.4' into 5.1
* 4.4:
  do not depend on the actual time to fix a transient test
  Run Redis Sentinel tests in GithubAction
  Minor : Removed typo (extra "the" term)
  Check if method inheritEnvironmentVariables exists
  [PhpUnitBridge] Fix test fixture file name
2020-11-18 10:42:36 +01:00
Christian Flothmann
4c15f80d84 fix lexing nested sequences/mappings 2020-11-18 09:28:38 +01:00
Alexander M. Turek
1f0a27a732 Merge branch '3.4' into 4.4
* 3.4:
  Minor : Removed typo (extra "the" term)
  [PhpUnitBridge] Fix test fixture file name
2020-11-17 20:45:34 +01:00
Alexander M. Turek
218269e1e7 minor #39101 [HttpKernel] do not depend on the actual time to fix a transient test (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] do not depend on the actual time to fix a transient test

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

Commits
-------

b7e5c7d67d do not depend on the actual time to fix a transient test
2020-11-17 19:38:25 +01:00
Christian Flothmann
b7e5c7d67d do not depend on the actual time to fix a transient test 2020-11-17 19:23:54 +01:00
Fabien Potencier
3eec466502 bug #39083 [Dotenv] Check if method inheritEnvironmentVariables exists (Chi-teck)
This PR was merged into the 4.4 branch.

Discussion
----------

[Dotenv] Check if method inheritEnvironmentVariables exists

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

Commits
-------

bd72a56505 Check if method inheritEnvironmentVariables exists
2020-11-17 06:58:42 +01:00
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
Alexander M. Turek
fb52afaf53 Merge branch '5.1' into 5.2
* 5.1:
  [Ldap] Fix undefined variable $con.
  Use GithubAction to run ldap tests
  Adds LDAP Adapter test in integration group
  Fix critical extension when reseting paged control
  Reinitialize globBrace after unserialization
2020-11-16 19:02:40 +01:00
Alexander M. Turek
e05dc00d99 Merge branch '4.4' into 5.1
* 4.4:
  [Ldap] Fix undefined variable $con.
2020-11-16 18:33:12 +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
Bruno Baguette
160cc6144c
Minor : Removed typo (extra "the" term) 2020-11-16 18:02:08 +01:00
Alexander M. Turek
3372b3ef96 Merge branch '4.4' into 5.1
* 4.4:
  Use GithubAction to run ldap tests
  Adds LDAP Adapter test in integration group
  Fix critical extension when reseting paged control
  Reinitialize globBrace after unserialization
2020-11-16 16:58:32 +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
5a9a7be6e5 Merge branch '5.1' into 5.2
* 5.1:
  remove unreachable code
  Update ExceptionEvent.php
  fix firebase transport factory DI tag type
  [HttpFoundation] Fix for virtualhosts based on URL path
2020-11-16 00:02:13 +01:00
Alexander M. Turek
a71bce881a Merge branch '4.4' into 5.1 2020-11-15 23:55:04 +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
Chi-teck
bd72a56505 Check if method inheritEnvironmentVariables exists 2020-11-14 17:10:20 +00:00