Commit Graph

3792 Commits

Author SHA1 Message Date
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
Wouter de Jong
6b2db6dc30 Improved error message when no supported user provider is found 2020-01-27 10:46:58 +01:00
Nicolas Grekas
c08fabebe7 minor #35447 [Security] suggest a non-deprecated function replacement (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] suggest a non-deprecated function replacement

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

Commits
-------

731730fe2f suggest a non-deprecated function replacement
2020-01-23 11:58:55 +01:00
Christian Flothmann
731730fe2f suggest a non-deprecated function replacement 2020-01-23 10:45:54 +01:00
Nicolas Grekas
a8cc059c76 Merge branch '5.0'
* 5.0:
  [Yaml] Throw on unquoted exclamation mark
  Use supportsClass where possible
2020-01-21 12:13:09 +01:00
Nicolas Grekas
6c1265cdaa Merge branch '4.4' into 5.0
* 4.4:
  [Yaml] Throw on unquoted exclamation mark
  Use supportsClass where possible
2020-01-21 12:12:28 +01:00
Nicolas Grekas
9d33550945 Merge branch '4.3' into 4.4
* 4.3:
  [Yaml] Throw on unquoted exclamation mark
  Use supportsClass where possible
2020-01-21 12:12:16 +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
Fabien Potencier
a43c222cce Merge branch '4.3' into 4.4
* 4.3:
  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:44 +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
Fabien Potencier
52f77d2a93 Merge branch '5.0'
* 5.0:
  Fix #35385: Fix Console typehint
  Fix RememberMe with null password
  [String] add missing encoding when calling mb_ord()
2020-01-21 08:39:56 +01:00
Jérémy Derussé
820eb357c8
Fix RememberMe with null password 2020-01-14 22:28:32 +01:00
Jérémy Derussé
a7d0d82768
Fix RememberMe with null password 2020-01-14 22:27:30 +01:00
Nicolas Grekas
8acfd3a9d2 Merge branch '5.0'
* 5.0:
  [Debug] fix ClassNotFoundFatalErrorHandler
  [FrameworkBundle] Document the router.cache_class_prefix parameter removal
  [Routing] Fix using a custom matcher & generator dumper class
  [Notifier] Add more specific types at documentation level when php engine can't
  [Serializer] Fix cache in MetadataAwareNameConverter
  [Dotenv] Fixed infinite loop with missing quote followed by quoted value
  [HttpClient] Added missing sprintf
  [TwigBridge] button_widget now has its title attr translated even if its label = null or false
  [PhpUnitBridge] When using phpenv + phpenv-composer plugin, composer executable is wrapped into a bash script
  [Messenger] Added check if json_encode succeeded
  [Messenger] Added check if json_encode succeeded
  [FrameworkBundle][ContainerLintCommand] Only skip .errored. services
  [HttpClient] fix exception in case of PSR17 discovery failure
  [DependencyInjection] Handle ServiceClosureArgument for callable in container linting
  fix processing chain adapter based cache pool
  [HttpKernel] release lock explicitly
  [Security] Prevent canceled remember-me cookie from being accepted
  [FrameworkBundle][TranslationUpdateCommand] Do not output positive feedback on stderr
  [Security\Guard] Fix missing typehints
  do not render preferred choices as selected
2020-01-08 18:33:57 +01:00
Nicolas Grekas
d65de0f772 Merge branch '4.4' into 5.0
* 4.4:
  [Debug] fix ClassNotFoundFatalErrorHandler
  [Routing] Fix using a custom matcher & generator dumper class
  [Serializer] Fix cache in MetadataAwareNameConverter
  [Dotenv] Fixed infinite loop with missing quote followed by quoted value
  [HttpClient] Added missing sprintf
  [TwigBridge] button_widget now has its title attr translated even if its label = null or false
  [PhpUnitBridge] When using phpenv + phpenv-composer plugin, composer executable is wrapped into a bash script
  [Messenger] Added check if json_encode succeeded
  [Messenger] Added check if json_encode succeeded
  [FrameworkBundle][ContainerLintCommand] Only skip .errored. services
  [HttpClient] fix exception in case of PSR17 discovery failure
  [DependencyInjection] Handle ServiceClosureArgument for callable in container linting
  fix processing chain adapter based cache pool
  [HttpKernel] release lock explicitly
  [Security] Prevent canceled remember-me cookie from being accepted
  [FrameworkBundle][TranslationUpdateCommand] Do not output positive feedback on stderr
  [Security\Guard] Fix missing typehints
  do not render preferred choices as selected
2020-01-08 18:33:29 +01:00
Nicolas Grekas
80cd480254 Merge branch '4.3' into 4.4
* 4.3:
  [Debug] fix ClassNotFoundFatalErrorHandler
  [Routing] Fix using a custom matcher & generator dumper class
  [Dotenv] Fixed infinite loop with missing quote followed by quoted value
  [HttpClient] Added missing sprintf
  [TwigBridge] button_widget now has its title attr translated even if its label = null or false
  [PhpUnitBridge] When using phpenv + phpenv-composer plugin, composer executable is wrapped into a bash script
  [Messenger] Added check if json_encode succeeded
  [Security] Prevent canceled remember-me cookie from being accepted
  [FrameworkBundle][TranslationUpdateCommand] Do not output positive feedback on stderr
  [Security\Guard] Fix missing typehints
2020-01-08 18:29:02 +01:00
Nicolas Grekas
d6381617ac Merge branch '3.4' into 4.3
* 3.4:
  [Debug] fix ClassNotFoundFatalErrorHandler
  [Dotenv] Fixed infinite loop with missing quote followed by quoted value
  [TwigBridge] button_widget now has its title attr translated even if its label = null or false
  [PhpUnitBridge] When using phpenv + phpenv-composer plugin, composer executable is wrapped into a bash script
  [Security] Prevent canceled remember-me cookie from being accepted
  [FrameworkBundle][TranslationUpdateCommand] Do not output positive feedback on stderr
2020-01-08 18:19:22 +01:00
Robin Chalas
9b711b87fe [Security] Prevent canceled remember-me cookie from being accepted 2020-01-06 22:59:17 +01:00
Robin Chalas
2ef8771ad7 [Security\Guard] Fix missing typehints 2020-01-04 19:57:41 +01:00
Nicolas Grekas
e9f0cfe9db Merge branch '5.0'
* 5.0: (31 commits)
  [HttpClient] NativeHttpClient should not send >1.1 protocol version
  [HttpClient] fix support for non-blocking resource streams
  [Mailer] Make sure you can pass custom headers to Mailgun
  [Mailer] Remove line breaks in email attachment content
  Update links to documentation
  [Validator] Add the missing translations for the Arabic (ar) locale
  ensure to expect no validation for the right reasons
  [Security-Guard] fixed 35203 missing name tag in param docblock
  [HttpClient] fix casting responses to PHP streams
  [PhpUnitBridge] Add test case for @expectedDeprecation annotation
  [PhpUnitBridge][SymfonyTestsListenerTrait] Remove $testsWithWarnings stack
  [FrameworkBundle] Fix getUser() phpdoc in AbstractController
  [Mailer] Fix addresses management in Sendgrid API payload
  [Mailer][MailchimpBridge] Fix missing attachments when sending via Mandrill API
  [Mailer][MailchimpBridge] Fix incorrect sender address when sender has name
  [HttpClient] fix capturing SSL certificates with NativeHttpClient
  Update year in license files
  Update year in license files
  [TwigBridge][Form] Added missing help messages in form themes
  Update year in license files
  ...
2020-01-04 15:20:45 +01:00
Nicolas Grekas
581b439931 Merge branch '4.4' into 5.0
* 4.4: (26 commits)
  [HttpClient] NativeHttpClient should not send >1.1 protocol version
  [HttpClient] fix support for non-blocking resource streams
  [Mailer] Make sure you can pass custom headers to Mailgun
  [Mailer] Remove line breaks in email attachment content
  Update links to documentation
  [Validator] Add the missing translations for the Arabic (ar) locale
  ensure to expect no validation for the right reasons
  [Security-Guard] fixed 35203 missing name tag in param docblock
  [HttpClient] fix casting responses to PHP streams
  [PhpUnitBridge] Add test case for @expectedDeprecation annotation
  [PhpUnitBridge][SymfonyTestsListenerTrait] Remove $testsWithWarnings stack
  [Mailer] Fix addresses management in Sendgrid API payload
  [Mailer][MailchimpBridge] Fix missing attachments when sending via Mandrill API
  [Mailer][MailchimpBridge] Fix incorrect sender address when sender has name
  [HttpClient] fix capturing SSL certificates with NativeHttpClient
  Update year in license files
  [TwigBridge][Form] Added missing help messages in form themes
  Update year in license files
  Update year in license files
  fix version when "anonymous: lazy" was introduced
  ...
2020-01-04 15:08:26 +01:00
Nicolas Grekas
c000577edb Merge branch '4.3' into 4.4
* 4.3:
  [Mailer] Remove line breaks in email attachment content
  Update links to documentation
  [Validator] Add the missing translations for the Arabic (ar) locale
  ensure to expect no validation for the right reasons
  [PhpUnitBridge] Add test case for @expectedDeprecation annotation
  [PhpUnitBridge][SymfonyTestsListenerTrait] Remove $testsWithWarnings stack
  [Mailer][MailchimpBridge] Fix missing attachments when sending via Mandrill API
  [Mailer][MailchimpBridge] Fix incorrect sender address when sender has name
  [HttpClient] fix capturing SSL certificates with NativeHttpClient
  [TwigBridge][Form] Added missing help messages in form themes
  Update year in license files
  Update year in license files
  [HttpClient] fix typo
  [Console][FormatterHelper] Use helper strlen statically and remove duplicated code
  [Routing] Fix i18n routing when the url contains the locale
  Fix BC issue in phpDoc Reflection library
  [Translator] Performance improvement in MessageCatalogue and catalogue operations.
2020-01-04 14:00:46 +01:00
Nicolas Grekas
a56c3ef85c Merge branch '3.4' into 4.3
* 3.4:
  Update links to documentation
  [Validator] Add the missing translations for the Arabic (ar) locale
  ensure to expect no validation for the right reasons
  [PhpUnitBridge] Add test case for @expectedDeprecation annotation
  Update year in license files
  [Console][FormatterHelper] Use helper strlen statically and remove duplicated code
  Fix BC issue in phpDoc Reflection library
  [Translator] Performance improvement in MessageCatalogue and catalogue operations.
2020-01-04 13:24:57 +01:00
Shaharia Azam
5cac29571b Update links to documentation 2020-01-04 13:05:51 +01:00
Jesse Rushlow
555189ae2c
[Security-Guard] fixed 35203 missing name tag in param docblock
Added missing $credentials name tag to @param for getPassword()
to resolve PHPStan error and comply with the docBlock spec.
2020-01-03 18:06:56 -05:00
Jan Rosier
889a110e74 Update year in license files 2020-01-01 12:03:25 +01:00
Nicolas Grekas
392d0b01f3 Merge branch '5.0'
* 5.0: (24 commits)
  Removing unused variable
  Fixed #35084
  Add missing use statement
  [HttpClient] fix scheduling pending NativeResponse
  do not overwrite variable value
  [Profiler] wording
  Use spaces correctly to display options in DebugCommand
  Add supported schemes doc blocks type
  X-Accel Nginx URL updated
  ticket-30197 [Validator] Add the missing translations for the Chinese (Taiwan) ("zh_TW") locale
  Fixed test added in #35022
  Use locale_parse for computing fallback locales
  [Console] Fix filtering out identical alternatives when there is a command loader
  [String][UnicodeString] Remove unneeded flag in chunk regex pattern
  add note about HTTP status code change
  Migrate server:log command away from WebServerBundle
  [DependencyInjection][CheckTypeDeclarationsPass] Handle \Closure for callable
  [Security] Fix missing defaults for auto-migrating encoders
  bumped Symfony version to 5.0.3
  updated VERSION for 5.0.2
  ...
2019-12-28 16:12:20 +01:00
Nicolas Grekas
725da2f218 Merge branch '4.4' into 5.0
* 4.4:
  Fixed #35084
  Add missing use statement
  [HttpClient] fix scheduling pending NativeResponse
  do not overwrite variable value
  [Profiler] wording
  Use spaces correctly to display options in DebugCommand
  X-Accel Nginx URL updated
  ticket-30197 [Validator] Add the missing translations for the Chinese (Taiwan) ("zh_TW") locale
  Fixed test added in #35022
  Use locale_parse for computing fallback locales
  [Console] Fix filtering out identical alternatives when there is a command loader
  add note about HTTP status code change
  Migrate server:log command away from WebServerBundle
  [DependencyInjection][CheckTypeDeclarationsPass] Handle \Closure for callable
  [Security] Fix missing defaults for auto-migrating encoders
  bumped Symfony version to 4.4.3
  updated VERSION for 4.4.2
  updated CHANGELOG for 4.4.2
