Commit Graph

1114 Commits

Author SHA1 Message Date
Grégoire Pineau
9e2aa9fced Use more accurate variable name 2014-03-09 20:38:15 +01:00
Christian Schmidt
5d6ef003ff Add class constants for access decision strategies. 2014-03-05 23:13:10 +01:00
Fabien Potencier
7baeaa2fd7 Merge branch '2.4'
* 2.4:
  [Process] minor fixes
  Improve performance of getNextEmbedBlock by removing unnecessary preg_match and function calls.
  Avoid unnecessary line indentation calculation.
  Optimise Inline::evaluateScalar() for parsing strings.
  fixed CS
  fixed parsing Mongo DSN and added Test for it
  () is also a valid delimiter
  Adding PHP 5.6 to travis-ci tests
  Update BCryptPasswordEncoder.php
  [Validator] Removed PHP <5.3.3 specific code which is not officially supported.
  Fixed wrong redirect url if path contains some query parameters
2014-02-24 17:21:51 +01:00
Fabien Potencier
81e27d2a3e Merge branch '2.3' into 2.4
* 2.3:
  [Process] minor fixes
  Improve performance of getNextEmbedBlock by removing unnecessary preg_match and function calls.
  Avoid unnecessary line indentation calculation.
  Optimise Inline::evaluateScalar() for parsing strings.
  fixed CS
  fixed parsing Mongo DSN and added Test for it
  () is also a valid delimiter
  Adding PHP 5.6 to travis-ci tests
  Update BCryptPasswordEncoder.php
  [Validator] Removed PHP <5.3.3 specific code which is not officially supported.
  Fixed wrong redirect url if path contains some query parameters
2014-02-24 17:20:54 +01:00
Fabien Potencier
872647a8b2 [Security] simplified code 2014-02-22 08:00:45 +01:00
Wing
9fc01d26fc use core StringUtils to compare hashes 2014-02-22 13:37:18 +08:00
szymek
04a506ee7d Update BCryptPasswordEncoder.php 2014-02-19 22:27:55 +01:00
Fabien Potencier
f828aee7f7 Merge branch '2.4'
* 2.4:
  fixed various inconsistencies
  reduced recursion when building DumperPrefixCollection
  renamed variables - making next change more readable
  removing dead code.
  [ExpressionLanguage] added some tests for the built-in constant() function
  [ExpressionLanguage] added some documentation about functions
  [DomCrawler] Fixed filterXPath() chaining
  [DomCrawler] Fixed incorrect handling of image inputs
2014-02-11 14:52:21 +01:00
Fabien Potencier
e2ac5dfc78 Merge branch '2.3' into 2.4
* 2.3:
  fixed various inconsistencies
  reduced recursion when building DumperPrefixCollection
  renamed variables - making next change more readable
  removing dead code.
  [DomCrawler] Fixed filterXPath() chaining
  [DomCrawler] Fixed incorrect handling of image inputs

Conflicts:
	src/Symfony/Component/DomCrawler/Crawler.php
	src/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
	src/Symfony/Component/Form/Extension/DependencyInjection/DependencyInjectionExtension.php
	src/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php
	src/Symfony/Component/Templating/Tests/Loader/CacheLoaderTest.php
	src/Symfony/Component/Templating/Tests/Loader/LoaderTest.php
2014-02-11 14:52:09 +01:00
Fabien Potencier
eb3f6c6efb fixed various inconsistencies 2014-02-11 11:29:24 +01:00
Fabien Potencier
4c9e30714d Merge branch '2.4'
* 2.4:
  $default can be string
  Fix wording for Process class documentation
  Option can be bool too (eg. --force)
  [Form] Update DateTime objects only if the actual value has changed
  Revert "bug #10091 [Translation] Update PluralizationRules.php (guilhermeblanco)"
  [HttpFoundation] fixed typo
  Added delta for Request comparison
  add zh_TW validator translations
  Added Bulgarian translation for security component
2014-02-03 18:15:42 +01:00
Fabien Potencier
3d91128d05 Merge branch '2.3' into 2.4
* 2.3:
  $default can be string
  Fix wording for Process class documentation
  Option can be bool too (eg. --force)
  [Form] Update DateTime objects only if the actual value has changed
  Revert "bug #10091 [Translation] Update PluralizationRules.php (guilhermeblanco)"
  [HttpFoundation] fixed typo
  Added delta for Request comparison
  add zh_TW validator translations
  Added Bulgarian translation for security component
2014-02-03 18:15:33 +01:00
Roumen Damianoff
e9cc2283c8 Added Bulgarian translation for security component 2014-01-26 22:34:10 +01:00
Fabien Potencier
6a0de7f512 Merge branch '2.4'
* 2.4:
  fixed CS
  allow the TextAreaFormField to be used with valid/invalid HTML
  Create security.id.xlf
  [DependencyInjection] Remove unneeded file
  [Twig] removed obsolete conditions on Twig versions
  added lines to exceptions for the trans and transchoice tags
  [FrameworkBundle] Merged multiple line input into one line to fix the tests.
  [Form] Make FormInterface::add docblock more explicit
  [Security] Add zh_CN translations
  Routing condition bugfix
  [Validator][Translation]update zh_CN translations
  [Validator] Minor fix in XmlLoader
2014-01-26 22:33:16 +01:00
Fabien Potencier
6c11d55b06 Merge branch '2.3' into 2.4
* 2.3:
  fixed CS
  allow the TextAreaFormField to be used with valid/invalid HTML
  Create security.id.xlf
  [DependencyInjection] Remove unneeded file
  [Twig] removed obsolete conditions on Twig versions
  added lines to exceptions for the trans and transchoice tags
  [Form] Make FormInterface::add docblock more explicit
  [Security] Add zh_CN translations
  [Validator][Translation]update zh_CN translations
  [Validator] Minor fix in XmlLoader
2014-01-26 22:33:04 +01:00
Ulumuddin Cahyadi Yunus
7edb5dec3a Create security.id.xlf 2014-01-26 03:55:58 +08:00
Wang Jingyu
27630ebfa1 [Security] Add zh_CN translations 2014-01-25 02:33:21 +08:00
Fabien Potencier
2e2a65c0f4 Merge branch '2.4'
* 2.4: (35 commits)
  Update validators.ro.xlf
  add non-standard port to HTTP_HOST
  fixed attribute "source-language" for translations
  [Process] clarify idle timeout
  [Security] fix DI for SimpleFormAuthenticationListener
  Update PluralizationRules.php
  Update validators.pt_BR.xlf
  Translated remaining items (57-72)
  Updated Vietnamese translation
  allow null value in fragment handler
  added missing dot in translation
  updated Arabic translations
  Update validators.id.xlf
  [Validator] Translate validator messages into Brazilian Portuguese
  Added more Swedish validator translations
  Update validators.ca.xlf
  fixed typos in Welsh translation
  Added missing Croatian translations
  [Form] fixed allow render 0 and 0.0 numeric input values
  Fixed validators.nl.xlf
  ...

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
2014-01-24 15:36:35 +01:00
Fabien Potencier
07de76122b Merge branch '2.3' into 2.4
* 2.3: (30 commits)
  Update validators.ro.xlf
  add non-standard port to HTTP_HOST
  fixed attribute "source-language" for translations
  Update PluralizationRules.php
  Update validators.pt_BR.xlf
  Translated remaining items (57-72)
  Updated Vietnamese translation
  added missing dot in translation
  updated Arabic translations
  Update validators.id.xlf
  [Validator] Translate validator messages into Brazilian Portuguese
  Added more Swedish validator translations
  Update validators.ca.xlf
  fixed typos in Welsh translation
  Added missing Croatian translations
  [Form] fixed allow render 0 and 0.0 numeric input values
  Fixed validators.nl.xlf
  [Component/Security] Fixed some phpdocs in Security/Core
  Completed Luxembourgish translation
  Fixing the Logger deprecation notices to match the correct method name it should be informing of
  ...

Conflicts:
	src/Symfony/Bridge/Twig/composer.json
	src/Symfony/Bundle/FrameworkBundle/Resources/views/Form/form_widget_simple.html.php
	src/Symfony/Component/Console/Application.php
