Commit Graph

1868 Commits

Author SHA1 Message Date
Christophe Coevoet
542b877424 Fix the logout path when not using the router
This needs to use the base url, not the base path, so that it goes
through the front controller when not using url rewriting.
2015-12-17 14:04:43 +01:00
Tobias Schultze
e612b92ed0 Merge branch '3.0' 2015-12-15 03:03:25 +01:00
Tobias Schultze
06dd574627 Merge branch '2.8' into 3.0 2015-12-15 03:03:07 +01:00
Tobias Schultze
3a57b77bc7 Merge branch '2.7' into 2.8 2015-12-15 02:39:37 +01:00
Tobias Schultze
88d586b447 Merge branch '2.3' into 2.7 2015-12-15 02:31:17 +01:00
Alexander M. Turek
4fd24a0fe9 Added @return to checkCredentials() 2015-12-10 14:17:48 +01:00
Hugo Hamon
cab6fd531e [Security] backported phpdoc from Guard component. 2015-12-10 09:14:03 +01:00
Baptiste Lafontaine
2a9fa81a3c [Security] Fix a Polyfill import statement in StringUtils 2015-12-08 12:07:53 +01:00
Christophe Coevoet
d859e0ea0a Merge branch '3.0'
* 3.0:
  [Process] Fix stopping a process on Windows
  [PhpUnitBridge] Add weak-verbose mode and match against message instead of test name
  Added a note about the new requirement iconv.
  Improved error messages for Yaml Deprecations
  Added a test case for the Logger class.
  [Form] Fix choices defined as Traversable
  CS: general fixes
  Suggested Process dependency
2015-12-05 18:45:25 +01:00
Christophe Coevoet
d553264958 Merge branch '2.8' into 3.0
* 2.8:
  [Process] Fix stopping a process on Windows
  [PhpUnitBridge] Add weak-verbose mode and match against message instead of test name
  Added a note about the new requirement iconv.
  Improved error messages for Yaml Deprecations
  Added a test case for the Logger class.
  [Form] Fix choices defined as Traversable
  CS: general fixes
  Suggested Process dependency
2015-12-05 18:45:07 +01:00
Christophe Coevoet
dbb0ba8f11 Merge branch '2.7' into 2.8
* 2.7:
  [Process] Fix stopping a process on Windows
  Added a test case for the Logger class.
  CS: general fixes
2015-12-05 18:37:59 +01:00
Christophe Coevoet
237b13c56c Merge branch '2.3' into 2.7
* 2.3:
  [Process] Fix stopping a process on Windows
  Added a test case for the Logger class.
  CS: general fixes
2015-12-05 18:37:09 +01:00
Dariusz Ruminski
d3f671e8f6 CS: general fixes 2015-12-01 23:08:33 +01:00
Fabien Potencier
582f4753a3 updated version to 3.1 2015-11-30 22:39:17 +01:00
Fabien Potencier
f20f2f06cc Merge branch '2.8'
* 2.8:
  add subject variable to expression context
  [Process] Fix signaling/stopping logic on Windows
  Forward compatibility with AbstractLayout* 2.8 tests
  [Yaml] minor CS cleaning
  [Console] do not encode backslashes in console default description
2015-11-30 13:36:17 +01:00
Christian Flothmann
346943e2f5 add subject variable to expression context 2015-11-30 11:54:38 +01:00
Christian Flothmann
9054bdf3ac allow arbitrary types in VoterInterface::vote() 2015-11-30 11:38:54 +01:00
Nicolas Grekas
ab2044f6d8 Merge branch '2.8'
* 2.8:
  [Bridge/Doctrine+Ldap] Fix tests
  Marked the Ldap component as internal and removed Ldap constants polyfill

Conflicts:
	src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php
2015-11-29 17:26:49 +01:00
Nicolas Grekas
4819a702d7 [Bridge/Doctrine+Ldap] Fix tests 2015-11-29 17:07:42 +01:00
Fabien Potencier
afe1668b41 feature #16735 [WIP] [Ldap] Marked the Ldap component as internal (csarrazi)
This PR was merged into the 2.8 branch.

Discussion
----------

[WIP] [Ldap] Marked the Ldap component as internal

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

As mentioned earlier, the LDAP component suffers from a few problems, addressed in PR #15994
However, as raised by @Tobion, the component does not yet have tests (they can be added at a later time, though), and is not considered stable yet.

Commits
-------

3f89b2c Marked the Ldap component as internal and removed Ldap constants polyfill
2015-11-29 11:47:37 +01:00
Nicolas Grekas
9952ef9ec7 Merge branch '2.8'
* 2.8:
  [Bridge/Twig] Fix lowest form dep
  [Bridge/Doctrine] Fix legacy tests
  Make sure security.role_hierarchy.roles always exists
  [Form] Fix tests and reference usage
  [SecurityBundle] Fix disabling of RoleHierarchyVoter when passing empty hierarchy

Conflicts:
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/AbstractEntityChoiceListCompositeIdTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/AbstractEntityChoiceListSingleAssociationToIntIdTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/AbstractEntityChoiceListSingleIntIdTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/AbstractEntityChoiceListSingleStringIdTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/AbstractEntityChoiceListTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/LoadedEntityChoiceListCompositeIdTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/LoadedEntityChoiceListSingleAssociationToIntIdTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/LoadedEntityChoiceListSingleIntIdTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/LoadedEntityChoiceListSingleStringIdTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/UnloadedEntityChoiceListCompositeIdTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/UnloadedEntityChoiceListCompositeIdWithQueryBuilderTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/UnloadedEntityChoiceListSingleAssociationToIntIdTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/UnloadedEntityChoiceListSingleAssociationToIntIdWithQueryBuilderTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/UnloadedEntityChoiceListSingleIntIdTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/UnloadedEntityChoiceListSingleIntIdWithQueryBuilderTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/UnloadedEntityChoiceListSingleStringIdTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/UnloadedEntityChoiceListSingleStringIdWithQueryBuilderTest.php
	src/Symfony/Bundle/SecurityBundle/Resources/config/security.xml
	src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
2015-11-29 11:01:15 +01:00
Charles Sarrazin
3f89b2c714 Marked the Ldap component as internal and removed Ldap constants polyfill 2015-11-28 23:36:49 +01:00
WouterJ
96afff6a05 [SecurityBundle] Fix disabling of RoleHierarchyVoter when passing empty hierarchy 2015-11-28 16:45:57 +01:00
Fabien Potencier
6e6ac49946 Merge branch '2.8'
* 2.8:
  [Security][SecurityBundle] Use csrf_token_id instead of deprecated intention
2015-11-28 16:44:17 +01:00
Jakub Zalas
04508658b5 [Security][SecurityBundle] Use csrf_token_id instead of deprecated intention 2015-11-28 16:40:40 +01:00
Fabien Potencier
26c17f6878 feature #16692 [Form] Drop remaing CsrfProviderAdapter/Interface mentions (nicolas-grekas)
This PR was merged into the 3.0-dev branch.

Discussion
----------

[Form] Drop remaing CsrfProviderAdapter/Interface mentions

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

CsrfProviderAdapter+Interface have already been removed from master, we should not use them anymore. Let's see if tests agree.

Commits
-------

5bc34d2 [Form] Drop remaing CsrfProviderAdapter/Interface mentions
2015-11-28 11:35:52 +01:00
Fabien Potencier
0cb308f634 minor #16697 CS: remove impossible default argument value (keradus)
This PR was merged into the 2.7 branch.

Discussion
----------

CS: remove impossible default argument value

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

Commits
-------

acef3a3 CS: remove impossible default argument value
2015-11-28 11:22:51 +01:00
Christian Flothmann
812396d6c6 [Security] remove deprecated HTTP digest auth key 2015-11-28 10:30:56 +01:00
Nicolas Grekas
5bc34d2d51 [Form] Drop remaing CsrfProviderAdapter/Interface mentions 2015-11-28 10:23:07 +01:00
Dariusz Ruminski
acef3a3b34 CS: remove impossible default argument value 2015-11-26 23:11:33 +01:00
Nicolas Grekas
327a52d02f Merge branch '2.8'
* 2.8:
  [Security] Deprecate "AbstractVoter" in favor of "Voter"
  [Security] Revert changes made between 2.7 and 2.8-beta

Conflicts:
	UPGRADE-2.8.md
	src/Symfony/Component/Security/Core/Authorization/Voter/AbstractVoter.php
	src/Symfony/Component/Security/Core/Tests/Authorization/Voter/AbstractVoterTest.php
2015-11-26 15:51:35 +01:00
Grégoire Pineau
fd8b87c498 [Security] Deprecate "AbstractVoter" in favor of "Voter" 2015-11-24 16:56:59 +01:00
Nicolas Grekas
d3c6d93dff [Security] Revert changes made between 2.7 and 2.8-beta 2015-11-24 14:34:07 +01:00
Fabien Potencier
45fe468074 Merge branch '2.8'
* 2.8:
  removed usage of the deprecated StringUtils::equals() method
  Fix: Resolve tempdir symlink, not working on OSX
  fixed tests
  migrate session after remember me authentication
  prevent timing attacks in digest auth listener
  mitigate CSRF timing attack vulnerability
  fix potential timing attack issue
  [WebProfilerBundle] Added a top left border radius to the minified to…
  [Routing] Changing RouteCollectionBuilder::import() behavior to add to the builder
  [HttpKernel] Don't reset on shutdown but in FrameworkBundle/Test/KernelTestCase
  [Process] PhpExecutableFinder: add regression test
2015-11-23 11:41:47 +01:00
Fabien Potencier
2dbb75aef4 removed usage of the deprecated StringUtils::equals() method 2015-11-23 11:39:33 +01:00
Fabien Potencier
8a6da3f021 Merge branch '2.7' into 2.8
* 2.7:
  fixed tests
  migrate session after remember me authentication
  prevent timing attacks in digest auth listener
  mitigate CSRF timing attack vulnerability
  fix potential timing attack issue