2019-12-28 16:09:49 +01:00
Lynn
d3942cbe17 Use supportsClass where possible 2019-12-20 16:07:22 +01:00
Robin Chalas
665ef06013 [Security] Fix missing defaults for auto-migrating encoders 2019-12-19 23:42:08 +01:00
Robin Chalas
39bd706cbf feature #34548 Added access decision strategy to respect voter priority (aschempp)
This PR was squashed before being merged into the 5.1-dev branch (closes #34548).

Discussion
----------

Added access decision strategy to respect voter priority

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | _will happily do if this is of interest/to be merged 🙃_

The priority-based access decision strategy will decide based on the first voter that does not abstain from the decision. Security voters can be registered with priority (`PriorityTaggedServiceTrait`), so a voter with higher priority can overrule other voters.

In [Contao CMS](https://github.com/contao/contao), the core system should provide security voters that provide the "default permissions", but extensions/bundles can override almost anything and therefore need to be able to override the core decision. None of the existing strategies allow for something like that.

/ping @chalasr @Toflar @leofeyer @ausi
#SymfonyHackday

Commits
-------

0b8028a0ec Added access decision strategy to respect voter priority
2019-12-18 14:26:38 +01:00
Andreas Schempp
0b8028a0ec Added access decision strategy to respect voter priority 2019-12-18 14:26:30 +01:00
Nicolas Grekas
c8f3053be8 feature #34977 [EventDispatcher] Deprecate LegacyEventDispatcherProxy (derrabus)
This PR was merged into the 5.1-dev branch.

Discussion
----------

[EventDispatcher] Deprecate LegacyEventDispatcherProxy

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | yes
| Tickets       | Cleanup of #28920
| License       | MIT
| Doc PR        | N/A

> This class should be deprecated in Symfony 5.1

Well, here you go. 😃

Commits
-------

c7e612d4ad [EventDispatcher] Deprecate LegacyEventDispatcherProxy.
2019-12-16 12:38:33 +01:00
Nicolas Grekas
700d2d39ca Merge branch '5.0'
* 5.0:
  Use `::class` constants instead of `__NAMESPACE__` when possible
2019-12-16 12:08:33 +01:00
Nicolas Grekas
4eadeb70a9 Merge branch '4.4' into 5.0
* 4.4:
  Use `::class` constants instead of `__NAMESPACE__` when possible
2019-12-16 12:08:25 +01:00
Nicolas Grekas
c05245d5a9 Merge branch '4.3' into 4.4
* 4.3:
  Use `::class` constants instead of `__NAMESPACE__` when possible
2019-12-16 12:07:37 +01:00
Nicolas Grekas
7d9945e24a Merge branch '3.4' into 4.3
* 3.4:
  Use `::class` constants instead of `__NAMESPACE__` when possible
2019-12-16 12:02:49 +01:00
Nicolas Grekas
cfd4194e20 minor #34990 Use ::class constants instead of __NAMESPACE__ when possible (fre5h)
This PR was merged into the 3.4 branch.

Discussion
----------

Use `::class` constants instead of `__NAMESPACE__` when possible

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

Form component has a lot of built-in form types. Some of them were implemented from the very beginning. In most of them there is a such method

```php
    /**
     * {@inheritdoc}
     */
    public function getParent()
    {
        return __NAMESPACE__.'\TextType';
    }
```

This `getParent()` method was refactored in Symfony 2.8. The upgrade instructions are given here https://github.com/symfony/symfony/blob/2.8/UPGRADE-2.8.md#form

I think the `__NAMESPACE__.'\TextType';` expression was used because Symfony 2.8 was using `"php": ">=5.3.9"`, and the constant `::class` was added only in PHP 5.5

Now this line can be refactored into
```php
    /**
     * {@inheritdoc}
     */
    public function getParent()
    {
        return TextType::class;
    }
```

For example new form types, that were added later, already using the `::class` constant.
https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Extension/Core/Type/ColorType.php#L23
https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Extension/Core/Type/TelType.php#L23

So, in this pull request I propose to refactor all old form types to use `::class` constant. It will give a benefit during the future refactoring, because IDE or static analysers will find all usages of parent class. Unlike the `__NAMESPACE__.'\TextType';` line, which doesn't show the real link to the class for IDE or static analysers, and it could complicate finding all usages of parent class.

Commits
-------

32bf50abca Use `::class` constants instead of `__NAMESPACE__` when possible
2019-12-16 11:55:12 +01:00
Nicolas Grekas
be0e04b84a Merge branch '5.0'
* 5.0: (21 commits)
  fix merge
  CS
  [FrameworkBundle][ContainerLintCommand] Improve messages when the kernel or the container is not supported
  [Serializer] Skip uninitialized (PHP 7.4) properties in PropertyNormalizer and ObjectNormalizer
  stop using deprecated Doctrine persistence classes
  [Cache] Fix wrong classname in deprecation message
  Fix regex lookahead syntax in ApplicationTest
  Fixed syntax in comment
  [SecurityBundle][FirewallMap] Remove unused property
  [Messenger][AMQP] Use delivery_mode=2 by default
  [FrameworkBundle][DependencyInjection] Skip removed ids in the lint container command and its associated pass
  [SECURITY] Revert "AbstractAuthenticationListener.php error instead info. Rebase of #28462"
  [FrameworkBundle][Secrets] Hook configured local dotenv file
  [DI] Improve performance of processDefinition
  fix redis multi host dsn not recognized
  fix constructor argument type declaration
  Fix invalid Windows path normalization
  [Validator][ConstraintValidator] Safe fail on invalid timezones
  [DoctrineBridge] Fixed submitting invalid ids when using queries with limit
  [FrameworkBundle] Add info & example to auto_mapping config
  ...
2019-12-16 11:48:49 +01:00
Nicolas Grekas
525d7bf716 Merge branch '4.4' into 5.0
* 4.4: (21 commits)
  fix merge
  CS
  [FrameworkBundle][ContainerLintCommand] Improve messages when the kernel or the container is not supported
  [Serializer] Skip uninitialized (PHP 7.4) properties in PropertyNormalizer and ObjectNormalizer
  stop using deprecated Doctrine persistence classes
  [Cache] Fix wrong classname in deprecation message
  Fix regex lookahead syntax in ApplicationTest
  Fixed syntax in comment
  [SecurityBundle][FirewallMap] Remove unused property
  [Messenger][AMQP] Use delivery_mode=2 by default
  [FrameworkBundle][DependencyInjection] Skip removed ids in the lint container command and its associated pass
  [SECURITY] Revert "AbstractAuthenticationListener.php error instead info. Rebase of #28462"
  [FrameworkBundle][Secrets] Hook configured local dotenv file
  [DI] Improve performance of processDefinition
  fix redis multi host dsn not recognized
  fix constructor argument type declaration
  Fix invalid Windows path normalization
  [Validator][ConstraintValidator] Safe fail on invalid timezones
  [DoctrineBridge] Fixed submitting invalid ids when using queries with limit
  [FrameworkBundle] Add info & example to auto_mapping config
  ...
2019-12-16 11:47:49 +01:00
Nicolas Grekas
68681e49f2 Merge branch '4.3' into 4.4
* 4.3:
  fix merge
  CS
  [Serializer] Skip uninitialized (PHP 7.4) properties in PropertyNormalizer and ObjectNormalizer
  stop using deprecated Doctrine persistence classes
  [Cache] Fix wrong classname in deprecation message
  Fix regex lookahead syntax in ApplicationTest
  Fixed syntax in comment
  [SecurityBundle][FirewallMap] Remove unused property
  [Messenger][AMQP] Use delivery_mode=2 by default
  [DI] Improve performance of processDefinition
  Fix invalid Windows path normalization
  [Validator][ConstraintValidator] Safe fail on invalid timezones
  [DoctrineBridge] Fixed submitting invalid ids when using queries with limit
  [FrameworkBundle] Add info & example to auto_mapping config
  fix comparisons with null values at property paths
2019-12-16 11:45:21 +01:00
Nicolas Grekas
02c1cda67e Merge branch '3.4' into 4.3
* 3.4:
  CS
  [Serializer] Skip uninitialized (PHP 7.4) properties in PropertyNormalizer and ObjectNormalizer
  stop using deprecated Doctrine persistence classes
  Fix regex lookahead syntax in ApplicationTest
  [SecurityBundle][FirewallMap] Remove unused property
  [DI] Improve performance of processDefinition
  Fix invalid Windows path normalization
  [Validator][ConstraintValidator] Safe fail on invalid timezones
  [DoctrineBridge] Fixed submitting invalid ids when using queries with limit
  fix comparisons with null values at property paths
2019-12-16 11:33:29 +01:00
Artem Henvald
32bf50abca Use ::class constants instead of __NAMESPACE__ when possible 2019-12-16 11:25:54 +01:00
Robin Chalas
ab8841e248 minor #34991 CS for AccessDecisionManager (aschempp)
This PR was merged into the 3.4 branch.

Discussion
----------

CS for AccessDecisionManager

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

As discussed in #34548 with @nicolas-grekas here's a CS change for the `AccessDecisionManager`

Commits
-------

b3742ec493 CS
2019-12-16 00:50:24 +01:00
Alexander M. Turek
c7e612d4ad [EventDispatcher] Deprecate LegacyEventDispatcherProxy. 2019-12-15 23:54:05 +01:00
Andreas Schempp
b3742ec493 CS 2019-12-15 22:30:08 +01:00
Diego Aguiar
9d306f9046 [SECURITY] Revert "AbstractAuthenticationListener.php error instead info. Rebase of #28462"
This reverts commit 867eb78cfe.
2019-12-13 13:11:48 +01:00
Nicolas Grekas
ae00ff4cfa Merge branch '5.0'
* 5.0: (38 commits)
  [Security] Check UserInterface::getPassword is not null before calling needsRehash
  gracefully handle missing event dispatchers
  Fix TokenStorage::reset not called in stateless firewall
  [DotEnv] Remove `usePutEnv` property default value
  [HttpFoundation] get currently session.gc_maxlifetime if ttl doesnt exists
  Set up typo fix
  [DependencyInjection] Handle env var placeholders in CheckTypeDeclarationsPass
  [Cache] fix memory leak when using PhpArrayAdapter
  [Validator] Allow underscore character "_" in URL username and password
  [TwigBridge] Update bootstrap_4_layout.html.twig
  [DoctrineBridge] Removed QueryBuilder type hint in getLoader()
  [FrameworkBundle][SodiumVault] Create secrets directory only when needed
  fix parsing negative octal numbers
  [String] implement __sleep()/__wakeup() on strings
  Fixed translations file dumper behavior
  [Routing][ObjectLoader] Remove forgotten deprecation after merge
  [SecurityBundle] Passwords are not encoded when algorithm set to \"true\"
  [DependencyInjection] Resolve expressions in CheckTypeDeclarationsPass
  [SecurityBundle] Properly escape regex in AddSessionDomainConstraintPass
  do not validate passwords when the hash is null
  ...
2019-12-07 17:42:39 +01:00
Nicolas Grekas
1d1e29c8cd Merge branch '4.4' into 5.0
* 4.4: (30 commits)
  [Security] Check UserInterface::getPassword is not null before calling needsRehash
  gracefully handle missing event dispatchers
  Fix TokenStorage::reset not called in stateless firewall
  [DotEnv] Remove `usePutEnv` property default value
  [HttpFoundation] get currently session.gc_maxlifetime if ttl doesnt exists
  Set up typo fix
  [DependencyInjection] Handle env var placeholders in CheckTypeDeclarationsPass
  [Cache] fix memory leak when using PhpArrayAdapter
  [Validator] Allow underscore character "_" in URL username and password
  [TwigBridge] Update bootstrap_4_layout.html.twig
  [FrameworkBundle][SodiumVault] Create secrets directory only when needed
  fix parsing negative octal numbers
  [SecurityBundle] Passwords are not encoded when algorithm set to \"true\"
  [DependencyInjection] Resolve expressions in CheckTypeDeclarationsPass
  [SecurityBundle] Properly escape regex in AddSessionDomainConstraintPass
  do not validate passwords when the hash is null
  [DI] fix resolving bindings for named TypedReference
  [Config] never try loading failed classes twice with ClassExistenceResource
  [Mailer] Fix SMTP Authentication when using STARTTLS
  [DI] Fix making the container path-independent when the app is in /app
  ...
2019-12-07 17:40:37 +01:00
Nicolas Grekas
6e44447e5d Merge branch '4.3' into 4.4
* 4.3:
  gracefully handle missing event dispatchers
  [Cache] fix memory leak when using PhpArrayAdapter
  fix parsing negative octal numbers
  [SecurityBundle] Properly escape regex in AddSessionDomainConstraintPass
  [Config] never try loading failed classes twice with ClassExistenceResource
2019-12-07 17:27:44 +01:00
Fabien Potencier
9a025b44d9 bug #34854 [Messenger] gracefully handle missing event dispatchers (xabbuh)
This PR was merged into the 4.3 branch.

Discussion
----------

[Messenger] gracefully handle missing event dispatchers

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

Commits
-------

d4ae85fc72 gracefully handle missing event dispatchers
2019-12-07 05:52:32 +01:00
dbrekelmans
8e4cf497cd [Security] Check UserInterface::getPassword is not null before calling needsRehash 2019-12-06 21:36:15 +01:00
Christian Flothmann
d4ae85fc72 gracefully handle missing event dispatchers 2019-12-06 19:13:02 +01:00
Christian Flothmann
33146778b5 Merge branch '4.3' into 4.4
* 4.3:
  [DotEnv] Remove `usePutEnv` property default value
  Set up typo fix
  [Validator] Allow underscore character "_" in URL username and password
  [SecurityBundle] Passwords are not encoded when algorithm set to \"true\"
  do not validate passwords when the hash is null
  [DI] fix resolving bindings for named TypedReference
  [DI] Fix making the container path-independent when the app is in /app
  Allow copy instead of symlink for ./link script
  [FrameworkBundle] resolve service locators in `debug:*` commands
  bumped Symfony version to 4.3.10
  updated VERSION for 4.3.9
  updated CHANGELOG for 4.3.9
  bumped Symfony version to 3.4.37
  updated VERSION for 3.4.36
  update CONTRIBUTORS for 3.4.36
  updated CHANGELOG for 3.4.36
  Add test on ServerLogHandler
2019-12-06 14:32:19 +01:00
Christian Flothmann
2ac56093a5 Merge branch '3.4' into 4.3
* 3.4:
  [Validator] Allow underscore character "_" in URL username and password
  [SecurityBundle] Passwords are not encoded when algorithm set to \"true\"
  do not validate passwords when the hash is null
  [DI] Fix making the container path-independent when the app is in /app
  Allow copy instead of symlink for ./link script
  [FrameworkBundle] resolve service locators in `debug:*` commands
  bumped Symfony version to 3.4.37
  updated VERSION for 3.4.36
  update CONTRIBUTORS for 3.4.36
  updated CHANGELOG for 3.4.36
2019-12-06 14:11:20 +01:00
Robin Chalas
bea74560e1 [Security} Make remember-me user providers lazy 2019-12-04 08:39:48 +01:00
Christian Flothmann
5699cb22bb do not validate passwords when the hash is null 2019-12-03 19:05:24 +01:00
Nicolas Grekas
c732122b57 Merge branch '5.0'
* 5.0:
  [Security/Core] Fix checking for SHA256/SHA512 passwords
  [Cache][Lock] fix tests
  bumped Symfony version to 5.0.2
  updated VERSION for 5.0.1
  updated CHANGELOG for 5.0.1
  bumped Symfony version to 4.4.2
  updated VERSION for 4.4.1
  updated CHANGELOG for 4.4.1
2019-12-03 17:36:15 +01:00
Nicolas Grekas
9dbeab93f2 Merge branch '4.4' into 5.0
* 4.4:
  [Security/Core] Fix checking for SHA256/SHA512 passwords
  [Cache][Lock] fix tests
  bumped Symfony version to 4.4.2
  updated VERSION for 4.4.1
  updated CHANGELOG for 4.4.1
2019-12-03 17:35:18 +01:00
David Brooks
799c85b67c [Security/Core] Fix checking for SHA256/SHA512 passwords 2019-12-03 15:57:37 +01:00
Nicolas Grekas
e0f6cdb1c7 Merge branch '5.0'
* 5.0:
  [HttpClient] Fix deps
  Fix tests
2019-12-01 12:19:04 +01:00
Nicolas Grekas
af81b8bbb7 Fix tests 2019-12-01 12:14:36 +01:00
Fabien Potencier
c147ef4bc7 Merge branch '4.4'
* 4.4:
  Fix CS
  Fix CS
  Fix CS
  [DependencyInjection][Xml] Fix the attribute 'tag' is not allowed in 'bind' tag
2019-12-01 09:49:37 +01:00
Fabien Potencier
c13974cc20 Merge branch '4.4' into 5.0
* 4.4:
  Fix CS
  Fix CS
  Fix CS
  [DependencyInjection][Xml] Fix the attribute 'tag' is not allowed in 'bind' tag
2019-12-01 09:48:26 +01:00
Fabien Potencier
23e5d1aa8e Fix CS 2019-12-01 09:46:01 +01:00
Fabien Potencier
861783cc15 Fix CS 2019-12-01 09:33:36 +01:00
Nicolas Grekas
c62bb82e27 Merge branch '5.0'
* 5.0:
  [DI] auto-register singly implemented interfaces by default
  [DI] fix overriding existing services with aliases for singly-implemented interfaces
  remove service when base class is missing
  do not depend on the QueryBuilder from the ORM
  [Security/Http] call auth listeners/guards eagerly when they "support" the request
  [Messenger] add tests to FailedMessagesShowCommand
  Fix the translation commands when a template contains a syntax error
  [Security] Fix clearing remember-me cookie after deauthentication
  [Validator] Update Slovenian translations
  [HttpClient] remove conflict rule with HttpKernel that prevents using the component in Symfony 3.4
  [Config][ReflectionClassResource] Handle parameters with undefined constant as their default values
  Fix compatibility with Monolog 2
  fix dumping number-like string parameters
  Fix CI
  [Console] Fix autocomplete multibyte input support
  [Config] don't break on virtual stack frames in ClassExistenceResource
  more robust initialization from request
  Changing the multipart form-data behavior to use the form name as an array, which makes it recognizable as an array by PHP on the $_POST globals once it is coming from the HttpClient component
2019-11-30 15:13:05 +01:00
Nicolas Grekas
bb11cac33e Merge branch '4.4' into 5.0
* 4.4:
  [DI] auto-register singly implemented interfaces by default
  [DI] fix overriding existing services with aliases for singly-implemented interfaces
  remove service when base class is missing
  do not depend on the QueryBuilder from the ORM
  [Security/Http] call auth listeners/guards eagerly when they "support" the request
  [Messenger] add tests to FailedMessagesShowCommand
  Fix the translation commands when a template contains a syntax error
  [Security] Fix clearing remember-me cookie after deauthentication
  [Validator] Update Slovenian translations
  [HttpClient] remove conflict rule with HttpKernel that prevents using the component in Symfony 3.4
  [Config][ReflectionClassResource] Handle parameters with undefined constant as their default values
  fix dumping number-like string parameters
  Fix CI
  [Console] Fix autocomplete multibyte input support
  [Config] don't break on virtual stack frames in ClassExistenceResource
  more robust initialization from request
  Changing the multipart form-data behavior to use the form name as an array, which makes it recognizable as an array by PHP on the $_POST globals once it is coming from the HttpClient component
2019-11-30 15:12:50 +01:00
Nicolas Grekas
df379f0d07 Merge branch '4.3' into 4.4
* 4.3:
  [Messenger] add tests to FailedMessagesShowCommand
  Fix the translation commands when a template contains a syntax error
  [Security] Fix clearing remember-me cookie after deauthentication
  [Validator] Update Slovenian translations
  [Config][ReflectionClassResource] Handle parameters with undefined constant as their default values
  fix dumping number-like string parameters
  Fix CI
  [Console] Fix autocomplete multibyte input support
  [Config] don't break on virtual stack frames in ClassExistenceResource
  more robust initialization from request
2019-11-30 15:03:57 +01:00
Nicolas Grekas
cad14177dc Merge branch '3.4' into 4.3
* 3.4:
  [Security] Fix clearing remember-me cookie after deauthentication
  more robust initialization from request
2019-11-30 14:16:45 +01:00
Fabien Potencier
4d11bca474 bug #34627 [Security/Http] call auth listeners/guards eagerly when they "support" the request (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security/Http] call auth listeners/guards eagerly when they "support" the request

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

This fixes the form authenticator linked to #34614.
Since laziness is here to provide compatibility with HTTP caching, it should be disabled when the request cannot be cached.

Tests don't pass yet, but I'm on the path to something here.

The PR now introduces a new `AbstractListener` that splits the handling logic in two:
- `supports(Request): ?bool` is always called eagerly and tells whether the listener matches the request for an earger call or a lazy call
- `authenticate(RequestEvent)` does the rest of the job when `supports()` allows so - lazily or not depending on the return value of `supports()`.

Of course, this remains compatible with non-lazy logics, see `AbstractListener::__invoke()`.

Commits
-------

b20ebe6b90 [Security/Http] call auth listeners/guards eagerly when they "support" the request
2019-11-30 10:56:08 +01:00
Nicolas Grekas
b20ebe6b90 [Security/Http] call auth listeners/guards eagerly when they "support" the request 2019-11-30 10:49:41 +01:00
Robin Chalas
d625a73705 [Security] Fix clearing remember-me cookie after deauthentication 2019-11-30 02:46:11 +01:00
Robin Chalas
2b97a0f5f1 Merge branch '5.0'
* 5.0: (47 commits)
  reset the kernel cache after each test
  [HttpKernel] Ability to define multiple kernel.reset tags
  [Routing] Continue supporting single colon in object route loaders
  [FWBundle] Remove unused parameter
  [Intl] [Workflow] fixes English grammar typos
  [Filesystem] [Serializer] fixes English grammar typo
  mailer: mailchimp bridge is throwing undefined index _id when setting message id in mandrill http transport
  has_roles should be is_granted in security upgrade file
  has_roles should be is_granted in upgrade files
  [HttpClient] Fix early cleanup of pushed HTTP/2 responses
  skip test on incompatible PHP versions
  [HttpKernel] Don't cache "not-fresh" state
  Drop WebServerBundle directory
  [FrameworkBundle][Cache] Don't deep-merge cache pools configuration
  [Messenger] Adding exception to amqp transport in case amqp ext is not installed
  [SecurityBundle] Don't require a user provider for the anonymous listener
  [DoctrineBridge] Fixed cs in DoctrineType
  [Monolog Bridge] Fixed accessing static property as non static.
  Improve Symfony description
  [Mailer] Add UPGRADE entries about Envelope and MessageEvent
  ...
2019-11-27 01:54:57 +01:00
Robin Chalas
e5f0e60a44 Merge branch '4.4' into 5.0
* 4.4: (38 commits)
  reset the kernel cache after each test
  [HttpKernel] Ability to define multiple kernel.reset tags
  [Routing] Continue supporting single colon in object route loaders
  [FWBundle] Remove unused parameter
  [Intl] [Workflow] fixes English grammar typos
  [Filesystem] [Serializer] fixes English grammar typo
  mailer: mailchimp bridge is throwing undefined index _id when setting message id in mandrill http transport
  has_roles should be is_granted in upgrade files
  [HttpClient] Fix early cleanup of pushed HTTP/2 responses
  skip test on incompatible PHP versions
  [HttpKernel] Don't cache "not-fresh" state
  [FrameworkBundle][Cache] Don't deep-merge cache pools configuration
  [Messenger] Adding exception to amqp transport in case amqp ext is not installed
  [SecurityBundle] Don't require a user provider for the anonymous listener
  [Monolog Bridge] Fixed accessing static property as non static.
  Improve Symfony description
  [Mailer] Add UPGRADE entries about Envelope and MessageEvent
  [FrameworkBundle] fix leftover mentioning "secret:" processor
  Add DateTimeZoneNormalizer into Dependency Injection
  [Messenger] Error when specified default bus is not among the configured
  ...
2019-11-27 00:25:11 +01:00
Robin Chalas
cde2538849 Merge branch '4.3' into 4.4
* 4.3:
  [FWBundle] Remove unused parameter
  [Intl] [Workflow] fixes English grammar typos
  [Filesystem] [Serializer] fixes English grammar typo
  [Messenger] Adding exception to amqp transport in case amqp ext is not installed
  [Monolog Bridge] Fixed accessing static property as non static.
  Improve Symfony description
  Add DateTimeZoneNormalizer into Dependency Injection
  [Messenger] Error when specified default bus is not among the configured
  [Validator] Add Japanese translation
  [Workflow] Apply the same logic of precedence between the apply() and the buildTransitionBlockerList() method
  Remove some unused methods parameters
  Avoid empty \"If-Modified-Since\" header in validation request
  [Security] Fix SwitchUser is broken when the User Provider always returns a valid user
  Fix error message according to the new regex
  compatibility with DoctrineBundle 2
  [Validator] ConstraintValidatorTestCase: add missing return value to mocked validate method calls
2019-11-27 00:16:41 +01:00
Lynn
2f1336e79f has_roles should be is_granted in security upgrade file 2019-11-25 15:08:41 +01:00
Tugdual Saunier
2bf6cd2eea
[Security] Fix SwitchUser is broken when the User Provider always returns a valid user 2019-11-23 15:44:33 +01:00
Nicolas Grekas
1b4ab81085 Merge branch '5.0'
* 5.0:
  [Routing] fix tests
  [DI] minor cleanup
  [Form] group constraints when calling the validator
  Remove wrong @group legacy annotations
  [DependencyInjection] Fix dumping multiple deprecated aliases
  allow button names to start with uppercase letter
  Allow PHP ^7.2.5
  States that the HttpClient provides a Http Async implementation
  [Routing] Fix ContainerLoader and ObjectLoaderTest
  [HttpKernel] Make ErrorListener::onKernelException()'s dispatcher argument explicit
  [HttpKernel] Drop deprecated ExceptionListener
  Removed extra whitespace
  [Security] Fix best encoder not wired using migrate_from
2019-11-21 08:02:52 +01:00
Nicolas Grekas
0f8fe5d74b Merge branch '4.4' into 5.0
* 4.4:
  [Routing] fix tests
  [Form] group constraints when calling the validator
  Remove wrong @group legacy annotations
  [DependencyInjection] Fix dumping multiple deprecated aliases
  allow button names to start with uppercase letter
  States that the HttpClient provides a Http Async implementation
2019-11-21 08:02:40 +01:00
Nicolas Grekas
8d84ac34a5 Remove wrong @group legacy annotations 2019-11-20 11:44:55 +01:00
Nicolas Grekas
6194c2a96c Allow PHP ^7.2.5 2019-11-18 18:27:11 +01:00
Nicolas Grekas
15f7ea1362 Merge branch '4.4' into 5.0
* 4.4:
  [HttpKernel] Make ErrorListener::onKernelException()'s dispatcher argument explicit
  Removed extra whitespace
  [Security] Fix best encoder not wired using migrate_from
2019-11-18 08:34:28 +01:00
Robin Chalas
4132a60392 [Security] Fix best encoder not wired using migrate_from 2019-11-17 23:41:50 +01:00
Fabien Potencier
e60a876201 updated version to 5.1 2019-11-17 19:31:35 +01:00
Nicolas Grekas
df63cc59f1 Merge branch '4.4'
* 4.4: (23 commits)
  [HttpFoundation] fix docblock
  [HttpKernel] Flatten "exception" controller argument if not typed
  Fix MySQL column type definition.
  Link the right file depending on the new version
  [Cache] Redis Tag Aware warn on wrong eviction policy
  [HttpClient] fix HttpClientDataCollector
  [HttpKernel] collect bundle classes, not paths
  [Config] fix id-generation for GlobResource
  [HttpKernel] dont check cache freshness more than once per process
  [Finder] Allow ssh2 stream wrapper for sftp
  [FrameworkBundle] fix wiring of httplug client
  add FrameworkBundle requirement
  [SecurityBundle] add tests with empty authenticator
  [Security] always check the token on non-lazy firewalls
  [DI] Use reproducible entropy to generate env placeholders
  [WebProfilerBundle] Require symfony/twig-bundle
  [Mailer] Add UPGRADE entry about the null transport DSN
  bumped Symfony version to 4.3.9
  updated VERSION for 4.3.8
  updated CHANGELOG for 4.3.8
  ...
2019-11-16 16:24:47 +01:00
Nicolas Grekas
797450d6b8 [Security] always check the token on non-lazy firewalls 2019-11-14 23:50:50 +01:00
Nicolas Grekas
f2daa534b9 Merge branch '4.4'
* 4.4:
  [Console] Constant STDOUT might be undefined.
  Add missing conflict with symfony/serializer <4.4
  Allow returning null from NormalizerInterface::normalize
  bumped Symfony version to 4.4.0
  updated VERSION for 4.4.0-BETA1
  updated CHANGELOG for 4.4.0-BETA1
  [Security\Core] throw AccessDeniedException when switch user fails
  [Mime] fix guessing mime-types of files with leading dash
  [HttpFoundation] fix guessing mime-types of files with leading dash
  [VarExporter] fix exporting some strings
  [Cache] forbid serializing AbstractAdapter and TagAwareAdapter instances
  Use constant time comparison in UriSigner
2019-11-13 08:42:48 +01:00
Nicolas Grekas
ae3552685d Merge branch '4.3' into 4.4
* 4.3:
  [Console] Constant STDOUT might be undefined.
  Allow returning null from NormalizerInterface::normalize
  [Security\Core] throw AccessDeniedException when switch user fails
  [Mime] fix guessing mime-types of files with leading dash
  [HttpFoundation] fix guessing mime-types of files with leading dash
  [VarExporter] fix exporting some strings
  [Cache] forbid serializing AbstractAdapter and TagAwareAdapter instances
  Use constant time comparison in UriSigner
2019-11-13 08:39:40 +01:00
Nicolas Grekas
4e2b5e0a76 Merge branch '4.4'
* 4.4:
  Revert "feature #34329 [ExpressionLanguage] add XOR operator (ottaviano)"
  Allow \Throwable $previous everywhere
2019-11-12 15:58:10 +01:00
Thomas Calvet
59e044dfb1 Allow \Throwable $previous everywhere 2019-11-12 15:51:11 +01:00
Nicolas Grekas
bcfc282d42 [Security\Core] throw AccessDeniedException when switch user fails 2019-11-12 14:12:56 +01:00
Christian Flothmann
da437e2de8 Merge branch '4.4'
* 4.4:
  [HttpKernel] make ExceptionEvent able to propagate any throwable
  [Security] Avoid unnecessary usage of Reflection
  Disallow symfony/contracts v2.
  minor add missing loop break
  [Security] Add migrating encoder configuration
  [Security] Fix defining multiple roles per access_control rule
2019-11-11 12:15:58 +01:00
Fabien Potencier
10a349c37d feature #34309 [HttpKernel] make ExceptionEvent able to propagate any throwable (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[HttpKernel] make ExceptionEvent able to propagate any throwable

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

An alternative to #34306.

As a reminder, the goal of this series of PRs is to remove the `FatalThrowableError` wrapper that we introduced to seamlessly handle throwables when they were introduced in PHP 7.

From the changelog of `HttpKernel`:
 * Deprecated methods `ExceptionEvent::get/setException()`, use `get/setThrowable()` instead
 * Deprecated class `ExceptionListener`, use `ErrorListener` instead

And the final target: removed `Symfony\Component\ErrorHandler\Exception\ErrorException` (`FatalThrowableError` is already deprecated.)

Commits
-------

6f67f0e0c0 [HttpKernel] make ExceptionEvent able to propagate any throwable
2019-11-10 14:19:52 +01:00
Nicolas Grekas
6f67f0e0c0 [HttpKernel] make ExceptionEvent able to propagate any throwable 2019-11-10 10:37:33 +01:00
Robin Chalas
2377418443 [Security] Avoid unnecessary usage of Reflection 2019-11-09 23:08:03 +01:00
Robin Chalas
040d93d5b5 minor add missing loop break 2019-11-09 13:08:24 +01:00
Fabien Potencier
758e266f48 bug #34304 [Security] Fix defining multiple roles per access_control rule (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Fix defining multiple roles per access_control rule

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        |  https://github.com/symfony/symfony-docs/pull/12371 needs to be reverted

#33584 deprecated passing multiple attributes to `AccessDecisionManager::decide()`, but this change must not impact `access_control` as you cannot define multiple rules with the same criteria for request matching (the first match wins).

Commits
-------

338b3dfd9f [Security] Fix defining multiple roles per access_control rule
2019-11-09 12:16:35 +01:00
Robin Chalas
80955be45d [Security] Add migrating encoder configuration 2019-11-09 11:20:37 +01:00
Robin Chalas
338b3dfd9f [Security] Fix defining multiple roles per access_control rule 2019-11-09 09:18:51 +01:00
Wouter J
e41e6b48a9 Clarified single attribute to isGranted() a bit more
Also, allow the array type for a single attribute.
2019-11-09 00:23:23 +01:00
Nicolas Grekas
5e358e33c9 Merge branch '4.4'
* 4.4: (39 commits)
  [Console] Fix #33915, Detect dimensions using mode CON if vt100 is supported
  [PhpUnitBridge] Also search for composer.phar in git root folder
  [HttpKernel][DataCollectorInterface] Ease compatibility
  Add tests to ensure defaultLocale is properly passed to the URL generator
  [DependencyInjection] Fix broken references in tests
  [VarDumper] display the method we're in when dumping stack traces
  [HttpClient] Retry safe requests when then fail before the body arrives
  [Console] Rename some methods related to redraw frequency
  Avoid using of kernel after shutdown
  Simplify PHP CS Fixer configuration
  [PropertyInfo] Fixed type extraction for nullable collections of non-nullable elements
  [FrameworkBundle] [HttpKernel] fixed correct EOL and EOM month
  Fix CS
  [Serializer] Fix property name usage for denormalization
  Name test accordingly to the tested class
  Fix MockFileSessionStorageTest::sessionDir being used after it's unset
  [Security] Fix SwitchUserToken wrongly deauthenticated
  Supporting Bootstrap 4 custom switches
  Add new Form WeekType
  bumped Symfony version to 4.3.7
  ...
2019-11-05 18:15:52 +01:00
Robin Chalas
e47b31c43c [Security] Fix SwitchUserToken wrongly deauthenticated 2019-11-02 08:21:17 +01:00
Robin Chalas
64f4430cda [Security] Add back ROLE_PREVIOUS_ADMIN to impersonated user 2019-11-02 08:18:50 +01:00
Nicolas Grekas
7e65dad828 Merge branch '4.4'
* 4.4:
  [4.3] Remove unused local variables
2019-10-30 14:25:47 +01:00
Nicolas Grekas
94beae00b1 Merge branch '4.3' into 4.4
* 4.3:
  [4.3] Remove unused local variables
2019-10-30 14:23:44 +01:00
Thomas Calvet
58161b8eec [4.3] Remove unused local variables 2019-10-30 13:58:49 +01:00
Robin Chalas
9576bcecdb Merge branch '4.4'
* 4.4:
  [Security] Fix merge
  remove outdated workflow test
  drop wrong test (fix merge)
2019-10-29 03:20:27 +01:00
Robin Chalas
b778c685ed [Security] Fix merge 2019-10-29 03:16:42 +01:00
Robin Chalas
fd0ed42adb [Security] Fix merge 2019-10-28 23:18:08 +01:00
Nicolas Grekas
5a855408e1 Merge branch '4.4'
* 4.4:
  [OptionsResolve] Revert change in tests for a not-merged change in code
  [HttpClient] fix handling of 3xx with no Location header - ignore Content-Length when no body is expected
  [Workflow] Made the configuration more robust for the 'property' key
  [Security/Core] make NativePasswordEncoder use sodium to validate passwords when possible
  [FrameworkBundle] make SodiumVault report bad decryption key accurately
  cs fix
  [Security] Allow to set a fixed algorithm
  [Security/Core] make encodedLength computation more generic
  [Security/Core] add fast path when encoded password cannot match anything
  #30432 fix an error message
  fix paths to detect code owners
  [HttpClient] ignore the body of responses to HEAD requests
  [Validator] Ensure numeric subpaths do not cause errors on PHP 7.4
  [SecurityBundle] Fix wrong assertion
  Remove unused local variables in tests
  [Yaml][Parser] Remove the getLastLineNumberBeforeDeprecation() internal unused method
  Make sure to collect child forms created on *_SET_DATA events
  [WebProfilerBundle] Improve display in Email panel for dark theme
  do not render errors for checkboxes twice
2019-10-28 22:51:41 +01:00
Nicolas Grekas
05f7f4e147 Merge branch '4.3' into 4.4
* 4.3:
  [OptionsResolve] Revert change in tests for a not-merged change in code
  [HttpClient] fix handling of 3xx with no Location header - ignore Content-Length when no body is expected
  [Workflow] Made the configuration more robust for the 'property' key
  [Security/Core] make NativePasswordEncoder use sodium to validate passwords when possible
  #30432 fix an error message
  fix paths to detect code owners
  [HttpClient] ignore the body of responses to HEAD requests
  [Validator] Ensure numeric subpaths do not cause errors on PHP 7.4
  [SecurityBundle] Fix wrong assertion
  Remove unused local variables in tests
  [Yaml][Parser] Remove the getLastLineNumberBeforeDeprecation() internal unused method
  Make sure to collect child forms created on *_SET_DATA events
  [WebProfilerBundle] Improve display in Email panel for dark theme
  do not render errors for checkboxes twice
2019-10-28 21:30:34 +01:00
Nicolas Grekas
6d5c91bb47 Merge branch '3.4' into 4.3
* 3.4:
  #30432 fix an error message
  fix paths to detect code owners
  [Validator] Ensure numeric subpaths do not cause errors on PHP 7.4
  Remove unused local variables in tests
  Make sure to collect child forms created on *_SET_DATA events
  do not render errors for checkboxes twice
2019-10-28 18:07:32 +01:00
Nicolas Grekas
799a2eae2d [Security/Core] make NativePasswordEncoder use sodium to validate passwords when possible 2019-10-28 10:20:18 +01:00
Nicolas Grekas
0a1de38a5b cs fix 2019-10-27 13:36:05 +01:00
Nicolas Grekas
b5a47df0b9 feature #34020 [Security] Allow to stick to a specific password hashing algorithm (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] Allow to stick to a specific password hashing algorithm

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

Allows using `argon2i`, `argon2id` and `bcrypt`.

Commits
-------

6712d1e504 [Security] Allow to set a fixed algorithm
2019-10-27 13:33:51 +01:00
Robin Chalas
6712d1e504 [Security] Allow to set a fixed algorithm 2019-10-27 13:32:13 +01:00
Nicolas Grekas
60a4d8dc7a [Security/Core] make encodedLength computation more generic 2019-10-27 11:16:45 +01:00
Nicolas Grekas
c57f8f7f93 [Security/Core] add fast path when encoded password cannot match anything 2019-10-27 10:41:22 +01:00
Thomas Calvet
c07cee8f61 Remove unused local variables in tests 2019-10-24 17:33:53 +02:00
Nicolas Grekas
76776943cd Merge branch '4.4'
* 4.4:
  [Debug] remove return types that break FC badly
  [Mailer][MailchimpBridge] Don't send address names if empty string
  [ExpressionLanguage][Lexer] Exponential format for number
  [Mailer] Fix SES Message Id retrieval
  Add .gitignore to .gitattributes
2019-10-22 19:21:12 +02:00
Reedy
246c5fdf43 Add .gitignore to .gitattributes 2019-10-12 01:35:04 +01:00
Nicolas Grekas
e3e502ef6f Merge branch '4.4'
* 4.4: (27 commits)
  [Validator] add notice in UPGRADE file for new Range constraint option
  [CssSelector] Support *:only-of-type pseudo class selector
  [Intl] Update the ICU data to 65.1 (4.4 branch)
  [Intl] Update the ICU data to 65.1 (4.3 branch)
  Replace deprecated calls in tests
  [Intl] Update the ICU data to 65.1
  Delete 5_Security_issue.md
  [DI] Whitelist error_renderer.renderer tag  in UnusedTagsPass
  [DI] Whitelist validator.auto_mapper in UnusedTagsPass
  Update CHANGELOG.md
  [HttpClient] Fixed #33832 NO_PROXY option ignored in NativeHttpClient::request() method
  [EventDispatcher] A compiler pass for aliased userland events.
  [Cache] give 100ms before starting the expiration countdown
  [Cache] fix logger usage in CacheTrait::doGet()
  [VarDumper] fix dumping uninitialized SplFileInfo
  Added missing translations.
  [Form] Added CountryType option for using alpha3 country codes
  Fixed invalid changelog 4.0.0 for VarDumper
  [Workflow] Fixed BC break on WorkflowInterface
  Fix wrong expression language value
  ...
2019-10-07 11:06:09 +02:00
Nicolas Grekas
2044ba8e97 Merge branch '4.3' into 4.4
* 4.3:
  [Intl] Update the ICU data to 65.1 (4.3 branch)
  Replace deprecated calls in tests
  [Intl] Update the ICU data to 65.1
  Delete 5_Security_issue.md
  [DI] Whitelist validator.auto_mapper in UnusedTagsPass
  [HttpClient] Fixed #33832 NO_PROXY option ignored in NativeHttpClient::request() method
  [Cache] give 100ms before starting the expiration countdown
  [Cache] fix logger usage in CacheTrait::doGet()
  [VarDumper] fix dumping uninitialized SplFileInfo
  Added missing translations.
  Fixed invalid changelog 4.0.0 for VarDumper
  Fixed invalid VarDumper upgrade doc.
  [HttpFoundation] Check if data passed to SessionBagProxy::initialize is an array
  Don't let falsey usernames slip through
2019-10-04 23:43:27 +02:00
Jakub Zalas
5aee2f140b
Replace deprecated calls in tests 2019-10-04 23:11:33 +02:00
Nicolas Grekas
1d0a0774ab Merge branch '3.4' into 4.3
* 3.4:
  [Intl] Update the ICU data to 65.1
  [VarDumper] fix dumping uninitialized SplFileInfo
  Added missing translations.
  Fixed invalid VarDumper upgrade doc.
  [HttpFoundation] Check if data passed to SessionBagProxy::initialize is an array
  Don't let falsey usernames slip through
2019-10-04 21:48:13 +02:00
Tobias Schultze
b2d6c10ba7 minor #33709 Add types to constructors and private/final/internal methods (Batch II) (derrabus)
This PR was squashed before being merged into the 4.4 branch (closes #33709).

Discussion
----------

Add types to constructors and private/final/internal methods (Batch II)

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

Followup to #33519, this time with:
* Form
* HttpClient
* HttpKernel
* intl
* Ldap
* Ldap
* Lock
* Messenger
* Processor
* PropertyInfo
* Routing
* Security
* Serializer
* Stopwatch
* Translation

Commits
-------

9378eb4858 Add types to constructors and private/final/internal methods (Batch II)
2019-10-03 13:24:15 +02:00
Alexander M. Turek
9378eb4858 Add types to constructors and private/final/internal methods (Batch II) 2019-10-03 13:24:03 +02:00
Nicolas Grekas
3ee9dbd17b Merge branch '4.4'
* 4.4: (24 commits)
  [Console] Command::execute() should always return int - deprecate returning null
  [FrameworkBundle] Fix wrong returned status code in ConfigDebugCommand
  [AnnotationCacheWarmer] add RedirectController to annotation cache
  [WebProfilerBundle] Try to display the most useful panel by default
  Add note about deprecating the XmlEncoder::TYPE_CASE_ATTRIBUTES constant in the upgrade guide
  fix merge
  [DI] add tests loading calls with returns-clone
  [DI] dont mandate a class on inline services with a factory
  Fixed Redis Sentinel usage when only one Sentinel specified
  [EventDispatcher] Added tests for aliased events.
  Sync Twig templateExists behaviors
  Fix the :only-of-type pseudo class selector
  Deprecate the XmlEncoder::TYPE_CASE_ATTRIBUTES constant
  [Mailer] Tweak some code
  [Serializer] Add CsvEncoder tests for PHP 7.4
  Copy phpunit.xsd to a predictable path
  [WebserverBundle] Remove duplicated deprecation message
  remove duplicated test
  [Security/Http] fix parsing X509 emailAddress
  [FrameworkBundle] conflict with VarDumper < 4.4
  ...
2019-10-02 17:00:37 +02:00
Justin Reherman
64aecab0a7
Don't let falsey usernames slip through 2019-10-02 10:20:10 -04:00
Nicolas Grekas
d4f3b685df Merge branch '4.3' into 4.4
* 4.3:
  Sync Twig templateExists behaviors
  Fix the :only-of-type pseudo class selector
  [Serializer] Add CsvEncoder tests for PHP 7.4
  Copy phpunit.xsd to a predictable path
  [Security/Http] fix parsing X509 emailAddress
  [Serializer] fix denormalization of string-arrays with only one element #33731
  [Cache] fix known tag versions ttl check
2019-10-02 10:48:21 +02:00
Nicolas Grekas
b628210df7 Merge branch '3.4' into 4.3
* 3.4:
  Sync Twig templateExists behaviors
  Fix the :only-of-type pseudo class selector
  [Serializer] Add CsvEncoder tests for PHP 7.4
  Copy phpunit.xsd to a predictable path
  [Security/Http] fix parsing X509 emailAddress
  [Serializer] fix denormalization of string-arrays with only one element #33731
  [Cache] fix known tag versions ttl check
2019-10-02 10:36:26 +02:00
Nicolas Grekas
fceb86bde6 [Security/Http] fix parsing X509 emailAddress 2019-09-30 14:24:32 +02:00
Nicolas Grekas
10be999069 Merge branch '4.4'
* 4.4:
  sync phpunit script with master
  [HttpFoundation] allow additinal characters in not raw cookies
  [Console] Deprecate abbreviating hidden command names using  Application->find()
  Do not include hidden commands in suggested alternatives
  [Messenger] Improve error message when routing to an invalid transport (closes #31613)
  [DependencyInjection] Fix wrong exception when service is synthetic
  [Security] add "anonymous: lazy" mode to firewalls
2019-09-28 18:14:00 +02:00
Robin Chalas
6fef3fb83c feature #33676 [Security] add "anonymous: lazy" mode to firewalls (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] add "anonymous: lazy" mode to firewalls

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| Tickets       | Fixes #26769 et al.
| License       | MIT
| Doc PR        | -

Contains #33663 until it is merged.

This PR allows defining a firewall as such:
```yaml
security:
    firewalls:
        main:
            anonymous: lazy
```

This means that the corresponding area should not start the session / load the user unless the application actively gets access to it. On pages that don't fetch the user at all, this means the session is not started, which means the corresponding token neither is. Lazily, when the user is accessed, e.g. via a call to `is_granted()`, the user is loaded, starting the session if needed.

See #27817 for previous explanations on the topic also.

Note that thanks to the logic in #33633, this PR doesn't have the drawback spotted in #27817: here, the profiler works as expected.

Recipe update pending at https://github.com/symfony/recipes/pull/649

Commits
-------

5cd1d7b4cc [Security] add "anonymous: lazy" mode to firewalls
2019-09-28 01:05:16 +02:00
Nicolas Grekas
8f1c4f1f86 Merge branch '4.4'
* 4.4: (28 commits)
  [FrameworkBundle] Fix framework bundle lock configuration not working as expected
  [Validator] Add the missing translations for the Azerbaijani locale
  [HttpClient] workaround bad Content-Length sent by old libcurl
  [Cache] dont override native Memcached options
  Fix CS
  Fix exceptions (PDOException) error code type
  [ErrorHandler] fix return-type patching logic
  [Messenger] Added support for `from_transport` attribute on `messenger.message_handler` tag
  [ErrorHandler] don't throw deprecations for return-types by default
  ensure legacy event dispatcher compatibility
  ensure legacy event dispatcher compatibility
  Fix return type of Process::restart().
  [Cache] fail gracefully when locking is not supported
  [HttpKernel] compress files generated by the profiler
  tweak deprecation messages and changelog
  fix version in @deprecated annotation
  Use VarCloner data instead of legacy array for query params
  [Security] use LegacyEventDispatcherProxy
  [HttpClient] fix undefined index access
  [HttpClient] fix race condition when reading response with informational status
  ...
2019-09-27 00:15:24 +02:00
Jérôme Vasseur
3a5fd486de Fix isGranted with object attribute 2019-09-26 15:32:08 +02:00
Nicolas Grekas
5cd1d7b4cc [Security] add "anonymous: lazy" mode to firewalls 2019-09-25 16:50:19 +02:00
Christian Flothmann
1595d307cf Merge branch '4.3' into 4.4
* 4.3:
  fix version in @deprecated annotation
  [Security] use LegacyEventDispatcherProxy
  Add missing row_attr option to FormType
2019-09-25 16:40:34 +02:00
Christian Flothmann
4e0f034e11 remove tests for legacy behavior 2019-09-25 15:28:34 +02:00
Christian Flothmann
2b6ce01a98 remove deprecated code paths 2019-09-25 10:10:24 +02:00
Christian Flothmann
eceb0e595c tweak deprecation messages and changelog 2019-09-25 10:01:37 +02:00
David Maicher
7067e48165 [Security] use LegacyEventDispatcherProxy 2019-09-24 20:49:43 +02:00
Nicolas Grekas
2d877b1804 Merge branch '4.4'
* 4.4:
  [Security/Http] fix typo in deprecation message
  [Security] Deprecate isGranted()/decide() on more than one attribute
  Fixed a minor typo in the UPGRADE to 5.0 guide
  Various tweaks 3.4
  Various tweaks 4.3
  [Security] Make stateful firewalls turn responses private only when needed
  [PhpUnit] Fix usleep mock return value
  Revert \"feature #33507 [WebProfiler] Deprecated intercept_redirects in 4.4 (dorumd)\"
  [TwigBundle] typo
  [TwigBundle] fix test case
  [Lock] use Predis\ClientInterface instead of Predis\Client
  Allow Twig 3
  Minor tweaks
  Fix version typo in deprecation notice
  [Form][SubmitType] Add "validate" option
  hint to the --parse-tags when parsing tags fails
  Make legacy "wrong" RFC2047 encoding apply only to one header
2019-09-24 18:05:28 +02:00
Nicolas Grekas
51a2cb6e3c Merge branch '4.3' into 4.4
* 4.3:
  [Security/Http] fix typo in deprecation message
  Various tweaks 3.4
  Various tweaks 4.3
  [PhpUnit] Fix usleep mock return value
  [Lock] use Predis\ClientInterface instead of Predis\Client
  Fix version typo in deprecation notice
  Make legacy "wrong" RFC2047 encoding apply only to one header
2019-09-24 17:57:39 +02:00
Nicolas Grekas
1ccc970469 minor #33690 [Security/Http] fix typo in deprecation message (nicolas-grekas)
This PR was merged into the 4.3 branch.

Discussion
----------

[Security/Http] fix typo in deprecation message

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

spotted by @stof in #33676

Commits
-------

e70057aed4 [Security/Http] fix typo in deprecation message
2019-09-24 17:54:42 +02:00
Nicolas Grekas
7031e83a8f Merge branch '3.4' into 4.3
* 3.4:
  Various tweaks 3.4
  [PhpUnit] Fix usleep mock return value
  [Lock] use Predis\ClientInterface instead of Predis\Client
2019-09-24 17:54:14 +02:00
Nicolas Grekas
e70057aed4 [Security/Http] fix typo in deprecation message 2019-09-24 17:43:44 +02:00
Fabien Potencier
3c7172d81e feature #33584 [Security] Deprecate isGranted()/decide() on more than one attribute (wouterj)
This PR was squashed before being merged into the 4.4 branch (closes #33584).

Discussion
----------

[Security] Deprecate isGranted()/decide() on more than one attribute

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

While I expect it not be used much, it is currently possible to call `isGranted()` on more than one attribute:

```php
if ($this->authorizationChecker->isGranted(['ROLE_USER', 'ROLE_ADMIN'])) {
    // ...
}
```

Supporting this includes a couple of problems/questions:

- It is not clear whether this is `OR` or `AND`;
- In fact, this is left over to the voter to decide upon. So it can vary for each voter and writers of new voters need to consider this (otherwise, you get issues like https://github.com/LeaseWeb/LswSecureControllerBundle/issues/4 );
- It promotes to vote over roles instead of actions.

I think we can do better. In the past, we've created all tooling for this to be self-explaining and easier:

```php
// ExpressionLanguage component (also includes other functions, like `is_granted('EDIT')`)
if ($this->authorizationChecker->isGranted("has_role('ROLE_USER') or has_role('ROLE_ADMIN')")) {
    // ...
}

// calling it multiple times in PHP (may reduce performance)
if ($this->authorizationChecker->isGranted('ROLE_USER')
    || $this->authorizationChecker->isGranted('ROLE_ADMIN')
) {
    // ...
}

// or by using Role Hierarchy, if a user really wants to vote on roles
```

This PR deprecates passing more than one attribute to `isGranted()` and `decide()` to remove this confusing bit in Security usage.

Backwards compatiblity help
---

I need some help in how to approach changing the `VoterInterface::vote(TokenInterface $token, $subject, array $attributes)` method in a backwards compatible way. Removing `array` breaks all Voters, so does changing it to `string` and removed the parameter all together.

Commits
-------

c64b0beffb [Security] Deprecate isGranted()/decide() on more than one attribute
2019-09-24 17:21:06 +02:00
Wouter J
c64b0beffb [Security] Deprecate isGranted()/decide() on more than one attribute 2019-09-24 17:21:01 +02:00
Fabien Potencier
47cb83a6ec Various tweaks 3.4 2019-09-24 07:29:29 +02:00
Fabien Potencier
7596f99a12 Various tweaks 4.3 2019-09-24 07:27:42 +02:00
Nicolas Grekas
20df3a125c [Security] Make stateful firewalls turn responses private only when needed 2019-09-23 21:34:59 +02:00
Fabien Potencier
5d5881a9b4 Merge branch '4.4'
* 4.4:
  [Twig] Remove dead code
  Minor updates in the new Welcome page
  Add gitignore file for Symfony 4.3
  Add gitignore file for Symfony 3.4
  [Inflector] Add .gitignore file
  [Messenger] Fix exception message of failed message is dropped on retry
  Add default value for Accept header
  [HttpClient] Add .gitignore file
  [Finder] Adjust regex to correctly match comments in gitignore contents
  [Security] Removed unused argument in Test
  [Console] Get dimensions from stty on windows if possible
  [Inflector] add support 'see' to 'ee' for singularize 'fees' to 'fee'
2019-09-17 13:12:43 +02:00
Fabien Potencier
3c78fde548 Merge branch '4.3' into 4.4
* 4.3:
  [Twig] Remove dead code
  Add gitignore file for Symfony 4.3
  Add gitignore file for Symfony 3.4
  [Inflector] Add .gitignore file
  [Messenger] Fix exception message of failed message is dropped on retry
  Add default value for Accept header
  [HttpClient] Add .gitignore file
  [Finder] Adjust regex to correctly match comments in gitignore contents
  [Security] Removed unused argument in Test
  [Console] Get dimensions from stty on windows if possible
  [Inflector] add support 'see' to 'ee' for singularize 'fees' to 'fee'
2019-09-17 13:12:18 +02:00
Fabien Potencier
9072ba8b58 Merge branch '3.4' into 4.3
* 3.4:
  [Twig] Remove dead code
  Add gitignore file for Symfony 3.4
  [Inflector] Add .gitignore file
  [Security] Removed unused argument in Test
  [Console] Get dimensions from stty on windows if possible
  [Inflector] add support 'see' to 'ee' for singularize 'fees' to 'fee'
2019-09-17 13:12:06 +02:00
Fabien Potencier
21d9320be2 Merge branch '4.4'
* 4.4:
  Adding .gitattributes to remove Tests directory from "dist"
  [Messenger] Don't deep merge routing.senders config option
2019-09-16 10:16:50 +02:00
Nyholm
ac7dc24bcb Adding .gitattributes to remove Tests directory from "dist" 2019-09-16 10:12:51 +02:00
Sebastiaan Stok
7c7422f384
[Security] Removed unused argument in Test
After #32998 there was a minor left over, the `testHandleAuthenticationClearsToken`
`$tokenClass` argument is no longer used and can be safely removed.
2019-09-15 19:41:45 +02:00
Nicolas Grekas
70963e390b Merge branch '4.4'
* 4.4:
  Update GitHub PR template
  [DI] fix related to preloading
  [HttpKernel] fix compat with legacy DebugClassLoader
  [WebProfilerBundle] Assign automatic colors to custom Stopwatch categories
  [DI] use dirname() when possible
  Simplify usage of dirname()
  Remove Google references when not needed
  Simplify usage of dirname()
  don't dump a scalar tag value on its own line
  Remove Google references when not needed
  [DI] fix Preloader
  [HttpClient] fix calling the buffer-enabling callback
  [HttpClient] fix php notice on push
  do not perform string operations on null
  Require exact match when reading from stdin with a dash
2019-09-10 19:00:13 +02:00
Fabien Potencier
c709d43878 Merge branch '4.3' into 4.4
* 4.3:
  Remove Google references when not needed
  Simplify usage of dirname()
  Remove Google references when not needed
2019-09-10 13:27:29 +02:00
Fabien Potencier
c4d44eb089 Simplify usage of dirname() 2019-09-10 13:22:25 +02:00
Nicolas Grekas
6b6562cf13 Merge branch '4.4'
* 4.4: (21 commits)
  [appveyor] exclude tty group
  [HttpFoundation] Add types to private/final/internal methods and constructors.
  Add types to private/final/internal methods and constructors.
  SCA: minor code tweaks
  Tweak output
  [FrameworkBundle] Added --sort option for TranslationUpdateCommand
  [HttpClient] fallbackto CURLMOPT_MAXCONNECTS when CURLMOPT_MAX_HOST_CONNECTIONS is not available
  [DI] generate preload.php file for PHP 7.4 in cache folder
  Allow version 2 of the contracts package.
  [Serializer] Allow multi-dimenstion object array in AbstractObjectNormalizer
  fixed typo
  [HttpKernel] Fix Apache mod_expires Session Cache-Control issue
  deprecated not passing dash symbol (-) to STDIN commands
  [VarDumper] display ellipsed FQCN for nested classes
  [VarDumper] Display fully qualified title
  [Mailer] Change the syntax for DSNs using failover or roundrobin
  Removed workaround introduced in 4.3
  [Console] Added support for definition list
  [OptionsResolver] Display full nested options hierarchy in exceptions
  New welcome page
  ...
2019-09-08 22:44:36 +02:00
Alexander M. Turek
a1ee32039b Allow version 2 of the contracts package. 2019-09-08 12:38:38 +02:00
Tobias Schultze
953057f28d Make dispatched events really final 2019-09-06 22:41:54 +02:00
Nicolas Grekas
bfdf79e25d Merge branch '4.4'
* 4.4:
  [MonologBridge] Bump min version for monolog ^1.25 and drop dead code
  [Bridge/Twig] use tty group on testLintDefaultPaths
  fix tests mocking final events
2019-09-06 18:03:39 +02:00
Nicolas Grekas
9d472c715f minor #33482 fix tests mocking final events (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

fix tests mocking final events

| 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 | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        |

Fix tests in 4.4 extracted from #33297

Commits
-------

637461fd51 fix tests mocking final events
2019-09-06 17:55:53 +02:00
Nicolas Grekas
37faf3acdf fix merge 2019-09-06 16:55:00 +02:00
Nicolas Grekas
c327510cf0 Merge branch '4.4'
* 4.4:
  [Debug] disable new DebugClassLoader when testing the legacy one
  - updated AbstractToken to compare Roles - Updated isEqualTo method to match roles as default User implements EquatableInterface - added test case - bumped symfony/security-core to 4.4
  typos bis
  typos
  Fix more bad tests
  Fix test fixtures with deprecated method signatures.
  Fix 4.3 tests forward compat
  [Messenger] fix empty amqp body returned as false
  [Mailer] Added messenger to dev dependencies.
  [Validator] Update "suggest" section in composer.json.
  Fix routing cache broken when using generator_class
2019-09-06 16:26:53 +02:00
Oleg Andreyev
4f4c30d59e - updated AbstractToken to compare Roles
- Updated isEqualTo method to match roles as default User implements EquatableInterface
- added test case
- bumped symfony/security-core to 4.4
2019-09-06 15:59:50 +03:00
Nicolas Grekas
28d331bb58 Merge branch '4.3' into 4.4
* 4.3:
  Fix more bad tests
  Fix test fixtures with deprecated method signatures.
  Fix 4.3 tests forward compat
  [Messenger] fix empty amqp body returned as false
  Fix routing cache broken when using generator_class
2019-09-06 12:03:11 +02:00
Alexander M. Turek
592aacff6f Fix test fixtures with deprecated method signatures. 2019-09-06 00:33:19 +02:00
Tobias Schultze
637461fd51 fix tests mocking final events 2019-09-05 22:36:38 +02:00
Christian Flothmann
6a66e19b88 drop support for non-boolean return values from checkCredentials() 2019-08-27 09:45:18 +02:00
Nicolas Grekas
7f2236f7bf Add more "object" return types 2019-08-26 18:20:41 +02:00
Nicolas Grekas
b38a717d78 Merge branch '4.4'
* 4.4: (28 commits)
  fix merge
  [SecurityBundle] fix return type declarations
  [BrowserKit] fix return type declarations
  [PropertyInfo] fix return type declarations
  [Bridge/Doctrine] fix return type declarations
  [Form] fix return type declarations
  [Console] fix return type declarations
  [Intl] fix return type declarations
  [Templating] fix return type declarations
  [DomCrawler] fix return type declarations
  [Validator] fix return type declarations
  [Process] fix return type declarations
  [Workflow] fix return type declarations
  [Cache] fix return type declarations
  [Serializer] fix return type declarations
  [Translation] fix return type declarations
  [DI] fix return type declarations
  [Config] fix return type declarations
  [HttpKernel] Fix return type declarations
  [Security] Fix return type declarations
  ...
2019-08-26 11:05:36 +02:00
Nicolas Grekas
089097046b Merge branch '4.3' into 4.4
* 4.3: (23 commits)
  fix merge
  [SecurityBundle] fix return type declarations
  [BrowserKit] fix return type declarations
  [PropertyInfo] fix return type declarations
  [Bridge/Doctrine] fix return type declarations
  [Form] fix return type declarations
  [Console] fix return type declarations
  [Intl] fix return type declarations
  [Templating] fix return type declarations
  [DomCrawler] fix return type declarations
  [Validator] fix return type declarations
  [Process] fix return type declarations
  [Workflow] fix return type declarations
  [Cache] fix return type declarations
  [Serializer] fix return type declarations
  [Translation] fix return type declarations
  [DI] fix return type declarations
  [Config] fix return type declarations
  [HttpKernel] Fix return type declarations
  [Security] Fix return type declarations
  ...
2019-08-26 11:00:56 +02:00
Nicolas Grekas
9e154e7728 fix merge 2019-08-26 10:55:16 +02:00
Nicolas Grekas
74b2802197 Merge branch '3.4' into 4.3
* 3.4: (21 commits)
  [SecurityBundle] fix return type declarations
  [BrowserKit] fix return type declarations
  [PropertyInfo] fix return type declarations
  [Bridge/Doctrine] fix return type declarations
  [Form] fix return type declarations
  [Console] fix return type declarations
  [Intl] fix return type declarations
  [Templating] fix return type declarations
  [DomCrawler] fix return type declarations
  [Validator] fix return type declarations
  [Process] fix return type declarations
  [Workflow] fix return type declarations
  [Cache] fix return type declarations
  [Serializer] fix return type declarations
  [Translation] fix return type declarations
  [DI] fix return type declarations
  [Config] fix return type declarations
  [HttpKernel] Fix return type declarations
  [Security] Fix return type declarations
  [Routing] Fix return type declarations
  ...
2019-08-26 10:26:39 +02:00
Alexander M. Turek
e0d79f71ed [Security] Fix return type declarations 2019-08-26 09:50:50 +02:00
Nicolas Grekas
ef5ead0005 [HttpFoundation] fix return type declarations 2019-08-26 09:50:50 +02:00
Alexander M. Turek
a0ca3afeca Deprecate returning non-boolean values from checkCredentials(). 2019-08-23 20:43:33 +02:00
Nicolas Grekas
9ce1f02501 Merge branch '4.4'
* 4.4:
  Add more return types after fixing a typo in my script
2019-08-23 14:18:57 +02:00
Nicolas Grekas
65d942010c Add more return types after fixing a typo in my script 2019-08-23 14:16:45 +02:00
Nicolas Grekas
d400aeb4f5 Merge branch '4.4'
* 4.4:
  Add return types to internal & magic methods when possible
  fixed CSC
  Add Address::fromString
  [DomCrawler] Added Crawler::matches(), ::closest(), ::outerHtml()
2019-08-22 15:39:30 +02:00
Nicolas Grekas
962dcfeed0 Add return types to internal & magic methods when possible 2019-08-22 15:18:41 +02:00
Nicolas Grekas
f83ebd49b6 minor #33154 Parameter type leftovers (derrabus)
This PR was merged into the 5.0-dev branch.

Discussion
----------

Parameter type leftovers

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

Commits
-------

34eda04866 Added more parameter type declarations.
2019-08-21 17:54:28 +02:00
Nicolas Grekas
61821f3981 Merge branch '4.4'
* 4.4:
  ws fix
  Mark all dispatched event classes as final
2019-08-21 17:53:42 +02:00
Nicolas Grekas
f2e2df6a0c feature #33152 Mark all dispatched event classes as final (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

Mark all dispatched event classes as final

| 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 |
| License       | MIT
| Doc PR        |

I think we should mark all our Event classes as final. There is no point in people extending them as the libraries that use the event, will only dispatch this event. So extending events in user-land achieves nothing as the subclasses won't be dispatched.
I'm not talking about the base events that are meant to be extended like KernelEvent, but the leaf events like ExceptionEvent, ResponseEvent etc.
Then we can also make them real final in 5.0 as the events are value objects that should not be mocked.

Commits
-------

4bb38eec89 Mark all dispatched event classes as final
2019-08-21 17:50:31 +02:00
Nicolas Grekas
b390ed7d88 Merge branch '4.4'
* 4.4:
  Fixed tests on the Security and Form components
  Add return types to tests and final|internal|private methods
2019-08-21 17:37:45 +02:00
Tobias Schultze
4bb38eec89 Mark all dispatched event classes as final 2019-08-21 17:17:54 +02:00
Alexander M. Turek
c39fd9c973 Fixed tests on the Security and Form components 2019-08-21 17:17:31 +02:00
Alexander M. Turek
34eda04866 Added more parameter type declarations. 2019-08-21 17:16:25 +02:00
Nicolas Grekas
fc186bb78f Add return types to tests and final|internal|private methods 2019-08-21 17:14:41 +02:00
Nicolas Grekas
f07faaa757 Merge branch '4.4'
* 4.4:
  Do not extend the new SF 4.3 ControllerEvent so we can make it final
  Backported return type violation bugfixes.
  fix deprecated call to setLocale with null
  [FrameworkBundle] Fix BrowserKit assertions to make them compatible with Panther
  [HttpKernel] deprecate global dir to load resources from
2019-08-21 17:11:23 +02:00
Nicolas Grekas
2984ab7e4e Merge branch '4.3' into 4.4
* 4.3:
  Do not extend the new SF 4.3 ControllerEvent so we can make it final
  Backported return type violation bugfixes.
  [FrameworkBundle] Fix BrowserKit assertions to make them compatible with Panther
2019-08-21 17:03:51 +02:00
Nicolas Grekas
72eaff8893 Merge branch '3.4' into 4.3
* 3.4:
  Backported return type violation bugfixes.
2019-08-21 16:58:38 +02:00
Alexander M. Turek
8877a013d7 Backported return type violation bugfixes. 2019-08-21 16:37:38 +02:00
Nicolas Grekas
0fa6ef1826 Merge branch '4.4'
* 4.4:
  [4.4] Add return types on internal|final|private methods (bis)
  [Ldap] Add missing LdapUser::setPassword()
  Add types to roting and DI configuration traits.
2019-08-20 23:41:37 +02:00
Nicolas Grekas
23faee406f [4.4] Add return types on internal|final|private methods (bis) 2019-08-20 23:22:06 +02:00
Nicolas Grekas
4036357150 Merge branch '4.4'
* 4.4:
  some backports from master
  Add return types to internal|final|private methods
  [HttpFoundation] Precalculate session expiry timestamp
2019-08-20 18:53:57 +02:00
Nicolas Grekas
32116184d7 Add return types to internal|final|private methods 2019-08-20 17:32:53 +02:00
Nicolas Grekas
322da9df6c Merge branch '4.4'
* 4.4:
  cs fix
  Fix inconsistent return points.
  [Config] Add handling for ignored keys in ArrayNode::mergeValues.
  Fix inconsistent return points.
  [Security/Core] UserInterface::getPassword() can return null
  cs fix
  cs fix
  Fix missing exporter in PHPUnit constraint poylfill
  added `Process::getLastOutputTime()` method
  [Router] Fix TraceableUrlMatcher behaviour with trailing slash
  [HttpKernel] Remove outdated docblock comment
  Fix handling for session parameters
  Revert "bug #33092 [DependencyInjection] Improve an exception message (fabpot)"
2019-08-20 16:46:00 +02:00
Nicolas Grekas
225bf41e3b Merge branch '4.3' into 4.4
* 4.3:
  cs fix
  Fix inconsistent return points.
  [Config] Add handling for ignored keys in ArrayNode::mergeValues.
  Fix inconsistent return points.
  [Security/Core] UserInterface::getPassword() can return null
  [Router] Fix TraceableUrlMatcher behaviour with trailing slash
  Revert "bug #33092 [DependencyInjection] Improve an exception message (fabpot)"
2019-08-20 16:44:19 +02:00
Nicolas Grekas
aefbc93a07 Merge branch '3.4' into 4.3
* 3.4:
  Fix inconsistent return points.
  [Security/Core] UserInterface::getPassword() can return null
  [Router] Fix TraceableUrlMatcher behaviour with trailing slash
2019-08-20 16:07:54 +02:00
Nicolas Grekas
727d431bf2 minor #33257 [Security/Core] UserInterface::getPassword() can return null (nicolas-grekas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security/Core] UserInterface::getPassword() can return null

| 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        | -

Our very own `User` class can return null already.

Commits
-------

00d7f8cde7 [Security/Core] UserInterface::getPassword() can return null
2019-08-20 15:35:21 +02:00
Alexander M. Turek
f5b6ee9de1 Fix inconsistent return points. 2019-08-20 15:31:17 +02:00
Nicolas Grekas
00d7f8cde7 [Security/Core] UserInterface::getPassword() can return null 2019-08-20 15:10:28 +02:00
Nicolas Grekas
b8c646fe54 Merge branch '4.4'
* 4.4:
  [Routing] Add a param annotation for $annot.
  [DI] fix docblock
  [Console] fix docblock
  Add missing translations for Armenian locale
  [Process] Added missing return type.
  [Process] Doc block backport.
  Added doc block for Registry::supports().
  [Cache] Fix predis test
  Don't duplicate addresses in Sendgrid Transport
  Remove unnecessary statement
  Fix some docblocks.
  [Messenger] make delay exchange and queues durable like the normal ones by default
  Cancel delayed message if handler fails
  Added tests for #32370
2019-08-19 13:20:07 +02:00
Nicolas Grekas
3cd20c993d Merge branch '4.3' into 4.4
* 4.3:
  [Routing] Add a param annotation for $annot.
  [DI] fix docblock
  [Console] fix docblock
  Add missing translations for Armenian locale
  [Process] Added missing return type.
  [Process] Doc block backport.
  Added doc block for Registry::supports().
  [Cache] Fix predis test
  Don't duplicate addresses in Sendgrid Transport
  Remove unnecessary statement
  Fix some docblocks.
  [Messenger] make delay exchange and queues durable like the normal ones by default
  Cancel delayed message if handler fails
  Added tests for #32370
2019-08-19 13:17:23 +02:00
Nicolas Grekas
3aa4537ef8 Merge branch '3.4' into 4.3
* 3.4:
  [Routing] Add a param annotation for $annot.
  [DI] fix docblock
  Add missing translations for Armenian locale
  [Process] Doc block backport.
  Fix some docblocks.
2019-08-19 13:14:47 +02:00
Fabien Potencier
6fd929ea31 Merge branch '4.4'
* 4.4:
  [Mailer] simplified the way TLS/SSL/StartTls work
  [VarDumper] Add test dump image
  Allow exchange type headers binding
  Add types to private and final methods.
  [Messenger] InMemoryTransport handle acknowledged and rejected messages
  [Intl] Validate region preferred alpha code mapping
  Added ErrorHandler::call() method utility to turns any PHP warnings into `\ErrorException`
  [Intl] Full alpha3 language support
  [Monolog] Added ElasticsearchLogstashHandler
2019-08-19 12:49:00 +02:00
Alexander M. Turek
1b880677d4 Add types to private and final methods. 2019-08-18 11:59:28 +02:00
Alexander M. Turek
df89373e62 Fix some docblocks. 2019-08-16 02:50:45 +02:00
Nicolas Grekas
42cad9b76e Merge branch '4.4'
* 4.4:
  Remove superfluous phpdoc tags
2019-08-14 14:45:29 +02:00
Nicolas Grekas
507223dc73 Merge branch '4.3' into 4.4
* 4.3:
  Remove superfluous phpdoc tags
2019-08-14 14:37:46 +02:00
Nicolas Grekas
b3467e641c Merge branch '3.4' into 4.3
* 3.4:
  Remove superfluous phpdoc tags
2019-08-14 14:26:46 +02:00
Philippe Segatori
608e23c09a Remove superfluous phpdoc tags 2019-08-14 13:59:53 +02:00
Nicolas Grekas
3aca99ded7 Merge branch '4.4'
* 4.4:
  cs fix
  Fix return statements
  [TwigBridge] add missing dep
  Add type declarations to private DefaultChoiceListFactory methods
  Add false type to ChoiceListFactoryInterface::createView $label argument
  Update UPGRADE guide of 4.3 for EventDispatcher
  [SecurityBundle] display the correct class name on the deprecated notice
2019-08-13 08:58:13 +02:00
Nicolas Grekas
3ec91065f7 Merge branch '4.3' into 4.4
* 4.3:
  cs fix
  Fix return statements
  [TwigBridge] add missing dep
  Add false type to ChoiceListFactoryInterface::createView $label argument
  Update UPGRADE guide of 4.3 for EventDispatcher
  [SecurityBundle] display the correct class name on the deprecated notice
2019-08-13 08:48:26 +02:00
Nicolas Grekas
7d0795d0b8 Merge branch '3.4' into 4.3
* 3.4:
  Fix return statements
  [TwigBridge] add missing dep
  Add false type to ChoiceListFactoryInterface::createView $label argument
2019-08-13 08:39:03 +02:00
Nicolas Grekas
2bc05c83b4 Fix return statements 2019-08-13 08:33:05 +02:00
Nicolas Grekas
e37f672c2b Merge branch '4.3' into 4.4
* 4.3:
  Bump minimal requirements
2019-08-10 23:16:51 +02:00
Jérémy Derussé
c874d3b778 Bump minimal requirements 2019-08-10 23:01:55 +02:00
Nicolas Grekas
eb13c92fb9 Merge branch '4.4'
* 4.4:
  cleanups
  Disable PHPUnit result cache on the CI
  [Security] Cleanup "Digest nonce has expired." translation
  [Translation] Highlight invalid translation status
  Added translations in validator for Serbian Cyrillic
  Added translations in validator for Serbian Latin
  [EventDispatcher] wrong Request class
  [DependencyInjection] improved exception message
2019-08-10 22:52:43 +02:00
Nicolas Grekas
50167b9509 Merge branch '4.3' into 4.4
* 4.3:
  cleanups
  Disable PHPUnit result cache on the CI
  [Security] Cleanup "Digest nonce has expired." translation
  [Translation] Highlight invalid translation status
  Added translations in validator for Serbian Cyrillic
  Added translations in validator for Serbian Latin
  [EventDispatcher] wrong Request class
  [DependencyInjection] improved exception message
2019-08-10 22:49:34 +02:00
Roland Franssen
7aa1120993 [Security] Cleanup "Digest nonce has expired." translation 2019-08-10 09:37:37 +02:00
Andreia Bohner
6bae9bc0e5 [Security][Http] Add type-hints 2019-08-08 17:40:09 +02:00
Nicolas Grekas
28ae698af3 Merge branch '4.4'
* 4.4:
  Fix compatibility with PHPUnit 8
  Disable phpunit typehint patch on 4.3 branch
  Fix deprecation on 4.3
2019-08-08 14:08:24 +02:00
Nicolas Grekas
32389f8b7f Merge branch '4.3' into 4.4
* 4.3:
  Disable phpunit typehint patch on 4.3 branch
  Fix deprecation on 4.3
2019-08-08 14:07:40 +02:00
Nicolas Grekas
0dc584e3ab Merge branch '4.4'
* 4.4:
  Remove unneeded phpdocs
2019-08-08 11:49:33 +02:00
Fabien Potencier
692a6e7495 Remove unneeded phpdocs 2019-08-08 11:37:48 +02:00
Jérémy Derussé
a5af6c4cd7
Disable phpunit typehint patch on 4.3 branch 2019-08-08 11:29:19 +02:00
Nicolas Grekas
284020d633 Merge branch '4.4'
* 4.4:
  [Debug] Improve UPGRADE files
  remove wrongly added legacy group from test
  consistently throw NotSupportException
  [HttpKernel] Clarify error handler restoring process again
  [HttpClient] Remove CURLOPT_CONNECTTIMEOUT_MS curl opt
  add missing conflict rule
  [Intl] fix nullable phpdocs and useless method visibility of internal class
  remove some more useless phpdocs
  Resilience against file_get_contents() race conditions.
  Turned return type annotations of private methods into php return types.
2019-08-08 11:20:29 +02:00
Nicolas Grekas
fbaf4acf25 minor #33018 remove some more useless phpdocs (Tobion)
This PR was merged into the 4.4 branch.

Discussion
----------

remove some more useless phpdocs

| 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 | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Fix some leftovers from #32974 and #32786

Commits
-------

9be4d171e0 remove some more useless phpdocs
2019-08-08 11:14:40 +02:00
Tobias Schultze
9be4d171e0 remove some more useless phpdocs 2019-08-07 17:39:12 +02:00
Alexander M. Turek
f54ca001fe Turned return type annotations of private methods into php return types. 2019-08-07 16:19:54 +02:00
Nicolas Grekas
c6409da7ef Merge branch '4.4'
* 4.4:
  fix merge
  Fix inconsistent return points.
  pass translation parameters to the trans filter
  [Mime] fixed wrong mimetype
  [ProxyManagerBridge] Polyfill for unmaintained version
  [HttpClient] Declare `$active` first to prevent weird issue
  Remove deprecated assertContains
  [HttpClient] fix tests
  SCA: dropped unused mocks, duplicate import and a function alias usage
  Added correct plural for box -> boxes
  [Config] fix test
  Fix remaining tests
  fix getName() when transport is null
  [Console] Check for ErrorHandler classes
  Improve fa (persian) translation
2019-08-07 14:07:17 +02:00
Nicolas Grekas
a0c2aa8302 Merge branch '4.3' into 4.4
* 4.3:
  Fix inconsistent return points.
  pass translation parameters to the trans filter
  [Mime] fixed wrong mimetype
  [ProxyManagerBridge] Polyfill for unmaintained version
  [HttpClient] Declare `$active` first to prevent weird issue
  Remove deprecated assertContains
  [HttpClient] fix tests
  SCA: dropped unused mocks, duplicate import and a function alias usage
  Added correct plural for box -> boxes
  [Config] fix test
  Fix remaining tests
  Improve fa (persian) translation
2019-08-07 14:00:28 +02:00
Nicolas Grekas
3cd7726d0d Merge branch '3.4' into 4.3
* 3.4:
  [ProxyManagerBridge] Polyfill for unmaintained version
  SCA: dropped unused mocks, duplicate import and a function alias usage
  [Config] fix test
  Improve fa (persian) translation
2019-08-07 10:30:22 +02:00
Vladimir Reznichenko
484668fe56 SCA: dropped unused mocks, duplicate import and a function alias usage 2019-08-07 09:23:44 +02:00
Fabien Potencier
3dab7c9faf minor #32649 [Security] Improve fa (persian) translation (Arman-Hosseini)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Improve fa (persian) translation

| Q             | A
| ------------- | ---
| Branch?       | >= 3.4 <!-- see below -->
| 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 | N/A    <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | N/A <!-- 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
-------

4afdfd765d Improve fa (persian) translation
2019-08-06 10:03:48 +02:00
Nicolas Grekas
663144702c Merge branch '4.4'
* 4.4:
  bump phpunit-bridge cache-id
  removed unneeded phpdocs
  Use assertStringContainsString when needed
  Use assert assertContainsEquals when needed
  Use assertEqualsWithDelta when required
2019-08-06 09:16:59 +02:00
Nicolas Grekas
94a0719bfc minor #32974 "An instance of X" phpdocs removal (fabpot)
This PR was merged into the 4.4 branch.

Discussion
----------

"An instance of X" phpdocs removal

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

That's #32973 on 4.4 :P

Commits
-------

7a44ed6544 removed unneeded phpdocs
2019-08-06 09:13:58 +02:00
Nicolas Grekas
34e86761f4 Merge branch '4.3' into 4.4
* 4.3:
  bump phpunit-bridge cache-id
  Use assertStringContainsString when needed
  Use assert assertContainsEquals when needed
  Use assertEqualsWithDelta when required
2019-08-06 09:11:23 +02:00
Nicolas Grekas
5f96c0dee4 Merge branch '3.4' into 4.3
* 3.4:
  bump phpunit-bridge cache-id
  Use assertStringContainsString when needed
  Use assert assertContainsEquals when needed
  Use assertEqualsWithDelta when required
2019-08-06 09:11:09 +02:00
Fabien Potencier
7a44ed6544 removed unneeded phpdocs 2019-08-06 08:19:29 +02:00
Jérémy Derussé
f842e59685
Use assert assertContainsEquals when needed 2019-08-06 01:50:02 +02:00
Nicolas Grekas
f4ca628fb3 Merge branch '4.4'
* 4.4:
  Minor fixes
  [Mailer] fixed dispatcher not available in Mailer
  [HttpClient] Minor fixes
  Use namespaced Phpunit classes
  Add polyfill for PhpUnit namespace
  [Messenger] Fixed ConsumeMessagesCommand configuration
  [Form] remove leftover int child phpdoc
  Support DateTimeInterface in IntlDateFormatter::format
  [PhpUnitBridge] fixed PHPUnit 8.3 compatibility: method handleError was renamed to __invoke
  [Yaml] Removed unused $nullAsTilde property
  [Security] add support for opportunistic password migrations
  [Lock] Legacy test should implement legacy interface
  fixed phpdocs
  Use PHPunit assertion
  [Intl] Order alpha2 to alpha3 mapping + phpdoc fixes
2019-08-05 16:12:50 +02:00
Jérémy Derussé
797ea2e4e2 Use namespaced Phpunit classes 2019-08-05 15:11:42 +02:00
Nicolas Grekas
2cfc5c7dd6 [Security] add support for opportunistic password migrations 2019-08-05 10:47:47 +02:00
Christian Flothmann
7d6fc14452 remove the deprecated LdapUserProvider class 2019-08-05 09:57:38 +02:00
Christian Flothmann
2d594d513b Merge branch '4.4'
* 4.4:
  fix case
  [Messenger] Removed named parameters and replaced with `?` placeholders for sqlsrv compatibility
  [FrameworkBundle] Detect indirect env vars in routing
  [Form] type cannot be a FormTypeInterface anymore
  [HttpClient] use "idle" instead of "inactivity" when telling about the timeout option
  Create mailBody with only attachments part present
  Remove calls to deprecated function assertAttributeX
  [PhpUnitBridge] make the bridge act as a polyfill for newest PHPUnit features
  [Intl] Order alpha2 to alpha3 mapping
  [Routing] added a warning about the getRouteCollection() method
  Allow sutFqcnResolver to return array
  [Messenger] Fix incompatibility with FrameworkBundle <4.3.1
  Created alias to FlattenException to avoid BC break
  [Ldap] Add security LdapUser and provider
  [HttpFoundation] Revert getClientIp @return docblock
2019-08-05 09:40:44 +02:00
Fabien Potencier
84d5996c41 feature #32824 [Ldap] Add security LdapUser and provider (chalasr)
This PR was merged into the 4.4 branch.

Discussion
----------

[Ldap] Add security LdapUser and provider

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

Moves `LdapUserProvider` from `Security\Core` to the Ldap component, the provider now deals with a new `LdapUser` aware of its ldap `Entry` (should help in #31843).

Commits
-------

6736cdfec3 [Ldap] Add security LdapUser and provider
2019-08-05 07:37:48 +02:00
Nicolas Grekas
2c0e0cae4c Merge branch '4.4'
* 4.4:
  Remove use of ForwardCompatTrait
  Remove deprecated methods assertArraySubset
2019-08-04 00:02:11 +02:00
Nicolas Grekas
d588be203a Merge branch '4.3' into 4.4
* 4.3:
  Remove use of ForwardCompatTrait
  Remove deprecated methods assertArraySubset
2019-08-03 23:59:26 +02:00
Nicolas Grekas
64e3a327bc Merge branch '3.4' into 4.3
* 3.4:
  Remove use of ForwardCompatTrait
  Remove deprecated methods assertArraySubset
2019-08-03 23:50:52 +02:00
Jérémy Derussé
ac6242f36b
Remove use of ForwardCompatTrait 2019-08-03 23:15:25 +02:00
Nicolas Grekas
01a5a2fffa Merge branch '4.4'
* 4.4:
  Adopt `@PHPUnit55Migration:risky` rule of php-cs-fixer
2019-08-03 16:07:42 +02:00
Nicolas Grekas
83f1dca60c Merge branch '4.3' into 4.4
* 4.3:
  Adopt `@PHPUnit55Migration:risky` rule of php-cs-fixer
2019-08-03 16:05:30 +02:00
Nicolas Grekas
07bade03e4 Merge branch '3.4' into 4.3
* 3.4:
  Adopt `@PHPUnit55Migration:risky` rule of php-cs-fixer
2019-08-03 16:00:31 +02:00
Nicolas Grekas
d1ef28e7db Merge branch '4.4'
* 4.4:
  Fix tests
  Fix deprecated phpunit annotation
2019-08-02 15:12:48 +02:00
Nicolas Grekas
daa4e4020f Merge branch '4.3' into 4.4
* 4.3:
  Fix tests
  Fix deprecated phpunit annotation
2019-08-02 14:28:34 +02:00
Nicolas Grekas
1b56d7f04d Merge branch '3.4' into 4.3
* 3.4:
  Fix tests
  Fix deprecated phpunit annotation
2019-08-02 14:15:04 +02:00
Jérémy Derussé
a22a9c453f
Fix tests 2019-08-02 01:40:18 +02:00
Jérémy Derussé
3a626e8778
Fix deprecated phpunit annotation 2019-08-02 00:48:42 +02:00
Nicolas Grekas
fe11c99f19 Merge branch '4.4'
* 4.4:
  cs fix
  Replace calls to setExpectedException by Pollyfill
2019-08-01 23:17:12 +02:00
Nicolas Grekas
57725de070 Merge branch '4.3' into 4.4
* 4.3:
  cs fix
  Replace calls to setExpectedException by Pollyfill
2019-08-01 23:16:36 +02:00
Nicolas Grekas
e6e68e83cc Merge branch '3.4' into 4.3
* 3.4:
  cs fix
  Replace calls to setExpectedException by Pollyfill
2019-08-01 23:16:14 +02:00
Jérémy Derussé
41c02d7ead
Replace calls to setExpectedException by Pollyfill 2019-08-01 22:42:50 +02:00
Robin Chalas
6736cdfec3 [Ldap] Add security LdapUser and provider 2019-08-01 17:21:33 +02:00
Nicolas Grekas
f6b73e1845 Merge branch '4.3' into 4.4
* 4.3:
  Fix symfony/phpunit-bridge not up to date in phpunit 4.8 test suite
  Sync "not implementing the method" deprecations messages
2019-08-01 16:34:08 +02:00
Nicolas Grekas
8ea304da41 minor #32866 Sync "not implementing the method" deprecations messages (fancyweb)
This PR was merged into the 4.3 branch.

Discussion
----------

Sync "not implementing the method" deprecations messages

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

Suggested in https://github.com/symfony/symfony/pull/32747#discussion_r309307289

Useful for consistency and for future reference for similar messages.

Commits
-------

f6fae1c361 Sync "not implementing the method" deprecations messages
2019-08-01 15:02:51 +02:00
Thomas Calvet
f6fae1c361 Sync "not implementing the method" deprecations messages 2019-08-01 14:51:01 +02:00
Nicolas Grekas
41e931d772 Merge branch '4.4'
* 4.4:
  Fix assertInternalType deprecation in phpunit 9
  Fix assertInternalType deprecation in phpunit 9
  Ensure signatures for setUp|tearDown|setUpAfterClass|tearDownAfterClass methods in tests are compatible with phpunit 8.2
2019-08-01 13:53:34 +02:00
Nicolas Grekas
122a7cffb1 Merge branch '4.3' into 4.4
* 4.3:
  Fix assertInternalType deprecation in phpunit 9
  Ensure signatures for setUp|tearDown|setUpAfterClass|tearDownAfterClass methods in tests are compatible with phpunit 8.2
2019-08-01 13:51:38 +02:00
Luis Pabon
97bcb5da50 Ensure signatures for setUp|tearDown|setUpAfterClass|tearDownAfterClass methods in tests are compatible with phpunit 8.2 2019-08-01 13:15:50 +02:00
Nicolas Grekas
a41e93ec96 Merge branch '4.4'
* 4.4:
  Fix assertInternalType deprecation in phpunit 9
  Micro-typo fix
  add parameter type declarations to private methods
2019-08-01 11:33:55 +02:00
Nicolas Grekas
7f62b7b8f9 Merge branch '4.3' into 4.4
* 4.3:
  Fix assertInternalType deprecation in phpunit 9
  Micro-typo fix
2019-08-01 11:21:25 +02:00
Nicolas Grekas
9babf9fdfb Merge branch '3.4' into 4.3
* 3.4:
  Fix assertInternalType deprecation in phpunit 9
  Micro-typo fix
2019-08-01 11:21:10 +02:00
Fabien Potencier
f830226271 minor #32786 add parameter type declarations to private methods (xabbuh)
This PR was merged into the 4.4 branch.

Discussion
----------

add parameter type declarations to private methods

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

Commits
-------

1b2aaa4a06 add parameter type declarations to private methods
2019-08-01 09:48:49 +02:00
Jérémy Derussé
4c8442462a
Fix assertInternalType deprecation in phpunit 9 2019-08-01 09:40:28 +02:00
Nicolas Grekas
2f9e2ca446 Merge branch '4.4'
* 4.4:
  fix tests
  fix merge
2019-08-01 00:54:38 +02:00
Nicolas Grekas
b5f592e06c Merge branch '4.3' into 4.4
* 4.3:
  fix tests
  fix merge
2019-08-01 00:54:29 +02:00
Nicolas Grekas
2f79ccdc74 fix tests 2019-08-01 00:54:13 +02:00
Benjamin Morel
9e2d683423 Micro-typo fix 2019-08-01 00:45:52 +02:00
Nicolas Grekas
5f29340a8e Merge branch '4.4'
* 4.4:
  [Cache] fix cs
  Make tests support phpunit 8
  Allow Travis CI to build on PHP 7.4
  [DI] Allow dumping the container in one file instead of many files
2019-08-01 00:36:24 +02:00
Nicolas Grekas
13f7616afb Merge branch '4.3' into 4.4
* 4.3:
  [Cache] fix cs
  Make tests support phpunit 8
  Allow Travis CI to build on PHP 7.4
2019-08-01 00:33:28 +02:00
Nicolas Grekas
bce1d5bcd0 Merge branch '3.4' into 4.3
* 3.4:
  [Cache] fix cs
  Make tests support phpunit 8
2019-08-01 00:32:32 +02:00
Nicolas Grekas
81af97f398 Make tests support phpunit 8 2019-07-31 23:55:24 +02:00
Christian Flothmann
1b2aaa4a06 add parameter type declarations to private methods 2019-07-31 20:51:46 +02:00
Nicolas Grekas
f1368b4e29 Merge branch '4.4'
* 4.4:
  [Security] Revise UserPasswordEncoderInterface::needsRehash()
  [Form] update type of form $name arguments
  [HttpClient] Preserve the case of headers when sending them
  [Ldap][Security] use right arguments count in sercurity factories
2019-07-31 17:14:38 +02:00
Nicolas Grekas
f4ceb91f6d bug #32831 [Security] Revise UserPasswordEncoderInterface::needsRehash() (ro0NL)
This PR was squashed before being merged into the 4.4 branch (closes #32831).

Discussion
----------

[Security] Revise UserPasswordEncoderInterface::needsRehash()

| Q             | A
| ------------- | ---
| Branch?       | 4.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 -->

This reuses the encoded password from the user for the `UserPasswordEncoderInterface`, similar we dont pass the encoded string to `isPasswordValid()`.

This differs from the non-user aware `PasswordEncoderInterface`

cc @nicolas-grekas did i miss something?

Commits
-------

c5a283d417 [Security] Revise UserPasswordEncoderInterface::needsRehash()
2019-07-31 17:09:21 +02:00
Roland Franssen
c5a283d417 [Security] Revise UserPasswordEncoderInterface::needsRehash() 2019-07-31 17:09:13 +02:00
Nicolas Grekas
7b4311791c Merge branch '4.4'
* 4.4:
  Fix travis script
  [Contracts] Fix branch alias
  minor fix for wrong case
  [HttpFoundation] Fix `getMaxFilesize`
  [Cache] fix warning on PHP 7.4
  [Console] fix warning on PHP 7.4
  let BlockingStoreInterface extend PersistingStoreInterface
  Don't add value of (default/static) objects to the signature
  fix(yml): fix comment in milti line value
  Make sure trace_level is always defined
  Ensure $request->hasSession() is always checked before calling getSession()
  Fix bindings and tagged_locator
  Recompile container when translations directory changes
2019-07-31 14:45:18 +02:00
Nicolas Grekas
ca7b7b629e Merge branch '4.3' into 4.4
* 4.3:
  Fix travis script
  minor fix for wrong case
  [HttpFoundation] Fix `getMaxFilesize`
  [Cache] fix warning on PHP 7.4
  [Console] fix warning on PHP 7.4
  Don't add value of (default/static) objects to the signature
  fix(yml): fix comment in milti line value
  Make sure trace_level is always defined
  Fix bindings and tagged_locator
  Recompile container when translations directory changes
2019-07-31 14:44:11 +02:00
Nicolas Grekas
3592d69afb Merge branch '3.4' into 4.3
* 3.4:
  Fix travis script
  minor fix for wrong case
  [HttpFoundation] Fix `getMaxFilesize`
  [Cache] fix warning on PHP 7.4
  [Console] fix warning on PHP 7.4
  Don't add value of (default/static) objects to the signature
  fix(yml): fix comment in milti line value
2019-07-31 14:41:55 +02:00
Arman Hosseini
7b2c326719 Ensure $request->hasSession() is always checked before calling getSession() 2019-07-28 18:57:16 +02:00
Nicolas Grekas
b3eb9720de Merge branch '4.4'
* 4.4:
  [Form][Validator] Generate accept attribute with file constraint and mime types option
  [Security/Core] align defaults for sodium with PHP 7.4
  fix inline handling when dumping tagged values
  [HttpClient] fix canceling responses in a streaming loop
  [Messenger] Flatten collection of stamps collected by the traceable middleware
  [Messenger][Profiler] Remove cutting caster to dump full objects
  [WebProfilerBundle] mark all classes as internal
  Decoupling TwigBundle and using the new ErrorRenderer mechanism
  [HttpClient] rewind streams created from strings
  [PropertyAccess] Fix PropertyAccessorCollectionTest
  [HttpClient] rewind stream when using Psr18Client
  Typo in web profiler
  [4.3] Remove dead test fixtures
  [Routing] Fix CHANGELOG
  relax some date parser patterns
  adapt tests
  [Form] Repeat preferred choices in the main list
  Avoid getting right to left style
2019-07-24 16:52:25 +02:00
Nicolas Grekas
5db58f6d37 Merge branch '4.3' into 4.4
* 4.3:
  [Security/Core] align defaults for sodium with PHP 7.4
  fix inline handling when dumping tagged values
  [HttpClient] fix canceling responses in a streaming loop
  [Messenger] Flatten collection of stamps collected by the traceable middleware
  [PropertyAccess] Fix PropertyAccessorCollectionTest
  [HttpClient] rewind stream when using Psr18Client
  Typo in web profiler
  [4.3] Remove dead test fixtures
  [Routing] Fix CHANGELOG
  relax some date parser patterns
  Avoid getting right to left style
2019-07-24 16:49:41 +02:00
Nicolas Grekas
df7afa00ee [Security/Core] align defaults for sodium with PHP 7.4 2019-07-24 15:33:23 +02:00
Nicolas Grekas
0da4771d23 Merge branch '4.4'
* 4.4: (22 commits)
  [FrameworkBundle] [SecurityBundle] Rename internal WebTestCase to avoid confusion
  ignore not existing translator service
  [FrameworkBundle] [SecurityBundle] Rename internal WebTestCase to avoid confusion
  revert private properties handling
  [Lock] Add missing changelog entry for Factory deprecation
  [ErrorRenderer] Improving the exception page provided by HtmlErrorRenderer
  [HttpFoundation] Fix URLs
  [VarDumper] finish PHP 7.4 support and add tests
  [VarDumper] Use \ReflectionReference for determining if a key is a reference (php >= 7.4)
  Fixed the priority order of the error renderers registration
  [Routing] Deprecate ServiceRouterLoader and ObjectRouteLoader in favor of ContainerLoader and ObjectLoader
  Ignore missing translation dependency in FrameworkBundle
  [Security/Http] Don't mark AbstractAuthenticationListener as internal
  Making debug = false by default and cleanup
  Remove hack to access class scope inside closures
  Remove dead tests fixtures
  Remove more dead tests fixtures
  [Mailer][DX] Improve exception message for unsupported scheme
  [Mime] Add missing changelog entry for BC-break
  [Messenger] fix transport_name option not passing validation
  ...
2019-07-23 13:31:24 +02:00
Nicolas Grekas
a688787449 Merge branch '4.3' into 4.4
* 4.3:
  [FrameworkBundle] [SecurityBundle] Rename internal WebTestCase to avoid confusion
  ignore not existing translator service
  [FrameworkBundle] [SecurityBundle] Rename internal WebTestCase to avoid confusion
  revert private properties handling
  [HttpFoundation] Fix URLs
  [VarDumper] finish PHP 7.4 support and add tests
  [VarDumper] Use \ReflectionReference for determining if a key is a reference (php >= 7.4)
  Ignore missing translation dependency in FrameworkBundle
  [Security/Http] Don't mark AbstractAuthenticationListener as internal
  Remove dead tests fixtures
  Remove more dead tests fixtures
  [Mime] Add missing changelog entry for BC-break
  [Messenger] fix transport_name option not passing validation
  Remove dead tests fixtures
  [Debug][ExceptionHandler] Add tests for custom handlers
2019-07-23 13:21:51 +02:00
Nicolas Grekas
80570e9c69 Merge branch '4.2' into 4.3
* 4.2:
  [FrameworkBundle] [SecurityBundle] Rename internal WebTestCase to avoid confusion
  ignore not existing translator service
  [FrameworkBundle] [SecurityBundle] Rename internal WebTestCase to avoid confusion
  revert private properties handling
  [HttpFoundation] Fix URLs
  [VarDumper] finish PHP 7.4 support and add tests
  [VarDumper] Use \ReflectionReference for determining if a key is a reference (php >= 7.4)
  Ignore missing translation dependency in FrameworkBundle
  Remove dead tests fixtures
  Remove more dead tests fixtures
  Remove dead tests fixtures
  [Debug][ExceptionHandler] Add tests for custom handlers
2019-07-23 13:21:36 +02:00
Nicolas Grekas
5a14b7e039 [Security/Http] Don't mark AbstractAuthenticationListener as internal 2019-07-22 19:05:35 +02:00
Arman Hosseini
4afdfd765d
Improve fa (persian) translation 2019-07-22 01:14:06 +04:30
Thomas Calvet
016a214bc5 Remove dead tests fixtures 2019-07-21 19:35:01 +02:00
Nicolas Grekas
b52149fd2f [Security] drop the component 2019-07-18 16:32:31 +02:00
Christian Flothmann
f2b8329695 remove deprecated features 2019-07-14 10:03:55 +02:00
Fabien Potencier
08c80eb341 fixed CS 2019-07-12 09:06:47 +03:00
Fabien Potencier
a8f9727e72 Merge branch '4.4'
* 4.4:
  fixed CS
  [Validator] Add a new constraint message when there is both min and max
  fixed CS
  [Bundles] Rename getPublicPath() as getPublicDir()
  Remove experimental notice from components
  [LDAP] add new option implemented in php 7.1
  Replace missing message parameter
2019-07-12 09:03:26 +03:00
Fabien Potencier
03b0284810 fixed CS 2019-07-12 09:03:00 +03:00
Nicolas Grekas
4631e9cd6c Merge branch '4.4'
* 4.4: (53 commits)
  Fix Twig 1.x compatibility
  Deprecating templateExists method
  [Translator] Improve farsi(persian) translations for Form
  [Validator] Fix Changelog for #31511
  [Lock][Console] bump lock requirement in console
  [Lock] minor: add missing alias for PersistenStoreInterface
  Improve fa translations
  Dynamic bundle assets
  [Lock] rename and deprecate Factory into LockFactory
  [Debug] Restoring back the state of the Debug component (1st step)
  Spell "triggering" properly
  [Lock] Fix tests
  Added tests to cover the possibility of having scalars as services.
  fixed CS
  [Lock] Split \"StoreInterface\" into multiple interfaces with less responsability
  [VarDumper] Let browsers trigger their own search on double CMD/CTRL + F hit
  [Validator] Allow to use property paths to get limits in range constraint
  Fix missing deprecations
  fixed tests on old PHP versions
  [FrameworkBundle] Inform the user when save_path will be ignored
  ...
2019-07-11 07:40:26 +02:00
Nicolas Grekas
2e5a8c80c6 Merge branch '4.3' into 4.4
* 4.3: (26 commits)
  Fix Twig 1.x compatibility
  [Translator] Improve farsi(persian) translations for Form
  Improve fa translations
  Spell "triggering" properly
  Added tests to cover the possibility of having scalars as services.
  fixed tests on old PHP versions
  [FrameworkBundle] Inform the user when save_path will be ignored
  fixed CS
  [SecurityBundle] Fix profiler dump for non-invokable security listeners
  fixed CS
  [Messenger] Doctrine Transport: Support setting auto_setup from DSN
  [Translator] Load plurals from po files properly
  [Serializer]: AbstractObjectNormalizer ignores the property types of discriminated classes
  [EventDispatcher] Add tag kernel.rest on 'debug.event_dispatcher' service
  [Console] Update to inherit and add licence
  Add missing test for workflow dump description
  [Intl] Remove --dev from intl compile autoloader
  [Messenger] fix publishing headers set on AmqpStamp
  Remove call to deprecated method
  [Intl] Init compile tmp volume
  ...
2019-07-10 20:47:17 +02:00
Fabien Potencier
87a6f04409 feature #31554 [SECURITY] AbstractAuthenticationListener.php error instead info. Rebase of #28462 (berezuev)
This PR was merged into the 4.4 branch.

Discussion
----------

[SECURITY] AbstractAuthenticationListener.php error instead info. Rebase of #28462

| Q             | A
| ------------- | ---
| Branch? | 4.4
| -- | --
| Bug fix? | yes
| New feature? | no
| BC breaks? | no I think
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | ...
| License | MIT

Rebase of #28462. Origin description:
> ```
> [2018-09-13 20:43:38] security.INFO: Authentication request failed. {"exception":"[object] (Symfony\\Component\\Security\\Core\\Exception\\AuthenticationServiceException(code: 0): An exception occurred while executing
>  ...
>  Doctrine\\DBAL\\Driver\\PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column 't0.phone' in 'field list' at
> ```
>
> Definitely I think this is NOT info, but error.
> And since it's info, it's not logged in production because of `fingers_crossed` with `action_level: error` - so to actually see the real error behind `Authentication request could not be processed due to a system problem.` I had to debug on production. Very bad practice IMHO.

Commits
-------

867eb78cfe [SECURITY] AbstractAuthenticationListener.php error instead info. Rebase of #28462
2019-07-08 11:56:07 +02:00
Alexey Berezuev
867eb78cfe [SECURITY] AbstractAuthenticationListener.php error instead info. Rebase of #28462 2019-07-08 12:18:00 +03:00
Amrouche Hamza
cb2d97f92b [Ldap][Security] LdapBindAuthenticationProvider does not bind before search query 2019-07-08 10:00:03 +02:00
Nicolas Grekas
ec5d7346b3 Fix CS regarding nullable arguments 2019-07-05 09:04:50 +02:00
Fabien Potencier
6128276760 minor #32351 [Security] Added type-hints to auth providers, tokens and voters (derrabus)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Security] Added type-hints to auth providers, tokens and voters

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

This PR adds type declarations to authentication providers, tokens and voters.

Commits
-------

8c46b95ec2 [Security] Added type-hints to auth providers, tokens and voters.
2019-07-04 09:59:27 +02:00
Fabien Potencier
7af0c73918 minor #32352 [Security] Added type-hints to password encoders (derrabus)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Security] Added type-hints to password encoders

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

This PR adds type declarations to all implementations of `PasswordEncoderInterface` and `UserPasswordEncoderInterface`.

Commits
-------

d763e63210 [Security] Added type-hints to password encoders.
2019-07-04 09:56:02 +02:00
Alexander M. Turek
62abb7084c [Security] Added type-hints to user providers. 2019-07-04 01:27:08 +02:00
Alexander M. Turek
8c46b95ec2 [Security] Added type-hints to auth providers, tokens and voters. 2019-07-04 01:03:14 +02:00
Alexander M. Turek
d763e63210 [Security] Added type-hints to password encoders. 2019-07-04 00:56:47 +02:00
Thomas Bisignani
51b3c2e84e [Security] [Guard] Added type-hints to AuthenticatorInterface 2019-07-02 20:55:49 +02:00
Tobias Schultze
393f9ae2b5 minor #32285 [CSRF] add more parameter types (Tobion)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[CSRF] add more parameter types

| Q             | A
| ------------- | ---
| Branch?       | master
| 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 | #32179
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

Those have been missing in #32208

Commits
-------

d442028063 [CSRF] add more parameter types
2019-07-02 16:53:02 +02:00
Tobias Schultze
05410342f5 Merge branch '4.4' 2019-07-02 16:48:44 +02:00
Tobias Schultze
d97f9ab131 Merge branch '4.3' into 4.4 2019-07-02 16:37:50 +02:00
Tobias Schultze
2bc88ee744 Merge branch '4.2' into 4.3 2019-07-02 16:28:51 +02:00
Tobias Schultze
44fa22056f Merge branch '3.4' into 4.2 2019-07-02 15:59:44 +02:00
Thomas Bisignani
848e881d5d [Security] [Guard] Removed useless param annotations 2019-06-30 11:22:15 +02:00
Tobias Schultze
d442028063 [CSRF] add more parameter types 2019-06-30 00:39:46 +02:00
Fabien Potencier
aaf3ae0ae9 minor #32208 [Csrf] Added type-hint for CsrfTokenMangerInterface (julien57)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Csrf] Added type-hint for CsrfTokenMangerInterface

| Q             | A
| ------------- | ---
| Branch?       | Master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #32179
| License       | MIT
| Doc PR        | symfony/symfony-docs#..

Add type-hints in PR for CsrfTokenManagerInterface & CsrfTokenManager component.

Commits
-------

44e5b0b6e7 removed return values
2019-06-29 08:45:25 +02:00
julien57
44e5b0b6e7 removed return values 2019-06-27 19:10:13 +02:00
Nicolas Grekas
7f7c142a3b Merge branch '4.4'
* 4.4:
  [Mailer] fixed tests on Windows
  [PhpUnitBridge] fix tests
  [Mailer] fixed error message when connecting to a stream raises an error before connect()
  [Mailer] fixed timeout type hint
  improve error messages in the event dispatcher
  [Security/Core] work around sodium_compat issue
  bumped Symfony version to 4.3.3
  updated VERSION for 4.3.2
  updated CHANGELOG for 4.3.2
  bumped Symfony version to 4.2.11
  updated VERSION for 4.2.10
  updated CHANGELOG for 4.2.10
  bumped Symfony version to 3.4.30
  updated VERSION for 3.4.29
  update CONTRIBUTORS for 3.4.29
  updated CHANGELOG for 3.4.29
  Fixed type annotation.
2019-06-27 18:53:23 +02:00
Fabien Potencier
4d8c473fd3 Merge branch '4.3' into 4.4
* 4.3:
  [Mailer] fixed tests on Windows
  [PhpUnitBridge] fix tests
  [Mailer] fixed error message when connecting to a stream raises an error before connect()
  [Mailer] fixed timeout type hint
  improve error messages in the event dispatcher
  [Security/Core] work around sodium_compat issue
  bumped Symfony version to 4.3.3
  updated VERSION for 4.3.2
  updated CHANGELOG for 4.3.2
  bumped Symfony version to 4.2.11
  updated VERSION for 4.2.10
  updated CHANGELOG for 4.2.10
  bumped Symfony version to 3.4.30
  updated VERSION for 3.4.29
  update CONTRIBUTORS for 3.4.29
  updated CHANGELOG for 3.4.29
  Fixed type annotation.
2019-06-27 18:48:03 +02:00
Nicolas Grekas
1985a5cc13 Merge branch '4.2' into 4.3
* 4.2:
  [Security/Core] work around sodium_compat issue
  bumped Symfony version to 4.2.11
  updated VERSION for 4.2.10
  updated CHANGELOG for 4.2.10
  bumped Symfony version to 3.4.30
  updated VERSION for 3.4.29
  update CONTRIBUTORS for 3.4.29
  updated CHANGELOG for 3.4.29
2019-06-26 20:29:07 +02:00
Nicolas Grekas
2fdfa1a8eb Merge branch '3.4' into 4.2
* 3.4:
  [Security/Core] work around sodium_compat issue
  bumped Symfony version to 3.4.30
  updated VERSION for 3.4.29
  update CONTRIBUTORS for 3.4.29
  updated CHANGELOG for 3.4.29
2019-06-26 20:27:58 +02:00
Nicolas Grekas
df50685abf [Security/Core] work around sodium_compat issue 2019-06-26 20:07:24 +02:00
Nicolas Grekas
f8ccc8105c Merge branch '4.4'
* 4.4: (43 commits)
  [PhpunitBridge] Read environment variable from superglobals
  [Bridge/PhpUnit] Fix PHP5.5 compat
  [PhpUnitBridge] More accurate grouping
  fixed CS
  [Form] remove comment about to-be-removed method as it is used in master by ButtonBuilder
  Extract unrecoverable exception to interface
  [FrameworkBundle] Fix calling Client::getProfile() before sending a request
  Fix type error
  [Security/Core] require libsodium >= 1.0.14
  [Workflow] re-add workflow.definition tag to workflow services
  [Security/Core] Don't use ParagonIE_Sodium_Compat
  revert #30525 due to performance penalty
  collect called listeners information only once
  [Lock] fix missing inherit docs in RedisStore
  [Messenger] fix retrying handlers using DoctrineTransactionMiddleware
  [Mailgun Mailer] fixed issue when using html body
  [Messenger] make all stamps final and mark stamp not meant to be sent
  [HttpClient] fix timing measurements with NativeHttpClient
  add return type declaration
  use proper return types in ErrorHandler and ArgumentResolver
  ...
2019-06-26 11:36:22 +02:00
Nicolas Grekas
55c0b02587 Merge branch '4.3' into 4.4
* 4.3: (34 commits)
  [PhpunitBridge] Read environment variable from superglobals
  [Bridge/PhpUnit] Fix PHP5.5 compat
  [PhpUnitBridge] More accurate grouping
  fixed CS
  Extract unrecoverable exception to interface
  [FrameworkBundle] Fix calling Client::getProfile() before sending a request
  Fix type error
  [Security/Core] require libsodium >= 1.0.14
  [Workflow] re-add workflow.definition tag to workflow services
  [Security/Core] Don't use ParagonIE_Sodium_Compat
  revert #30525 due to performance penalty
  collect called listeners information only once
  [Lock] fix missing inherit docs in RedisStore
  [Messenger] fix retrying handlers using DoctrineTransactionMiddleware
  [Mailgun Mailer] fixed issue when using html body
  [HttpClient] fix timing measurements with NativeHttpClient
  [HttpClient] fix dealing with 1xx informational responses
  add test to avoid regressions
  fix mirroring directory into parent directory
  fix typos
  ...
2019-06-26 11:30:56 +02:00
Fabien Potencier
32fd8e0409 Merge branch '4.2' into 4.3
* 4.2:
  [FrameworkBundle] Fix calling Client::getProfile() before sending a request
  Fix type error
  [Security/Core] Don't use ParagonIE_Sodium_Compat
  collect called listeners information only once
  add test to avoid regressions
  fix typos
  Turkish translation added to Form Component
2019-06-26 08:50:02 +02:00
Fabien Potencier
f0acaff850 Merge branch '3.4' into 4.2
* 3.4:
  [FrameworkBundle] Fix calling Client::getProfile() before sending a request
  Fix type error
  [Security/Core] Don't use ParagonIE_Sodium_Compat
  collect called listeners information only once
  add test to avoid regressions
  fix typos
  Turkish translation added to Form Component
2019-06-26 08:46:55 +02:00
Fabien Potencier
06899a13b4 minor #32160 Removed legacy code and cleanup (yceruto)
This PR was squashed before being merged into the 5.0-dev branch (closes #32160).

Discussion
----------

Removed legacy code and cleanup

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

See https://github.com/symfony/symfony/pull/32074, https://github.com/symfony/symfony/pull/26981

labels: `HttpFoundation`, `Form`, `Security`, `SecurityBundle`, `Validator`

Commits
-------

7b99fb45bb Removed legacy code and cleanup
2019-06-25 20:29:34 +02:00
Yonel Ceruto
7b99fb45bb Removed legacy code and cleanup 2019-06-25 20:29:20 +02:00
Nicolas Grekas
4fed5d3813 [Security/Core] require libsodium >= 1.0.14 2019-06-25 15:09:11 +02:00
Nicolas Grekas
61ea53d57f [Security/Core] Don't use ParagonIE_Sodium_Compat 2019-06-25 14:22:47 +02:00
Christian Flothmann
9fe532d657 add return type declaration 2019-06-24 10:10:57 +02:00
Tobias Schultze
7857f2fe7b add missing return type in User class 2019-06-24 01:51:21 +01:00
Tobias Schultze
18793b7ca7 feature #31996 [5.0] Add return types in final classes (dFayet)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[5.0] Add return types in final classes

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes/no <!-- please update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets | #31981
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

This is the first step for the issue #31981

I have some questions:

-  ~I have not added type for methods with `@inheritdoc` annotation, should I?~
- ~Don't we want to type also functions without `@return` annotation? (still in `final` classes)~
- ~If yes is the answer of the previous one, do we also want the `void` return type?~
- ~I have also added the return type in the `DependencyInjection` PhpDumper, but is it also wanted? (if yes, I will clean a bit the code changed)~
- ~Should we update the documentation's code samples when they display `final` classes?~

Todo:
- [x] Adjust the PR, following the answers of the questions
- [x] Add return type also when there is no `@return`, or with `@inheritdoc`
- [x] [src/Symfony/Component/Debug/ErrorHandler.php#L383](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Debug/ErrorHandler.php#L383) `@return` annotation is not correct according to the return, investigate and adjust if needed
- [x] [src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadataFactory.php#L50](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpKernel/ControllerMetadata/ArgumentMetadataFactory.php#L50) `@return` annotation is not correct according to the return, investigate and adjust if needed
- [x] Do a PR on documentation to add return type on code snippets with final classes => unneeded as they were already typed

Commits
-------

ca5ae1989e Replace @return annotation by return type in final classes
2019-06-23 23:15:46 +01:00
dFayet
ca5ae1989e Replace @return annotation by return type in final classes 2019-06-23 00:57:33 +02:00
Fabien Potencier
aa4385dc12 feature #31532 [Ldap] Add users extraFields in ldap component (Simperfit)
This PR was merged into the 4.4 branch.

Discussion
----------

[Ldap] Add users extraFields in ldap component

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

As I'm using ldap too in some personal project, It seems that this feature is a really good nice to have IMHO.

Adding the wanted field in the `user_metadata` array transform them as field -> value in the `metadata` field of the user.

Commits
-------

bcfff04797 [Ldap] Add users extra_fields in ldap component
2019-06-22 10:38:33 +02:00
Amrouche Hamza
bcfff04797
[Ldap] Add users extra_fields in ldap component 2019-06-22 10:34:40 +02:00
Christian Flothmann
1ac9cc285c Merge branch '4.4'
* 4.4:
  fix order of items in upgrade file
  fix translation domain
  tag the FileType service as a form type
  don't validate IP addresses from env var placeholders
  [Validator] Fix GroupSequenceProvider annotation
  [Messenger] fix delay exchange recreation after disconnect
  Update ajax security cheat sheet link
  Fix AuthenticationException::getToken typehint
2019-06-21 12:30:11 +02:00
Christian Flothmann
431a769307 Merge branch '4.3' into 4.4
* 4.3:
  fix translation domain
  tag the FileType service as a form type
  don't validate IP addresses from env var placeholders
  [Validator] Fix GroupSequenceProvider annotation
  [Messenger] fix delay exchange recreation after disconnect
  Update ajax security cheat sheet link
  Fix AuthenticationException::getToken typehint
2019-06-21 12:14:40 +02:00
Christian Flothmann
a25c2af559 Merge branch '4.2' into 4.3
* 4.2:
  fix translation domain
  tag the FileType service as a form type
  [Validator] Fix GroupSequenceProvider annotation
  Update ajax security cheat sheet link
  Fix AuthenticationException::getToken typehint
2019-06-21 12:01:08 +02:00
Christian Flothmann
6821850183 Merge branch '3.4' into 4.2
* 3.4:
  fix translation domain
  tag the FileType service as a form type
  [Validator] Fix GroupSequenceProvider annotation
  Update ajax security cheat sheet link
  Fix AuthenticationException::getToken typehint
2019-06-21 11:59:02 +02:00
Robin Chalas
8ad74a859d minor #32001 [Security] Fix AuthenticationException::getToken typehint (norkunas)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Fix AuthenticationException::getToken typehint

| Q             | A
| ------------- | ---
| Branch?       | 3.4 <!-- see below -->
| 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 | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

The token may be not set when throwing AuthenticationException.

<!--
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
-------

a9705a0143 Fix AuthenticationException::getToken typehint
2019-06-19 19:38:48 +02:00
Nicolas Grekas
23d8fc761b fix merge 2019-06-13 16:28:46 +02:00
Nicolas Grekas
1acb50e0a4 [Security] minor clean 2019-06-13 16:10:13 +02:00
Nicolas Grekas
0bb0335ab6 Merge branch '4.4'
* 4.4:
  [Security] minor improvement
  fix merge
2019-06-13 16:09:44 +02:00
Nicolas Grekas
567cb27a1d [Security] minor improvement 2019-06-13 16:09:13 +02:00
Fabien Potencier
b29c567600 fixed typo 2019-06-13 13:19:11 +02:00
Fabien Potencier
c449e6368c Merge branch '4.4'
* 4.4:
  fixed CS
  fixed CS
  fixed CS
  fixed CS
  Do not log or call the proxy function when the locale is the same
  Added missing required dependencies on psr/cache and psr/container in symfony/cache-contracts and symfony/service-contracts respectively.
  [HttpClient] fix closing debug stream prematurely
  [Mailer] made code more robust
  Restore compatibility with php 5.5
  fixed sender/recipients in SMTP Envelope
  collect called listeners information only once
  [HttpClient] add HttplugClient for compat with libs that need httplug v1 or v2
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 13:15:36 +02:00
Fabien Potencier
fa38497957 fixed CS 2019-06-13 13:06:22 +02:00
Fabien Potencier
8787bbc94a Merge branch '4.3' into 4.4
* 4.3:
  fixed CS
  fixed CS
  fixed CS
  Do not log or call the proxy function when the locale is the same
  Added missing required dependencies on psr/cache and psr/container in symfony/cache-contracts and symfony/service-contracts respectively.
  [HttpClient] fix closing debug stream prematurely
  [Mailer] made code more robust
  Restore compatibility with php 5.5
  fixed sender/recipients in SMTP Envelope
  collect called listeners information only once
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 13:05:05 +02:00
Fabien Potencier
9526988eca fixed CS 2019-06-13 13:03:18 +02:00
Fabien Potencier
84bc7aba91 Merge branch '4.2' into 4.3
* 4.2:
  fixed CS
  fixed CS
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 13:01:17 +02:00
Fabien Potencier
0f958aabfa Merge branch '3.4' into 4.2
* 3.4:
  fixed CS
  [HttpKernel] Remove TestEventDispatcher.
2019-06-13 12:50:42 +02:00
Fabien Potencier
106b348d3d fixed CS 2019-06-13 12:34:15 +02:00
Tomas
a9705a0143 Fix AuthenticationException::getToken typehint 2019-06-12 07:10:29 +03:00
Nicolas Grekas
39622488bb Remove deprecated code paths that trigger a runtime notice 2019-06-09 16:44:48 +02:00
Nicolas Grekas
ccbe132d3b Remove various legacy code paths 2019-06-08 10:28:16 +02:00
Amrouche Hamza
48073ddcf9
[HttpKernel] remove all deprecated event and replace their use 2019-06-07 22:41:09 +02:00
Amrouche Hamza
a0e4ad3086
Several components are incompatible with HttpKernel 5.0 2019-06-06 20:23:06 +02:00
Nicolas Grekas
c0e3f27a18 Merge branch '4.4'
* 4.4:
  [Cache] Fixed undefined variable in ArrayTrait
  [HttpClient] revert bad logic around JSON_THROW_ON_ERROR
  [HttpKernel] Fix handling non-catchable fatal errors
  Fix json-encoding when JSON_THROW_ON_ERROR is used
  [HttpFoundation] work around PHP 7.3 bug related to json_encode()
  [HttpClient] add $response->cancel()
  [Security] added support for updated \"distinguished name\" format in x509 authentication
2019-06-05 15:28:50 +02:00
Nicolas Grekas
d3055814ad Merge branch '4.3' into 4.4
* 4.3:
  [Cache] Fixed undefined variable in ArrayTrait
  [HttpClient] revert bad logic around JSON_THROW_ON_ERROR
  [HttpKernel] Fix handling non-catchable fatal errors
  Fix json-encoding when JSON_THROW_ON_ERROR is used
  [HttpFoundation] work around PHP 7.3 bug related to json_encode()
  [HttpClient] add $response->cancel()
  [Security] added support for updated \"distinguished name\" format in x509 authentication
2019-06-05 15:27:25 +02:00
Nicolas Grekas
fc7ed49c78 Merge branch '4.2' into 4.3
* 4.2:
  [HttpKernel] Fix handling non-catchable fatal errors
  Fix json-encoding when JSON_THROW_ON_ERROR is used
  [HttpFoundation] work around PHP 7.3 bug related to json_encode()
  [Security] added support for updated \"distinguished name\" format in x509 authentication
2019-06-05 15:25:51 +02:00
Nicolas Grekas
eb41911d88 Merge branch '3.4' into 4.2
* 3.4:
  Fix json-encoding when JSON_THROW_ON_ERROR is used
  [HttpFoundation] work around PHP 7.3 bug related to json_encode()
  [Security] added support for updated \"distinguished name\" format in x509 authentication
2019-06-05 15:22:46 +02:00
Fabien Potencier
d2909caa9b Merge branch '4.4'
* 4.4:
  [Console] Add check for Konsole/Yakuake to disable hyperlinks
  [HTTP Foundation] Deprecate passing argument to method Request::isMethodSafe()
  [HttpClient] work around PHP 7.3 bug related to json_encode()
  [VarDumper] fix dumping the cloner itself
  Rename the Symfony Mailer service config to avoid conflict with SwitMailer
  Set default crypto method - Fix #31105
  [Form] add missing symfony/service-contracts dependency
  [HttpClient] Don't throw InvalidArgumentException on bad Location header
2019-06-05 04:28:25 +02:00
dFayet
59fa1bd127 [HTTP Foundation] Deprecate passing argument to method Request::isMethodSafe() 2019-06-05 03:45:23 +02:00
Nicolas Grekas
ebd8f21ced minor #31782 [Security][Http] Remove BC layers (chalasr)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Security][Http] Remove BC layers

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

Commits
-------

81e9974855 [Security][Http] Remove BC layers
2019-06-04 15:22:34 +02:00
Robin Chalas
81e9974855 [Security][Http] Remove BC layers 2019-06-04 14:59:47 +02:00
Fabien Potencier
4022407de3 Merge branch '4.4'
* 4.4:
  [Security] add MigratingPasswordEncoder
2019-06-04 11:00:09 +02:00
Fabien Potencier
87e84ac40e Merge branch '4.4'
* 4.4:
  Extract Abstract Doctrine Middleware
  [Translation] refactor ArrayLoader::flatten
  [TwigBundle] mark TemplateIterator as internal
  Improved error message on create a form builder with invalid options
  [Security] add PasswordEncoderInterface::needsRehash()
  [HttpClient] add $response->cancel()
  Add clear Entity Manager middleware (closes #29662)
  [FrameworkBundle] Add missing BC layer for deprecated ControllerNameParser injections
  [Validator] Improve TypeValidator to handle array of types
  Add exception as HTML comment to beginning and end of `exception_full.html.twig`
  [Validator] Add compared value path to violation parameters
2019-06-04 09:20:45 +02:00
Robert Kopera
bdbac2c6e6 [Security] added support for updated \"distinguished name\" format in x509 authentication 2019-06-04 09:01:11 +02:00
Nicolas Grekas
765f14c80e [Security] add MigratingPasswordEncoder 2019-06-04 08:31:08 +02:00
Robin Chalas
1768c9365c feature #31594 [Security] add PasswordEncoderInterface::needsRehash() (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[Security] add PasswordEncoderInterface::needsRehash()

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

Split from #31153, with tests.

Commits
-------

50590dce81 [Security] add PasswordEncoderInterface::needsRehash()
2019-06-04 05:02:33 +02:00
Nicolas Grekas
5e293d9e58 Merge branch '4.4'
* 4.4:
  [Translation] Fixed case sensitivity of lint:xliff command
  fix type hint for salt in PasswordEncoderInterface
  Add missing deprecations for PHP templating layer
  Simplify code - catch \Throwable capture all exceptions
  Collect locale details earlier in the process in TranslationDataCollector
  fix typo in PR #31802
  update italian validator translation
  Add missing translations
  [Messenger] Deprecate passing a bus locator to ConsumeMessagesCommand constructor
  [SecurityBundled] Forbid security-http >= 5.0
  [Security][Guard] Forbid security-http >= 5.0
  [TwigBridge] suggest Translation Component when TranslationExtension is used
  [Monolog] Setup the LoggerProcessor after all other processor
2019-06-03 22:32:35 +02:00
Nicolas Grekas
0119d217ca Merge branch '4.3' into 4.4
* 4.3:
  [Translation] Fixed case sensitivity of lint:xliff command
  fix type hint for salt in PasswordEncoderInterface
  Simplify code - catch \Throwable capture all exceptions
  Collect locale details earlier in the process in TranslationDataCollector
  fix typo in PR #31802
  update italian validator translation
  Add missing translations
  [TwigBridge] suggest Translation Component when TranslationExtension is used
2019-06-03 22:28:03 +02:00
Nicolas Grekas
0a9d724d2a Merge branch '4.2' into 4.3
* 4.2:
  [Translation] Fixed case sensitivity of lint:xliff command
  fix type hint for salt in PasswordEncoderInterface
  Simplify code - catch \Throwable capture all exceptions
  fix typo in PR #31802
  update italian validator translation
  Add missing translations
2019-06-03 22:27:40 +02:00
Nicolas Grekas
9fbfc4cf06 Merge branch '3.4' into 4.2
* 3.4:
  fix type hint for salt in PasswordEncoderInterface
  fix typo in PR #31802
  update italian validator translation
  Add missing translations
2019-06-03 22:27:17 +02:00
Massimiliano Arione
0e741f9600 fix type hint for salt in PasswordEncoderInterface 2019-06-03 21:38:25 +02:00
Nicolas Grekas
50590dce81 [Security] add PasswordEncoderInterface::needsRehash() 2019-06-03 20:14:30 +02:00
Robin Chalas
e2c9701e22 [Security][Guard] Forbid security-http >= 5.0 2019-06-01 14:17:19 +02:00
Robin Chalas
343da8c528 minor #31723 [Security] remove deprecated role classes (xabbuh)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[Security] remove deprecated role classes

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

Commits
-------

d64372df8c remove deprecated role classes
2019-05-31 21:13:34 +02:00
Robin Chalas
e5aaa8cd57 Merge branch '4.4'
* 4.4:
  [SecurityBundle][Workflow] Forbid security-core 5.x
  [Security\Core] Make SodiumPasswordEncoder validate BCrypt-ed passwords
  [MonologBridge] RouteProcessor class is now final to ease the the removal of deprecated event
  [Validator] Fix TimezoneValidator default option
  [Messenger] Inject RoutableMessageBus instead of bus locator
  [DomCrawler] Fix type error with null Form::$currentUri
  [Contracts] Fixed typos
  [Security][Http] Forbid security-core 5.x
  do not enable validator auto mapping by default
  [HttpClient] remove unused argument
2019-05-31 20:58:54 +02:00
Robin Chalas
8e5b6573ea Merge branch '4.3' into 4.4
* 4.3:
  [Security\Core] Make SodiumPasswordEncoder validate BCrypt-ed passwords
  [Validator] Fix TimezoneValidator default option
  [Messenger] Inject RoutableMessageBus instead of bus locator
  [DomCrawler] Fix type error with null Form::$currentUri
  [Contracts] Fixed typos
  do not enable validator auto mapping by default
  [HttpClient] remove unused argument
2019-05-31 20:55:48 +02:00
Christian Flothmann
d64372df8c remove deprecated role classes 2019-05-31 20:52:28 +02:00
Christian Flothmann
a47cf7e2c4 remove the deprecated AdvancedUserInterface 2019-05-31 12:40:44 +02:00
Nicolas Grekas
c0fc45682a [Security\Core] Make SodiumPasswordEncoder validate BCrypt-ed passwords 2019-05-31 11:10:50 +02:00
Nicolas Grekas
2a631ecb83 minor #31709 [EventDispatcher] Remove deprecation layer (derrabus)
This PR was merged into the 5.0-dev branch.

Discussion
----------

[EventDispatcher] Remove deprecation layer

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

This PR removes all deprecations from the event dispatcher component.

Commits
-------

678e066aa8 [EventDispatcher] Remove deprecation layer.
2019-05-31 09:52:39 +02:00
Robin Chalas
7481db6570 [Security][Http] Forbid security-core 5.x 2019-05-30 23:24:03 +02:00
Christian Flothmann
35de7e2545 remove simple_preauth and simple_form authenticators 2019-05-30 20:39:35 +02:00
Alexander M. Turek
678e066aa8 [EventDispatcher] Remove deprecation layer. 2019-05-30 18:59:28 +02:00
Nicolas Grekas
dc82bba1e1 Merge branch '4.4'
* 4.4:
  Use willReturn() instead of will(returnValue()).
2019-05-30 18:12:02 +02:00
Nicolas Grekas
c62032a730 Merge branch '4.3' into 4.4
* 4.3:
  Use willReturn() instead of will(returnValue()).
2019-05-30 18:10:19 +02:00
Nicolas Grekas
0da213711c Merge branch '4.2' into 4.3
* 4.2:
  Use willReturn() instead of will(returnValue()).
2019-05-30 18:10:05 +02:00
Nicolas Grekas
06c655251c Merge branch '3.4' into 4.2
* 3.4:
  Use willReturn() instead of will(returnValue()).
2019-05-30 18:06:08 +02:00
Alexander M. Turek
4fb67df612 Use willReturn() instead of will(returnValue()). 2019-05-30 17:47:52 +02:00
Christian Flothmann
c99dfdf119 remove the has_role() security expression function 2019-05-30 11:42:14 +02:00
Alexander M. Turek
e6a4526fa3 Marked several components as incompatible with EventDispatcher 5. 2019-05-30 09:25:19 +02:00
Robin Chalas
795f0fba91 [Security] Remove deprecated encoders 2019-05-29 15:33:12 +02:00
Nicolas Grekas
ddbe11dbcd Add back all conflict rules 2019-05-29 10:53:30 +02:00
Nicolas Grekas
bc7783c4be Add back some conflict rules 2019-05-29 09:31:53 +02:00
Nicolas Grekas
2dffc58aac Bump deps to ^4.4|^5.0 for Symfony 5.0 2019-05-28 20:01:02 +02:00
Nicolas Grekas
d94d9d792c Bump Symfony 5.0 to PHP 7.2 2019-05-28 18:49:20 +02:00
Nicolas Grekas
66924dba7c Merge branch '4.4'
* 4.4:
  Allow Symfony 5.0
2019-05-28 18:26:29 +02:00
Nicolas Grekas
384393cb36 Allow Symfony 5.0 2019-05-28 17:53:17 +02:00
Fabien Potencier
8869eb3521 updated version to 5.0 2019-05-28 14:18:42 +02:00
Fabien Potencier
e2aae82f35 Merge branch '4.3'
* 4.3:
  Reference individual contracts packages
2019-05-27 12:42:03 +02:00
Nicolas Grekas
0a640c53cb Reference individual contracts packages 2019-05-27 10:16:38 +02:00
Nicolas Grekas
b1a6ceabb2 Merge branch '4.3'
* 4.3:
  [github] Implement the new security policy.
  [Finder] fix wrong method call casing
  Make tempfile path unique
  minor: fix phpdocs in the ldap component
  [Process] Fix infinite waiting for stopped process
  Use absolute URL for when the profiler's domain differs from the controller's domain which initialises the profiler.
  fix phpdoc
  [DI] fix using bindings with locators of service subscribers
2019-05-26 22:48:03 +02:00
Nicolas Grekas
75c1d5cd7b Merge branch '4.2' into 4.3
* 4.2:
  [github] Implement the new security policy.
  [Finder] fix wrong method call casing
  Make tempfile path unique
  minor: fix phpdocs in the ldap component
  [Process] Fix infinite waiting for stopped process
  Use absolute URL for when the profiler's domain differs from the controller's domain which initialises the profiler.
  fix phpdoc
  [DI] fix using bindings with locators of service subscribers
2019-05-26 22:47:49 +02:00
Nicolas Grekas
81f6f3b6d2 Merge branch '3.4' into 4.2
* 3.4:
  [github] Implement the new security policy.
  [Finder] fix wrong method call casing
  Make tempfile path unique
  minor: fix phpdocs in the ldap component
  [Process] Fix infinite waiting for stopped process
  Use absolute URL for when the profiler's domain differs from the controller's domain which initialises the profiler.
  fix phpdoc
  [DI] fix using bindings with locators of service subscribers
2019-05-26 22:47:34 +02:00
Fabien Potencier
5dba412d30 Merge branch '4.3'
* 4.3: (22 commits)
  [Messenger] Fix incorrect error when symfony/serializer is missing
  Allow WrappedListener to describe uncallable listeners.
  [HttpClient] fix handling exceptions thrown before first mock chunk
  [Filesystem] fix wrong method call casing
  [HttpClient] fix test
  [Translation] Fixed issue with new vs old TranslatorInterface in TranslationDataCollector
  Don't reference symfony/security
  [HttpClient] display proper error message on TransportException when curl is used
  [FrameworkBundle] fix named autowiring aliases for TagAwareCacheInterface
  [Cache] improve logged messages
  [FrameworkBundle] improve cs
  [Mime][HttpFoundation] Added mime type audio/x-hx-aac-adts
  bumped Symfony version to 4.3.0
  updated VERSION for 4.3.0-BETA2
  updated CHANGELOG for 4.3.0-BETA2
  [HttpClient] Only use CURLMOPT_MAX_HOST_CONNECTIONS & CURL_VERSION_HTTP2 if defined
  [Security] fixed a fatal error when upgrading from 4.2
  [HttpClient] Allow arrays as query parameters
  Throws UnrecoverableMessageHandlingException when passed invalid entity manager name for Doctrine middlewares
  [Messenger] Make redis Connection::get() non blocking by default
  ...
2019-05-26 11:07:14 +02:00
Ondrej Exner
45a8f893ef
fix phpdoc 2019-05-22 09:57:24 +02:00
Fabien Potencier
cd63446f9b [Security] fixed a fatal error when upgrading from 4.2 2019-05-21 22:19:00 +02:00
Fabien Potencier
387207f6c4 updated version to 4.4 2019-05-09 09:23:25 +02:00
Fabien Potencier
72863e441f fixed CS 2019-05-08 19:18:10 +02:00
Fabien Potencier
2e872c4be0 Merge branch '4.2'
* 4.2:
  [Console] Fix auto-complete for ChoiceQuestion (multi-select answers)
  Translated form, security, validators resources into Belarusian (be)
  [WebProfilerBundle] Don't filter submitted IP values
  [Intl] Cleanup
  bumped Symfony version to 4.2.9
  updated VERSION for 4.2.8
  updated CHANGELOG for 4.2.8
  bumped Symfony version to 3.4.28
  updated VERSION for 3.4.27
  update CONTRIBUTORS for 3.4.27
  updated CHANGELOG for 3.4.27
2019-05-07 08:08:50 +02:00
Fabien Potencier
b9637c9209 Merge branch '3.4' into 4.2
* 3.4:
  [Console] Fix auto-complete for ChoiceQuestion (multi-select answers)
  Translated form, security, validators resources into Belarusian (be)
  [WebProfilerBundle] Don't filter submitted IP values
  bumped Symfony version to 3.4.28
  updated VERSION for 3.4.27
  update CONTRIBUTORS for 3.4.27
  updated CHANGELOG for 3.4.27
2019-05-06 13:28:52 +02:00
Uladzimir Tsykun
3ae9de1ef3 Translated form, security, validators resources into Belarusian (be) 2019-05-05 18:11:06 +02:00
Amrouche Hamza
fa92272dc1
[Security] Change the phrasing of the deauthenticated event 2019-04-29 08:41:58 +02:00
Robin Chalas
f24e9a4973 feature #31138 [Security] Dispatch an event when "logout user on change" steps in (Simperfit)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Security] Dispatch an event when "logout user on change" steps in

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

<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest 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 the master branch.
-->

This adds a new event when the user has been changed and has been log out from the apps, it allow someone to register to this event and do something with either to token or the refreshedUser.

Commits
-------

40e42183b8 [Security] Dispatch an event when "logout user on change" steps in
2019-04-28 14:04:43 +02:00
Fabien Potencier
e9aaaafbbb Merge branch '4.2'
* 4.2:
  [TwigBridge] Require twig ^1.40|^2.9
  [Serializer] Fix tests
  Use the apply tag instead of the filter tag
  Updated some translation files
  [Translator] Preserve default domain when extracting strings from php files
2019-04-28 08:09:58 +01:00
Fabien Potencier
454574b0a3 Merge branch '3.4' into 4.2
* 3.4:
  [TwigBridge] Require twig ^1.40|^2.9
  [Serializer] Fix tests
  Use the apply tag instead of the filter tag
  Updated some translation files
  [Translator] Preserve default domain when extracting strings from php files
2019-04-28 08:09:27 +01:00
Jordi Rejas
1d5aaf63f5 Updated some translation files 2019-04-27 17:49:24 +01:00
Amrouche Hamza
40e42183b8 [Security] Dispatch an event when "logout user on change" steps in 2019-04-27 16:12:39 +02:00
Robin Chalas
27d10a658d Merge branch '4.2'
* 4.2:
  Fix url matcher edge cases with trailing slash
  [Form] Fix author tag + exception messages
  [TwigBridge] Fix deprecation on twig 2.9
  Fix left-associative ternary deprecation warnings for PHP 7.4
  [Validator] Fixed imprecise translations
  [Validator] Add Dutch translations
  [Security] Cleanup "Digest nonce has expired." translation
  Intercept redirections only for HTML format
  [PhpUnitBridge] fix reading phpunit.xml on bootstrap
  resolve class name parameters
  Fix name and phpdoc of ContainerBuilder::removeBindings
  [Intl] Update the ICU data to 64.2
2019-04-27 14:01:28 +02:00
Roland Franssen
e95445d830 [Security] Cleanup "Digest nonce has expired." translation 2019-04-25 13:21:20 +02:00
Nicolas Grekas
e197398d2f [Security] deprecate BCryptPasswordEncoder in favor of NativePasswordEncoder 2019-04-18 18:59:05 +02:00
Robin Chalas
89ec31141f feature #31140 [Security] Add NativePasswordEncoder (nicolas-grekas)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Security] Add NativePasswordEncoder

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

This PR adds a new `NativePasswordEncoder` that defaults to the best available hashing algo to `password_hash()`. Best is determined by "us" or "php", the goal being that this will change in the future as new algos are published.

This provides a native encoder that we should recommend using by default.

Commits
-------

28f7961c55 [Security] Add NativePasswordEncoder
2019-04-18 15:59:39 +02:00
Nicolas Grekas
28f7961c55 [Security] Add NativePasswordEncoder 2019-04-18 13:38:48 +02:00
Nicolas Grekas
8d9686105d Merge branch '4.2'
* 4.2:
  Revert "bug #30423 [Security] Rework firewall's access denied rule (dimabory)"
  [FrameworkBundle] minor: remove a typo from changelog
  [VarDumper] fix tests with ICU 64.1
  [VarDumper][Ldap] relax some locally failing tests
  [Validator] #30192 Added the missing translations for the Tagalog ("tl") locale.
  Make MimeTypeExtensionGuesser case insensitive
  Fix get session when the request stack is empty
  [Routing] fix trailing slash redirection with non-greedy trailing vars
  [FrameworkBundle] decorate the ValidatorBuilder's translator with LegacyTranslatorProxy
2019-04-17 17:26:35 +02:00
Nicolas Grekas
6aec217e2b Merge branch '3.4' into 4.2
* 3.4:
  Revert "bug #30423 [Security] Rework firewall's access denied rule (dimabory)"
  [FrameworkBundle] minor: remove a typo from changelog
  [VarDumper][Ldap] relax some locally failing tests
  [Validator] #30192 Added the missing translations for the Tagalog ("tl") locale.
  Make MimeTypeExtensionGuesser case insensitive
2019-04-17 16:56:00 +02:00
Nicolas Grekas
55a21fb08f bug #31142 Revert "bug #30423 [Security] Rework firewall's access denied rule (dimabory)" (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

Revert "bug #30423 [Security] Rework firewall's access denied rule (dimabory)"

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

Commits
-------

cd77f6f91c Revert "bug #30423 [Security] Rework firewall's access denied rule (dimabory)"
2019-04-17 16:49:35 +02:00
Robin Chalas
cd77f6f91c Revert "bug #30423 [Security] Rework firewall's access denied rule (dimabory)"
This reverts commit fd1408b138, reversing
changes made to b93d2bf941.
2019-04-17 14:56:02 +02:00
Nicolas Grekas
14ba16bf74 Merge branch '4.2'
* 4.2:
  [Security] Add a separator in the remember me cookie hash
2019-04-16 10:58:59 +02:00
Nicolas Grekas
abd8b954f4 Merge branch '3.4' into 4.2
* 3.4:
  [Security] Add a separator in the remember me cookie hash
2019-04-16 10:58:51 +02:00
Nicolas Grekas
0a4ed67b0d security #cve-2019-10911 [Security] Add a separator in the remember me cookie hash (pborreli)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Add a separator in the remember me cookie hash

Based on #89

Commits
-------

a29ce2817c [Security] Add a separator in the remember me cookie hash
2019-04-16 10:58:07 +02:00
Fabien Potencier
7e2fbe13c8 Merge branch '4.2'
* 4.2:
  fixed bad merge
  Show more accurate message in profiler when missing stopwatch
  CS Fixes: Not double split with one array argument
  [Serializer] Add default object class resolver
  Remove redundant animation prefixes
  Remove redundant `box-sizing` prefixes
  [VarExporter] support PHP7.4 __serialize & __unserialize
  Rework firewall access denied rule
  MetadataAwareNameConverter: Do not assume that property names are strings
  [VarExporter] fix exporting classes with private constructors
  fixed CS
  Fix missing $extraDirs when open_basedir returns
2019-04-10 21:42:49 +02:00
Fabien Potencier
b13a23fe45 Merge branch '3.4' into 4.2
* 3.4:
  Show more accurate message in profiler when missing stopwatch
  CS Fixes: Not double split with one array argument
  Remove redundant animation prefixes
  Remove redundant `box-sizing` prefixes
  Rework firewall access denied rule
  fixed CS
  Fix missing $extraDirs when open_basedir returns
2019-04-10 18:20:36 +02:00
Thomas Calvet
e6455ea2d8 [Security][TokenInterface] Prepare for the new serialization mechanism 2019-04-10 18:01:24 +02:00
Fabien Potencier
fd1408b138 bug #30423 [Security] Rework firewall's access denied rule (dimabory)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Rework firewall's access denied rule

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

Follow tickets provided above to reproduce bugs. (there are also some project examples)

~~In addition, I'm looking for someone who knows an answer to [this](https://github.com/symfony/symfony/issues/30099#issuecomment-468693492) regarding rework in this PR.~~

Commits
-------

5790859275 Rework firewall access denied rule
2019-04-10 08:03:21 +02:00
Dmytro
5790859275 Rework firewall access denied rule 2019-04-09 18:04:58 +03:00
Robin Chalas
529211d7ed [Security] Replace Argon2*PasswordEncoder by SodiumPasswordEncoder
This reverts commit dc95a6fec6.
2019-04-08 22:34:55 +02:00
Robin Chalas
dc95a6fec6 [Security] Fix argon2 availability checks 2019-04-08 18:18:02 +02:00
Fabien Potencier
f539932899 fixed CS 2019-04-08 08:16:24 +02:00
Fabien Potencier
fa7df09dbb feature #30968 [Security] Add Argon2idPasswordEncoder (chalasr)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Security] Add Argon2idPasswordEncoder

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

Currently we have a `Argon2iPasswordEncoder` that may hash passwords using `argon2id` instead of `argon2i` (platform-dependent) which is not good.
This deprecates producing/validating `argon2id` hashed passwords using the `Argon2iPasswordEncoder`, and adds a `Argon2idPasswordEncoder` able to produce/validate `argon2id` hashed passwords only.

#EUFOSSA

Commits
-------

0c82173b24 [Security] Add Argon2idPasswordEncoder
2019-04-08 08:14:55 +02:00
Robin Chalas
0c82173b24 [Security] Add Argon2idPasswordEncoder 2019-04-07 21:35:55 +02:00
Thomas Calvet
d412e77a9c Prepare for the new serialization mechanism 2019-04-07 20:20:37 +02:00
Pascal Borreli
a29ce2817c [Security] Add a separator in the remember me cookie hash 2019-04-06 21:17:28 +02:00
Fabien Potencier
f527acfac7 Merge branch '4.2'
* 4.2: (45 commits)
  [Form] various minor fixes
  Ensure the parent process is always killed
  bugfix: the terminal state was wrong and not reseted
  [Console] Fix inconsistent result for choice questions in non-interactive mode
  Define null return type for Constraint::getDefaultOption()
  [Routing] Fix: annotation loader ignores method's default values
  [HttpKernel] Fix DebugHandlersListener constructor docblock
  Skip Glob brace test when GLOB_BRACE is unavailable
  bumped Symfony version to 4.2.6
  updated VERSION for 4.2.5
  updated CHANGELOG for 4.2.5
  bumped Symfony version to 3.4.25
  updated VERSION for 3.4.24
  update CONTRIBUTORS for 3.4.24
  updated CHANGELOG for 3.4.24
  [EventDispatcher] cleanup
  fix testIgnoredAttributesInContext
  Re-generate icu 64.1 data
  Improve PHPdoc / IDE autocomplete for config tree builder
  [Bridge][Twig] DebugCommand - fix escaping and filter
  ...
2019-04-06 16:04:46 +02:00
Nicolas Grekas
99684434bc Merge branch '3.4' into 4.2
* 3.4:
  SCA: minor code tweaks
  [Intl] Update the ICU data to 64.1
  [Bridge][Twig] DebugCommand - fix escaping and filter
2019-04-01 09:32:59 +02:00
Vladimir Reznichenko
cc4529db51 SCA: minor code tweaks 2019-04-01 09:08:40 +02:00
Fabien Potencier
2fb2508cee Merge branch '3.4' into 4.2
* 3.4:
  [Serializer] Added check of constuctor modifiers to AbstractNormalizer
  [Intl] Simplify the compile binary
  [Routing] Fix routes annotation loading with glob pattern
  Fix hardcoded hotPathTagName
  [Validator] Improve constraint default option check
  [Validator] Fix annotation default for @Count and @Length
  Update composer.json
  Fix getSetMethodNormalizer to correctly ignore the attributes specified in "ignored_attributes"
  Add missing "vi" translations
  add missing German translations
  [Intl] Fix test
  added missing translation
  use behavior instead of behaviour
  [Validator] Translate JSON message to Hungarian
  [Validator] fix sr_Latn translations
  [FrameworkBundle][HttpFoundation] make session service resettable
2019-03-30 16:58:42 +01:00
SpacePossum
f8a033c0ef
Update composer.json 2019-03-29 09:11:11 +01:00
Nicolas Grekas
3c3db2f14a [Contracts][EventDispatcher] add EventDispatcherInterface to symfony/contracts and use it where possible 2019-03-25 18:18:00 +01:00
Oskar Stark
8b5c5ed587 use behavior instead of behaviour 2019-03-25 08:48:46 +01:00
Christian Flothmann
2d3f2b7a74 undeprecate the RoleHierarchyInterface
Instead of deprecating the interface it is sufficient to deprecate its
getReachableRoles() method and add a new getReachableRoleNames() method
in Symfony 5.
2019-03-22 16:40:58 +01:00
Fabien Potencier
522594a69d Merge branch '4.2'
* 4.2:
  [Phpunit] fixed support for PHP 5.3
  Response prepare method update
  [Workflow] Added missing license header
  Fix case when multiple loaders are providing paths for the same namespace
  Check if Client exists when test.client does not exist, to provide clearer exception message
  throw TypeErrors to prepare for type hints in 5.0
  [Form] Preventing validation of children if parent with Valid constraint has no validation groups
  [Form] Added ResetInterface to CachingFactoryDecorator
  Remove deprecated usage
  [Tests] fixed compatbility of assertEquals(): void
  Fixed usage of TranslatorInterface in form extension (fixes #30591)
  [Intl][4.2] Fix test
  [Intl] Fix test
  [Validator] Add the missing translations for the Arabic (ar) locale
  [Intl] Add compile binary
  Fix DebugCommand when chain loader is involved
  [Form] Fixed some phpdocs
2019-03-22 09:16:47 +01:00
Fabien Potencier
7e30c971ab fixed CS 2019-03-22 07:07:54 +01:00
Fabien Potencier
1479a26a0b feature #28920 [EventDispatcher] swap arguments of dispatch() to allow registering events by FQCN (nicolas-grekas)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[EventDispatcher] swap arguments of dispatch() to allow registering events by FQCN

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

PR green and ready. From UPGRADE files:

 EventDispatcher
---------------

 * The signature of the `EventDispatcherInterface::dispatch()` method should be updated to `dispatch($event, string $eventName = null)`, not doing so is deprecated

HttpKernel
----------

 * Renamed `FilterControllerArgumentsEvent` to `ControllerArgumentsEvent`
 * Renamed `FilterControllerEvent` to `ControllerEvent`
 * Renamed `FilterResponseEvent` to `ResponseEvent`
 * Renamed `GetResponseEvent` to `RequestEvent`
 * Renamed `GetResponseForControllerResultEvent` to `ViewEvent`
 * Renamed `GetResponseForExceptionEvent` to `ExceptionEvent`
 * Renamed `PostResponseEvent` to `TerminateEvent`

Security
---------

 * The `ListenerInterface` is deprecated, turn your listeners into callables instead.
 * The `Firewall::handleRequest()` method is deprecated, use `Firewall::callListeners()` instead.

Commits
-------

75369dabb8 [EventDispatcher] swap arguments of dispatch() to allow registering events by FQCN
2019-03-20 13:34:13 +01:00
Christian Flothmann
f18751bd98 throw TypeErrors to prepare for type hints in 5.0 2019-03-19 22:07:50 +01:00
Nicolas Grekas
b7e798ef74 Merge branch '4.2'
* 4.2:
  Fix Cache error while using anonymous class
  [Cache] fix LockRegistry
  Update validators.cs.xlf
  Make translations consistent with other translations.
  Correct language code for ukrainian language in security translations.
  Fix return type of Request::getRequestFormat
  [Cache] Fix perf when using RedisCluster by reducing roundtrips to the servers
2019-03-15 14:38:03 +01:00
Nicolas Grekas
75369dabb8 [EventDispatcher] swap arguments of dispatch() to allow registering events by FQCN 2019-03-14 08:32:46 +01:00
Nicolas Grekas
8907650424 Merge branch '3.4' into 4.2
* 3.4:
  Make translations consistent with other translations.
  Correct language code for ukrainian language in security translations.
  Fix return type of Request::getRequestFormat
  [Cache] Fix perf when using RedisCluster by reducing roundtrips to the servers
2019-03-13 17:19:01 +01:00
Stanislav Kocanda
b86fa9312b Correct language code for ukrainian language
in security translations.
2019-03-13 15:34:24 +01:00
Fabien Potencier
6c4ab8942e fixed CS 2019-03-04 10:20:13 +01:00
Nicolas Grekas
05d6475c5e Drop more usages of Serializable 2019-03-04 09:45:35 +01:00
Fabien Potencier
d2e9a7051f feature #22048 [Security] deprecate the Role and SwitchUserRole classes (xabbuh)
This PR was merged into the 4.3-dev branch.

Discussion
----------

[Security] deprecate the Role and SwitchUserRole classes

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #20824
| License       | MIT
| Doc PR        | symfony/symfony-docs#11047

In #20801, we deprecated the `RoleInterface`. The next logical step would be to also deprecate the `Role` class. However, we currently have the `SwitchUserRole` class (a sub-class of `Role`) that acts as an indicator to check whether or not the authenticated user switched to another user.

This PR proposes an alternative solution to the usage of the special `SwitchUserRole` class by storing the original token inside the `UsernamePasswordToken`. This PR is not complete, but rather acts as a proof of concept of how we could get rid of the `Role` and the `SwitchUserRole` classes.

Please share your opinions whether you think this is a valid approach and I will be happy to finalise the PR.

Commits
-------

d7aaa615b9 deprecate the Role and SwitchUserRole classes
2019-02-25 17:04:33 +01:00
Nicolas Grekas
a0c566504c Merge branch '4.2'
* 4.2: (26 commits)
  Apply php-cs-fixer rule for array_key_exists()
  [Cache] fix warming up cache.system and apcu
  [Security] Change FormAuthenticator if condition
  handles multi-byte characters in autocomplete
  speed up tests running them without debug flag
  [Translations] added missing Croatian validators
  Fix getItems() performance issue with RedisCluster (php-redis)
  [VarDumper] Keep a ref to objects to ensure their handle cannot be reused while cloning
  IntegerType: reject submitted non-integer numbers
  be keen to newcomers
  [HttpKernel] Fix possible infinite loop of exceptions
  fixed CS
  [Validator] Added missing translations for Afrikaans
  do not validate non-submitted form fields in PATCH requests
  Update usage example in ArrayInput doc block.
  [Console] Prevent ArgvInput::getFirstArgument() from returning an option value
  [Validator] Fixed duplicate UUID
  fixed CS
  [EventDispatcher] Fix unknown priority
  Avoid mutating the Finder when building the iterator
  ...
2019-02-23 16:22:31 +01:00
Nicolas Grekas
87f3c36d60 Merge branch '3.4' into 4.2
* 3.4: (24 commits)
  Apply php-cs-fixer rule for array_key_exists()
  [Security] Change FormAuthenticator if condition
  handles multi-byte characters in autocomplete
  speed up tests running them without debug flag
  [Translations] added missing Croatian validators
  Fix getItems() performance issue with RedisCluster (php-redis)
  [VarDumper] Keep a ref to objects to ensure their handle cannot be reused while cloning
  IntegerType: reject submitted non-integer numbers
  be keen to newcomers
  [HttpKernel] Fix possible infinite loop of exceptions
  fixed CS
  [Validator] Added missing translations for Afrikaans
  do not validate non-submitted form fields in PATCH requests
  Update usage example in ArrayInput doc block.
  [Console] Prevent ArgvInput::getFirstArgument() from returning an option value
  [Validator] Fixed duplicate UUID
  fixed CS
  [EventDispatcher] Fix unknown priority
  Avoid mutating the Finder when building the iterator
  [Validator] Add the missing translations for the Greek (el) locale
  ...
2019-02-23 16:17:42 +01:00
Nicolas Grekas
b0a3208588 Apply php-cs-fixer rule for array_key_exists() 2019-02-23 16:06:07 +01:00
Patrick Reimers
67ae121b2e [Security] Change FormAuthenticator if condition 2019-02-23 15:32:34 +01:00
Christian Flothmann
d7aaa615b9 deprecate the Role and SwitchUserRole classes 2019-02-23 00:57:00 +01:00
Philipp Cordes
3a22cad29b Fix infinite recursion when passed an empty string 2019-02-19 23:14:55 +01:00
Nicolas Grekas
374c8b0063 Merge branch '4.2'
* 4.2:
  [Console] Fix command testing with missing inputs
  [Validator] Sync no/nb translation files
  [Translation] Added a script to display the status of translations
  [Validator] Added missing translations for Norwegian (\"no\") locale #30179
  [Security\Guard] bump lowest version of security-core
  [TwigBridge] Fix test
  Remove unnecessary ProgressBar stdout writes (fixes flickering)
  [Validator] improve translations for albanian ("sq") locale
  [VarDumper] fix serializing Stub instances
  [Validator] Added missing use statement for UnexpectedTypeException
  Don't resolve the Deprecation error handler mode until a deprecation is triggered
  bug #30245 fix lost namespace in eval (fizzka)
  fix lost namespace in eval
  [Twig] removed usage of non-namespaced classes
  added missing dot
  Update validators.lt.xlf
  #30172 Add the missing validation translations for the Luxembourgish …
  [Debug][ErrorHandler] Preserve next error handler
2019-02-19 19:29:52 +01:00
Nicolas Grekas
890c2ac9f5 Merge branch '3.4' into 4.2
* 3.4:
  [Console] Fix command testing with missing inputs
  [Validator] Sync no/nb translation files
  [Translation] Added a script to display the status of translations
  [Validator] Added missing translations for Norwegian (\"no\") locale #30179
  [Security\Guard] bump lowest version of security-core
2019-02-19 19:28:05 +01:00
Nicolas Grekas
93cfd5b2a0 [Security\Guard] bump lowest version of security-core 2019-02-17 23:00:14 +01:00
Fabien Potencier
3c2dc44af6 Merge branch '4.2'
* 4.2: (25 commits)
  Add missing ID_id validators translation
  fixed CS
  Added missing translations in validators.tr.xlf
  Update validators.es.xlf
  Update validators.hu.xlf
  [Validator] Add the missing translations for the Welsh (cy) locale
  [Validator] Add missing DE validator translations
  [Validator] Add the missing translations for the Dutch (nl) locale
  Add missing PL translation
  Add missing translations.
  Add missing translations for IT to Validator
  minor #30184 [Validator] Add the missing translations for the Russian (ru) locale (antonch1989)
  [Validator] Add the missing translations for the Arabic (ar) locale
  add_missing_translations_for_portuguese : [Validator] Add the missing translations for the Portuguese ("pt") locale
  [Validator] Add the missing translations for the French (fr) locale
  [Validator] Add some missing contents to the English translation
  use PropertyAccessorInterface instead of PropertyAccessor
  Fix KernelTestCase compatibility for PhpUnit 8 (bis)
  add xabbuh as code owner of the Form component
  [Validator] Added a missing translation
  ...
2019-02-12 21:07:40 +01:00
Fabien Potencier
1614a52b28 Merge branch '3.4' into 4.2
* 3.4: (25 commits)
  Add missing ID_id validators translation
  fixed CS
  Added missing translations in validators.tr.xlf
  Update validators.es.xlf
  Update validators.hu.xlf
  [Validator] Add the missing translations for the Welsh (cy) locale
  [Validator] Add missing DE validator translations
  [Validator] Add the missing translations for the Dutch (nl) locale
  Add missing PL translation
  Add missing translations.
  Add missing translations for IT to Validator
  minor #30184 [Validator] Add the missing translations for the Russian (ru) locale (antonch1989)
  [Validator] Add the missing translations for the Arabic (ar) locale
  add_missing_translations_for_portuguese : [Validator] Add the missing translations for the Portuguese ("pt") locale
  [Validator] Add the missing translations for the French (fr) locale
  [Validator] Add some missing contents to the English translation
  use PropertyAccessorInterface instead of PropertyAccessor
  Fix KernelTestCase compatibility for PhpUnit 8 (bis)
  add xabbuh as code owner of the Form component
  [Validator] Added a missing translation
  ...
2019-02-12 21:06:11 +01:00
Antoine Lamirault
15db914984 [Security] fix switch user without having current token 2019-02-09 10:27:13 +01:00
renanbr
006c6ddda3 makes serialize methods final 2019-02-07 09:54:38 +01:00
Nicolas Grekas
23fe9c89db Merge branch '4.2'
* 4.2:
  fix pruning pdo cache for vendors that throw on execute
  Fix typo in translation
  Declare exceptions that are already thrown by implementations
2019-02-01 12:07:50 +01:00
Nicolas Grekas
d44fba1260 Merge branch '3.4' into 4.2
* 3.4:
  Fix typo in translation
  Declare exceptions that are already thrown by implementations
2019-02-01 11:47:37 +01:00
Tarjei Huse
e8cdda3cf2 Fix typo in translation 2019-01-31 11:03:47 +01:00
Robin Chalas
52a986b15e minor #29779 [Security] Declare exceptions that are already thrown by implementations (umulmrum)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Declare exceptions that are already thrown by implementations

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

Adding exception declarations for PasswordEncoderInterface. I think it's a matter of opinion whether this change is a BC break. The BC promise doesn't cover such a case; I'd see it as a BC break to add exceptions in general, but in this case it's more of a "documentation" issue, as most implementations of the interface have been throwing those exceptions for years.

Commits
-------

f4cc30b72b Declare exceptions that are already thrown by implementations
2019-01-31 10:50:26 +01:00
Nicolas Grekas
25fcc3ed77 Merge branch '4.2'
* 4.2:
  [DI] Fix dumping Doctrine-like service graphs
  fix serialization workaround in CustomUserMessageAuthenticationException
  PHPUnit Bridge: Rollback to traditional array syntax.
  [Form] fix some docblocks and type checks
2019-01-30 18:52:12 +01:00
Nicolas Grekas
4f6541e4f5 Merge branch '3.4' into 4.2
* 3.4:
  [DI] Fix dumping Doctrine-like service graphs
  fix serialization workaround in CustomUserMessageAuthenticationException
  PHPUnit Bridge: Rollback to traditional array syntax.
  [Form] fix some docblocks and type checks
2019-01-30 18:51:38 +01:00
renanbr
542e9e29b9 fix serialization workaround in CustomUserMessageAuthenticationException 2019-01-30 16:28:03 +01:00
Nicolas Grekas
32aa969dff Merge branch '4.2'
* 4.2:
  [Routing] dont redirect routes with greedy trailing vars with no explicit slash
  skip native serialize among child and parent serializable objects
  [Routing] backport tests from 4.1
  [MonologBridge] Remove unused local variable
  Remove unreachable code
  Add PackageNameTest to ConfigurationTest also add in the changelog the corresponding entry to this PR
  Support use of hyphen in asset package name
  Fix format strings for deprecation notices
  Remove a harmless duplicate array key from VarDumper
  [VarDumper] Fixed search bar
  Remove gendered pronouns
  Replace gender by eye color in tests
  [Security] dont do nested calls to serialize()
2019-01-29 10:50:57 +01:00
Nicolas Grekas
adbdec838a Merge branch '4.1' into 4.2
* 4.1:
  [Routing] dont redirect routes with greedy trailing vars with no explicit slash
  skip native serialize among child and parent serializable objects
  [Routing] backport tests from 4.1
  [MonologBridge] Remove unused local variable
  Remove unreachable code
  Add PackageNameTest to ConfigurationTest also add in the changelog the corresponding entry to this PR
  Support use of hyphen in asset package name
  Remove gendered pronouns
  Replace gender by eye color in tests
  [Security] dont do nested calls to serialize()
2019-01-29 10:49:29 +01:00
Nicolas Grekas
78c23c7838 Merge branch '3.4' into 4.1
* 3.4:
  skip native serialize among child and parent serializable objects
  [Routing] backport tests from 4.1
  Add PackageNameTest to ConfigurationTest also add in the changelog the corresponding entry to this PR
  Support use of hyphen in asset package name
  Remove gendered pronouns
  Replace gender by eye color in tests
  [Security] dont do nested calls to serialize()
2019-01-29 10:21:38 +01:00
Renan
10256fc4fd skip native serialize among child and parent serializable objects 2019-01-29 10:04:09 +01:00
Nicolas Grekas
41000f1de0 [Security] dont do nested calls to serialize() 2019-01-25 18:08:32 +01:00
Nicolas Grekas
d8af8b6edd Merge branch '4.2'
* 4.2:
  Bump phpunit bridge cache id
  [appveyor] fix create-project phpunit
  Fix HttpKernel Debug requirement
  Fix heredoc
  use final annotation to allow mocking the class
  synchronise the form builder docblock
  Grammar fix in exception message
  fix tests
  forward the parse error to the calling code
  Avoid dots in generated class names.
  [Debug][DebugClassLoader] Match more cases for final, deprecated and internal classes / methods extends
  ensure compatibility with older PHPUnit mocks
  [Security] Do not mix usage of password_*() functions and sodium_*() ones
2019-01-24 22:40:22 +01:00
Nicolas Grekas
61bf16c71d Merge branch '4.1' into 4.2
* 4.1:
  Bump phpunit bridge cache id
  [appveyor] fix create-project phpunit
  Fix HttpKernel Debug requirement
  Fix heredoc
  use final annotation to allow mocking the class
  synchronise the form builder docblock
  Grammar fix in exception message
  fix tests
  forward the parse error to the calling code
  [Debug][DebugClassLoader] Match more cases for final, deprecated and internal classes / methods extends
  ensure compatibility with older PHPUnit mocks
  [Security] Do not mix usage of password_*() functions and sodium_*() ones
2019-01-24 22:39:51 +01:00
Nicolas Grekas
aff17e2cc4 Merge branch '3.4' into 4.1
* 3.4:
  Bump phpunit bridge cache id
  [appveyor] fix create-project phpunit
  Fix HttpKernel Debug requirement
  Fix heredoc
  use final annotation to allow mocking the class
  synchronise the form builder docblock
  Grammar fix in exception message
  fix tests
  forward the parse error to the calling code
  [Debug][DebugClassLoader] Match more cases for final, deprecated and internal classes / methods extends
  ensure compatibility with older PHPUnit mocks
  [Security] Do not mix usage of password_*() functions and sodium_*() ones
2019-01-24 22:39:39 +01:00
Christian Flothmann
1da00db247 use final annotation to allow mocking the class 2019-01-22 15:51:10 +01:00
Robin Chalas
b972d15d52 bug #29863 [Security] Do not mix password_*() API with libsodium one (chalasr)
This PR was merged into the 3.4 branch.

Discussion
----------

[Security] Do not mix password_*() API with libsodium one

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

Argon2IPasswordEncoder uses native `password_hash()` and `password_verify()` functions if the current PHP installation embeds Argon2 support (>=7.2, compiled `--with-password-argon2`).
Otherwise, it fallbacks to the libsodium extension.

This was fine at time the encoder was introduced, but meanwhile libsodium changed the algorithm used by `sodium_crypto_pwhash_str()` which is now argon2id, that goes outside of the scope of the encoder which was designed to deal with `argon2i` only.
Nothing we can do as databases may already contain passwords hashed with argon2id, the encoder must keep validating those.

However, the PHP installation may change as time goes by, and could suddenly embed the Argon2 core integration. In this case, the encoder would use the `password_verify()` function which would fail in case the password was not hashed using argon2i.
This PR prevents it by detecting that argon2id was used, avoiding usage of `password_verify()`.

See https://github.com/jedisct1/libsodium-php/issues/194 and https://github.com/symfony/symfony/issues/28093 for references.
Patch cannot be tested as it is platform dependent.

Side note: I'm currently working on a new implementation for 4.3 that will properly supports argon2id (which has been added to the PHP core sodium integration in 7.3) and argon2i, distinctively.

Commits
-------

d6cfde94b4 [Security] Do not mix usage of password_*() functions and sodium_*() ones
2019-01-18 19:41:49 +01:00
Fabien Potencier
51a359c079 Merge branch '4.2' into short-array-master
* 4.2:
  fixed CS
  fixed CS
  fixed tests
  fixed CS
  fixed CS
  fixed CS
  fixed short array CS in comments
  fixed CS in ExpressionLanguage fixtures
  fixed CS in generated files
  fixed CS on generated container files
  fixed CS on Form PHP templates
  fixed CS on YAML fixtures
  fixed fixtures
  switched array() to []
2019-01-16 22:53:39 +01:00
Fabien Potencier
e03db43894 fixed CS 2019-01-16 22:31:25 +01:00
Fabien Potencier
d2098d7e5d fixed CS 2019-01-16 21:35:37 +01:00
Fabien Potencier
c0323bd24b Merge branch '4.1' into 4.2
* 4.1:
  fixed tests
  fixed CS
  fixed CS
  fixed CS
  fixed short array CS in comments
  fixed CS in ExpressionLanguage fixtures
  fixed CS in generated files
  fixed CS on generated container files
  fixed CS on Form PHP templates
  fixed CS on YAML fixtures
  fixed fixtures
  switched array() to []
2019-01-16 21:31:39 +01:00
Fabien Potencier
d58b5c3b76 fixed CS 2019-01-16 19:35:49 +01:00
Fabien Potencier
572864b223 Merge branch '3.4' into 4.1
* 3.4:
  fixed CS
  fixed short array CS in comments
  fixed CS in ExpressionLanguage fixtures
  fixed CS in generated files
  fixed CS on generated container files
  fixed CS on Form PHP templates
  fixed CS on YAML fixtures
  fixed fixtures
  switched array() to []
2019-01-16 19:21:11 +01:00
Fabien Potencier
1429267f9c fixed short array CS in comments 2019-01-16 14:27:11 +01:00
Fabien Potencier
33a001e460 switched array() to [] 2019-01-16 10:39:14 +01:00
Robin Chalas
d6cfde94b4 [Security] Do not mix usage of password_*() functions and sodium_*() ones 2019-01-12 03:20:20 +01:00
Stefan Kruppa
f4cc30b72b Declare exceptions that are already thrown by implementations 2019-01-04 17:03:46 +01:00
Christian Flothmann
3860d685f4 Merge branch '4.2'
* 4.2:
  update years in license files
  Fix: Adjust DocBlock
  \"ParserTest->getParserTestData()\" -> only some more tests
  access the container getting it from the kernel
  Replace slave and master by replica and primary
  Fix erasing cookies issue
  [Lock] Pedantic improvements for lock
  [EventDispatcher] Fixed phpdoc on interface
  update year in license files
  [VarExporter] fix exporting array indexes
  [SecurityBundle] Fix traceable voters
  [Console] Fix help text for single command applications
  Fix random test failure on lock
  improve error message when using test client without the BrowserKit component
  Fixed minor typos in an error message
  [Event Dispatcher] fixed 29703: TraceableEventDispatcher reset now sets callStack to null with test to dispatch after reset.
  Fixed minor typos
  Fix: Method can also return null
  [Stopwatch] Fixed phpdoc for category name
2019-01-03 10:16:58 +01:00
Christian Flothmann
3007e36a5c Merge branch '4.1' into 4.2
* 4.1:
  Fix: Adjust DocBlock
  \"ParserTest->getParserTestData()\" -> only some more tests
  access the container getting it from the kernel
  [Lock] Pedantic improvements for lock
  [EventDispatcher] Fixed phpdoc on interface
  update year in license files
  [Console] Fix help text for single command applications
  Fix random test failure on lock
  improve error message when using test client without the BrowserKit component
  [Event Dispatcher] fixed 29703: TraceableEventDispatcher reset now sets callStack to null with test to dispatch after reset.
  Fixed minor typos
  Fix: Method can also return null
  [Stopwatch] Fixed phpdoc for category name
2019-01-03 10:07:35 +01:00
Christian Flothmann
4973a5e9e1 Merge branch '3.4' into 4.1
* 3.4:
  Fix: Adjust DocBlock
  \"ParserTest->getParserTestData()\" -> only some more tests
  [Lock] Pedantic improvements for lock
  [EventDispatcher] Fixed phpdoc on interface
  update year in license files
  [Console] Fix help text for single command applications
  Fix random test failure on lock
  improve error message when using test client without the BrowserKit component
  [Event Dispatcher] fixed 29703: TraceableEventDispatcher reset now sets callStack to null with test to dispatch after reset.
  Fixed minor typos
  Fix: Method can also return null
  [Stopwatch] Fixed phpdoc for category name
2019-01-03 10:05:57 +01:00
Christian Flothmann
6c895b9757 update year in license files 2019-01-01 14:45:19 +01:00
Nicolas Grekas
edb12b48c7 Merge branch '4.2'
* 4.2:
  [Twig] Remove spaces to fix whitespace in tags
  [Twig] Replace for-loops with blocks for attributes
  fixed CS
  [Tests] Change to willThrowException
  [Console] fix PHPDoc in Command
  Update FileLoaderLoadException.php
  Fix wrong calls to clearstatcache
  Add Vietnamese translation for validators
  Allow running PHPUnit with "xdebug.scream" ON
  [VarDumper] Add descriptors tests
  [Cache] fix bad optim
  [Yaml] detect circular references
  [DI] fix reporting bindings on overriden services as unused
  [Routing] minor fix or previous PR
2018-12-24 11:03:37 +01:00
Nicolas Grekas
5ee0c04fd7 Merge branch '4.1' into 4.2
* 4.1:
  [Twig] Replace for-loops with blocks for attributes
  fixed CS
  [Tests] Change to willThrowException
  [Console] fix PHPDoc in Command
  Update FileLoaderLoadException.php
  Fix wrong calls to clearstatcache
  Add Vietnamese translation for validators
  Allow running PHPUnit with "xdebug.scream" ON
  [VarDumper] Add descriptors tests
  [Yaml] detect circular references
  [DI] fix reporting bindings on overriden services as unused
  [Routing] minor fix or previous PR
2018-12-24 11:01:29 +01:00
Fabien Potencier
729edde312 Merge branch '3.4' into 4.1
* 3.4:
  [Tests] Change to willThrowException
  [Console] fix PHPDoc in Command
  Fix wrong calls to clearstatcache
  Add Vietnamese translation for validators
  Allow running PHPUnit with "xdebug.scream" ON
  [Yaml] detect circular references
2018-12-23 15:06:12 +01:00
George Mponos
0695834657 [Tests] Change to willThrowException 2018-12-23 15:04:59 +01:00
Nicolas Grekas
75eebcf7dc Merge branch '4.2'
* 4.2:
  [Routing] fix trailing slash redirections involving a trailing var
  [EventDispatcher] Revers event tracing order
  [Security] Prefer clone over unserialize(serialize()) for user refreshment
  [Console] OutputFormatter: move strtolower to createStyleFromString
  Adjust tests to work in the armhf architecture. Fixes #29281.
  Vietnamese translations improvement
  [Form] Fixed FormErrorIterator class phpdoc
  Renamed test controller from Controller to TestController so it doesn't show up in the IDE autocomplete.
  Don't use he in docs when its not needed
  EventSubscriberInterface isn't a man
  Fix undefined variable in cache ArrayTrait
  fixed public directory of web server and assets install when configured in composer.json
2018-12-17 14:49:19 +01:00
Nicolas Grekas
8a6090793b Merge branch '4.1' into 4.2
* 4.1:
  [Routing] fix trailing slash redirections involving a trailing var
  [EventDispatcher] Revers event tracing order
  [Security] Prefer clone over unserialize(serialize()) for user refreshment
  [Console] OutputFormatter: move strtolower to createStyleFromString
  Adjust tests to work in the armhf architecture. Fixes #29281.
  Vietnamese translations improvement
  [Form] Fixed FormErrorIterator class phpdoc
  Renamed test controller from Controller to TestController so it doesn't show up in the IDE autocomplete.
  Don't use he in docs when its not needed
  EventSubscriberInterface isn't a man
  fixed public directory of web server and assets install when configured in composer.json
2018-12-17 14:32:53 +01:00
Nicolas Grekas
7ccd4df8ad Merge branch '3.4' into 4.1
* 3.4:
  [EventDispatcher] Revers event tracing order
  [Security] Prefer clone over unserialize(serialize()) for user refreshment
  [Console] OutputFormatter: move strtolower to createStyleFromString
  Adjust tests to work in the armhf architecture. Fixes #29281.
  Vietnamese translations improvement
  [Form] Fixed FormErrorIterator class phpdoc
  Renamed test controller from Controller to TestController so it doesn't show up in the IDE autocomplete.
  Don't use he in docs when its not needed
  EventSubscriberInterface isn't a man
  fixed public directory of web server and assets install when configured in composer.json
2018-12-17 11:22:03 +01:00
Robin Chalas
a8eba803a3 [Security] Prefer clone over unserialize(serialize()) for user refreshment 2018-12-15 11:33:19 +01:00
Tri Pham
93a0c98cc2 Vietnamese translations improvement 2018-12-14 13:19:56 +01:00
Nicolas Grekas
df4ad4e7d4 Merge branch '4.2'
* 4.2: (27 commits)
  [VarExporter] dont call userland code with uninitialized objects
  Fix typos in doc blocks
  [Debug] ignore underscore vs backslash namespaces in DebugClassLoader
  [TwigBridge][Form] Prevent multiple rendering of form collection prototypes
  [FrameworkBundle] fix describing routes with no controllers
  [DI] move RegisterServiceSubscribersPass before DecoratorServicePass
  Update ValidationListener.php
  [Yaml] ensures that the mb_internal_encoding is reset to its initial value
  [Messenger] Restore message handlers laziness
  [WebLink] Fixed documentation link
  [Security] getTargetPath of TargetPathTrait must return string or null
  [Hackday][Serializer] Deserialization ignores argument type hint from phpdoc for array in constructor argument
  Optimize perf by replacing call_user_func with dynamic vars
  [Cache] Fix dsn parsing
  [Routing] fix dumping same-path routes with placeholders
  [WebProfilerBundle][TwigBundle] CSS fixes
  Add a docblock for FormFactoryInterface
  [Security] defer log message in guard authenticator
  [Validator] Added IBAN format for Vatican City State
  merge conflicts
  ...
2018-12-13 13:43:21 +01:00
Nicolas Grekas
b88728a13a Merge branch '4.1' into 4.2
* 4.1:
  Fix typos in doc blocks
  [Debug] ignore underscore vs backslash namespaces in DebugClassLoader
  [TwigBridge][Form] Prevent multiple rendering of form collection prototypes
  [FrameworkBundle] fix describing routes with no controllers
  [DI] move RegisterServiceSubscribersPass before DecoratorServicePass
  Update ValidationListener.php
  [Yaml] ensures that the mb_internal_encoding is reset to its initial value
  [WebLink] Fixed documentation link
  [Security] getTargetPath of TargetPathTrait must return string or null
  [Hackday][Serializer] Deserialization ignores argument type hint from phpdoc for array in constructor argument
  Optimize perf by replacing call_user_func with dynamic vars
  [Routing] fix dumping same-path routes with placeholders
  [Security] defer log message in guard authenticator
  [Validator] Added IBAN format for Vatican City State
  merge conflicts
  filter out invalid Intl values
  filter out invalid language values
  [Validator] Fixed grouped composite constraints
  [Form] Filter arrays out of scalar form types
  Fix HeaderBag::get phpdoc
2018-12-13 13:39:50 +01:00
Nicolas Grekas
547bf26eee Merge branch '3.4' into 4.1
* 3.4:
  [Debug] ignore underscore vs backslash namespaces in DebugClassLoader
  [TwigBridge][Form] Prevent multiple rendering of form collection prototypes
  [FrameworkBundle] fix describing routes with no controllers
  [DI] move RegisterServiceSubscribersPass before DecoratorServicePass
  Update ValidationListener.php
  [Yaml] ensures that the mb_internal_encoding is reset to its initial value
  [WebLink] Fixed documentation link
  [Security] getTargetPath of TargetPathTrait must return string or null
  [Hackday][Serializer] Deserialization ignores argument type hint from phpdoc for array in constructor argument
  [Security] defer log message in guard authenticator
  merge conflicts
  Fix HeaderBag::get phpdoc
2018-12-13 13:30:33 +01:00
Fabien Potencier
68b823f243 minor #29408 [Security] getTargetPath of TargetPathTrait must return string or null (gmponos)
This PR was squashed before being merged into the 3.4 branch (closes #29408).

Discussion
----------

[Security] getTargetPath of TargetPathTrait must return string or null

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes (possible bug)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

Since the return type is string the default return value must be also string.

Commits
-------

8d4b787dd9 [Security] getTargetPath of TargetPathTrait must return string or null
2018-12-10 05:09:26 +01:00
Mponos George
8d4b787dd9 [Security] getTargetPath of TargetPathTrait must return string or null 2018-12-10 05:09:19 +01:00
Enrico Schultz
21c3030092 [Security] defer log message in guard authenticator
prevent an unneccessary log message if the guard authenticator does not support the current request
2018-12-09 17:00:22 +01:00
Nicolas Grekas
ee337dd761 Merge branch '4.2'
* 4.2:
  [Security\Http] detect bad redirect targets using backslashes
  [Form] Filter file uploads out of regular form types
  Fix CI
  minor #28258 [travis] fix composer.lock invalidation for deps=low (nicolas-grekas)
  [travis] fix composer.lock invalidation for PRs patching several components
  [travis] fix composer.lock invalidation for deps=low
  minor #28199 [travis][appveyor] use symfony/flex to accelerate builds (nicolas-grekas)
  [travis] ignore ordering when validating composer.lock files for deps=low
  minor #28146 [travis] cache composer.lock files for deps=low (nicolas-grekas)
  fix ci
  [travis] fix requiring mongodb/mongodb before composer up
  minor #28114 [travis] merge "same Symfony version" jobs in one (nicolas-grekas)
  [2.7] Make CI green
  updated VERSION for 2.7.49
  updated CHANGELOG for 2.7.49
  [HttpKernel] fix trusted headers management in HttpCache and InlineFragmentRenderer
  [HttpFoundation] Remove support for legacy and risky HTTP headers
  updated VERSION for 2.7.48
  update CONTRIBUTORS for 2.7.48
  updated CHANGELOG for 2.7.48
2018-12-06 11:37:20 +00:00
Nicolas Grekas
95e4edba92 Merge branch '4.1' into 4.2
* 4.1:
  [Security\Http] detect bad redirect targets using backslashes
  [Form] Filter file uploads out of regular form types
  Fix CI
  minor #28258 [travis] fix composer.lock invalidation for deps=low (nicolas-grekas)
  [travis] fix composer.lock invalidation for PRs patching several components
  [travis] fix composer.lock invalidation for deps=low
  minor #28199 [travis][appveyor] use symfony/flex to accelerate builds (nicolas-grekas)
  [travis] ignore ordering when validating composer.lock files for deps=low
  minor #28146 [travis] cache composer.lock files for deps=low (nicolas-grekas)
  fix ci
  [travis] fix requiring mongodb/mongodb before composer up
  minor #28114 [travis] merge "same Symfony version" jobs in one (nicolas-grekas)
  [2.7] Make CI green
  updated VERSION for 2.7.49
  updated CHANGELOG for 2.7.49
  [HttpKernel] fix trusted headers management in HttpCache and InlineFragmentRenderer
  [HttpFoundation] Remove support for legacy and risky HTTP headers
  updated VERSION for 2.7.48
  update CONTRIBUTORS for 2.7.48
  updated CHANGELOG for 2.7.48
2018-12-06 11:36:58 +00:00
Nicolas Grekas
34f6a4066d Merge branch '3.4' into 4.1
* 3.4:
  [Security\Http] detect bad redirect targets using backslashes
  [Form] Filter file uploads out of regular form types
  Fix CI
  minor #28258 [travis] fix composer.lock invalidation for deps=low (nicolas-grekas)
  [travis] fix composer.lock invalidation for PRs patching several components
  [travis] fix composer.lock invalidation for deps=low
  minor #28199 [travis][appveyor] use symfony/flex to accelerate builds (nicolas-grekas)
  [travis] ignore ordering when validating composer.lock files for deps=low
  minor #28146 [travis] cache composer.lock files for deps=low (nicolas-grekas)
  fix ci
  [travis] fix requiring mongodb/mongodb before composer up
  minor #28114 [travis] merge "same Symfony version" jobs in one (nicolas-grekas)
  [2.7] Make CI green
  updated VERSION for 2.7.49
  updated CHANGELOG for 2.7.49
  [HttpKernel] fix trusted headers management in HttpCache and InlineFragmentRenderer
  [HttpFoundation] Remove support for legacy and risky HTTP headers
  updated VERSION for 2.7.48
  update CONTRIBUTORS for 2.7.48
  updated CHANGELOG for 2.7.48
2018-12-06 11:26:33 +00:00
Nicolas Grekas
3aaa5aba1b Merge branch '2.8' into 3.4
* 2.8:
  [Security\Http] detect bad redirect targets using backslashes
  [Form] Filter file uploads out of regular form types
  Fix CI
  minor #28258 [travis] fix composer.lock invalidation for deps=low (nicolas-grekas)
  [travis] fix composer.lock invalidation for PRs patching several components
  [travis] fix composer.lock invalidation for deps=low
  minor #28199 [travis][appveyor] use symfony/flex to accelerate builds (nicolas-grekas)
  [travis] ignore ordering when validating composer.lock files for deps=low
  minor #28146 [travis] cache composer.lock files for deps=low (nicolas-grekas)
  fix ci
  [travis] fix requiring mongodb/mongodb before composer up
  minor #28114 [travis] merge "same Symfony version" jobs in one (nicolas-grekas)
  [2.7] Make CI green
  updated VERSION for 2.7.49
  updated CHANGELOG for 2.7.49
  [HttpKernel] fix trusted headers management in HttpCache and InlineFragmentRenderer
  [HttpFoundation] Remove support for legacy and risky HTTP headers
  updated VERSION for 2.7.48
  update CONTRIBUTORS for 2.7.48
  updated CHANGELOG for 2.7.48
2018-12-06 11:25:03 +00:00
Nicolas Grekas
410ed830c5 Merge branch '2.7' into 2.8
* 2.7:
  [Security\Http] detect bad redirect targets using backslashes
  [Form] Filter file uploads out of regular form types
  Fix CI
  minor #28258 [travis] fix composer.lock invalidation for deps=low (nicolas-grekas)
  [travis] fix composer.lock invalidation for PRs patching several components
  [travis] fix composer.lock invalidation for deps=low
  minor #28199 [travis][appveyor] use symfony/flex to accelerate builds (nicolas-grekas)
  [travis] ignore ordering when validating composer.lock files for deps=low
  minor #28146 [travis] cache composer.lock files for deps=low (nicolas-grekas)
  fix ci
  [travis] fix requiring mongodb/mongodb before composer up
  minor #28114 [travis] merge "same Symfony version" jobs in one (nicolas-grekas)
  [2.7] Make CI green
  updated VERSION for 2.7.49
  updated CHANGELOG for 2.7.49
  [HttpKernel] fix trusted headers management in HttpCache and InlineFragmentRenderer
  [HttpFoundation] Remove support for legacy and risky HTTP headers
  updated VERSION for 2.7.48
  update CONTRIBUTORS for 2.7.48
  updated CHANGELOG for 2.7.48
2018-12-06 11:12:46 +00:00
Christian Flothmann
99a0cec0a6 [Security\Http] detect bad redirect targets using backslashes 2018-11-29 16:25:45 +01:00
Fabien Potencier
534b83f080 updated version to 4.3 2018-11-26 17:19:01 +01:00
Nicolas Grekas
fd74951405 Merge branch '4.1'
* 4.1:
  [Form] Hardened test suite for empty data
  Bump phpunit XSD version to 5.2
  [Fwb][EventDispatcher][HttpKernel] Fix getClosureScopeClass usage to describe callables
  Add required key attribute
2018-11-11 20:52:12 +01:00
Nicolas Grekas
913781baac Merge branch '3.4' into 4.1
* 3.4:
  [Form] Hardened test suite for empty data
  Bump phpunit XSD version to 5.2
  [Fwb][EventDispatcher][HttpKernel] Fix getClosureScopeClass usage to describe callables
  Add required key attribute
2018-11-11 20:51:29 +01:00
Nicolas Grekas
e32b518818 Merge branch '2.8' into 3.4
* 2.8:
  [Form] Hardened test suite for empty data
  Bump phpunit XSD version to 5.2
  Add required key attribute
2018-11-11 20:48:54 +01:00
Grégoire Paris
4dce4b7c30
Bump phpunit XSD version to 5.2
Some attributes being used in the phpunit configuration files, namely
failOnRisky and failOnWarning were introduced in phpunit 5.2.0. The
Composer configuration shows that tests should run with old versions of
phpunit, but phpunit only validates the configuration against the XSD
since phpunit 7.2.0.
These changes can be tested as follows:

wget http://schema.phpunit.de/5.2/phpunit.xsd
xargs xmllint --schema phpunit.xsd  1>/dev/null
find src -name phpunit.xml.dist| xargs xmllint --schema phpunit.xsd  1>/dev/null

See 7e06a82806
See 46e3745a03/composer.json (L98)
2018-11-11 12:18:13 +01:00
Nicolas Grekas
0970b09796 Merge branch '4.1'
* 4.1:
  SCA: removed unused variables
  Remove duplicate condition
  fix useless space in docblock
  remove unneeded tearDown method
  [Intl] Update the ICU data to 63.1
  [FrameworkBundle] Fix broken exception message
  [Messenger] send using the routing_key for AMQP transport
  also clean away the NO_AUTO_CACHE_CONTROL_HEADER if we have no session
  [TwigBundle] Fix usage of TwigBundle without FrameworkBundle
  Revert "fixed CS"
  [Serializer] Reduce class discriminator overhead
  Skip empty proxy code
  [Security] Fix "exclude-from-classmap"
  [Security] Removed unsed trait import
  [Config] Fix @method annotation
  add missing double-quotes to extra_fields output message
  [DI] Default undefined env to empty string during compile
  Convert InsufficientAuthenticationException to HttpException
2018-10-30 18:11:56 +01:00
Nicolas Grekas
4b1db0d32c Merge branch '3.4' into 4.1
* 3.4:
  Remove duplicate condition
  fix useless space in docblock
  remove unneeded tearDown method
  [Intl] Update the ICU data to 63.1
  [FrameworkBundle] Fix broken exception message
  [TwigBundle] Fix usage of TwigBundle without FrameworkBundle
  Revert "fixed CS"
  Skip empty proxy code
  [Security] Fix "exclude-from-classmap"
  add missing double-quotes to extra_fields output message
  Convert InsufficientAuthenticationException to HttpException
2018-10-30 18:00:46 +01:00
Nicolas Grekas
faec03105f Merge branch '2.8' into 3.4
* 2.8:
  Remove duplicate condition
  fix useless space in docblock
  remove unneeded tearDown method
  [FrameworkBundle] Fix broken exception message
  Revert "fixed CS"
  Skip empty proxy code
  [Security] Fix "exclude-from-classmap"
  add missing double-quotes to extra_fields output message
  Convert InsufficientAuthenticationException to HttpException
2018-10-30 17:50:50 +01:00
Laurent VOULLEMIER
8abb05607b [Security][SecurityBundle] Add voter individual decisions to profiler 2018-10-28 18:49:26 +01:00
Darryl Hein
feba3816dc
remove unneeded tearDown method 2018-10-27 15:32:49 -06:00
Sam Fleming
9702a212e2
Remove reference to http digest authentication
Seeing as HTTP Digest has been deprecated / removed, the README shouldn't be advertising it as a feature.
2018-10-26 09:20:42 +01:00
Albert Casademont
7b256a985d
[Security] Fix "exclude-from-classmap"
The "/Tests/" directory doesn't exist in the Security Component, tests are located within the Security components folders and none of the tests were being excluded in an --classmap-authoritative dump of the autoload.
2018-10-19 23:57:12 +02:00
Grégoire Pineau
f99786314e [Security] Removed unsed trait import 2018-10-19 14:22:12 +02:00
Christian Flothmann
493c13a9fb Merge branch '4.1'
* 4.1:
  fix merge
2018-10-10 16:58:57 +02:00
Christian Flothmann
61cf143727 fix merge 2018-10-10 16:49:00 +02:00
Nicolas Grekas
8848a1aa30 Merge branch '4.1'
* 4.1: (27 commits)
  Added the Code of Conduct file
  do not override custom access decision configs
  [Security] Do not deauthenticate user when the first refreshed user has changed
  fix a return type hint
  invalidate stale commits for PRs too
  add missing cache prefix seed attribute to XSD
  fix command description
  Fix class documentation
  [Validator] Add a missing translation
  [FrameworkBundle] Fix 3.4 tests
  [DI] fix dumping inline services again
  Rename consumer to receiver
  Register messenger before the profiler
  Fix phpdocs
  [EventDispatcher] Remove template method in test case
  Added LB translation for #27993 (UUID validator message translation)
  Replace deprecated validateValue with validate
  [FWBundle] Automatically enable PropertyInfo when using Flex
  [Process] fix locking of pipe files on Windows
  Correct PHPDoc type for float ttl
  ...
2018-10-10 06:54:27 -07:00
Nicolas Grekas
d9c9e0cf52 Merge branch '3.4' into 4.1
* 3.4: (21 commits)
  Added the Code of Conduct file
  do not override custom access decision configs
  [Security] Do not deauthenticate user when the first refreshed user has changed
  invalidate stale commits for PRs too
  add missing cache prefix seed attribute to XSD
  fix command description
  Fix class documentation
  [Validator] Add a missing translation
  [FrameworkBundle] Fix 3.4 tests
  [DI] fix dumping inline services again
  Fix phpdocs
  [EventDispatcher] Remove template method in test case
  Added LB translation for #27993 (UUID validator message translation)
  Replace deprecated validateValue with validate
  [FWBundle] Automatically enable PropertyInfo when using Flex
  [Process] fix locking of pipe files on Windows
  Correct PHPDoc type for float ttl
  bumped Symfony version to 3.4.18
  updated VERSION for 3.4.17
  updated CHANGELOG for 3.4.17
  ...
2018-10-10 06:52:42 -07:00
Vincent Chalamon
4503ac8e9f
Convert InsufficientAuthenticationException to HttpException 2018-10-10 14:45:47 +02:00
Robin Chalas
2f0e5d7a83 bug #28072 [Security] Do not deauthenticate user when the first refreshed user has changed (gpekz)
This PR was squashed before being merged into the 3.4 branch (closes #28072).

Discussion
----------

[Security] Do not deauthenticate user when the first refreshed user has changed

| 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        |

Currently the token is deauthenticated when the first refreshed user has changed. In theory, a second user provider could find a user that is the same than the user stored in the token.

Also, the deauthentication is currently affected by the order of the user providers in the security.yaml and IMHO it does not make sense.

Commits
-------

95dce67 [Security] Do not deauthenticate user when the first refreshed user has changed
2018-10-10 10:05:32 +02:00
Geoffrey Pécro
95dce67629 [Security] Do not deauthenticate user when the first refreshed user has changed 2018-10-10 10:05:21 +02:00
Robin Chalas
5093b9fb47 [Security] Deprecate simple_preauth and simple_form in favor of Guard 2018-10-03 09:02:12 +02:00
Nicolas Grekas
a9c90ca77a Merge branch '4.1'
* 4.1: (21 commits)
  [php_cs] disable fopen_flags
  [DI] fix error in dumped container
  [CS] Remove unused variables passed to closures
  [DI] fix dumping setters before their inlined instances
  [CS] Remove empty comment
  [CS] Enforces null type hint on last position in phpDocs
  [CS] Use combined assignment operators when possible
  Fix a typo in error messages
  Don't return early as this bypasses the auto exit feature
  [Console] Add missing null to input values allowed types
  [PHPUnitBridge] Fix microtime() format
  bumped Symfony version to 4.1.6
  updated VERSION for 4.1.5
  updated CHANGELOG for 4.1.5
  bumped Symfony version to 3.4.17
  updated VERSION for 3.4.16
  updated CHANGELOG for 3.4.16
  bumped Symfony version to 2.8.47
  update CONTRIBUTORS for 2.8.46
  updated VERSION for 2.8.46
  ...
2018-10-02 14:43:31 +02:00
Nicolas Grekas
196086c513 Merge branch '3.4' into 4.1
* 3.4:
  [php_cs] disable fopen_flags
  [DI] fix error in dumped container
  [CS] Remove unused variables passed to closures
  [DI] fix dumping setters before their inlined instances
  [CS] Remove empty comment
  [CS] Enforces null type hint on last position in phpDocs
  [CS] Use combined assignment operators when possible
  Fix a typo in error messages
  Don't return early as this bypasses the auto exit feature
  [Console] Add missing null to input values allowed types
  [PHPUnitBridge] Fix microtime() format
  bumped Symfony version to 3.4.17
  updated VERSION for 3.4.16
  updated CHANGELOG for 3.4.16
  bumped Symfony version to 2.8.47
  update CONTRIBUTORS for 2.8.46
  updated VERSION for 2.8.46
  updated CHANGELOG for 2.8.46
2018-10-02 14:40:59 +02:00
Nicolas Grekas
25055be92e Merge branch '2.8' into 3.4
* 2.8:
  [php_cs] disable fopen_flags
  [CS] Remove unused variables passed to closures
  [CS] Remove empty comment
  [CS] Enforces null type hint on last position in phpDocs
  [CS] Use combined assignment operators when possible
  Fix a typo in error messages
  [Console] Add missing null to input values allowed types
  [PHPUnitBridge] Fix microtime() format
  bumped Symfony version to 2.8.47
  update CONTRIBUTORS for 2.8.46
  updated VERSION for 2.8.46
  updated CHANGELOG for 2.8.46
2018-10-02 14:28:39 +02:00
Gabriel Caruso
efbba25577
[CS] Enforces null type hint on last position in phpDocs 2018-10-02 00:12:00 -03:00
Achilles Kaloeridis
07b67ec2cd Fix a typo in error messages 2018-10-01 21:18:23 +03:00
Fabien Potencier
deaf53c231 Merge branch '4.1'
* 4.1:
  [Console] simplified code
  removed useless phpdoc
  improve docblocks around group sequences
  [Cache] prevent getting older entries when the version key is evicted
  [WebProfilerBundle] added a note in the README
  [Yaml] Skip parser test with root user
  [Filesystem] Skip tests on readable file when run with root user
  [FWBundle] Fix an error in WebTestCase::createClient's PHPDoc
  [HttpFoundation][Security] forward locale and format to subrequests
  [Console] Send the right exit code to console.terminate listeners
  [HttpFoundation] fix hidding warnings from session handlers
  Caching missed templates on cache warmup
2018-09-30 05:40:00 +02:00
Fabien Potencier
46fff8b4d7 Merge branch '3.4' into 4.1
* 3.4:
  [Console] simplified code
  removed useless phpdoc
  improve docblocks around group sequences
  [Cache] prevent getting older entries when the version key is evicted
  [WebProfilerBundle] added a note in the README
  [Yaml] Skip parser test with root user
  [Filesystem] Skip tests on readable file when run with root user
  [FWBundle] Fix an error in WebTestCase::createClient's PHPDoc
  [HttpFoundation][Security] forward locale and format to subrequests
  [Console] Send the right exit code to console.terminate listeners
  [HttpFoundation] fix hidding warnings from session handlers
  Caching missed templates on cache warmup
2018-09-30 05:38:13 +02:00
Fabien Potencier
592bbf3470 Merge branch '2.8' into 3.4
* 2.8:
  improve docblocks around group sequences
  [WebProfilerBundle] added a note in the README
  [Filesystem] Skip tests on readable file when run with root user
  [FWBundle] Fix an error in WebTestCase::createClient's PHPDoc
  [HttpFoundation][Security] forward locale and format to subrequests
  [Console] Send the right exit code to console.terminate listeners
  Caching missed templates on cache warmup
2018-09-30 05:32:28 +02:00
Fabien Potencier
60fac5cefa feature #28447 [HttpFoundation] make cookies auto-secure when passing them $secure=null + plan to make it and samesite=lax the defaults in 5.0 (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[HttpFoundation] make cookies auto-secure when passing them $secure=null + plan to make it and samesite=lax the defaults in 5.0

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

By creating Cookie instances using `null` for the `$secure` argument, this PR allows making cookies inherit their "secure" attribute from the request.

This PR also adds a forward to make $secure=null and samesite=lax the defaults in Symfony 5.0:
- either define all constructor's arguments explicitly
- or use the new `Cookie::create()` factory

Commits
-------

9493cfd5f2 [HttpFoundation] make cookies auto-secure when passing them $secure=null + plan to make it and samesite=lax the defaults in 5.0
2018-09-26 07:44:22 +02:00
Nicolas Grekas
41eb1914f6 [HttpFoundation][Security] forward locale and format to subrequests 2018-09-23 17:27:53 +02:00
Nicolas Grekas
9493cfd5f2 [HttpFoundation] make cookies auto-secure when passing them $secure=null + plan to make it and samesite=lax the defaults in 5.0 2018-09-20 08:41:35 +02:00
Nicolas Grekas
6ec223bf6f [SecurityBundle] make remember-me cookies auto-secure + inherit their default config from framework.session.cookie_* 2018-09-18 21:47:13 +02:00
kevin.nadin
f75fffa997 Trigger deprecation notices when inherited class calls parent method but misses adding new arguments 2018-09-09 20:06:02 +02:00
Nicolas Grekas
004c315b0c Merge branch '4.1'
* 4.1:
  [DI] configure inlined services before injecting them when dumping the container
  Consistently throw exceptions on a single line
  fix fopen calls
  Update .editorconfig
2018-09-08 15:42:43 +02:00
Nicolas Grekas
6fec32c0d0 Merge branch '3.4' into 4.1
* 3.4:
  [DI] configure inlined services before injecting them when dumping the container
  Consistently throw exceptions on a single line
  fix fopen calls
  Update .editorconfig
2018-09-08 15:24:10 +02:00
Nicolas Grekas
8bc014c211 Merge branch '2.8' into 3.4
* 2.8:
  Consistently throw exceptions on a single line
  fix fopen calls
  Update .editorconfig
2018-09-08 15:15:14 +02:00
Nicolas Grekas
721dc8661f Consistently throw exceptions on a single line 2018-09-08 14:44:02 +02:00
Fabien Potencier
7c394e3daa minor #28307 Mark ExceptionInterfaces throwable #2 (ostrolucky)
This PR was merged into the 4.2-dev branch.

Discussion
----------

Mark ExceptionInterfaces throwable #2

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

This has been reverted in beta of 4.1 because of lack of support in prophecy, which has been fixed since then (incl. release). Can be merged again.

References:
https://github.com/symfony/symfony/pull/26702
https://github.com/symfony/symfony/pull/27420
https://github.com/symfony/symfony/issues/27419
https://github.com/phpspec/prophecy/pull/412

ping @dunglas @ciaranmcnulty @dkarlovi @Wirone @teohhanhui @stof @nicolas-grekas @ondrejmirtes

Commits
-------

17c3675226 Mark ExceptionInterfaces throwable
2018-09-04 18:55:13 +02:00
Fabien Potencier
a82b2a78c6 Merge branch '4.1'
* 4.1:
  fixed usage of setUp in tests
  fixed usage of setUp in tests
  fixed usage of setUp in tests
  [travis] minor fix (quater)
2018-09-04 08:30:07 +02:00
Fabien Potencier
525c98b224 Merge branch '3.4' into 4.1
* 3.4:
  fixed usage of setUp in tests
  fixed usage of setUp in tests
  [travis] minor fix (quater)
2018-09-04 08:28:44 +02:00
Fabien Potencier
fcc31cb6dd Merge branch '2.8' into 3.4
* 2.8:
  fixed usage of setUp in tests
  [travis] minor fix (quater)
2018-09-04 08:27:33 +02:00
Fabien Potencier
62e620843e fixed usage of setUp in tests 2018-09-04 07:42:16 +02:00
Samuel ROZE
6b8e6ce73a Merge branch '4.1'
* 4.1:
  Use the real image URL for the filesystem tests
  [Finder] Update PHPdoc append()
  [DI] Fix phpdoc
  Fix code examples in PHPDoc
  [HttpKernel] Fix inheritdocs
  bumped Symfony version to 3.4.16
  updated VERSION for 3.4.15
  updated CHANGELOG for 3.4.15
2018-09-02 18:48:09 +01:00
Samuel ROZE
e2107d24e2 Merge branch '3.4' into 4.1
* 3.4:
  Use the real image URL for the filesystem tests
  [Finder] Update PHPdoc append()
  [DI] Fix phpdoc
  Fix code examples in PHPDoc
  [HttpKernel] Fix inheritdocs
  bumped Symfony version to 3.4.16
  updated VERSION for 3.4.15
  updated CHANGELOG for 3.4.15
2018-09-02 18:33:37 +01:00
Nicolas Grekas
aa13bfdde0 Merge branch '2.8' into 3.4
* 2.8:
  Use the real image URL for the filesystem tests
  [Finder] Update PHPdoc append()
  [DI] Fix phpdoc
  Fix code examples in PHPDoc
  [HttpKernel] Fix inheritdocs
2018-09-02 19:11:59 +02:00
Gabriel Ostrolucký
17c3675226 Mark ExceptionInterfaces throwable 2018-08-29 17:58:00 +02:00
Dany Maillard
1afb043dc5 Fix code examples in PHPDoc 2018-08-29 15:11:53 +02:00
Nicolas Grekas
4f7b41a83d [FrameworkBundle] Added new "auto" mode for framework.session.cookie_secure to turn it on when https is used 2018-08-27 18:13:55 +02:00
Nicolas Grekas
3063c62bba Merge branch '4.1'
* 4.1:
  [travis] fix composer.lock invalidation for deps=low
  [Security\Http] Restore laziness of listener iterator
  Make the `message_bus` alias public
2018-08-19 10:17:45 +02:00
Nicolas Grekas
cd14b22f18 Merge branch '3.4' into 4.1
* 3.4:
  [travis] fix composer.lock invalidation for deps=low
  [Security\Http] Restore laziness of listener iterator
2018-08-19 10:16:41 +02:00
Nicolas Grekas
2ebc75b9a1 [Security\Http] Restore laziness of listener iterator 2018-08-18 22:38:48 +02:00
Nicolas Grekas
1c248e572e Merge branch '4.1'
* 4.1:
  fix merge
  [travis][appveyor] use symfony/flex to accelerate builds
  Add missing stderr redirection
  clean up unused code
  Remove the HTML5 validation from the profiler URL search form
  [Filesystem] Add test to prevent regression when using array|resource with dumpFile
  Add help texts for checkboxes in horizontal bootstrap 4 forms
  [Security] Call AccessListener after LogoutListener
2018-08-18 18:57:16 +02:00