2014-01-24 15:36:08 +01:00
Christian Raue
7434550284 fixed attribute "source-language" for translations 2014-01-21 21:48:24 +01:00
Ha Phan
905ae83fb2 Updated Vietnamese translation 2014-01-20 14:33:46 +07:00
Andreia Bohner
1d84e7e19f [Validator] Translate validator messages into Brazilian Portuguese 2014-01-19 08:50:20 +01:00
Fabien Potencier
4ad343bd0f feature #10005 [Security] Added named encoders to EncoderFactory (tamirvs)
This PR was squashed before being merged into the 2.5-dev branch (closes #10005).

Discussion
----------

[Security] Added named encoders to EncoderFactory

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

This PR is basically merging FOSAdvancedEncoder. I think it's better than having a separate bundle that most of it's code is a copy of the core.
A use case is: having a different encoders or bcrypt cost based on the user's roles.

Commits
-------

c69e2ca [Security] Added named encoders to EncoderFactory
2014-01-18 10:09:36 +01:00
tamirvs
c69e2ca11f [Security] Added named encoders to EncoderFactory 2014-01-18 10:09:35 +01:00
Goran Juric
5957cc14f1 Added missing Croatian translations 2014-01-17 20:57:31 +01:00
Joseph Bielawski
80fae1d6e8 [Component/Security] Fixed some phpdocs in Security/Core 2014-01-17 10:30:22 +01:00
Fabien Potencier
0af3ca39f5 Merge branch '2.4'
* 2.4:
  udpated LICENSE year
  update year on licenses
  rundown and typo fix
  [Process] Fix #9861 : Revert TTY mode
  [Form] Update minimal requirement in composer.json
  Fix Empty translations with Qt files
  [Console] Fixed command name guessing if an alternative is an alias.
  Update UPGRADE-2.3.md to account for #9388
  [WebProfilerBundle] Fixed profiler toolbar icons for XHTML.
  [BrowserKit] Throw exception on invalid cookie expiration timestamp
  [Propel1Bridge][ModelChoiceList] add exception message for invalid classes
2014-01-07 14:29:57 +01:00
Fabien Potencier
795599911e udpated LICENSE year 2014-01-07 14:29:32 +01:00
Fabien Potencier
30e66fa773 Merge branch '2.3' into 2.4
* 2.3:
  update year on licenses
  rundown and typo fix
  [Process] Fix #9861 : Revert TTY mode
  [Form] Update minimal requirement in composer.json
  Fix Empty translations with Qt files
  Update UPGRADE-2.3.md to account for #9388

Conflicts:
	src/Symfony/Component/Validator/Tests/Constraints/LessThanValidatorTest.php
2014-01-07 14:28:54 +01:00
Luis Cordova
8ace5f9f0d update year on licenses 2014-01-07 08:19:25 -05:00
Fabien Potencier
18d69a8ff2 Merge branch '2.4'
* 2.4:
  removed unneeded use statements
  [DoctrineBridge] Fixed an issue with DoctrineParserCache
  removed unneeded use statements
  Prepend Child Bundle paths before the parent
  [Routing] add unit tests for Symfony\Component\Routing\RequestContext class
2014-01-01 10:16:05 +01:00
Fabien Potencier
e0402bae65 Merge branch '2.3' into 2.4
* 2.3:
  removed unneeded use statements
  Prepend Child Bundle paths before the parent
  [Routing] add unit tests for Symfony\Component\Routing\RequestContext class

Conflicts:
	src/Symfony/Component/Form/Extension/Csrf/CsrfExtension.php
	src/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php
	src/Symfony/Component/Validator/ConstraintValidatorFactory.php
2014-01-01 09:14:50 +01:00
Fabien Potencier
f36f666548 minor #9920 removed unneeded use statements (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

removed unneeded use statements

| Q             | A
| ------------- | ---
| License       | MIT

Commits
-------

7f9a366 removed unneeded use statements
2014-01-01 09:13:43 +01:00
Fabien Potencier
7f9a366529 removed unneeded use statements 2014-01-01 08:52:14 +01:00
Fabien Potencier
0defad9842 Merge branch '2.4'
* 2.4:
  fixed PSR-0 issues
2013-12-31 15:17:39 +01:00
Fabien Potencier
a901d73370 fixed PSR-0 issues 2013-12-31 14:47:12 +01:00
Fabien Potencier
8850456c4e Merge branch '2.4'
* 2.4:
  [Security] fixed pre/post authentication checks
  fixed missing use statements
  Updated lithuanian validator translation: changed vartotojas to naudotojas as it is more proper term.
  Fixed CSS
  [Intl] Added round support for ROUND_CEILING, ROUND_FLOOR, ROUND_DOWN, ROUND_UP
  [HttpFoundation] Throw proper exception when invalid data is passed to JsonResponse class
  addressed == -> === suggestion
  Fixed #9020 - Added support for collections in service#parameters
  fixes PSR-0 issues in tests
  adjusted behavior to always copy override on url files
  Skips test that need full lib-intl.
2013-12-31 14:43:37 +01:00
Fabien Potencier
35774da863 Merge branch '2.3' into 2.4
* 2.3:
  [Security] fixed pre/post authentication checks
  Updated lithuanian validator translation: changed vartotojas to naudotojas as it is more proper term.
  Fixed CSS
  [HttpFoundation] Throw proper exception when invalid data is passed to JsonResponse class
  addressed == -> === suggestion
  Fixed #9020 - Added support for collections in service#parameters
  fixes PSR-0 issues in tests
  adjusted behavior to always copy override on url files
  Skips test that need full lib-intl.

Conflicts:
	src/Symfony/Component/Security/Acl/Tests/Permission/MaskBuilderTest.php
	src/Symfony/Component/Security/Core/Tests/Authentication/Token/RememerMeTokenTest.php
	src/Symfony/Component/Security/Core/Tests/User/AccountCheckerTest.php
	src/Symfony/Component/Security/Core/Tests/User/InMemoryProviderTest.php
	src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationFailureHandlerTest.php
	src/Symfony/Component/Security/Http/Tests/Authentication/DefaultAuthenticationSuccessHandlerTest.php
	src/Symfony/Component/Security/Tests/Core/Authentication/Token/RememberMeTokenTest.php
	src/Symfony/Component/Security/Tests/Core/Authentication/Token/RememerMeTokenTest.php
	src/Symfony/Component/Security/Tests/Core/User/AccountCheckerTest.php
	src/Symfony/Component/Security/Tests/Core/User/InMemoryProviderTest.php
	src/Symfony/Component/Security/Tests/Core/User/InMemoryUserProviderTest.php
	src/Symfony/Component/Security/Tests/Core/User/UserCheckerTest.php
2013-12-31 14:43:26 +01:00
Fabien Potencier
ada82a297a [Security] fixed pre/post authentication checks 2013-12-31 11:55:25 +01:00
Fabien Potencier
a38e2c042b fixes PSR-0 issues in tests 2013-12-30 22:13:42 +01:00
David Joos
335bee2fb4 Change of scope
When overriding the Symfony RoleHierarchy it would be great to be able to get access to the buildRoleMap-method and map-variable for more advanced usage.
2013-12-30 07:38:35 +01:00
Fabien Potencier
c15175ab00 Merge branch '2.4'
* 2.4:
  fix some cs
  use restore_error_handler instead of set_error_handler($previous)
  fix #9321 Crawler::addHtmlContent add gbk encoding support
  [Console] fixed column width when using the Table helper with some decoration in cells
  [Security] Fixed problem with losing ROLE_PREVIOUS_ADMIN role.
  Fix for cache-key conflict when having a \Traversable as choices
  [Security] removed obsolete comment
2013-12-29 21:34:05 +01:00
Fabien Potencier
37813bd7c3 Merge branch '2.3' into 2.4
* 2.3:
  fix some cs
  use restore_error_handler instead of set_error_handler($previous)
  fix #9321 Crawler::addHtmlContent add gbk encoding support
  [Console] fixed column width when using the Table helper with some decoration in cells
  [Security] Fixed problem with losing ROLE_PREVIOUS_ADMIN role.
  Fix for cache-key conflict when having a \Traversable as choices
  [Security] removed obsolete comment

Conflicts:
	src/Symfony/Component/Console/Helper/TableHelper.php
	src/Symfony/Component/Security/Tests/Http/Firewall/ExceptionListenerTest.php
2013-12-29 21:33:52 +01:00
Fabien Potencier
0285bfde5d bug #8997 [Security] Fixed problem with losing ROLE_PREVIOUS_ADMIN role. (pawaclawczyk)
This PR was squashed before being merged into the 2.3 branch (closes #8997).

Discussion
----------

[Security] Fixed problem with losing ROLE_PREVIOUS_ADMIN role.

<table>
  <tr>
    <td><b>Q</b></td>
    <td><b>A</b></td>
  </tr>
  <tr>
    <td>Bug fix?</td>
    <td>yes</td>
  </tr>
  <tr>
    <td>New feature</td>
    <td>no</td>
  </tr>
  <tr>
    <td>BC breaks?</td>
    <td>no</td>
  </tr>
  <tr>
    <td>Deprecations?</td>
    <td>no</td>
  </tr>
  <tr>
    <td>Tests pass?</td>
    <td>yes</td>
  </tr>
  <tr>
    <td>Fixed tickets</td>
    <td>#3085, #8974</td>
  </tr>
  <tr>
    <td>License</td>
    <td>MIT</td>
  </tr>
  <tr>
    <td>Doc PR</td>
    <td>n/a</td>
  </tr>
</table>

Problem occurs while user is impersonated. Authentication process generates new token and doeas not preserve role ```ROLE_PREVIOUS_ADMIN```. Ex. when parameter ```security.always_authenticate_before_granting``` is enabled.

Commits
-------

a7baa3b [Security] Fixed problem with losing ROLE_PREVIOUS_ADMIN role.
2013-12-29 16:53:43 +01:00
Paweł Wacławczyk
a7baa3b7c2 [Security] Fixed problem with losing ROLE_PREVIOUS_ADMIN role. 2013-12-29 16:53:42 +01:00
Fabien Potencier
28e9e0631c [Security] removed obsolete comment 2013-12-29 15:45:35 +01:00
Fabien Potencier
fd5a2d09bc Merge branch '2.4'
* 2.4:
  [Security] simplified some unit tests
  [Security] made code easier to understand, added some missing unit tests
  [DependencyInjection] fixed InlineServiceDefinitionsPass to not inline a service if it's part of the current definition (to avoid an infinite loop)
  [DomCrawler] Fixed creating form objects from form nodes.
  disabled php.ini changes when using HHVM in .travis.yml
  [Process] fixed HHVM support
  Add support for HHVM in the getting of the PHP executable
  [Security] fixed error 500 instead of 403 if previous exception is provided to AccessDeniedException
2013-12-29 15:45:01 +01:00
Fabien Potencier
206c610bde [Security] simplified some unit tests 2013-12-29 15:44:35 +01:00
Fabien Potencier
26b5cf3e4e Merge branch '2.3' into 2.4
* 2.3:
  [Security] made code easier to understand, added some missing unit tests
  [DependencyInjection] fixed InlineServiceDefinitionsPass to not inline a service if it's part of the current definition (to avoid an infinite loop)
  [DomCrawler] Fixed creating form objects from form nodes.
  disabled php.ini changes when using HHVM in .travis.yml
  [Process] fixed HHVM support
  Add support for HHVM in the getting of the PHP executable
  [Security] fixed error 500 instead of 403 if previous exception is provided to AccessDeniedException
2013-12-29 15:43:38 +01:00
Fabien Potencier
172fd6366f [Security] made code easier to understand, added some missing unit tests 2013-12-29 15:40:38 +01:00
Fabien Potencier
7d80045b22 Merge branch '2.4'
* 2.4:
  fixed typos
  Fixed deprecated method calls
  Add testing against HHVM at Travis-CI
  Fixed typo
  Fixed typo
  Fixed typo
  fixed acronyms
  [Validator] Fixed IBAN validator with 0750447346 value

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
2013-12-28 22:40:48 +01:00
Fabien Potencier
3a1d2200b0 Merge branch '2.3' into 2.4
* 2.3:
  fixed typos
  Fixed deprecated method calls
  Add testing against HHVM at Travis-CI
  Fixed typo
  Fixed typo
  fixed acronyms
  [Validator] Fixed IBAN validator with 0750447346 value

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
2013-12-28 22:39:51 +01:00
Tomasz Szymczyk
616b6c5227 [Security] fixed error 500 instead of 403 if previous exception is provided to AccessDeniedException 2013-12-28 17:11:12 +01:00
Fabien Potencier
15baa81fdc fixed acronyms 2013-12-28 09:33:14 +01:00
Fabien Potencier
f9dff0616b Merge branch '2.4'
* 2.4:
  fixed CS
  fixed a typo
  fixed CS for lambdas
  [Yaml] fixed some license headers
  Fixes message value for objects
  Check for hour, minute & second validity
  avoid tables to have apparently long blank line breaks and be too far appart for long nested array params
  fixed various typos
  [Filesystem] Fixed mirror for symlinks
  [Validator] Removed duplicated test for IBAN in data provider
2013-12-28 09:12:58 +01:00
Fabien Potencier
d87d8daa36 Merge branch '2.3' into 2.4
* 2.3:
  fixed a typo
  fixed CS for lambdas
  [Yaml] fixed some license headers
  Fixes message value for objects
  Check for hour, minute & second validity
  fixed various typos
  [Filesystem] Fixed mirror for symlinks
  [Validator] Removed duplicated test for IBAN in data provider

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
	src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
	src/Symfony/Component/HttpKernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php
2013-12-28 09:12:03 +01:00
Fabien Potencier
35b407f016 fixed CS for lambdas 2013-12-28 08:46:05 +01:00
Fabien Potencier
7a9ab2c79f feature #8305 Added MutableAclProvider::deleteSecurityIdentity (lavoiesl)
This PR was merged into the 2.5-dev branch.

Discussion
----------

Added MutableAclProvider::deleteSecurityIdentity

This provides a very simple function to enable the deletion of a SecurityIdentity.

Developers can add a listener on the delete of a user and remove all the related ACLs.
Foreign keys already ensure that the ACEs are properly deleted.

Among the problems of not deleting the SecurityIdentity:

* Inconsistent database, referring to a non-existent user.
* If a user is deleted and another is created with the same name, it will inherit all the old user’s ACEs

Not addressed by this PR: Changing a user’s username breaks the related ACLs. See #5787

See also: https://groups.google.com/forum/#!topic/symfony2/mGTXlTWiMs8/discussion

Commits
-------

bdbbe58 [Security][Acl] Issue #5787 : Added MutableAclProvider::deleteSecurityIdentity
2013-12-27 17:31:41 +01:00
Fabien Potencier
04471c9916 minor #9869 fixed various typos (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

fixed various typos

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

2f15ac7 fixed various typos
2013-12-27 16:16:38 +01:00
Fabien Potencier
2f15ac7507 fixed various typos 2013-12-27 16:08:19 +01:00
Fabien Potencier
694bd72611 Merge branch '2.4'
* 2.4: (44 commits)
  [FrameworkBundle] Add missing license headers
  Fix parent serialization of user object
  [DependencyInjection] fixed typo
  added condition to avoid skipping tests on JSON_PRETTY support
  add memcache, memcached, and mongodb extensions to run skipped tests
  [DependencyInjection] Fixed support for backslashes in service ids.
  fix #9356 [Security] Logger should manipulate the user reloaded from provider
  [FrameworkBundle] Added extra details in XMLDescriptor to improve container description
  fixed CS
  Crawler default namespace fix
  [BrowserKit] fixes #8311 CookieJar is totally ignorant of RFC 6265 edge cases
  [HttpFoundation] fixed constants that do exist in 2.3 (only in 2.4)
  fix 5528 let ArrayNode::normalizeValue respect order of value array provided
  fix #7243 allow 0 as arraynode name
  Fixed issue in BaseDateTimeTransformer when invalid timezone cause Transformation filed exception (closes #9403).
  BinaryFileResponse should also return 416 or 200 on some range-requets
  fix deprecated usage and clarify constructor defaults for number formatter
  Bumping dependency to ProxyManager to allow testing against the new 0.5.x branch changes
  Do normalization on tag options
  bumped Symfony version to 2.3.9
  ...
2013-12-26 08:59:17 +01:00
Fabien Potencier
ef3ae9cf45 Merge branch '2.3' into 2.4
* 2.3: (31 commits)
  Fix parent serialization of user object
  [DependencyInjection] fixed typo
  add memcache, memcached, and mongodb extensions to run skipped tests
  [DependencyInjection] Fixed support for backslashes in service ids.
  fix #9356 [Security] Logger should manipulate the user reloaded from provider
  [BrowserKit] fixes #8311 CookieJar is totally ignorant of RFC 6265 edge cases
  [HttpFoundation] fixed constants that do exist in 2.3 (only in 2.4)
  fix 5528 let ArrayNode::normalizeValue respect order of value array provided
  fix #7243 allow 0 as arraynode name
  Fixed issue in BaseDateTimeTransformer when invalid timezone cause Transformation filed exception (closes #9403).
  BinaryFileResponse should also return 416 or 200 on some range-requets
  Do normalization on tag options
  bumped Symfony version to 2.3.9
  updated VERSION for 2.3.8
  update CONTRIBUTORS for 2.3.8
  updated CHANGELOG for 2.3.8
  [Filesystem] Changed the mode for a target file in copy() to be write only.
  [Console] fixed CS
  fixed TableHelper when cell value has new line
  Improved and fixed grammar mistakes. Added pluralized messages
  ...

Conflicts:
	src/Symfony/Component/BrowserKit/Cookie.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Routing/Matcher/UrlMatcher.php
2013-12-26 08:59:03 +01:00
David de Boer
2d64dfc872 Fix parent serialization of user object 2013-12-23 16:46:26 +01:00
Mathieu Lemoine
da53d92188 [Security][Acl] Fix #5787 : Add MutableAclProvider::updateUserSecurityIdentity 2013-12-23 09:05:55 -05:00
Matthieu Auger
eb86af961d fix #9356 [Security] Logger should manipulate the user reloaded from provider 2013-12-20 16:43:18 +01:00
Fabien Potencier
21ecad160f minor #9723 [Security] [Acl] [MaskBuilder] Refactor common code and reduce nesting (djlambert)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[Security] [Acl] [MaskBuilder] Refactor common code and reduce nesting

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

Refactored some common code and moved a comparison to an earlier statement.

Commits
-------

7d85809 Refactor common code and reduce nesting
2013-12-17 09:13:13 +01:00
Rouven Weßling
7f18d19df2 [Security] Add ExpressionLanguage to require-dev. 2013-12-15 00:12:17 +01:00
Giulio De Donato
b7567d17d9 added ExpressionVoterTest 2013-12-12 17:37:42 +01:00
Fabien Potencier
6764f91ce9 Merge branch '2.4'
* 2.4:
  fixed CS
  fixed CS
2013-12-12 17:10:54 +01:00
Fabien Potencier
0ac9f85f4d fixed CS 2013-12-12 17:10:42 +01:00
Derek Lambert
7d85809547 Refactor common code and reduce nesting 2013-12-08 11:07:52 -06:00
Fabien Potencier
ce64435122 minor #9594 [Security] Fixed typos/CS/PHPDoc (pborreli)
This PR was merged into the master branch.

Discussion
----------

[Security] Fixed typos/CS/PHPDoc

Commits
-------

e1110de Fixed typos/CS/PHPDoc
2013-11-26 17:43:09 +01:00
Fabien Potencier
1fcc7c50e1 Merge branch '2.4'
* 2.4:
  [HttpKernel] fixed regression introduced in 2.4 in the base DataCollector class. Added more unit tests coverage for the RequestDataCollector object.
  Fixed mistake in upgrade docu
  bumped Symfony version to 2.4.0
  updated VERSION for 2.4.0-RC1
  updated CHANGELOG for 2.4.0-RC1
  Container::camelize also takes backslashes into consideration
  fixed typos
  fixed @expectedException class names
  Fix an issue when overriding Client::setServerParameters() and using the getContainer() method in it.
  fixed some typos
  fixed @expectedException class names
  Typo and better wording for german validator translation
2013-11-26 17:42:52 +01:00
Fabien Potencier
990267f959 Merge branch '2.3' into 2.4
* 2.3:
  Fixed mistake in upgrade docu
  Container::camelize also takes backslashes into consideration
  fixed typos
  fixed @expectedException class names
  fixed some typos
  fixed @expectedException class names
  Typo and better wording for german validator translation
2013-11-26 17:40:27 +01:00
Fabien Potencier
e0b751a2d8 Merge branch '2.2' into 2.3
* 2.2:
  fixed some typos
  fixed @expectedException class names

Conflicts:
	src/Symfony/Component/Config/Tests/Definition/ArrayNodeTest.php
	src/Symfony/Component/Console/Tests/Command/CommandTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubLocaleTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubNumberFormatterTest.php
2013-11-25 15:49:41 +01:00
Fabien Potencier
8d69bb5886 fixed @expectedException class names 2013-11-25 09:44:14 +01:00
Fabien Potencier
4aab341d59 updated version to 2.5 2013-11-24 21:17:07 +01:00
Catalin Dan
087403b71d [Security] Typos in Security's ExpressionLanguage 2013-11-24 19:29:24 +01:00
Pascal Borreli
e1110de107 Fixed typos/CS/PHPDoc 2013-11-24 06:12:30 +00:00
Fabien Potencier
43becff31d Merge branch '2.3'
* 2.3: (24 commits)
  Add german translation for several validators (Greater/Equal/Less)
  No Entity Manager defined exception
  fixed CS
  [Acl] Fix for issue #9433
  [Validator] fix docblock typos
  [DependencyInjection] removed the unused Reference and Parameter classes use statements from the compiled container class
  Removed useless check if self::$trustProxies is set
  Fix mistake in translation's service definition.
  if handler_id is identical to null fix
  CS fix
  Fixed ModelChoiceList tests in Propel1 bridge.
  [AclProvider] Fix incorrect behaviour when partial results returned from cache
  Check if the pipe array is empty before calling stream_select()
  [Intl] fixed datetime test as described in #9455
  bumped Symfony version to 2.3.8
  updated VERSION for 2.3.7
  updated CHANGELOG for 2.3.7
  re-factor Propel1 ModelChoiceList
  [Form] Added method Form::getClickedButton() to remove memory leak in FormValidator
  [Locale] fixed the failing test described in #9455
  ...

Conflicts:
	src/Symfony/Bridge/Propel1/Form/ChoiceList/ModelChoiceList.php
	src/Symfony/Bridge/Propel1/Tests/Fixtures/ItemQuery.php
	src/Symfony/Bridge/Propel1/Tests/Form/ChoiceList/ModelChoiceListTest.php
	src/Symfony/Bridge/Propel1/Tests/Propel1TestCase.php
	src/Symfony/Component/Form/Tests/CompoundFormTest.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Process/Process.php
2013-11-23 22:17:02 +01:00
Fabien Potencier
dfc54f9e96 Merge branch '2.2' into 2.3
* 2.2:
  No Entity Manager defined exception
  fixed CS
  [Acl] Fix for issue #9433
  [Validator] fix docblock typos
  [DependencyInjection] removed the unused Reference and Parameter classes use statements from the compiled container class
  Fix mistake in translation's service definition.
  if handler_id is identical to null fix
  CS fix
  Fixed ModelChoiceList tests in Propel1 bridge.
  [AclProvider] Fix incorrect behaviour when partial results returned from cache
  Check if the pipe array is empty before calling stream_select()
  re-factor Propel1 ModelChoiceList
  [Locale] fixed the failing test described in #9455
  [Process] fix phpdoc and timeout of 0
  bug #9445 [BrowserKit] fixed protocol-relative url redirection

Conflicts:
	src/Symfony/Component/BrowserKit/Tests/ClientTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubIntlDateFormatterTest.php
2013-11-23 22:11:41 +01:00
Fabien Potencier
b74a887cd9 minor #9487 unify constructor initialization style throughout symfony (Tobion)
This PR was merged into the master branch.

Discussion
----------

unify constructor initialization style throughout symfony

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

In almost all classes symfony uses property initialization when the value is static. Constructor initialization is only used for things that actually have logic, like passed parameters or dynamic values. IMHO it makes the code much more readable because property definition, phpdoc and default value is in one place. Also one can easily see what the constructor implements for logic like overridden default value of a parent class. Otherwise the real deal is just hidden behind 10 property initializations. One more advantage is that it requires less code. As you can see, the code was almost cut in half (210 additions and 395 deletions).
I unified it accordingly across symfony. Sometimes it was [not even consistent within one class](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Config/Definition/BaseNode.php#L32). At the same time I recognized some errors like missing parent constructor call, or undefined properties or private properties that are not even used.

I then realized that a few Kernel tests were not passing because they were deeply implementation specific like modifying booted flag with a custom `KernelForTest->setIsBooted();`. I improved and refactored the kernel tests in the __second commit__.

__Third commit__ unifies short ternary operator, e.g. `$foo ?: new Foo()`. __Forth commit__ unifies missing parentheses, e.g. `new Foo()`.

Commits
-------

077a089 unify missing parentheses
2888594 unify short ternary operator
2a9daff [HttpKernel] better written kernel tests
111ac18 unify constructor initialization style throughout symfony
2013-11-22 18:42:00 +01:00
Fabien Potencier
0e57c7b757 fixed CS 2013-11-22 18:23:33 +01:00
Fabien Potencier
90dfc9ee08 bug #9485 [Acl] Fix for issue #9433 (guilro)
This PR was squashed before being merged into the 2.2 branch (closes #9485).

Discussion
----------

[Acl] Fix for issue #9433

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

Two new test for issue #9433 :
`testUpdateAclInsertingMultipleObjectFieldAcesThrowsDBConstraintViolations()`
`testUpdateAclDeletingObjectFieldAcesThrowsDBConstraintViolations()`

The change to `updateAces()` line 857 is enough to make the first test succeed. When changing the `order` field value to a higher value, we must first change the value of the next entry (and all the next entries recursively) to preserve uniqueness of the `order` field in the database.

All the other changes are for the second test. In the former `updateAcl()` method, we commit the changes of the existing ACEs to the database before deleting or adding the new ones. We must delete the old ACEs before changing the existing ACEs in order to preserve uniqueness of the `order` field in the database.

Commits
-------

a38fab9 [Acl] Fix for issue #9433
2013-11-22 18:20:31 +01:00
Guillaume Royer
a38fab9b83 [Acl] Fix for issue #9433 2013-11-22 18:20:31 +01:00
Fabien Potencier
a8c74d1880 [Security] optimized ExpressionVoter 2013-11-22 14:45:43 +01:00
Jakub Zalas
d553347549 [Security] Added a missing field in SimpleAuthenticationHandler 2013-11-21 07:37:18 +01:00
David Stone
edae59c242 [AclProvider] Fix incorrect behaviour when partial results returned from cache 2013-11-15 12:54:31 -07:00
Tobias Schultze
077a089b4e unify missing parentheses 2013-11-14 15:30:56 +01:00
Tobias Schultze
111ac18232 unify constructor initialization style throughout symfony 2013-11-11 19:40:07 +01:00
Fabien Potencier
b9b7c8ac8e minor #9427 adjust doctrine dependencies (Tobion)
This PR was merged into the master branch.

Discussion
----------

adjust doctrine dependencies

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

I went through all components/bundles/bridges in symfony and searched for doctrine dependencies. Then looked if it only requires a subset (annotations instead of common for example).

Commits
-------

7366901 adjust doctrine dependencies
2013-11-09 13:05:18 +01:00
Tobias Schultze
7366901691 adjust doctrine dependencies 2013-11-07 14:20:52 +01:00
mieszko4
38433d765c Fix bug with variable named context to securityContext in SimplePreAuthenticationListener->handle function 2013-11-05 22:11:59 +01:00
Fabien Potencier
23f12faa53 fixed CS 2013-10-30 09:33:58 +01:00
Fabien Potencier
9138e1a64c Merge branch '2.3'
* 2.3:
  fixed CS
  fixed CS
  [HttpKernel] fixed memory limit display in MemoryDataCollector
  Fixed the error handling when decoding invalid XML to avoid a Warning
  [Form] Fixed: The "data" option is taken into account even if it is NULL
  [DomCrawler] [HttpFoundation] Make `Content-Type` attributes identification case-insensitive

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Templating/TimedPhpEngineTest.php
2013-10-30 09:31:46 +01:00
Fabien Potencier
43f749e507 Merge branch '2.2' into 2.3
* 2.2:
  fixed CS
  Fixed the error handling when decoding invalid XML to avoid a Warning
  [Form] Fixed: The "data" option is taken into account even if it is NULL
  [DomCrawler] [HttpFoundation] Make `Content-Type` attributes identification case-insensitive

Conflicts:
	src/Symfony/Component/Form/Extension/Core/Type/FormType.php
2013-10-30 09:28:22 +01:00
Fabien Potencier
0211c387d3 fixed CS 2013-10-30 09:27:36 +01:00
Fabien Potencier
a8acbf8fed Merge branch '2.3'
* 2.3:
  Fixed English usage for existing users.
  Clean up of WebProfiler Controller classes:
  [Process] Fix #9343 : revert file handle usage on Windows platform
2013-10-26 09:53:03 +02:00
Fabien Potencier
c1247a2054 Merge branch '2.2' into 2.3
* 2.2:
  Fixed English usage for existing users.
  [Process] Fix #9343 : revert file handle usage on Windows platform
2013-10-26 09:52:48 +02:00
Michael Genereux
95bca6cbf0 Fixed English usage for existing users. 2013-10-24 21:28:54 +02:00
Fabien Potencier
1206176fc4 Merge branch '2.3'
* 2.3:
  [DoctrineBridge] Added type check to prevent calling clear() on arrays
  [Intl] Improved FormTypeCsrfExtension to use the type class as default intention if the form name is empty
  Fix docblock typo
2013-10-18 17:01:47 +02:00
Fabien Potencier
60a14f6ffe Merge branch '2.2' into 2.3
* 2.2:
  [DoctrineBridge] Added type check to prevent calling clear() on arrays
  [Intl] Improved FormTypeCsrfExtension to use the type class as default intention if the form name is empty
  Fix docblock typo

Conflicts:
	src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php
2013-10-18 17:00:23 +02:00
Fabien Potencier
bae30242cb minor #9311 [Csrf] component fixes (Tobion)
This PR was squashed before being merged into the master branch (closes #9311).

Discussion
----------

[Csrf] component fixes

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

- [Csrf] fixed some phpdocs
- [Csrf] fixed return types (also https://github.com/symfony/symfony/pull/9216#discussion_r6797190 )
- [Csrf] fixed test class namespaces

Commits
-------

d7eb8ff [Csrf] component fixes
2013-10-17 23:29:17 +02:00
Tobias Schultze
d7eb8ff64a [Csrf] component fixes 2013-10-17 23:29:16 +02:00
Adrien Brault
fd869cf295 Fix docblock typo 2013-10-17 23:27:38 +02:00
Fabien Potencier
34103c1d7a Merge branch '2.3'
* 2.3:
  Improve documentation of X-Forwarded-For header handling
  [DoctrineBridge] Loosened CollectionToArrayTransformer::transform() to accept arrays
  Removed unused use statements.
  Make usleep longer and simplify assertions
  Added japanese translation resource for security component.
  Replaced the @inheritdoc with an actual list of params since the original method has a different signature.
  fix typo : StdClass should be stdClass with little "s"
  Remove unnecessary continue from Request
  [Yaml] Fixed the escaping of strings starting with a dash when dumping
  Fix in ChainLoader.php
  fixed wrong started states
2013-10-17 13:48:11 +02:00
Fabien Potencier
8e21cac9e1 Merge branch '2.2' into 2.3
* 2.2:
  [DoctrineBridge] Loosened CollectionToArrayTransformer::transform() to accept arrays
  Removed unused use statements.
  Make usleep longer and simplify assertions
  Added japanese translation resource for security component.
  [Yaml] Fixed the escaping of strings starting with a dash when dumping
  Fix in ChainLoader.php
  fixed wrong started states
2013-10-17 13:48:01 +02:00
Hugo Hamon
0946be6c5b Removed unused use statements. 2013-10-16 14:19:20 +02:00
Hugo Hamon
eced94b7b9 Removed dead code (unused use statements). 2013-10-16 13:59:56 +02:00
hidenorigoto
26e50fff97 Added japanese translation resource for security component. 2013-10-15 18:57:17 +02:00
Fabien Potencier
7b2fd0bdce Merge branch '2.3'
* 2.3:
  bumped Symfony version to 2.3.7
  updated VERSION for 2.3.6
  updated CHANGELOG for 2.3.6
  bumped Symfony version to 2.2.10
  updated VERSION for 2.2.9
  update CONTRIBUTORS for 2.2.9
  updated CHANGELOG for 2.2.9
  [Security] limited the password length passed to encoders
  [HttpKernel] Fixed a test (compiler pass class name has been changed).
  assets:install command should mirror .dotfiles (.htaccess)
  PoFileDumper - PO headers
  removed whitespaces

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Security/Core/Encoder/BCryptPasswordEncoder.php
	src/Symfony/Component/Security/Core/Encoder/BasePasswordEncoder.php
	src/Symfony/Component/Security/Core/Encoder/MessageDigestPasswordEncoder.php
	src/Symfony/Component/Security/Core/Encoder/Pbkdf2PasswordEncoder.php
	src/Symfony/Component/Security/Core/Encoder/PlaintextPasswordEncoder.php
	src/Symfony/Component/Security/Core/Tests/Encoder/MessageDigestPasswordEncoderTest.php
	src/Symfony/Component/Security/Core/Tests/Encoder/Pbkdf2PasswordEncoderTest.php
	src/Symfony/Component/Security/Core/Tests/Encoder/PlaintextPasswordEncoderTest.php
2013-10-10 16:19:44 +02:00
Fabien Potencier
e7df974ab8 Merge branch '2.2' into 2.3
* 2.2:
  bumped Symfony version to 2.2.10
  updated VERSION for 2.2.9
  update CONTRIBUTORS for 2.2.9
  updated CHANGELOG for 2.2.9
  [Security] limited the password length passed to encoders
  assets:install command should mirror .dotfiles (.htaccess)
  PoFileDumper - PO headers
  removed whitespaces

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Security/Core/Encoder/BCryptPasswordEncoder.php
2013-10-10 15:12:30 +02:00
Fabien Potencier
67d4a8f8af [Security] limited the password length passed to encoders 2013-10-10 14:05:52 +02:00
Bernhard Schussek
d4bb5f4e3c [Security\Csrf] Split CsrfTokenGenerator into CsrfTokenManager and TokenGenerator 2013-10-07 14:50:43 +02:00
Fabien Potencier
f8f8816e4b Merge branch '2.3'
* 2.3:
  Fix: duplicate usage of Symfony\Component\HttpFoundation\Response
  [Form] add support for Length and Range constraint in order to replace MaxLength, MinLength, Max and Min constraints in next release (2.3)
  Revert "merged branch Tobion/flattenexception (PR #9111)"
  [Form] check the required output timezone against the actual timezone of the input datetime object, rather than the expected timezone supplied

Conflicts:
	src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php
2013-10-01 16:17:10 +02:00
Fabien Potencier
82f6a62bb3 Merge branch '2.2' into 2.3
* 2.2:
  Fix: duplicate usage of Symfony\Component\HttpFoundation\Response
2013-10-01 16:16:42 +02:00
simpson
70cbfc3180 Fix: duplicate usage of Symfony\Component\HttpFoundation\Response 2013-10-01 16:15:07 +02:00
Bernhard Schussek
7c7d86e369 [Security] Fixed test cases of the Csrf sub-component 2013-10-01 10:18:52 +02:00
Fabien Potencier
2cd6e002c7 feature#8957 [HttpFoundation] added a way to override the Request class (fabpot)
This PR was merged into the master branch.

Discussion
----------

[HttpFoundation] added a way to override the Request class

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #7461, #7453
| License       | MIT
| Doc PR        | symfony/symfony-docs#3021

This is an alternative implementation for #7461.

I've also reverted #7381 and #7390 as these changes are not needed anymore.

Todo:

 - [ ] add some tests

Commits
-------

464439d [HttpFoundation] added a way to override the Request class
2013-10-01 07:05:57 +02:00
Fabien Potencier
464439d195 [HttpFoundation] added a way to override the Request class 2013-09-30 22:35:02 +02:00
Fabien Potencier
0f80916313 feature#6554 [Security] Added Security\Csrf sub-component with better token generation (bschussek)
This PR was merged into the master branch.

Discussion
----------

[Security] Added Security\Csrf sub-component with better token generation

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

**Update September 27, 2013**

This PR simplifies the CSRF mechanism to generate completely random tokens. A random token is generated once per ~~intention~~ token ID and then stored in the session. Tokens are valid until the session expires.

Since the CSRF token generator depends on `StringUtils` and `SecureRandom` from Security\Core, and since Security\Http currently depends on the Form component for token generation, I decided to add a new Security\Csrf sub-component that contains the improved CSRF token generator. Consequences:

* Security\Http now depends on Security\Csrf instead of Form
* Form now optionally depends on Security\Csrf
* The configuration for the "security.secure_random" service and the "security.csrf.*" services was moved to FrameworkBundle to guarantee BC

In the new Security\Csrf sub-component, I tried to improve the naming where I could do so without breaking BC:

* CSRF "providers" are now called "token generators"
* CSRF "intentions" are now called "token IDs", because that's really what they are

##### TODO

- [ ] The documentation needs to be checked for references to the configuration of the application secret. Remarks that the secret is used for CSRF protection need to be removed.
- [ ] Add aliases "csrf_token_generator" and "csrf_token_id" for "csrf_provider" and "intention" in the SecurityBundle configuration
- [x] Make sure `SecureRandom` never blocks for `CsrfTokenGenerator`

Commits
-------

7f02304 [Security] Added missing PHPDoc tag
2e04e32 Updated Composer dependencies to require the Security\Csrf component where necessary
bf85e83 [FrameworkBundle][SecurityBundle] Added service configuration for the new Security CSRF sub-component
2048cf6 [Form] Deprecated the CSRF implementation and added an optional dependency to the Security CSRF sub-component instead
85d4959 [Security] Changed Security HTTP sub-component to depend on CSRF sub-component instead of Form
1bf1640 [Security] Added CSRF sub-component
2013-09-30 17:35:08 +02:00
Bernhard Schussek
7f02304654 [Security] Added missing PHPDoc tag 2013-09-30 15:41:48 +02:00
Bernhard Schussek
2e04e32c8f Updated Composer dependencies to require the Security\Csrf component where necessary 2013-09-30 14:39:06 +02:00
Fabien Potencier
d10dec9bf3 Merge branch '2.3'
* 2.3:
  fixed Client when using the terminable event
  Fix problem with Windows file links (backslash in JavaScript string)
  [Security] fixed wrong phpdoc
  [DependencyInjection] Prevented inlining of lazy loaded private service definitions.
  [Routing] removed extra argument
  [HttpFoundation] Header `HTTP_X_FORWARDED_PROTO` can contain various values Some proxies use `ssl` instead of `https`, as well as Lighttpd mod_proxy allows value chaining (`https, http`, where `https` is always first when request is encrypted).
  Added doc comments

Conflicts:
	src/Symfony/Component/Routing/Router.php
	src/Symfony/Component/Security/Http/Firewall.php
2013-09-29 21:43:28 +02:00
Fabien Potencier
bc256f9da4 Merge branch '2.2' into 2.3
* 2.2:
  fixed Client when using the terminable event
  Fix problem with Windows file links (backslash in JavaScript string)
  [Security] fixed wrong phpdoc
  [Routing] removed extra argument
  [HttpFoundation] Header `HTTP_X_FORWARDED_PROTO` can contain various values Some proxies use `ssl` instead of `https`, as well as Lighttpd mod_proxy allows value chaining (`https, http`, where `https` is always first when request is encrypted).
  Added doc comments

Conflicts:
	src/Symfony/Component/HttpFoundation/Request.php
2013-09-29 21:41:41 +02:00
Fabien Potencier
27cc10c660 [Security] fixed wrong phpdoc 2013-09-27 18:31:48 +02:00
Fabien Potencier
9f35ca5ea1 Merge branch '2.3'
* 2.3:
  bumped Symfony version to 2.3.6
  updated VERSION for 2.3.5
  updated CHANGELOG for 2.3.5
  Set cost type to integer
  bumped Symfony version to 2.2.9
  updated VERSION for 2.2.8
  updated CHANGELOG for 2.2.8
  bumped the version
  fixed typo
  updated VERSION for 2.2.7
  update CONTRIBUTORS for 2.2.7
  updated CHANGELOG for 2.2.7
  bugix: CookieJar returns cookies with domain "domain.com" for domain "foodomain.com"
  fixed HTML5 form attribute handling XPath query
  Removed old way of building icu data.

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-09-27 16:07:49 +02:00
Bernhard Schussek
85d49597a9 [Security] Changed Security HTTP sub-component to depend on CSRF sub-component instead of Form 2013-09-27 10:08:57 +02:00
Bernhard Schussek
1bf16400fb [Security] Added CSRF sub-component 2013-09-27 10:08:54 +02:00
datibbaw
8753db942a Set cost type to integer
This seems to be a remnant of when the code dealt with crypt() directly. The password_hash() function expects the cost option to be an LVAL (it does a type conversion for strings).
2013-09-27 09:20:28 +02:00
Fabien Potencier
f7d0ec6f4a [Security] limited the password length passed to encoders 2013-09-23 09:15:09 +02:00
Fabien Potencier
b1542f0620 Merge branch '2.3'
* 2.3:
  [Locale] added support for the position argument to NumberFormatter::parse()
  [Locale] added some more stubs for the number formatter
  [Yaml] fixed typo
  [Yaml] fixed a test on PHP < 5.4
  [DomCrawler]Crawler guess charset from html
  fixed PHP 5.3 compatibility
  [Yaml] reverted previous merge partially (refs #8897)
  [Security] remove unused logger
  [Security] fix typo
  [Yaml] Fixed filename in the ParseException message
2013-09-22 20:04:51 +02:00
Fabien Potencier
775a39c5c3 Merge branch '2.2' into 2.3
* 2.2:
  [Locale] added support for the position argument to NumberFormatter::parse()
  [Locale] added some more stubs for the number formatter
  [Yaml] fixed typo
  [Yaml] fixed a test on PHP < 5.4
  [DomCrawler]Crawler guess charset from html
  fixed PHP 5.3 compatibility
  [Yaml] reverted previous merge partially (refs #8897)
  [Security] remove unused logger
  [Security] fix typo
  [Yaml] Fixed filename in the ParseException message

Conflicts:
	src/Symfony/Component/Console/Input/InputDefinition.php
	src/Symfony/Component/Locale/Stub/StubNumberFormatter.php
	src/Symfony/Component/Locale/Tests/Stub/StubNumberFormatterTest.php
2013-09-22 20:04:39 +02:00
Fabien Potencier
e8691366ce [ExpressionLanguage] renamed addFunction() to register() 2013-09-21 20:20:49 +02:00
Piotr Antosik
7ee39a630d Added doc comments 2013-09-19 18:46:04 +02:00
Fabien Potencier
ca62f65887 merged branch fabpot/expression-engine (PR #8913)
This PR was merged into the master branch.

Discussion
----------

New Component: Expression Language

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

TODO:

 - [ ] write documentation
 - [x] add tests for the new component
 - [x] implement expression support for access rules in the security component
 - [x] find a better character/convention for expressions in the YAML format
 - [x] check the performance of the evaluation mode
 - [x] better error messages in the evaluation mode
 - [x] add support in the Routing
 - [x] add support in the Validator

The ExpressionLanguage component provides an engine that can compile and
evaluate expressions.

An expression is a one-liner that returns a value (mostly, but not limited to, Booleans).

It is a strip-down version of Twig (only the expression part of it is
implemented.) Like Twig, the expression is lexed, parsed, and
compiled/evaluated. So, it is immune to external injections by design.

If we compare it to Twig, here are the main big differences:

 * only support for Twig expressions
 * no ambiguity for calls (foo.bar is only valid for properties, foo['bar'] is only valid for array calls, and foo.bar() is required for method calls)
 * no support for naming conventions in method calls (if the method is named getFoo(), you must use getFoo() and not foo())
 * no notion of a line for errors, but a cursor (we are mostly talking about one-liners here)
 * removed everything specific to the templating engine (like output escaping or filters)
 * no support for named arguments in method calls
 * only one extension point with functions (no possibility to define new operators, ...)
 * and probably even more I don't remember right now
 * there is no need for a runtime environment, the compiled PHP string is self-sufficient

An open question is whether we keep the difference betweens arrays and hashes.

The other big difference with Twig is that it can work in two modes (possible
because of the restrictions described above):

 * compilation: the expression is compiled to PHP and is self-sufficient
 * evaluation: the expression is evaluated without being compiled to PHP (the node tree produced by the parser can be serialized and evaluated afterwards -- so it can be saved on disk or in a database to speed up things when needed)

Let's see a simple example:

```php
$language = new ExpressionLanguage();

echo $language->evaluate('1 + 1');
// will echo 2

echo $language->compile('1 + 2');
// will echo "(1 + 2)"
```

The language supports:

 * all basic math operators (with precedence rules):
    * unary: not, !, -, +
    * binary: or, ||, and, &&, b-or, b-xor, b-and, ==, ===, !=, !==, <, >, >=, <=, not in, in, .., +, -, ~, *, /, %, **

 * all literals supported by Twig: strings, numbers, arrays (`[1, 2]`), hashes
   (`{a: "b"}`), Booleans, and null.

 * simple variables (`foo`), array accesses (`foo[1]`), property accesses
   (`foo.bar`), and method calls (`foo.bar(1, 2)`).

 * the ternary operator: `true ? true : false` (and all the shortcuts
   implemented in Twig).

 * function calls (`constant('FOO')` -- `constant` is the only built-in
   functions).

 * and of course, any combination of the above.

The compilation is better for performances as the end result is just a plain PHP string without any runtime. For the evaluation, we need to tokenize, parse, and evaluate the nodes on the fly. This can be optimized by using a `ParsedExpression` or a `SerializedParsedExpression` instead:

```php
$nodes = $language->parse($expr, $names);
$expression = new SerializedParsedExpression($expr, serialize($nodes));

// You can now store the expression in a DB for later reuse

// a SerializedParsedExpression can be evaluated like any other expressions,
// but under the hood, the lexer and the parser won't be used at all, so it''s much faster.
$language->evaluate($expression);
```
That's all folks!

I can see many use cases for this new component, and we have two use cases in
Symfony that we can implement right away.

## Using Expressions in the Service Container

The first one is expression support in the service container (it would replace
#8850) -- anywhere you can pass an argument in the service container, you can
use an expression:

```php
$c->register('foo', 'Foo')->addArgument(new Expression('bar.getvalue()'));
```

You have access to the service container via `this`:

    container.get("bar").getvalue(container.getParameter("value"))

The implementation comes with two functions that simplifies expressions
(`service()` to get a service, and `parameter` to get a parameter value). The
previous example can be simplified to:

    service("bar").getvalue(parameter("value"))

Here is how to use it in XML:

```xml
<parameters>
    <parameter key="value">foobar</parameter>
</parameters>
<services>
    <service id="foo" class="Foo">
        <argument type="expression">service('bar').getvalue(parameter('value'))</argument>
    </service>
    <service id="bar" class="Bar" />
</services>
```

and in YAML (I chose the syntax randomly ;)):

```yaml
parameters:
    value: foobar

services:
    bar:
        class: Bar

    foo:
        class: Foo
        arguments: [@=service("bar").getvalue(parameter("value"))]
```

When using the container builder, Symfony uses the evaluator, but with the PHP
dumper, the compiler is used, and there is no overhead as the expression
engine is not needed at runtime. The expression above would be compiled to:

```php
$this->get("bar")->getvalue($this->getParameter("value"))
```

## Using Expression for Security Access Control Rules

The second use case in Symfony is for access rules.

As we all know, the way to configure the security access control rules is confusing, which might lead to insecure applications (see http://symfony.com/blog/security-access-control-documentation-issue for more information).

Here is how the new `allow_if` works:

```yaml
access_control:
    - { path: ^/_internal/secure, allow_if: "'127.0.0.1' == request.getClientIp() or has_role('ROLE_ADMIN')" }
```

This one restricts the URLs starting with `/_internal/secure` to people browsing from the localhost. Here, `request` is the current Request instance. In the expression, there is access to the following variables:

 * `request`
 * `token`
 * `user`

And to the following functions:

 * `is_anonymous`
 * `is_authenticated`
 * `is_fully_authenticated`
 * `is_rememberme`
 * `has_role`

You can also use expressions in Twig, which works well with the `is_granted` function:

```jinja
{% if is_granted(expression('has_role("FOO")')) %}
   ...
{% endif %}
```

## Using Expressions in the Routing

Out of the box, Symfony can only match an incoming request based on some pre-determined variables (like the path info, the method, the scheme, ...). But some people want to be able to match on more complex logic, based on other information of the Request object. That's why we introduced `RequestMatcherInterface` recently (but we no default implementation in Symfony itself).

The first change I've made (not related to expression support) is implement this interface for the default `UrlMatcher`. It was simple enough.

Then, I've added a new `condition` configuration for Route objects, which allow you to add any valid expression. An expression has access to the `request` and to the routing `context`.

Here is how one would configure it in a YAML file:

```yaml
hello:
    path: /hello/{name}
    condition: "context.getMethod() in ['GET', 'HEAD'] and request.headers.get('User-Agent') =~ '/firefox/i'"
```

Why do I keep the context as all the data are also available in the request? Because you can also use the condition without using the RequestMatcherInterface, in which case, you don't have access to the request. So, the previous example is equivalent to:

```yaml
hello:
    path: /hello/{name}
    condition: "request.getMethod() in ['GET', 'HEAD'] and request.headers.get('User-Agent') =~ '/firefox/i'"
```

When using the PHP dumper, there is no overhead as the condition is compiled. Here is how it looks like:

```php
// hello
if (0 === strpos($pathinfo, '/hello') && preg_match('#^/hello/(?P<name>[^/]++)$#s', $pathinfo, $matches) && (in_array($context->getMethod(), array(0 => "GET", 1 => "HEAD")) && preg_match("/firefox/i", $request->headers->get("User-Agent")))) {
    return $this->mergeDefaults(array_replace($matches, array('_route' => 'hello')), array ());
}
```

Be warned that conditions are not taken into account when generating a URL.

## Using Expressions in the Validator

There is a new Expression constraint that you can put on a class. The expression is then evaluated for validation:

```php
use Symfony\Component\Validator\Constraints as Assert;

/**
 * @Assert\Condition(condition="this.getFoo() == 'fo'", message="Not good!")
 */
class Obj
{
    public function getFoo()
    {
        return 'foo';
    }
}
```

In the expression, you get access to the current object via the `this` variable.

## Dynamic annotations

The expression language component is also very useful in annotations. the SensoLabs FrameworkExtraBundle leverages this possibility to implement HTTP validation caching in the `@Cache` annotation and to add a new `@Security` annotation (see sensiolabs/SensioFrameworkExtraBundle#238.)

Commits
-------

d4ebbfd [Validator] Renamed Condition to Expression and added possibility to set it onto properties
a3b3a78 [Validator] added a constraint that runs an expression
1bcfb40 added optimized versions of expressions
984bd38 mades things more consistent for the end user
d477f15 [Routing] added support for expression conditions in routes
86ac8d7 [ExpressionLanguage] improved performance
e369d14 added a Twig extension to create Expression instances
38b7fde added support for expression in control access rules
2777ac7 [HttpFoundation] added ExpressionRequestMatcher
c25abd9 [DependencyInjection] added support for expressions in the service container
3a41781 [ExpressionLanguage] added support for regexes
9d98fa2 [ExpressionLanguage] added the component
2013-09-19 13:00:34 +02:00
Fabien Potencier
984bd38568 mades things more consistent for the end user 2013-09-19 12:59:11 +02:00
Fabien Potencier
38b7fde8ed added support for expression in control access rules 2013-09-19 12:59:11 +02:00
Fabien Potencier
6a36fb6311 merged branch Tobion/security-fix-typo (PR #9069)
This PR was merged into the 2.2 branch.

Discussion
----------

[Security] fix typo and remove unused logger

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

Commits
-------

a33cc51 [Security] remove unused logger
62de9c1 [Security] fix typo
2013-09-19 11:48:50 +02:00
Fabien Potencier
12c0b74eac merged branch nicolas-bastien/remove_unsued_statement (PR #9075)
This PR was merged into the master branch.

Discussion
----------

[Security] Remove unused use statement

Commits
-------

6981669 Remove unused use statement
2013-09-19 11:48:08 +02:00
Fabien Potencier
51c6d7696c Merge branch '2.3'
* 2.3:
  fixed phpdoc
  Fix some annotates
  [FrameworkBundle] made sure that the debug event dispatcher is used everywhere
  [HttpKernel] remove unneeded strtoupper
  updated the composer install command to reflect changes in Composer

Conflicts:
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
2013-09-19 11:47:34 +02:00
Fabien Potencier
88cef41560 Merge branch '2.2' into 2.3
* 2.2:
  Fix some annotates
  [FrameworkBundle] made sure that the debug event dispatcher is used everywhere
  [HttpKernel] remove unneeded strtoupper
  updated the composer install command to reflect changes in Composer

Conflicts:
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/Console/Command/Command.php
	src/Symfony/Component/Console/Input/InputDefinition.php
	src/Symfony/Component/CssSelector/Node/CombinedSelectorNode.php
	src/Symfony/Component/Form/Form.php
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
	src/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php
	src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RegisterListenersPassTest.php
	src/Symfony/Component/Locale/Locale.php
	src/Symfony/Component/Locale/README.md
	src/Symfony/Component/Locale/Stub/DateFormat/FullTransformer.php
2013-09-19 11:45:20 +02:00
bronze1man
de39bd5433 Fix some annotates 2013-09-19 11:36:05 +02:00
Nicolas Bastien
6981669e08 Remove unused use statement 2013-09-19 10:36:42 +02:00
Tobias Schultze
a33cc51648 [Security] remove unused logger 2013-09-18 18:54:35 +02:00
Tobias Schultze
62de9c1f19 [Security] fix typo 2013-09-18 17:42:47 +02:00
Fabien Potencier
9783decb13 merged branch alexpods/patch-4 (PR #9066)
This PR was merged into the master branch.

Discussion
----------

[Security] Delete unnecessary "use" statements

 Delete unnecessary "use" statements in SimpleAuthenticationProvider

Commits
-------

82de3ba [Security] [SimpleAuthenticationProvider] Delete unnecessary "use" statements
2013-09-18 16:35:01 +02:00
Fabien Potencier
14e9f46085 [Security] removed unneeded hard dependencies in Core 2013-09-18 14:24:03 +02:00
Fabien Potencier
5dbec8a060 [Security] fixed README files 2013-09-18 13:11:09 +02:00
Fabien Potencier
62bda7906b [Security] copied the Resources/ directory to Core/Resources/ 2013-09-18 13:11:09 +02:00
Aleksey Podskrebyshev
82de3ba420 [Security] [SimpleAuthenticationProvider] Delete unnecessary "use" statements 2013-09-18 12:27:27 +04:00
Fabien Potencier
c2144df888 updated the composer install command to reflect changes in Composer 2013-09-18 09:27:26 +02:00
Bernhard Schussek
7826781235 [Security] Split the component into 3 sub-components Core, ACL, HTTP 2013-09-18 09:16:41 +02:00
Tobias Schultze
08a42e7e79 [HttpKernel] made request stack feature BC 2013-09-17 18:23:22 +02:00
Fabien Potencier
fc437cf6fb Merge branch '2.3'
* 2.3:
  [FrameworkBundle][Security] Replaced void return type with null for consistency
  fixed CS
  NativeSessionStorage regenerate
  removed unneeded comment
  Use setTimeZone if this method exists.
  Fix FileResource test
  fixed wrong usage of unset()
  [HttpFoundation] Fixed the way path to directory is trimmed.
  [Console] Fixed argument parsing when a single dash is passed.
2013-09-13 14:20:47 +02:00
Fabien Potencier
33e9571886 Merge branch '2.2' into 2.3
* 2.2:
  [FrameworkBundle][Security] Replaced void return type with null for consistency
  fixed CS
  NativeSessionStorage regenerate
  removed unneeded comment
  Use setTimeZone if this method exists.
  Fix FileResource test
  fixed wrong usage of unset()
  [HttpFoundation] Fixed the way path to directory is trimmed.
  [Console] Fixed argument parsing when a single dash is passed.

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
2013-09-13 14:20:37 +02:00
Jakub Zalas
e4100ac2fa [FrameworkBundle][Security] Replaced void return type with null for consistency 2013-09-13 14:06:44 +02:00
Fabien Potencier
95483e518d Merge branch '2.3'
* 2.3:
  Fixed docblock in UserInterface::getSalt()
  [Process] Fix #8970 : read output once the process is finished, enable pipe tests on Windows
  [DoctrineBridge] Improved test coverage of EntityChoiceList
  [DoctrineBridge] Improved test coverage of EntityChoiceList
  [Form] Improved test coverage of ChoiceList classes
  [Form] Fixed expanded choice field to be marked invalid when unknown choices are submitted
  [Form] Fixed ChoiceList::get*By*() methods to preserve order and array keys
  [Form] Removed usage of the ChoiceList::getIndicesFor*() methods where they don't offer any performance benefit
  [Form] Improved test coverage of ChoiceList classes
  [Form] Fixed expanded choice field to be marked invalid when unknown choices are submitted
  [Form] Fixed ChoiceList::get*By*() methods to preserve order and array keys
  [Form] Removed usage of the ChoiceList::getIndicesFor*() methods where they don't offer any performance benefit
  Removed duplicate annotation
  [HttpKernel] made code more reliable
  [HttpFoundation] fixed regression in the way the request format is handled for duplicated requests (closes #8917)
  [HttpKernel] fixer HInclude src (closes #8951)
  Fixed escaping of service identifiers in configuration

Conflicts:
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/GenericEntityChoiceListTest.php
	src/Symfony/Bridge/Doctrine/Tests/Form/Type/EntityTypeTest.php
	src/Symfony/Component/HttpKernel/Tests/Fragment/HIncludeFragmentRendererTest.php
2013-09-10 22:30:47 +02:00
Fabien Potencier
eb9f76d5ba Merge branch '2.2' into 2.3
* 2.2:
  Fixed docblock in UserInterface::getSalt()
  [Process] Fix #8970 : read output once the process is finished, enable pipe tests on Windows
  [DoctrineBridge] Improved test coverage of EntityChoiceList
  [Form] Improved test coverage of ChoiceList classes
  [Form] Fixed expanded choice field to be marked invalid when unknown choices are submitted
  [Form] Fixed ChoiceList::get*By*() methods to preserve order and array keys
  [Form] Removed usage of the ChoiceList::getIndicesFor*() methods where they don't offer any performance benefit
  [HttpKernel] made code more reliable

Conflicts:
	src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/EntityChoiceListTest.php
	src/Symfony/Component/Form/Extension/Core/ChoiceList/ChoiceListInterface.php
	src/Symfony/Component/Form/Extension/Core/EventListener/FixRadioInputListener.php
	src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
	src/Symfony/Component/Form/Form.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/ChoiceTypeTest.php
	src/Symfony/Component/Process/Process.php
	src/Symfony/Component/Process/Tests/AbstractProcessTest.php
2013-09-10 22:24:28 +02:00
Jannik Zschiesche
1c623c6d46 Fixed docblock in UserInterface::getSalt()
This method can return null, too.
See the line above:

> "This can return null if the password was not encoded using a salt."
2013-09-10 19:35:57 +02:00
Fabien Potencier
1b2ef74a9a [Security] made sure that the exception listener is always removed from the event dispatcher at the end of the request 2013-09-08 15:18:27 +02:00
Fabien Potencier
091a96ca3d Merge branch '2.3'
* 2.3:
  Fixing singular form for kisses, accesses and addresses.
  fixed some circular references
  [Security] fixed a leak in ExceptionListener
  [Security] fixed a leak in the ContextListener
  Ignore posix_istatty warnings
  removed unused variable
  [Form] fix iterator typehint
  typos
  Button missing getErrorsAsString() fixes #8084 Debug: Not calling undefined method anymore. If the form contained a submit button the call would fail and the debug of the form wasn't possible. Now it will work in all cases. This fixes #8084
  Use isset() instead of array_key_exists() in DIC
  Fixed annotation
  [BrowserKit] fixed method/files/content when redirecting a request
  [BrowserKit] removed some headers when redirecting a request
  [BrowserKit] fixed headers when redirecting if history is set to false (refs #8697)
  [HttpKernel] fixed route parameters storage in the Request data collector (closes #8867)
  [BrowserKit] Pass headers when `followRedirect()` is called
  Return BC compatibility for `@Route` parameters and default values

Conflicts:
	src/Symfony/Component/Security/Http/Firewall/ContextListener.php
2013-09-06 20:21:06 +02:00
Fabien Potencier
702e652002 Merge branch '2.2' into 2.3
* 2.2:
  Fixing singular form for kisses, accesses and addresses.
  fixed some circular references
  [Security] fixed a leak in ExceptionListener
  [Security] fixed a leak in the ContextListener
  Ignore posix_istatty warnings
  typos
  [HttpKernel] fixed route parameters storage in the Request data collector (closes #8867)
  Return BC compatibility for `@Route` parameters and default values

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php
	src/Symfony/Component/Console/Application.php
2013-09-06 20:20:34 +02:00
Fabien Potencier
899f1760a6 [Security] fixed a leak in ExceptionListener 2013-09-06 16:13:07 +02:00
Fabien Potencier
2fd8a7acf3 [Security] fixed a leak in the ContextListener 2013-09-06 15:53:58 +02:00
Fabien Potencier
e838bf04ca Merge branch '2.3'
* 2.3:
  [Security] fixed some phpdoc
  Fixed PHPDoc Blocks
  optimized circular reference checker
  fixed misleading doc block
  [HttpKernel] changed fragment URLs to be relative by default (closes #8458)

Conflicts:
	src/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php
	src/Symfony/Component/HttpKernel/Tests/Fragment/RoutableFragmentRendererTest.php
2013-08-30 15:15:50 +02:00
Fabien Potencier
e8e5a3a2e5 Merge branch '2.2' into 2.3
* 2.2:
  [Security] fixed some phpdoc
  Fixed PHPDoc Blocks
  optimized circular reference checker
  [HttpKernel] changed fragment URLs to be relative by default (closes #8458)
2013-08-30 15:10:46 +02:00
Fabien Potencier
0bb76683c0 [Security] added a missing CHANGELOG enrty 2013-08-30 15:09:09 +02:00
Fabien Potencier
7f3878e1d9 merged branch vierbergenlars/patch-1 (PR #8854)
This PR was merged into the master branch.

Discussion
----------

[Security] Keep other query string parameters when switching users

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

When switching users, the whole query string gets dropped when redirecting after the switch.
I think only the switch user parameter should be dropped from the query string.

Commits
-------

0a338f5 [Security] Keep other query string parameters when switching users
2013-08-30 15:07:27 +02:00
Fabien Potencier
f02dbd6641 [Security] fixed some phpdoc 2013-08-30 14:58:19 +02:00
Fabien Potencier
feff411dfc Merge branch '2.3'
* 2.3:
  Clear lazy loading initializer after the service is successfully initialized
  [FrameworkBundle] added support for double-quoted strings in the extractor (closes #8797)
  [SecurityBundle] Move format-dependent tests from SecurityExtensionTest
  bumped Symfony version to 2.3.5-DEV
  updated VERSION for 2.3.4
  updated CHANGELOG for 2.3.4
  bumped Symfony version to 2.2.7
  updated VERSION for 2.2.6
  update CONTRIBUTORS for 2.2.6
  updated CHANGELOG for 2.2.6
  clearToken exception is thrown at wrong place.
  fix typo in test skipped message
  [Form] Fixed Form::all() signature for PHP 5.3.3
  [Form] Fixed Form::all() signature for PHP 5.3.3
  [Locale] Fixed: Locale::setDefault() throws no exception when "en" is passed
  [Locale] Fixed: StubLocale::setDefault() throws no exception when "en" is passed
  [Translation] Grammar fix
  [Yaml] fixed embedded folded string parsing
  [Validator] fixed Boolean handling in XML constraint mappings (closes #5603)
  [Translation] Fixed regression: When only one rule is passed to transChoice(), this rule should be used

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-08-29 08:54:01 +02:00
Lars Vierbergen
0a338f5497 [Security] Keep other query string parameters when switching users 2013-08-27 12:44:23 +02:00
Fabien Potencier
d75a35ef12 Merge branch '2.2' into 2.3
* 2.2:
  bumped Symfony version to 2.2.7
  updated VERSION for 2.2.6
  update CONTRIBUTORS for 2.2.6
  updated CHANGELOG for 2.2.6
  clearToken exception is thrown at wrong place.

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-08-27 10:54:20 +02:00
Xavier HAUSHERR
f936b41a90 clearToken exception is thrown at wrong place. 2013-08-26 16:47:55 +02:00
Pascal Borreli
d37404ccf7 Fixed typos 2013-08-24 07:54:37 +01:00
Fabien Potencier
1602746548 merged branch fabpot/tests-simplification (PR #8796)
This PR was merged into the master branch.

Discussion
----------

removed deps checks in unit 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

As Composer is now widely used in the PHP world, having to run composer install before running the test suite is expected. This also has the nice benefit of removing a bunch of code, making things easier to maintain (there is only one place to declare a dev dependency), and probably more.

see fabpot/Silex#626 where we did the same a while ago for Silex.

Commits
-------

de50621 removed deps checks in unit tests
2013-08-23 17:27:50 +02:00
Fabien Potencier
167245c9c7 Merge branch '2.3'
* 2.3:
  [Locale] fixed build-data exit code in case of an error
  fixed request format of sub-requests when explicitely set by the developer (closes #8787)
  Sets _format attribute only if it wasn't set previously by the user.
  Exclude little words of 'ee' to 'oo' plural transformation
  fixed the format of the request used to render an exception
  Fix typo in the check_path validator
  added a missing use statement (closes #8808)
  fix for Process:isSuccessful()
  Include untrusted host in the exception message

Conflicts:
	src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php
	src/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php
2013-08-22 08:44:20 +02:00
Fabien Potencier
8e1cb3e3ca Merge branch '2.2' into 2.3
* 2.2:
  [Locale] fixed build-data exit code in case of an error
  fixed request format of sub-requests when explicitely set by the developer (closes #8787)
  Sets _format attribute only if it wasn't set previously by the user.
  Exclude little words of 'ee' to 'oo' plural transformation
  fixed the format of the request used to render an exception
  Fix typo in the check_path validator
  added a missing use statement (closes #8808)
  fix for Process:isSuccessful()

Conflicts:
	UPGRADE-3.0.md
	src/Symfony/Component/Locale/Resources/data/build-data.php
2013-08-22 08:42:25 +02:00
Fabien Potencier
5f7219e2ab added a missing use statement (closes #8808) 2013-08-21 22:48:51 +02:00
Fabien Potencier
de50621e8a removed deps checks in unit tests
As Composer is now widely used in the PHP world, having to run composer
install before running the test suite is expected. This also has the
nice benefit of removing a bunch of code, making things easier to
maintain (there is only one place to declare a dev dependency), and
probably more.
2013-08-19 22:44:22 +02:00
Fabien Potencier
a67f5d03d1 Merge branch '2.3'
* 2.3:
  [Process] Revert change
  [Process] Fix #8746 : slowness added in unit tests since #8741
  [Process] Fix #8742 : Signal-terminated processes are not successful
  corrected English grammar (s/does not exists/does not exist)
  [Process] Add more precision to Process::stop timeout
  [Process] Avoid zombie process in case of unit tests failure
  [Process] Fix #8739
  [Process] Add failing test for #8739
  [Process] Fix CS
  [TwigBridge] removed superflous ; when rendering form_enctype() (closes #8660)
  Fixed documentation grammar for AuthenticationManagerInterface::authenticate()
  [Validator] fixed the wrong isAbstract() check against the class (fixed #8589)
  [TwigBridge] Prevent code extension to display warning
  Fix internal sub-request creation
  [FrameworkBundle] made code more generic
  [Form] Moved auto_initialize option to the BaseType
  Use strstr instead of strpos
  Make sure ContextErrorException is loaded during compile time errors
  Fix empty process argument escaping on Windows
  Ignore null value in comparison validators

Conflicts:
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
	src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
	src/Symfony/Component/Process/Process.php
2013-08-14 15:08:25 +02:00
Fabien Potencier
11018011dd Merge branch '2.2' into 2.3
* 2.2:
  corrected English grammar (s/does not exists/does not exist)
  [Process] Add more precision to Process::stop timeout
  [Process] Avoid zombie process in case of unit tests failure
  [Process] Fix #8739
  [Process] Add failing test for #8739
  [Process] Fix CS
  Fixed documentation grammar for AuthenticationManagerInterface::authenticate()
  [Validator] fixed the wrong isAbstract() check against the class (fixed #8589)
  [TwigBridge] Prevent code extension to display warning
  Use strstr instead of strpos

Conflicts:
	src/Symfony/Component/Finder/Shell/Command.php
	src/Symfony/Component/Process/Process.php
2013-08-13 22:18:00 +02:00
Jaik Dean
9a29e5bade Fixed documentation grammar for AuthenticationManagerInterface::authenticate() 2013-08-13 09:47:14 +02:00
Dennis Benkert
ee36380524 [Security] Added a check for strategies in AccessDecisionManager 2013-08-12 21:21:22 +02:00
Kris Wallsmith
554f95fd9f [HttpKernel] added $event->isMasterRequest() 2013-08-08 14:41:21 -07:00
Fabien Potencier
15fdb709ee Merge branch '2.3'
* 2.3:
  fix some file mode bug 755->644
2013-08-06 07:49:35 +02:00
Fabien Potencier
4de3a06f9b Merge branch '2.2' into 2.3
* 2.2:
  fix some file mode bug 755->644
2013-08-06 07:49:23 +02:00
bronze1man
addd560b0d fix some file mode bug 755->644 2013-08-06 10:31:28 +08:00
Fabien Potencier
4ee3d7f11a Merge branch '2.3'
* 2.3:
  moved some fixed dep versions from 2.2.* to ~2.2 (refs #8613)
  [HttpKernel] added a missing dep for dev
  [Form] fixed wrong call to setTimeZone() (closes #8644)
  Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
  [Form] Fixed patched forms to be valid even if children are not submitted
  Revert "[Form] Fix of "PATCH'ed forms are never valid""
  [Form] Fixed: If a form is not present in a request, it is not automatically submitted
  Fixes link indices
  [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
  Revert "[Form] Remove "value" attribute on empty_value option"
  [routing] added ability for apache matcher to handle array values
  removed dead code and fixed CS
  [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)
2013-08-02 22:53:46 +02:00
Fabien Potencier
64535bbcb2 Merge branch '2.2' into 2.3
* 2.2:
  [HttpKernel] added a missing dep for dev
  [Form] fixed wrong call to setTimeZone() (closes #8644)
  Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
  [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
  [routing] added ability for apache matcher to handle array values
  removed dead code and fixed CS
  [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)

Conflicts:
	src/Symfony/Bundle/TwigBundle/TokenParser/RenderTokenParser.php
	src/Symfony/Component/Form/FormConfigBuilder.php
	src/Symfony/Component/HttpKernel/composer.json
	src/Symfony/Component/Validator/Tests/GraphWalkerTest.php
2013-08-02 22:53:38 +02:00
Fabien Potencier
7d581471ce removed dead code and fixed CS 2013-07-28 20:26:16 +02:00
Fabien Potencier
1d86ea10ff Merge branch '2.3'
* 2.3:
  [Validator] fixed ConstraintViolation:: incorrect when nested
  handle Optional and Required constraints from XML or YAML sources correctly
  added missing comments to WebTestCase
  Fixed #8455: PhpExecutableFinder::find() does not always return the correct binary
  Added missing files .gitignore
  [DependencyInjection] Fix Container::camelize to convert beginning and ending chars
  [Validator] Fixed groups argument misplace for validateValue method from validator class
  [Form] Fix of "PATCH'ed forms are never valid"
2013-07-21 22:19:01 +02:00
Fabien Potencier
9601f611c3 [Security] updated CHANGELOG (refs #8195) 2013-07-21 21:36:38 +02:00
Jon Cave
f7bb5de804 Use HMAC construction for remember me cookie hashes 2013-07-21 21:35:20 +02:00
Martin Hasoň
4146587ce7 Added missing files .gitignore 2013-07-21 14:12:18 +02:00
Fabien Potencier
0cac9a11cf Merge branch '2.3'
* 2.3:
  [PropertyAccess] added moves to pluralMap
  [Security] fixed issue where authentication listeners clear unrelated tokens
  added greek translation
  [DependencyInjection] Add exception for service name not dumpable in PHP
  bumped Symfony version to 2.3.3-DEV
  fix issue #8499 modelChoiceList call getPrimaryKey on a non object
  updated VERSION for 2.3.2
  updated CHANGELOG for 2.3.2
  [DependencyInjection] Add exception for service name not dumpable in PHP
  fixed typo
  bumped Symfony version to 2.2.5
  updated VERSION for 2.2.4
  update CONTRIBUTORS for 2.2.4
  updated CHANGELOG for 2.2.4
  Fixed NativeSessionStorage:regenerate when does not exists
  removed extraneous whitespaces

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2013-07-20 09:42:41 +02:00
Fabien Potencier
183796312d Merge branch '2.2' into 2.3
* 2.2:
  [PropertyAccess] added moves to pluralMap
  [Security] fixed issue where authentication listeners clear unrelated tokens
  fix issue #8499 modelChoiceList call getPrimaryKey on a non object
  [DependencyInjection] Add exception for service name not dumpable in PHP

Conflicts:
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php
	src/Symfony/Component/Security/Tests/Http/Firewall/BasicAuthenticationListenerTest.php
2013-07-20 09:42:02 +02:00
alcaeus
2317443708 [Security] fixed issue where authentication listeners clear unrelated tokens
This commit fixes an issue where authentication listeners clear all security tokens in case of authentication failure.
This behavior makes it impossible to combine certain authentication mechanisms, notably x509 with form-based login.
2013-07-19 23:56:43 +02:00
lancergr
658579a5c3 added greek translation 2013-07-19 12:20:37 +02:00
Fabien Potencier
2e650b16ea Merge branch '2.3'
* 2.3:
  Reverts JSON_NUMERIC_CHECK
  Just a Typo
  [Yaml] removed wrong comment removal inside a string block
  Fixing configuration validation error messages.
  [HtppKernel] fixed inline fragment renderer
  fixed inline fragment renderer
  ProgressHelper shows percentage complete.
  Comment fixed: RedrawFrequency is measured in steps.
  fix handling of a default 'template' as a string

Conflicts:
	src/Symfony/Component/Console/Tests/Helper/ProgressHelperTest.php
2013-07-11 21:37:15 +02:00