2015-11-23 11:34:41 +01:00
Fabien Potencier
5edc71e2fc Merge branch '2.3' into 2.7
* 2.3:
  migrate session after remember me authentication
  prevent timing attacks in digest auth listener
  mitigate CSRF timing attack vulnerability
  fix potential timing attack issue
2015-11-23 11:34:14 +01:00
Fabien Potencier
f95078c409 security #16631 n/a (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

n/a

n/a

Commits
-------

f88e600 migrate session after remember me authentication
2015-11-23 11:22:15 +01:00
Christian Flothmann
f88e600833 migrate session after remember me authentication 2015-11-23 11:04:06 +01:00
Christian Flothmann
819aa54fe4 prevent timing attacks in digest auth listener 2015-11-23 11:02:49 +01:00
Christian Flothmann
f1fd7686c5 fix potential timing attack issue 2015-11-23 11:02:49 +01:00
Nicolas Grekas
2abbb8a451 Merge branch '2.8'
* 2.8:
  Fix undefined array $server
  Fix call to undefined function json_last_error_message
  Fix bug in windows detection
  [ProxyManager] Tmp fix composer reqs issue in ZF
  Fix PropertyInfo extractor namespace in framework bundle
  Add missing exclusions from phpunit.xml.dist
  [Serializer] ObjectNormalizer: don't serialize static methods and props
  [Form] Enhance some FormRegistry deprecation messages
  [Validator] [sl] BIC (SWIFT-BIC) validation constraint
  [WebProfilerBundle] correct typo in show stack trace link
  bumped Symfony version to 2.8.0
  updated VERSION for 2.8.0-BETA1
  updated CHANGELOG for 2.8.0-BETA1
  Fix the server variables in the router_*.php files
  [Validator] Allow an empty path with a non empty fragment or a query
  The following change adds support for Armenian pluralization.
  [2.3][Process] fix Proccess run with pts enabled

Conflicts:
	src/Symfony/Bridge/ProxyManager/composer.json
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/FormPass.php
	src/Symfony/Component/Form/FormRegistry.php
2015-11-18 14:48:51 +01:00
Nicolas Grekas
ecdd681898 Merge branch '2.7' into 2.8
* 2.7:
  Fix undefined array $server
  Fix bug in windows detection
  [ProxyManager] Tmp fix composer reqs issue in ZF
  Add missing exclusions from phpunit.xml.dist
  [Serializer] ObjectNormalizer: don't serialize static methods and props
  Fix the server variables in the router_*.php files
  [Validator] Allow an empty path with a non empty fragment or a query
  The following change adds support for Armenian pluralization.
  [2.3][Process] fix Proccess run with pts enabled

Conflicts:
	composer.json
	src/Symfony/Bridge/ProxyManager/composer.json
	src/Symfony/Component/Security/phpunit.xml.dist
2015-11-18 14:45:00 +01:00
Nicolas Grekas
a8d21b5ca9 Merge branch '2.3' into 2.7
* 2.3:
  Fix undefined array $server
  [ProxyManager] Tmp fix composer reqs issue in ZF
  Add missing exclusions from phpunit.xml.dist
  Fix the server variables in the router_*.php files
  [Validator] Allow an empty path with a non empty fragment or a query
  The following change adds support for Armenian pluralization.
  [2.3][Process] fix Proccess run with pts enabled

Conflicts:
	composer.json
	src/Symfony/Bridge/ProxyManager/composer.json
	src/Symfony/Bundle/DebugBundle/phpunit.xml.dist
	src/Symfony/Component/Security/phpunit.xml.dist
2015-11-18 14:41:01 +01:00
Nicolas Grekas
d4880c4785 Add missing exclusions from phpunit.xml.dist 2015-11-18 09:19:46 +01:00
Fabien Potencier
779833be05 Merge branch '2.8'
* 2.8:
  Fixed tabs when there are several groups of tabs in the same page
  Fix mode
  Fixed failing test for HHVM
  Removed unused logic in MockStream
  Update coding standard for MockStream
  [Filesystem] added tempnam() stream wrapper aware version of PHP's native tempnam() and fixed dumpFile to allow dumping to streams
  Renamed key to secret
2015-11-10 14:34:42 +01:00
WouterJ
55f59d55a2 Renamed key to secret 2015-11-07 18:34:16 +01:00
Nicolas Grekas
4a177d7cb9 Merge branch '2.8'
* 2.8:
  Fix tests when no Intl extension
  [VarDumper] Fix casting for ReflectionParameter
  [HttpKernel] Keep 3.0 compat by not using ContainerAware
  [DI] Clean a phpdoc
  [Security\Core] Deprecate passing $salt to BCryptPasswordEncoder::encodePassword()

Conflicts:
	src/Symfony/Component/DependencyInjection/ContainerAware.php
	src/Symfony/Component/HttpKernel/Bundle/Bundle.php
	src/Symfony/Component/Intl/Tests/DateFormatter/AbstractIntlDateFormatterTest.php
	src/Symfony/Component/VarDumper/Tests/Caster/ReflectionCasterTest.php
	src/Symfony/Component/VarDumper/Tests/Test/VarDumperTestTraitTest.php
2015-11-05 11:29:45 +01:00
Nicolas Grekas
770bd8cfda [Security\Core] Deprecate passing $salt to BCryptPasswordEncoder::encodePassword() 2015-11-04 14:11:51 +01:00
Nicolas Grekas
bceb2d969c Merge branch '2.8'
* 2.8:
  asset test coverage
  [HttpKernel] PostResponseEvent should extend the KernelEvent
  [travis] session.gc_probability=0 to fix transient tests on hhvm
  Write the log message on a single line againn
  [DI] Deprecate ContainerAware in favor of ContainerAwareTrait
  [VarDumper] Deprecate VarDumperTestCase in favor of the trait
  Check whether $this->logger is not null on GuardAuthenticationListener
  [Console] Add progress indicator helper

Conflicts:
	.travis.yml
2015-11-04 09:18:19 +01:00
Fabien Potencier
4fd60aacd4 minor #16416 [Security][Guard] Check whether $this->logger is not null on GuardAuthenticationListener (aeoris, Diego Agulló)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security][Guard] Check whether $this->logger is not null on GuardAuthenticationListener

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

Commits
-------

ebc751d Write the log message on a single line againn
713b99f Check whether $this->logger is not null on GuardAuthenticationListener
2015-11-04 01:18:15 +01:00
Nicolas Grekas
3f0bb90ac6 Merge branch '2.8'
* 2.8:
  [Security] Clean deps
  [Security][2.7] Clean deps
  [HttpKernel] Fix time-sensitive test case
  [travis] Fail early when an invalid composer.json is found

Conflicts:
	src/Symfony/Component/Security/Core/composer.json
	src/Symfony/Component/Security/composer.json
2015-11-03 15:29:13 +01:00
Nicolas Grekas
5805cc5040 Merge branch '2.7' into 2.8
* 2.7:
  [Security][2.7] Clean deps
  [HttpKernel] Fix time-sensitive test case
  [travis] Fail early when an invalid composer.json is found

Conflicts:
	src/Symfony/Component/Security/Core/composer.json
	src/Symfony/Component/Security/composer.json
2015-11-03 15:28:10 +01:00
Nicolas Grekas
ae072b7366 [Security] Clean deps 2015-11-03 15:10:28 +01:00
Nicolas Grekas
d51ab88541 [Security][2.7] Clean deps 2015-11-03 15:07:35 +01:00
Nicolas Grekas
2c1bb06e54 Merge branch '2.7' into 2.8
* 2.7:
  [Security] Fix composer.json
2015-11-03 12:42:49 +01:00
Nicolas Grekas
39420e1eb9 [Security] Fix composer.json 2015-11-03 12:34:55 +01:00
Diego Agulló
ebc751d868 Write the log message on a single line againn 2015-11-03 10:13:43 +01:00
Fabien Potencier
04eda701cc Merge branch '2.8'
* 2.8:
  removed @covers annotations in tests
  removed @covers annotations in tests
  removed all @covers annotations
  checkCredentials() force it to be an affirmative yes!
  [PropertyAccess] Major performance improvement
2015-11-02 21:34:04 +01:00
Fabien Potencier
e3f09df02a Merge branch '2.7' into 2.8
* 2.7:
  removed @covers annotations in tests
  removed all @covers annotations
  [PropertyAccess] Major performance improvement
2015-11-02 21:29:24 +01:00
Fabien Potencier
d3008b420a removed @covers annotations in tests 2015-11-02 21:25:31 +01:00
Fabien Potencier
db54164a87 Merge branch '2.3' into 2.7
* 2.3:
  removed all @covers annotations
  [PropertyAccess] Major performance improvement
2015-11-02 21:20:53 +01:00
Fabien Potencier
30bd397366 minor #16414 removed all @covers annotations (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

removed all @covers annotations

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

Some unit tests have a `@covers` PHPUnit annotations. Most of them were added a very long time ago, but since then, we did not use them anymore and the existing ones are not maintained (see #16413). So, I propose to remove them all.

Commits
-------

1e0af36 removed all @covers annotations
2015-11-02 19:22:02 +01:00
Diego Agulló
713b99fc8f Check whether $this->logger is not null on GuardAuthenticationListener 2015-11-01 23:24:34 +01:00
Fabien Potencier
1e0af36c7d removed all @covers annotations 2015-11-01 14:17:24 -08:00
Fabien Potencier
64917c726d feature #16395 checkCredentials() force it to be an affirmative yes! (weaverryan)
This PR was squashed before being merged into the 2.8 branch (closes #16395).

Discussion
----------

checkCredentials() force it to be an affirmative yes!

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no (because 2.8 isn't released)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

This changes `GuardAuthenticatorInterface::checkCredentials()`: you now *must* return true in order for authentication to pass.

Before: You could do nothing (i.e. return null) and authentication would pass. You threw an AuthenticationException to cause a failure.

New: You *must* return `true` for authentication to pass. If you do nothing, we will throw a `BadCredentialsException` on your behalf. You can still throw your own exception.

This was a suggestion at symfony_live to make things more secure. I think it makes sense.

Commits
-------

14acadd checkCredentials() force it to be an affirmative yes!
2015-10-31 08:07:27 -07:00
Ryan Weaver
14acadda45 checkCredentials() force it to be an affirmative yes! 2015-10-31 08:07:17 -07:00
Fabien Potencier
bc0c8c1b5b Merge branch '2.8'
* 2.8:
  added the new Composer exclude-from-classmap option
  added the new Composer exclude-from-classmap option
  fix docblock description for the build() method
  fix expected argument type docblock
  Set back libxml settings after testings.
  fixed Twig deprecation notices
2015-10-30 16:35:59 -07:00
Fabien Potencier
a15c9eb82d Merge branch '2.7' into 2.8
* 2.7:
  added the new Composer exclude-from-classmap option
  added the new Composer exclude-from-classmap option
  fix expected argument type docblock
  Set back libxml settings after testings.
  fixed Twig deprecation notices
2015-10-30 13:15:42 -07:00
Fabien Potencier
6d0e05cd1d added the new Composer exclude-from-classmap option 2015-10-30 13:13:17 -07:00
Fabien Potencier
05c2ecc124 Merge branch '2.3' into 2.7
* 2.3:
  added the new Composer exclude-from-classmap option
  fix expected argument type docblock
  Set back libxml settings after testings.
  fixed Twig deprecation notices
2015-10-30 13:10:21 -07:00
Fabien Potencier
ebd55fcb38 minor #16397 added the new Composer exclude-from-classmap option (annesosensio)
This PR was merged into the 2.3 branch.

Discussion
----------

added the new Composer exclude-from-classmap option

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

Commits
-------

65bef75 added the new Composer exclude-from-classmap option
2015-10-30 13:03:18 -07:00
Anne-Sophie Bachelard
65bef75bef added the new Composer exclude-from-classmap option 2015-10-30 12:48:51 -07:00
Tobias Schultze
1db740efe7 feature #16381 remove polyfills for unsupported php versions (Tobion)
This PR was merged into the 3.0-dev branch.

Discussion
----------

remove polyfills for unsupported php versions

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

Remove obsolete polyfills in master as introduced in #16317

Commits
-------

78512cc remove polyfills for unsupported php versions
2015-10-30 17:48:58 +01:00
Tobias Schultze
8ecbab9310 [Security] remove obsolete test for removed StringUtils 2015-10-30 17:43:39 +01:00
Tomas Votruba
cd62d17a19 [Security] remove deprecated SrtingUtils class 2015-10-30 13:45:37 +01:00
Tobias Schultze
78512cc388 remove polyfills for unsupported php versions 2015-10-29 15:17:40 +01:00
Tobias Schultze
d0acda84f2 Merge branch '2.8'
Conflicts:
	CHANGELOG-2.3.md
	CHANGELOG-2.7.md
	composer.json
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Console/Tests/Helper/LegacyProgressHelperTest.php
	src/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php
	src/Symfony/Component/Console/composer.json
	src/Symfony/Component/DomCrawler/composer.json
	src/Symfony/Component/Form/Tests/FormRegistryTest.php
	src/Symfony/Component/Form/composer.json
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php
	src/Symfony/Component/Intl/composer.json
	src/Symfony/Component/Ldap/composer.json
	src/Symfony/Component/Security/Core/composer.json
	src/Symfony/Component/Security/Csrf/composer.json
	src/Symfony/Component/Security/Http/composer.json
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Serializer/Encoder/JsonEncoder.php
	src/Symfony/Component/Serializer/composer.json
	src/Symfony/Component/Templating/PhpEngine.php
	src/Symfony/Component/Translation/composer.json
	src/Symfony/Component/VarDumper/Tests/HtmlDumperTest.php
	src/Symfony/Component/VarDumper/composer.json
2015-10-29 13:12:54 +01:00
Pierre du Plessis
8ab8ca02eb Add the PHP 7 polyfill for the random_bytes function 2015-10-28 12:33:15 +02:00
Fabien Potencier
dd61084ecb Merge branch '2.7' into 2.8
* 2.7:
  added missing quotes in YAML files
  [HttpKernel] Add `@group time-sensitive` on some transient tests
  [DoctrineBridge] Fix issue which prevent the profiler to explain a query
  Use mb_detect_encoding with $strict = true
  don't allow to install the split Security packages
  bumped Symfony version to 2.3.35
  updated VERSION for 2.3.34
  update CONTRIBUTORS for 2.3.34
  updated CHANGELOG for 2.3.34
2015-10-27 21:17:44 -07:00
Fabien Potencier
5f707a64d0 Merge branch '2.3' into 2.7
* 2.3:
  added missing quotes in YAML files
  [HttpKernel] Add `@group time-sensitive` on some transient tests
  [DoctrineBridge] Fix issue which prevent the profiler to explain a query
  Use mb_detect_encoding with $strict = true
  don't allow to install the split Security packages
  bumped Symfony version to 2.3.35
  updated VERSION for 2.3.34
  update CONTRIBUTORS for 2.3.34
  updated CHANGELOG for 2.3.34
2015-10-27 21:15:55 -07:00
Nicolas Grekas
303f05baaf Rely on iconv and symfony/polyfill-* 2015-10-28 03:15:07 +01:00
Fabien Potencier
dd9de5be75 bug #16144 [Security] don't allow to install the split Security packages (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[Security] don't allow to install the split Security packages

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

Currently, you would be able to install the Security component fromm
Symfony 2.3 together with one of the split packages from a higher
Symfony vesion like this:

```json
{
    "require": {
        "symfony/symfony": "2.3.*",
        "symfony/security-core": "~2.7"
    }
}
```

However, you will end up with classes being present twice.

This must be reverted after merging up in the `2.7` branch.

Commits
-------

0d14064 don't allow to install the split Security packages
2015-10-27 18:53:37 -07:00
Christian Flothmann
0d140642e0 don't allow to install the split Security packages
Currently, you would be able to install the Security component fromm
Symfony 2.3 together with one of the split packages from a higher
Symfony vesion like this:

```json
{
    "require": {
        "symfony/symfony": "2.3.*",
        "symfony/security-core": "~2.7"
    }
}
```

However, you will end up with classes being present twice.

This must be reverted after merging up in the `2.7` branch.
2015-10-27 21:57:16 +01:00
Nicolas Grekas
48b25f5251 Merge branch '2.8'
* 2.8:
  Fix the FrameworkBundle dependencies
  [DoctrineBridge] Fix required guess of boolean fields
  [DI] don't use array_map to resolve services
  Remove dead code in the PropertyPath constructor
  [EventDispatcher] fix docblock
  [Process] Inherit env vars by default in PhpProcess
  Changed one console output style to avoid visual issues
  [VarDumper] Fix return type and anonymous classes dumping
  [FrameworkBundle] PropertyInfo support
  [HttpFoundation] Fixes /0 subnet handling in IpUtils
  [Form] Simplify DateTimeToStringTransformer Avoid unneeded catch and re-throw of the same exception.
  [Minor] [Serializer] Removed second license header
  [TwigBundle] added a Twig templates warmer when templating is disabled
  [HttpKernel] Remove a duplicate test for the EsiFragmentRenderer
  [Templating] deprecate low-level RouterHelper::generate method as it's cumbersome to use constants in templates
  [Templating] introduce path and url methods in php templates to be in line with twig templates
  [Routing] deprecate the old url generator reference type values
  [Routing] use constant in a test that is new in 2.7
  [FrameworkBundle] Add a new ClassCache cache warmer
  [Validator] Add expressionLanguage to ExpressionValidator constructor

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Resources/config/services.xml
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/BrowserKit/composer.json
	src/Symfony/Component/ClassLoader/ClassCollectionLoader.php
	src/Symfony/Component/EventDispatcher/EventDispatcher.php
2015-10-23 17:08:51 +02:00
Tobias Schultze
912fc4de8f [Routing] deprecate the old url generator reference type values 2015-10-18 22:34:15 +02:00
Fabien Potencier
82bfbf0ed9 Merge branch '2.8'
* 2.8:
  [Routing] use constants in tests
  [Process] tweaked README
  [TwigBundle] Fix Twig cache is not properly warmed
  [Validator] Allow an empty path in a URL with only a fragment or a query
  [Security] Use SessionAuthenticationStrategy on RememberMe login
  [HttpFoundation] Fix some typo in the Request doc
  fixed CS
  Added separated handling of root paths
2015-10-18 22:24:22 +02:00
Fabien Potencier
945630a8fa Merge branch '2.7' into 2.8
* 2.7:
  [Routing] use constants in tests
  [Process] tweaked README
  [Validator] Allow an empty path in a URL with only a fragment or a query
  [HttpFoundation] Fix some typo in the Request doc
  fixed CS
  Added separated handling of root paths
2015-10-18 22:23:24 +02:00
Fabien Potencier
fa6c58c90d Merge branch '2.3' into 2.7
* 2.3:
  [Routing] use constants in tests
  [Validator] Allow an empty path in a URL with only a fragment or a query
  [HttpFoundation] Fix some typo in the Request doc
  fixed CS
  Added separated handling of root paths
2015-10-18 22:23:18 +02:00
Tobias Schultze
608c8d25a3 [Routing] use constants in tests 2015-10-18 22:22:24 +02:00
Fabien Potencier
6f48ec5be6 Merge branch '2.7' into 2.8
* 2.7:
  [TwigBundle] Fix Twig cache is not properly warmed
  [Security] Use SessionAuthenticationStrategy on RememberMe login
2015-10-17 17:40:24 +02:00
Fabien Potencier
28292394c8 Merge branch '2.8'
* 2.8:
  Added UserLoaderInterface for loading users through Doctrine.
  Fix the detection of the deprecated usage of the ValidationListener
  Use entry_type instead of type
  [Form] Fix missing notice for deprecated `type`
  [DI] Autowiring: w/a https://bugs.php.net/62715
2015-10-16 13:55:41 +02:00
Michal Trojanowski
a8d3d124ca Added UserLoaderInterface for loading users through Doctrine. 2015-10-16 13:51:34 +02:00
Sergey Novikov
795c8b3249 [Security] Use SessionAuthenticationStrategy on RememberMe login
Regenerate session ID with default session strategy
2015-10-16 13:32:26 +02:00
Nicolas Grekas
9d9c252c89 Merge branch '2.3' into 2.7
* 2.3:
  [ci] Fix tests requirements

Conflicts:
	src/Symfony/Component/Validator/Tests/Mapping/Cache/LegacyApcCacheTest.php
2015-10-12 11:20:33 +02:00
Nicolas Grekas
3c0b441371 [ci] Fix tests requirements 2015-10-12 11:06:32 +02:00
Nicolas Grekas
f30ae9a9bb Merge branch '2.3' into 2.7
* 2.3:
  [ci] SymfonyTestsListener is now auto-registered
  adds validation messages missing italian translations
2015-10-11 11:39:48 +02:00
Nicolas Grekas
d1d0e041c2 [ci] SymfonyTestsListener is now auto-registered 2015-10-11 11:37:49 +02:00
Nicolas Grekas
66a60f7d91 Merge branch '2.8'
* 2.8:
  [PhpUnit] Auto-register SymfonyTestsListener
  [phpunit] Upgrade when a change is detected and when install subcommand is used
  [Filesystem] Fix test on Windows
  Fix merge
  [HttpFoundation] Extend ClockMock to session storage tests
  [Process] Don't use @requires on abstract class
  [VarDumper] Fix wordwrap with Bootstrap
  Fix the BC layer for the key->secret renaming for remember_me
  Fix potential access to undefined index

Conflicts:
	src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/RememberMeFactory.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php
	src/Symfony/Component/Locale/phpunit.xml.dist
2015-10-11 11:14:55 +02:00
Nicolas Grekas
9e2bb0082f [PhpUnit] Auto-register SymfonyTestsListener 2015-10-11 10:29:26 +02:00
Nicolas Grekas
2e11b8b2cb Merge branch '2.8'
* 2.8:
  Fix merge
  [tests] Use @requires annotation when possible
  [tests] Use @requires annotation when possible
  [PhpUnitBridge] Add SkippedTestsListener to collect and replay skipped tests
  [ci] Enable collecting and replaying skipped tests
  [tests] Use @requires annotation when possible
  [Process] Workaround buggy PHP warning
  [FrameworkBundle] Replace PhpFileCache by FilesystemCache
  [FrameworkBundle] composer suggest fix
  [Console] Add additional ways to detect OS400 platform
  [Yaml] Allow tabs before comments at the end of a line
  Added more tests for PropertyAccess

Conflicts:
	.travis.yml
	src/Symfony/Bridge/Doctrine/composer.json
	src/Symfony/Bridge/Monolog/composer.json
	src/Symfony/Bridge/ProxyManager/composer.json
	src/Symfony/Bridge/Swiftmailer/composer.json
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/DebugBundle/composer.json
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Bundle/TwigBundle/composer.json
	src/Symfony/Bundle/WebProfilerBundle/composer.json
	src/Symfony/Component/Asset/composer.json
	src/Symfony/Component/BrowserKit/composer.json
	src/Symfony/Component/ClassLoader/Tests/ApcClassLoaderTest.php
	src/Symfony/Component/ClassLoader/composer.json
	src/Symfony/Component/Config/composer.json
	src/Symfony/Component/Console/Tests/Helper/LegacyProgressHelperTest.php
	src/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php
	src/Symfony/Component/Console/composer.json
	src/Symfony/Component/CssSelector/composer.json
	src/Symfony/Component/Debug/composer.json
	src/Symfony/Component/DependencyInjection/composer.json
	src/Symfony/Component/DomCrawler/composer.json
	src/Symfony/Component/EventDispatcher/composer.json
	src/Symfony/Component/ExpressionLanguage/composer.json
	src/Symfony/Component/Filesystem/composer.json
	src/Symfony/Component/Finder/composer.json
	src/Symfony/Component/Form/Tests/Extension/Csrf/CsrfProvider/LegacyDefaultCsrfProviderTest.php
	src/Symfony/Component/Form/composer.json
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php
	src/Symfony/Component/HttpKernel/Tests/Profiler/SqliteProfilerStorageTest.php
	src/Symfony/Component/HttpKernel/composer.json
	src/Symfony/Component/Intl/Tests/Data/Bundle/Writer/PhpBundleWriterTest.php
	src/Symfony/Component/Intl/Tests/DateFormatter/AbstractIntlDateFormatterTest.php
	src/Symfony/Component/Intl/composer.json
	src/Symfony/Component/Ldap/composer.json
	src/Symfony/Component/Locale/composer.json
	src/Symfony/Component/Locale/phpunit.xml.dist
	src/Symfony/Component/OptionsResolver/composer.json
	src/Symfony/Component/Process/composer.json
	src/Symfony/Component/PropertyAccess/composer.json
	src/Symfony/Component/PropertyInfo/composer.json
	src/Symfony/Component/Routing/composer.json
	src/Symfony/Component/Security/Core/composer.json
	src/Symfony/Component/Security/Csrf/composer.json
	src/Symfony/Component/Security/Guard/composer.json
	src/Symfony/Component/Security/Http/composer.json
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Serializer/composer.json
	src/Symfony/Component/Stopwatch/composer.json
	src/Symfony/Component/Templating/composer.json
	src/Symfony/Component/Translation/composer.json
	src/Symfony/Component/Validator/Tests/Mapping/Cache/LegacyApcCacheTest.php
	src/Symfony/Component/Validator/composer.json
	src/Symfony/Component/VarDumper/composer.json
	src/Symfony/Component/Yaml/composer.json
2015-10-10 12:22:50 +02:00
Nicolas Grekas
3ecf2062b8 Merge branch '2.7' into 2.8
* 2.7:
  [tests] Use @requires annotation when possible
  [tests] Use @requires annotation when possible
  [ci] Enable collecting and replaying skipped tests
  [Process] Workaround buggy PHP warning
  [Console] Add additional ways to detect OS400 platform
  [Yaml] Allow tabs before comments at the end of a line
  Added more tests for PropertyAccess

Conflicts:
	.travis.yml
	src/Symfony/Bridge/Doctrine/composer.json
	src/Symfony/Bridge/Monolog/composer.json
	src/Symfony/Bridge/ProxyManager/composer.json
	src/Symfony/Bridge/Swiftmailer/composer.json
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/DebugBundle/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Bundle/TwigBundle/composer.json
	src/Symfony/Bundle/WebProfilerBundle/composer.json
	src/Symfony/Component/Asset/composer.json
	src/Symfony/Component/BrowserKit/composer.json
	src/Symfony/Component/ClassLoader/composer.json
	src/Symfony/Component/Config/composer.json
	src/Symfony/Component/Console/composer.json
	src/Symfony/Component/CssSelector/composer.json
	src/Symfony/Component/Debug/composer.json
	src/Symfony/Component/DependencyInjection/composer.json
	src/Symfony/Component/DomCrawler/composer.json
	src/Symfony/Component/EventDispatcher/composer.json
	src/Symfony/Component/ExpressionLanguage/composer.json
	src/Symfony/Component/Filesystem/composer.json
	src/Symfony/Component/Finder/composer.json
	src/Symfony/Component/Form/composer.json
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/HttpKernel/composer.json
	src/Symfony/Component/Intl/composer.json
	src/Symfony/Component/Locale/composer.json
	src/Symfony/Component/OptionsResolver/composer.json
	src/Symfony/Component/Process/composer.json
	src/Symfony/Component/PropertyAccess/composer.json
	src/Symfony/Component/Routing/composer.json
	src/Symfony/Component/Security/Acl/composer.json
	src/Symfony/Component/Security/Core/composer.json
	src/Symfony/Component/Security/Csrf/composer.json
	src/Symfony/Component/Security/Http/composer.json
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Serializer/composer.json
	src/Symfony/Component/Stopwatch/composer.json
	src/Symfony/Component/Templating/composer.json
	src/Symfony/Component/Translation/Tests/Dumper/IcuResFileDumperTest.php
	src/Symfony/Component/Translation/composer.json
	src/Symfony/Component/Validator/composer.json
	src/Symfony/Component/VarDumper/composer.json
	src/Symfony/Component/Yaml/composer.json
2015-10-10 11:36:22 +02:00
Nicolas Grekas
52dbc3b7cc minor #16186 [2.7][tests] Use @requires annotation when possible (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[2.7][tests] Use @requires annotation when possible

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

Commits
-------

b028aea [tests] Use @requires annotation when possible
2015-10-10 11:27:33 +02:00
Nicolas Grekas
309ad43b71 Merge branch '2.3' into 2.7
* 2.3:
  [tests] Use @requires annotation when possible
  [ci] Enable collecting and replaying skipped tests
  [Process] Workaround buggy PHP warning
  [Console] Add additional ways to detect OS400 platform
  [Yaml] Allow tabs before comments at the end of a line

Conflicts:
	composer.json
	src/Symfony/Bridge/Doctrine/Tests/Logger/DbalLoggerTest.php
	src/Symfony/Bridge/Monolog/composer.json
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Asset/composer.json
	src/Symfony/Component/ClassLoader/Tests/LegacyApcUniversalClassLoaderTest.php
	src/Symfony/Component/Console/composer.json
	src/Symfony/Component/Debug/composer.json
	src/Symfony/Component/DomCrawler/composer.json
	src/Symfony/Component/EventDispatcher/composer.json
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
	src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
	src/Symfony/Component/HttpFoundation/composer.json
	src/Symfony/Component/Intl/composer.json
	src/Symfony/Component/Routing/composer.json
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Serializer/composer.json
	src/Symfony/Component/Templating/composer.json
	src/Symfony/Component/Translation/composer.json
	src/Symfony/Component/Validator/composer.json
2015-10-10 11:26:25 +02:00
Nicolas Grekas
b028aeaa04 [tests] Use @requires annotation when possible 2015-10-10 11:00:45 +02:00
Nicolas Grekas
4032c88a21 [ci] Enable collecting and replaying skipped tests 2015-10-10 10:46:02 +02:00
Nicolas Grekas
7b805892aa Merge branch '2.8'
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Resources/config/security.xml
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
	src/Symfony/Component/Security/Core/composer.json
	src/Symfony/Component/Security/Csrf/composer.json
	src/Symfony/Component/Security/Http/composer.json
	src/Symfony/Component/Security/composer.json
2015-10-07 12:25:41 +02:00
Nicolas Grekas
5326df084e cs fix 2015-10-07 12:24:12 +02:00
Nicolas Grekas
d5deec90ac Fix merge, removing legacy TranslationSyncStatusTest 2015-10-07 11:22:14 +02:00
Nicolas Grekas
6005fe53f7 Merge branch '2.8'
Conflicts:
	composer.json
	src/Symfony/Bundle/FrameworkBundle/Resources/config/annotations.xml
	src/Symfony/Bundle/FrameworkBundle/Resources/config/routing.xml
	src/Symfony/Bundle/FrameworkBundle/Resources/config/security_csrf.xml
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/DependencyInjection/ContainerBuilder.php
	src/Symfony/Component/Security/Core/composer.json
	src/Symfony/Component/Security/Csrf/composer.json
	src/Symfony/Component/Security/Http/composer.json
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Translation/PluralizationRules.php
	src/Symfony/Component/VarDumper/Exception/ThrowingCasterException.php
2015-10-07 09:44:07 +02:00
Pierre du Plessis
f02973acd8 Deprecate the SecureRandom class 2015-10-06 20:09:25 +02:00
Nicolas Grekas
72365716c2 Merge branch '2.7' into 2.8
Conflicts:
	src/Symfony/Component/Security/Http/Tests/RememberMe/PersistentTokenBasedRememberMeServicesTest.php
	src/Symfony/Component/Security/Http/Tests/RememberMe/TokenBasedRememberMeServicesTest.php
	src/Symfony/Component/Security/composer.json
2015-10-06 19:12:59 +02:00
Nicolas Grekas
b362c961f7 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
	src/Symfony/Component/Security/Tests/Core/SecurityContextTest.php
2015-10-06 17:02:37 +02:00
Christian Flothmann
08333ecb11 [Security] sync translations and add a test for it 2015-10-06 16:47:20 +02:00
Fabien Potencier
2539af63ad minor #16145 [FrameworkBundle] Fix deps=low/high tests (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

[FrameworkBundle] Fix deps=low/high tests

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

Commits
-------

26ca3dc [FrameworkBundle] Fix deps=low/high tests
2015-10-06 16:42:38 +02:00
Klaas Cuvelier
e8f0e5afd8 [2.3][SECURITY] Add remember me cookie configuration 2015-10-06 16:28:55 +02:00
Nicolas Grekas
26ca3dc6c2 [FrameworkBundle] Fix deps=low/high tests 2015-10-06 16:14:42 +02:00
maxime.steinhausser
1ed07a09d8 [FrameworkBundle] [Security] Remove trans from the security/core in 2.3 & dir loading 2015-10-06 14:29:32 +02:00
Nicolas Grekas
209047ea79 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
	src/Symfony/Bundle/SecurityBundle/composer.json
	src/Symfony/Component/Process/Process.php
2015-10-06 10:31:51 +02:00
Nicolas Grekas
742547c099 [Security\Core] Fix test failure after sebastianbergmann/phpunit#1821 2015-10-06 09:59:00 +02:00
Fabien Potencier
2b296028ac Merge branch '2.8'
* 2.8: (21 commits)
  [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]
  [ci] Use current PHP_BINARY when running ./phpunit
  Fixed typos
  [UPGRADE-3.0] fix bullet indentation
  Throw exception if tempnam returns false in ProcessPipes
  [DomCrawler] Deprecated using /_root/ in XPath expressions
  Pass missing request template variables
  Simplify AbstractVoter
  [Form] add missing deprecation triggers
  Throw exception if tempnam returns false
  Fix PropertyAccessor modifying array in object when array key does not exist
  [DependencyInjection] Add autowiring capabilities
  Fixing typo in variable name
  Add a few additional tests for the Crawler
  [Form] remove obsolete deprecation comments
  Updated the style of the event commands
  [Debug] Deprecate providing $fileLinkFormat as second argument
  [Form] minor CS fix
  Updated PHPDoc of the AbstractVoter class
  [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing
  ...
2015-10-05 17:24:55 +02:00
Fabien Potencier
e7888a18d1 Merge branch '2.7' into 2.8
* 2.7:
  [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]
  [ci] Use current PHP_BINARY when running ./phpunit
  Fixed typos
  [UPGRADE-3.0] fix bullet indentation
  Fix PropertyAccessor modifying array in object when array key does not exist
  [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing
2015-10-05 17:19:10 +02:00
Fabien Potencier
d657834bd0 Merge branch '2.3' into 2.7
* 2.3:
  [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]
  [ci] Use current PHP_BINARY when running ./phpunit
  Fixed typos
  [UPGRADE-3.0] fix bullet indentation
  [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing
2015-10-05 17:17:54 +02:00
Fabien Potencier
1c4ea85787 bug #14842 [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1] (MacDada)
This PR was squashed before being merged into the 2.3 branch (closes #14842).

Discussion
----------

[Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]

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

* test now always pass "secure" and "httponly" options, as they are required
* could be considered BC, but [`RememberMeFactory` passes them](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/RememberMeFactory.php#L21), so they should've always been treated as required
* I can squash the commits before merging
* Alternative solution: #14843

Commits
-------

18b1c6a [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1]
2015-10-05 16:40:32 +02:00
Dawid Nowak
18b1c6a235 [Security][bugfix] "Remember me" cookie cleared on logout with custom "secure"/"httponly" config options [1] 2015-10-05 16:40:29 +02:00
Fabien Potencier
d3b8176bc3 bug #13627 [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing (issei-m)
This PR was merged into the 2.3 branch.

Discussion
----------

[Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing

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

When a user has changed own password, I want to logout any sessions which is authenticated by its user except changer itself.

[DaoAuthenticationManager::checkAuthentication()](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Security/Core/Authentication/Provider/DaoAuthenticationProvider.php#L59) method seems to concern about it.

But, this situation actually never happens because both users that will be passed to this method are always identical in re-authentication.
It's because the token refreshes own user via [ContextListener](https://github.com/symfony/symfony/blob/2.3/src/Symfony/Component/Security/Http/Firewall/ContextListener.php#L90) before re-authentication.

Commits
-------

729902a [Security] InMemoryUserProvider now concerns whether user's password is changed when refreshing
2015-10-05 16:30:38 +02:00
Fabien Potencier
3567548c14 feature #16102 Simplify AbstractVoter (Koc)
This PR was merged into the 2.8 branch.

Discussion
----------

Simplify AbstractVoter

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no, just simplification
| BC breaks?    | no, because 2.8 is not yet released
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Commits
-------

93de659 Simplify AbstractVoter
2015-10-05 09:15:26 +02:00
Konstantin.Myakshin
93de659442 Simplify AbstractVoter 2015-10-04 12:08:57 +03:00
Konstantin Myakshin
68d010aaff Updated PHPDoc of the AbstractVoter class 2015-10-02 18:38:39 +03:00
Fabien Potencier
4067a5cd8f Merge branch '2.8'
* 2.8:
  Updated the stlyes of the YAML commands
  [Security] Configuring a user checker per firewall
  [PropertyInfo] Test behavior when an extractor return null.
2015-10-02 15:22:00 +02:00
Fabien Potencier
1e0adf4c21 feature #14721 [Security] Configuring a user checker per firewall (iltar)
This PR was squashed before being merged into the 2.8 branch (closes #14721).

Discussion
----------

[Security] Configuring a user checker per firewall

_Changed my base branch to avoid issues, closed old PR_

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed ticket | #11090 and helps #14673
| License       | MIT
| Doc PR        | symfony/symfony-docs/pull/5530

This pull request adds support for a configurable user checker per firewall. An example could be:

```yml
services:
    app.user_checker:
        class: App\Security\UserChecker
        arguments:
            - "@request_stack"

security:
    firewalls:
        secured_area:
            pattern: ^/
            anonymous: ~
            basic_auth: ~
            user_checker: app.user_checker

```
The above example will use the `UserChecker` defined as `app.user_checker`. If the `user_checker` option is left empty, `security.user_checker` will  be used. If the `user_checkers` option is not defined, it will fall back to the original behavior to not break backwards compatibility and will validate using the existing `UserChecker`: `security.user_checker`.

I left the default argument in the service definitions to be `security.user_checker` to include backwards compatibility for people who for some reason don't have the extension executed. You can obtain the checker for a specific firewall by appending the firewall name to it. For the firewall `secured_area`, this would be `security.user_checker.secured_area`.

Commits
-------

76bc662 [Security] Configuring a user checker per firewall
2015-10-02 14:49:38 +02:00
Iltar van der Berg
76bc662463 [Security] Configuring a user checker per firewall 2015-10-02 14:49:36 +02:00
Fabien Potencier
7e3c4a6afd feature #16035 [3.0][Security] Remove deprecated features (follow up of #15899) (Koc)
This PR was merged into the 3.0-dev branch.

Discussion
----------

[3.0][Security] Remove deprecated features (follow up of #15899)

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

- updated UPGRADE-3.0.md
- removed unused `supportsClass` methods
- changed visibility of `supportsAttribute` methods from public to private, removed `inheritdoc` annotation from them because there is no definition for this methods in parent interface
- removed tests for `supportsClass` and `supportsAttribute` method
- removed unused mock creation

Commits
-------

437398d [3.0][Security] Remove deprecated features (follow up of #15899)
2015-10-02 14:41:26 +02:00
Konstantin.Myakshin
437398d6d0 [3.0][Security] Remove deprecated features (follow up of #15899) 2015-10-01 16:40:46 +03:00
Fabien Potencier
4913362993 Merge branch '2.8'
* 2.8:
  [Security] made tests work for 2.8 and 3.0
2015-10-01 08:29:55 +02:00
Fabien Potencier
763d478a69 feature #16019 [HttpFoundation] removed the ParameterBag::get() deep argument (fabpot)
This PR was merged into the 3.0-dev branch.

Discussion
----------

[HttpFoundation] removed the ParameterBag::get() deep argument

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

Commits
-------

317f7b4 [HttpFoundation] removed the ParameterBag::get() deep argument
2015-10-01 08:29:29 +02:00
Fabien Potencier
0b7e1f3e4d [Security] made tests work for 2.8 and 3.0 2015-10-01 08:20:17 +02:00
Fabien Potencier
317f7b417c [HttpFoundation] removed the ParameterBag::get() deep argument 2015-09-30 22:35:25 +02:00
Fabien Potencier
aa2e7e4135 feature #15899 [3.0][Security] Remove deprecated features (WouterJ)
This PR was merged into the 3.0-dev branch.

Discussion
----------

[3.0][Security] Remove deprecated features

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

Commits
-------

c3c5989 Remove more tests
6f9e897 Remove AbstractVoter#isGranted() method
6b6de15 Removed supports{Attribute,Class}() methods
2015-09-30 22:31:32 +02:00
Fabien Potencier
1bcce3c376 Merge branch '2.8'
* 2.8:
  add dependency required by a replaced package
  Add a way to group toolbar info pieces
  Added general sf-toolbar-block-right class
  Bind input before executing the COMMAND event
2015-09-30 22:30:24 +02:00
Christian Flothmann
d7034db6bd add dependency required by a replaced package
Since #16007, the Security HTTP component requires the PropertyAccess
component to access nested parameter bag values. Since the Security
component replaces the Security HTTP component, all dependencies of the
replaced packages must be mirrored here.
2015-09-30 18:57:49 +02:00
WouterJ
c3c598986c Remove more tests 2015-09-30 16:19:21 +02:00
WouterJ
6f9e8977ce Remove AbstractVoter#isGranted() method 2015-09-30 15:10:25 +02:00
WouterJ
6b6de15676 Removed supports{Attribute,Class}() methods 2015-09-30 15:09:18 +02:00
Fabien Potencier
6816451604 fixed composer.json 2015-09-30 11:32:21 +02:00
Fabien Potencier
797b93b284 Merge branch '2.8'
* 2.8:
  Remove profiler storages
  deprecate finding deep items in request parameters
  [CssSelector] updated README
  [CssSelector] remove ConverterInterface
  [DependencyInjection] improved a comment for reading fluency
  [HttpKernel] change a class in tests to avoid depending on SQLite
  [FrameworkBundle] Fix tests
  [Bridge\Twig] Fix form lowest version
  [ci] Display fastest results first when running tests in parallel
  [Yaml] Improve newline handling in folded scalar blocks
2015-09-30 11:18:13 +02:00
Christian Flothmann
47fba88123 deprecate finding deep items in request parameters 2015-09-30 09:55:52 +02:00
Tobias Schultze
63c77aae53 Merge branch '2.8'
Conflicts:
	composer.json
	src/Symfony/Bundle/FrameworkBundle/Command/RouterApacheDumperCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/RouterDebugCommand.php
	src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/TextDescriptor.php
	src/Symfony/Bundle/SecurityBundle/Resources/config/security.xml
	src/Symfony/Bundle/SecurityBundle/Resources/config/security_listeners.xml
	src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
	src/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php
	src/Symfony/Component/ClassLoader/DebugClassLoader.php
	src/Symfony/Component/ClassLoader/UniversalClassLoader.php
	src/Symfony/Component/Console/Input/StringInput.php
	src/Symfony/Component/Debug/DebugClassLoader.php
	src/Symfony/Component/DependencyInjection/Container.php
	src/Symfony/Component/DependencyInjection/ContainerBuilder.php
	src/Symfony/Component/DependencyInjection/ContainerInterface.php
	src/Symfony/Component/DependencyInjection/Definition.php
	src/Symfony/Component/DependencyInjection/DefinitionDecorator.php
	src/Symfony/Component/DependencyInjection/Scope.php
	src/Symfony/Component/DependencyInjection/ScopeInterface.php
	src/Symfony/Component/DomCrawler/composer.json
	src/Symfony/Component/EventDispatcher/Event.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/HttpKernel/KernelInterface.php
	src/Symfony/Component/HttpKernel/Log/LoggerInterface.php
	src/Symfony/Component/HttpKernel/Log/NullLogger.php
	src/Symfony/Component/Security/Core/composer.json
	src/Symfony/Component/Security/Resources/translations/security.tr.xlf
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Translation/Translator.php
2015-09-29 16:08:28 +02:00
Tobias Schultze
a2a4967167 Merge branch '2.7' into 2.8
Conflicts:
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/Console/Command/Command.php
	src/Symfony/Component/Console/Formatter/OutputFormatter.php
	src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
	src/Symfony/Component/Console/Input/Input.php
	src/Symfony/Component/Console/Input/InputArgument.php
	src/Symfony/Component/Console/Input/InputDefinition.php
	src/Symfony/Component/Console/Input/InputOption.php
	src/Symfony/Component/Console/Output/OutputInterface.php
	src/Symfony/Component/Console/Output/StreamOutput.php
	src/Symfony/Component/CssSelector/CssSelector.php
	src/Symfony/Component/DependencyInjection/Container.php
	src/Symfony/Component/DependencyInjection/ContainerBuilder.php
	src/Symfony/Component/DependencyInjection/ContainerInterface.php
	src/Symfony/Component/DependencyInjection/Definition.php
	src/Symfony/Component/DependencyInjection/Scope.php
	src/Symfony/Component/DependencyInjection/ScopeInterface.php
	src/Symfony/Component/Validator/Constraints/Currency.php
	src/Symfony/Component/Validator/Constraints/CurrencyValidator.php
2015-09-29 14:32:55 +02:00
Tobias Schultze
8573385a83 Merge branch '2.3' into 2.7
Conflicts:
	src/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php
	src/Symfony/Component/ClassLoader/DebugClassLoader.php
	src/Symfony/Component/ClassLoader/UniversalClassLoader.php
	src/Symfony/Component/Console/Command/Command.php
	src/Symfony/Component/DependencyInjection/Definition.php
	src/Symfony/Component/DependencyInjection/DefinitionDecorator.php
	src/Symfony/Component/EventDispatcher/Event.php
	src/Symfony/Component/Filesystem/Exception/IOException.php
	src/Symfony/Component/HttpFoundation/File/File.php
	src/Symfony/Component/HttpFoundation/ResponseHeaderBag.php
	src/Symfony/Component/HttpFoundation/Session/SessionInterface.php
	src/Symfony/Component/HttpFoundation/StreamedResponse.php
	src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php
	src/Symfony/Component/HttpKernel/Controller/ControllerResolverInterface.php
	src/Symfony/Component/HttpKernel/HttpKernel.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/HttpKernel/KernelInterface.php
	src/Symfony/Component/HttpKernel/Log/LoggerInterface.php
	src/Symfony/Component/HttpKernel/Log/NullLogger.php
	src/Symfony/Component/Process/Process.php
	src/Symfony/Component/Routing/RequestContext.php
	src/Symfony/Component/Routing/Route.php
	src/Symfony/Component/Templating/EngineInterface.php
	src/Symfony/Component/Templating/PhpEngine.php
	src/Symfony/Component/Templating/TemplateNameParser.php
	src/Symfony/Component/Templating/TemplateReference.php
	src/Symfony/Component/Templating/TemplateReferenceInterface.php
	src/Symfony/Component/Translation/IdentityTranslator.php
	src/Symfony/Component/Translation/Translator.php
	src/Symfony/Component/Validator/ConstraintViolationInterface.php
	src/Symfony/Component/Validator/Constraints/False.php
	src/Symfony/Component/Validator/Constraints/FalseValidator.php
	src/Symfony/Component/Validator/Constraints/GroupSequence.php
	src/Symfony/Component/Validator/Constraints/Image.php
	src/Symfony/Component/Validator/Constraints/Null.php
	src/Symfony/Component/Validator/Constraints/NullValidator.php
	src/Symfony/Component/Validator/Constraints/True.php
	src/Symfony/Component/Validator/Constraints/TrueValidator.php
	src/Symfony/Component/Validator/ExecutionContextInterface.php
	src/Symfony/Component/Validator/ValidatorInterface.php
2015-09-29 14:06:14 +02:00
Christian Flothmann
2b90fcfcbf [Ldap] add some missing license file headers 2015-09-28 23:09:00 +02:00
Christian Flothmann
9fe3b7697b fix tests for the AbstractVoter class
* The `LegacyAbstractVoterTest` class is not needed anymore, tests have
  been moved to the `AbstractVoterTest` class tagging them with the
  legacy group.
* Tests are applied on `stdClass` object instances. Thus, the legacy
  voter fixture class must not support `AbstractVoterTest_Object`
  instances, but support `stdClass` objects instead.
2015-09-28 18:17:14 +02:00
Fabien Potencier
98287265a3 Merge branch '2.8'
* 2.8:
  [Finder] simplified code
  Fix tests in 2.8
  [Validator] Sync polish translation file
  Adding a class to make it easier to set custom authentication error messages
  Readd the correct tests
2015-09-28 13:14:38 +02:00
Grégoire Pineau
60b9f2e7ec Implemented LDAP authentication and LDAP user provider 2015-09-28 13:12:05 +02:00
lashae
f99f40eb65 Fixed incorrect and inconsistent translations
"Fiş" is a correct translation for "token", however "bilet" is also used, I fixed that inconsistency. Moreover, "kimlik bilgileri" is a better translation for "credentials" than "girdiler". "Girdiler" is the translation of "inputs", so I fixed sentences with "credentials". "Hesap engellenmiş" is better than "Hesap devre dışı bırakılmış" for "Account is disabled.". "Digest nonce has expired" can be translated better as "Derleme zaman aşımına uğradı." because "Derleme zaman aşımı gerçekleşti" has a confirmation sense like user requested it to expire and it has expired.

References:

token: http://tureng.com/search/token (3rd entry)
credentials: http://www2.zargan.com/tr/q/credentials-ceviri-nedir (1st entry)
disable: http://tureng.com/search/disable (15th entry)
2015-09-28 10:50:45 +02:00
Wouter J
20c90f5891 Fix tests in 2.8 2015-09-28 10:20:11 +02:00
Fabien Potencier
156368fa43 feature #15882 Easier Custom Authentication errors (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

Easier Custom Authentication errors

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

This makes failing authentication with a custom message much easier:

```php
throw CustomAuthenticationException::createWithSafeMessage(
    'That was a ridiculous username'
);

// or
$e = new CustomAuthenticationException();
$e->setSafeMessage('That was a ridiculous username');

throw $e;
```

Currently, to do this, you'd need to create a new sub-class of `AuthenticationException`, which is way more work than it needs to be. The original design was so that all messages exposed are safe, which is why I've named the methods like I have.

Thanks!

Commits
-------

d7c1463 Adding a class to make it easier to set custom authentication error messages
2015-09-28 09:00:41 +02:00
Fabien Potencier
4021353591 Merge branch '2.7' into 2.8
* 2.7:
  Readd the correct tests
2015-09-28 08:58:50 +02:00
Fabien Potencier
df7a89f171 minor #15942 [Security] Improve AbstractVoter tests (WouterJ)
This PR was merged into the 2.7 branch.

Discussion
----------

[Security] Improve AbstractVoter tests

Applying the improved tests from https://github.com/symfony/symfony/pull/15932 into the oldest possible branch.

Merge conflicts from 2.7 into 2.8 caused by this PR do not need to be done carefully, I'll create a new PR for 2.8 updating the tests as soon as these changes are merged up.

| Q             | A
| ------------- | ---
| Fixed tickets | -
| License       | MIT

Commits
-------

5ff741d Readd the correct tests
2015-09-28 08:54:42 +02:00
Fabien Potencier
3a665af934 Merge branch '2.7' into 2.8
* 2.7:
  [Security] fixed composer.json
2015-09-28 08:51:00 +02:00
Fabien Potencier
8a1f0a0501 [Security] fixed composer.json 2015-09-28 08:50:50 +02:00
Ryan Weaver
d7c14632f7 Adding a class to make it easier to set custom authentication error messages 2015-09-27 16:39:53 -04:00
Wouter J
5ff741de8a Readd the correct tests 2015-09-27 16:25:18 +02:00
Fabien Potencier
8d7b498665 Merge branch '2.8'
* 2.8: (28 commits)
  Detect Mintty for color support on Windows
  Detect Mintty for color support on Windows
  [WebProfilerBundle] Fix search button click listener
  [Form][Type Date/Time] added choice_translation_domain option.
  Massively simplifying the BC and deprecated-throwing code thanks to suggestions by stof in #15870
  Making all "debug" messages use the debug router
  Making GuardTokenInterface extend TokenInterface
  Updating behavior to not continue after an authenticator has set the response
  Add a group for tests of the finder against the FTP server
  Fix trigger_error calls
  Fix legacy security tests
  tweaking message related to configuration edge case that we want to be helpful with
  Minor tweaks - lowering the required security-http requirement and nulling out a test field
  Fix license headers
  Fix license headers
  Fix license headers
  Ensure the ClockMock is loaded before using it in the testsuite
  Allow serializer 3.0 in the PropertyInfo component
  Add the replace rules for the security-guard component
  Forbid serializing a Crawler
  ...
2015-09-27 12:13:28 +02:00
Fabien Potencier
58ed0762e9 Merge branch '2.7' into 2.8
* 2.7:
  Detect Mintty for color support on Windows
  Detect Mintty for color support on Windows
  Add a group for tests of the finder against the FTP server
  Fix license headers
  Forbid serializing a Crawler
  Fix phpdoc block of NativeSessionStorage class
  Added exception when setAutoInitialize is called when locked
  [FrameworkBundle] Advanced search templates of bundles
  [Security] Allow user providers to be defined in many files
  Use random_bytes function if it is available for random number generation
2015-09-27 12:09:46 +02:00
Fabien Potencier
3ba54c1c31 Merge branch '2.3' into 2.7
* 2.3:
  Detect Mintty for color support on Windows
  Add a group for tests of the finder against the FTP server
  Fix license headers
  Forbid serializing a Crawler
  Fix phpdoc block of NativeSessionStorage class
  Added exception when setAutoInitialize is called when locked
  [FrameworkBundle] Advanced search templates of bundles
  [Security] Allow user providers to be defined in many files
  Use random_bytes function if it is available for random number generation
2015-09-27 12:08:38 +02:00
Fabien Potencier
06c14a2653 bug #15925 Updating behavior to not continue after an authenticator has set the response (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

Updating behavior to not continue after an authenticator has set the response

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/14673/files#r40492765
| License       | MIT
| Doc PR        | n/a

This mirrors the behavior in core: *if* a listener sets a response (on success or failure),
then the other listeners are not called. But if a response is *not* set
(which is sometimes the case for success, like in BasicAuthenticationListener),
then the other listeners are called, and can even fail.

It's all a bit of an edge-case, as only one authenticator (like authentication listener) would normally be doing any work on a request, but I think matching the other listeners (since I'm not aware of anyone having issues with its behavior) is best.

Commits
-------

5fa2684 Making all "debug" messages use the debug router
f403444 Updating behavior to not continue after an authenticator has set the response
2015-09-27 11:53:56 +02:00
Fabien Potencier
1e65f7189f bug #15921 Abstract voter tweaks (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

Abstract voter tweaks

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

Based on suggestions from stof in #15870, this simplifies the BC and deprecation throwing code. This also adds a BadMethodCallException in case the user doesn't override `isGranted` *or* `voteOnAttribute`, because that's just plain wrong (as is calling `isGranted()` on the parent class directly, since that was formerly abstract).

Commits
-------

c03f5c2 Massively simplifying the BC and deprecated-throwing code thanks to suggestions by stof in #15870
2015-09-27 11:19:34 +02:00
Fabien Potencier
709cc13887 bug #15927 Making GuardTokenInterface extend TokenInterface (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

Making GuardTokenInterface extend TokenInterface

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

See #15884

Commits
-------

7f04fbb Making GuardTokenInterface extend TokenInterface
2015-09-27 11:18:08 +02:00
Fabien Potencier
9cf4ab74d3 minor #15920 Guard minor tweaks (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

Guard minor tweaks

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

Various completely minor things, most from suggestions on #14673

Commits
-------

869d5a7 tweaking message related to configuration edge case that we want to be helpful with
da4758a Minor tweaks - lowering the required security-http requirement and nulling out a test field
2015-09-27 10:55:21 +02:00
Fabien Potencier
15326ad1af minor #15910 Add the replace rules for the security-guard component (stof)
This PR was merged into the 2.8 branch.

Discussion
----------

Add the replace rules for the security-guard component

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

The update of composer replacements was forgotten in #14673

Commits
-------

5ef8abc Add the replace rules for the security-guard component
2015-09-27 10:47:35 +02:00
Ryan Weaver
c03f5c2ad4 Massively simplifying the BC and deprecated-throwing code thanks to suggestions by stof in #15870 2015-09-26 17:07:41 -04:00
Christophe Coevoet
a31dfa6f4b minor #15923 Fix legacy security tests (stof)
This PR was merged into the 2.8 branch.

Discussion
----------

Fix legacy security tests

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

when merging legacy test classes together in #15893, use statements where not copied, making the tests fail.

Commits
-------

8b615bb Fix legacy security tests
2015-09-26 21:22:35 +02:00
Ryan Weaver
5fa2684273 Making all "debug" messages use the debug router
Only the "auth success" and "auth failed" messages remain at info. That's
consistent with AbstractAuthenticationListener
2015-09-26 14:16:48 -04:00
Ryan Weaver
7f04fbb078 Making GuardTokenInterface extend TokenInterface
This makes some of our type-hints more honest: i.e. where we look for a GuardTokenInterface,
but really also expect it to implement TokenInterface.
2015-09-26 14:10:49 -04:00
Ryan Weaver
f403444cc0 Updating behavior to not continue after an authenticator has set the response
This mirrors the behavior in core: *if* a listener sets a response (on success or failure),
then the other listeners are not called. But if a response is *not* set
(which is sometimes the case for success, like in BasicAuthenticationListener),
then the other listeners are called, and can even fail.
2015-09-26 12:34:14 -04:00
WouterJ
69e80beaa0 Fix trigger_error calls 2015-09-26 17:42:54 +02:00
Christophe Coevoet
8b615bb4b4 Fix legacy security tests 2015-09-26 17:38:37 +02:00
Ryan Weaver
da4758a2af Minor tweaks - lowering the required security-http requirement and nulling out a test field 2015-09-26 10:16:59 -04:00
Gábor Egyed
1701708c48 Fix license headers 2015-09-26 14:22:32 +02:00
Christophe Coevoet
0161212c1e Update the branch alias for new components in their 3.0 branch 2015-09-26 12:58:17 +02:00
Christophe Coevoet
5ef8abc916 Add the replace rules for the security-guard component 2015-09-26 12:41:38 +02:00
Fabien Potencier
8209754e4e minor #15893 Merged LegacySecurityContext tests (WouterJ)
This PR was merged into the 2.8 branch.

Discussion
----------

Merged LegacySecurityContext tests

I've no idea why this test was introduced in the wrong namespace in 2.8, but I merged it in the correct test case now.

Commits
-------

2c4da3c Merged LegacySecurityContext tests
2015-09-26 09:34:51 +02:00
Fabien Potencier
967c0e439a Merge branch '2.8'
* 2.8: (23 commits)
  [Validator] added BIC (SWIFT-BIC) validation constraint
  [TwigBridge] Foundation form layout integration
  [Security] Deprecated supportsAttribute and supportsClass methods
  bumped Symfony version to 2.7.6
  updated VERSION for 2.7.5
  updated CHANGELOG for 2.7.5
  bumped Symfony version to 2.3.34
  updated VERSION for 2.3.33
  update CONTRIBUTORS for 2.3.33
  updated CHANGELOG for 2.3.33
  [Console] Fix transient HHVM test
  [OptionsResolver] Fix catched exception along the dependency tree mistakenly detects cyclic dependencies
  fixed tests
  [DI] Support deprecated definitions in decorators
  [DI] Allow to change the deprecation message in Definition
  [DI] Trigger a deprecated error on the container builder
  [DI] Dump the deprecated status
  [DI] Supports the deprecated tag in loaders
  [DI] Add a deprecated status to definitions
  Fixing test locations
  ...
2015-09-26 09:20:46 +02:00
Fabien Potencier
6f7aae991c feature #15151 [Security] Deprecated supportsAttribute and supportsClass methods (WouterJ)
This PR was squashed before being merged into the 2.8 branch (closes #15151).

Discussion
----------

[Security] Deprecated supportsAttribute and supportsClass methods

These methods aren't used at all in a Symfony application and don't make sense to use in the application. They are only used internally in the voters. This means the voter interface can be made much easier.

I'm not sure how we do these deprecations, should we remove the methods from the interface now already? Also, I don't think it's possible to trigger deprecation notices for the voter methods?

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | one of #11742
| License       | MIT
| Doc PR        | -

Abstract Voter
---

There is one remaining question about the abstract voter. This currently has abstract `getSupportedAttributes()` and `getSupportedClass()` methods. One of the reasons to remove the methods for the interface was that these methods are not flexible. Does it make sense to deprecate these methods as well and replace them by an abstract `protected vote(array $attributes, $class)` method in the `AbstractVoter` (which is called from `AbstractVoter#vote()`) ?

Commits
-------

6588708 [Security] Deprecated supportsAttribute and supportsClass methods
2015-09-25 13:44:05 +02:00
WouterJ
6588708144 [Security] Deprecated supportsAttribute and supportsClass methods 2015-09-25 13:42:48 +02:00
Nicolas Grekas
2377994b66 Merge branch '2.7' into 2.8
* 2.7:
  [Console] Fix transient HHVM test
  [OptionsResolver] Fix catched exception along the dependency tree mistakenly detects cyclic dependencies
  fixed tests
  Fixing test locations
  [VarDumper] Fix dump comparison on large arrays
  [expression-language] Code Cleanup for GetAttrNode
2015-09-25 11:20:50 +02:00
WouterJ
2c4da3ceff Merged LegacySecurityContext tests 2015-09-25 09:39:51 +02:00
Fabien Potencier
7d674c2135 fixed tests 2015-09-25 08:52:54 +02:00
Nicolas Grekas
9db5d017d8 Merge branch '2.8'
* 2.8: (29 commits)
  Updating AbstractVoter so that the method receives the TokenInterface
  Adding the necessary files so that Guard can be its own installable component
  Fix syntax in a test
  Normalize the way we check versions
  Avoid errors when generating the logout URL when there is no firewall key
  Removing unnecessary override
  fabbot
  Adding a new exception and throwing it when the User changes
  Fixing a bug where having an authentication failure would log you out.
  Tweaks thanks to Wouter
  Adding logging  on this step and switching the order - not for any huge reason
  Adding a base class to assist with form login authentication
  Allowing for other authenticators to be checked
  meaningless author and license changes
  Adding missing factory registration
  Thanks again fabbot!
  A few more changes thanks to @iltar
  Splitting the getting of the user and checking credentials into two steps
  Tweaking docblock on interface thanks to @iltar
  Adding periods at the end of exceptions, and changing one class name to LogicException thanks to @iltar
  ...

Conflicts:
	UPGRADE-2.8.md
	src/Symfony/Bridge/Twig/Tests/Node/DumpNodeTest.php
	src/Symfony/Bundle/FrameworkBundle/Command/ServerCommand.php
	src/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php
	src/Symfony/Component/Validator/Tests/Constraints/IdenticalToValidatorTest.php
	src/Symfony/Component/Validator/Tests/Constraints/RangeValidatorTest.php
2015-09-24 11:03:02 +02:00
Fabien Potencier
5f2acfd4c7 feature #14673 New Guard Authentication System (e.g. putting the joy back into security) (weaverryan)
This PR was merged into the 2.8 branch.

Discussion
----------

New Guard Authentication System (e.g. putting the joy back into security)

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | at least partially: #14300, #11158, #11451, #10035, #10463, #8606, probably more
| License       | MIT
| Doc PR        | symfony/symfony-docs#5265

Hi guys!

Though it got much easier in 2.4 with `pre_auth`, authentication is a pain in Symfony. This introduces a new authentication provider called guard, with one goal in mind: put everything you need for *any* authentication system into one spot.

### How it works

With guard, you can perform custom authentication just by implementing the [GuardAuthenticatorInterface](https://github.com/weaverryan/symfony/blob/guard/src/Symfony/Component/Security/Guard/GuardAuthenticatorInterface.php) and registering it as a service. It has methods for every part of a custom authentication flow I can think of.

For a working example, see https://github.com/weaverryan/symfony-demo/tree/guard-auth. This uses 2 authenticators simultaneously, creating a system that handles [form login](https://github.com/weaverryan/symfony-demo/blob/guard-auth/src/AppBundle/Security/FormLoginAuthenticator.php) and [api token auth](https://github.com/weaverryan/symfony-demo/blob/guard-auth/src/AppBundle/Security/TokenAuthenticator.php) with a respectable amount of code. The [security.yml](https://github.com/weaverryan/symfony-demo/blob/guard-auth/app/config/security.yml) is also quite simple.

This also supports "manual login" without jumping through hoops: https://github.com/weaverryan/symfony-demo/blob/guard-auth/src/AppBundle/Controller/SecurityController.php#L45

I've also tested with "remember me" and "switch user" - no problems with either.

I hope you like it :).

### What's Needed

1) **Other Use-Cases?**: Please think about the code and try it. What use-cases are we *not* covering? I want Guard to be simple, but cover the 99.9% use-cases.

2) **Remember me** functionality cannot be triggered via manual login. That's true now, and it's not fixed, and it's tricky.

### Deprecations?

This is a new feature, so no deprecations. But, creating a login form with a guard authenticator is a whole heck of a lot easier to understand than `form_login` or even `simple_form`. In a perfect world, we'd either deprecate those or make them use "guard" internally so that we have just **one** way of performing authentication.

Thanks!

Commits
-------

a01ed35 Adding the necessary files so that Guard can be its own installable component
d763134 Removing unnecessary override
e353833 fabbot
dd485f4 Adding a new exception and throwing it when the User changes
302235e Fixing a bug where having an authentication failure would log you out.
396a162 Tweaks thanks to Wouter
c9d9430 Adding logging  on this step and switching the order - not for any huge reason
31f9cae Adding a base class to assist with form login authentication
0501761 Allowing for other authenticators to be checked
293c8a1 meaningless author and license changes
81432f9 Adding missing factory registration
7a94994 Thanks again fabbot!
7de05be A few more changes thanks to @iltar
ffdbc66 Splitting the getting of the user and checking credentials into two steps
6edb9e1 Tweaking docblock on interface thanks to @iltar
d693721 Adding periods at the end of exceptions, and changing one class name to LogicException thanks to @iltar
eb158cb Updating interface method per suggestion - makes sense to me, Request is redundant
c73c32e Thanks fabbot!
6c180c7 Adding an edge case - this should not happen anyways
180e2c7 Properly handles "post auth" tokens that have become not authenticated
873ed28 Renaming the tokens to be clear they are "post" and "pre" auth - also adding an interface
a0bceb4 adding Guard tests
05af97c Initial commit (but after some polished work) of the new Guard authentication system
330aa7f Improving phpdoc on AuthenticationEntryPointInterface so people that implement this understand it
2015-09-24 09:21:03 +02:00
Ryan Weaver
948ccec1ea Updating AbstractVoter so that the method receives the TokenInterface 2015-09-24 08:33:58 +02:00
Ryan Weaver
a01ed35cfc Adding the necessary files so that Guard can be its own installable component 2015-09-23 21:55:58 -04:00
Ryan Weaver
16e09d3eaa Fixing test locations 2015-09-23 21:45:13 -04:00
Pierre du Plessis
6a217dcecc Use random_bytes function if it is available for random number generation 2015-09-23 21:31:18 +02:00
Ryan Weaver
d763134e1a Removing unnecessary override 2015-09-22 19:45:03 -04:00
Iltar van der Berg
351ebfca1a Updated CHANGELOG 2015-09-22 07:40:30 +02:00
Ryan Weaver
e353833baf fabbot 2015-09-20 20:45:52 -04:00
Ryan Weaver
dd485f4c13 Adding a new exception and throwing it when the User changes
This is quite technical. As you can see in the provider, the method is called
sometimes when the User changes, and so the token becomes de-authenticated (e.g.
someone else changes the password between requests).

In practice, the user should be unauthenticated. Using the anonymous token did this,
but throwing an AccountStatusException seems like a better idea. It needs to be an
AccountStatusException because the ExceptionListener from the Firewall looks for exceptions
of this class and logs the user out when they are found (because this is their purpose).
2015-09-20 20:44:39 -04:00
Ryan Weaver
302235e6e5 Fixing a bug where having an authentication failure would log you out.
This solution is a copy of what AbstractAuthenticationListener does. Scenario:

1) Login
2) Go back to the log in page
3) Put in a bad user/pass

You *should* still be logged in after a failed attempt. This commit gives that behavior.
2015-09-20 20:11:34 -04:00