Commit Graph

280 Commits

Author SHA1 Message Date
Fabien Potencier
be882c4663 Merge branch '3.1' into 3.2
* 3.1:
  Fix serializer/translations/validator resources loading for bundles overriding getPath()
2017-01-04 11:58:34 -08:00
Fabien Potencier
8f82bf7076 Merge branch '2.8' into 3.1
* 2.8:
  Fix serializer/translations/validator resources loading for bundles overriding getPath()
2017-01-04 11:57:42 -08:00
Fabien Potencier
829b6bd475 Merge branch '2.7' into 2.8
* 2.7:
  Fix serializer/translations/validator resources loading for bundles overriding getPath()
2017-01-04 11:55:18 -08:00
Robin Chalas
fef3146b3b
Fix serializer/translations/validator resources loading for bundles overriding getPath() 2017-01-04 20:27:15 +01:00
Nicolas Grekas
8df0540c9f Merge branch '3.1' into 3.2
* 3.1:
  do not depend on a fixed date in layout tests
  [Console] Escape default value when dumping help
  [Console] OS X Can't call cli_set_process_title php without superuser
  Fixed @return when returning this or static #bis
  fixed @return when returning this or static
  Polish translation improvement in Validator component
  [Console] Descriptors should use Helper::strlen
  [Config] Improve PHPdoc / IDE autocomplete
  [Debug] Wrap call to ->log in a try catch block
  [Debug] UndefinedMethodFatalErrorHandler - Handle anonymous classes
  fix merge
  [cache] Bump RedisAdapter timeout to 5s
  fixed @return when returning this or static
  [SecurityBundle] Made collection of user provider unique when injecting them to the RemberMeService
  remove is_writable check on filesystem cache
2017-01-02 15:57:35 +01:00
Nicolas Grekas
0dbc5cec7f Merge branch '2.8' into 3.1
* 2.8:
  do not depend on a fixed date in layout tests
  [Console] Escape default value when dumping help
  [Console] OS X Can't call cli_set_process_title php without superuser
  Fixed @return when returning this or static #bis
  Polish translation improvement in Validator component
  [Console] Descriptors should use Helper::strlen
  [Config] Improve PHPdoc / IDE autocomplete
  [Debug] Wrap call to ->log in a try catch block
  [Debug] UndefinedMethodFatalErrorHandler - Handle anonymous classes
  [SecurityBundle] Made collection of user provider unique when injecting them to the RemberMeService
2017-01-02 15:50:07 +01:00
Nicolas Grekas
23590eb51a Merge branch '2.7' into 2.8
* 2.7:
  do not depend on a fixed date in layout tests
  [Console] Escape default value when dumping help
  [Console] OS X Can't call cli_set_process_title php without superuser
  Polish translation improvement in Validator component
  [Console] Descriptors should use Helper::strlen
  [Config] Improve PHPdoc / IDE autocomplete
  [Debug] Wrap call to ->log in a try catch block
  [Debug] UndefinedMethodFatalErrorHandler - Handle anonymous classes
  [SecurityBundle] Made collection of user provider unique when injecting them to the RemberMeService
2017-01-02 15:44:49 +01:00
Christian Flothmann
97b7fabf51 do not depend on a fixed date in layout tests
By default, the `DateType` as well as the `DateTimeType` set the choices
being available for the year to a range starting five years in the past.
After some time, this will make tests fail when the year of the fixed
date being used as the initial data is before the first year being part
of the choices.
2017-01-01 13:43:56 +01:00
Robin Chalas
c88bc899d4
Fix misresolved parameters in debug:config on 3.2 2016-12-13 20:36:21 +01:00
Fabien Potencier
8de92ab32d fixed Twig version 2016-10-01 08:45:01 -07:00
Fabien Potencier
c2d8356cb6 [FrameworkBundle] removed the Doctrine Annotations lib dependency on FrameworkBundle 2016-09-30 09:58:09 -07:00
Fabien Potencier
469818cceb feature #20075 [FrameworkBundle] removed the Security Core and Security CSRF component dependencies on FrameworkBundle (fabpot)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] removed the Security Core and Security CSRF component dependencies on FrameworkBundle

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no (except for people using FrameworkBundle without requiring symfony/symfony which should be pretty rare; and fixing this is easy by adding symfony/security-core and symfony/security-csrf explicitly)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #15748 partially
| License       | MIT
| Doc PR        | n/a

Another PR to reduce the number of required dependencies on FrameworkBundle. This PR removes the Security Core and CSRF components from the list.

Commits
-------

d703784 [FrameworkBundle] removed the Security Core and Security CSRF component dependencies on FrameworkBundle
2016-09-28 10:27:44 -07:00
Fabien Potencier
0e4523fc31 feature #20072 [FrameworkBundle] removed the Templating component dependency on FrameworkBundle (fabpot)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] removed the Templating component dependency on FrameworkBundle

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no (except for people using FrameworkBundle without requiring symfony/symfony which should be pretty rare; and fixing this is easy by adding symfony/templating explicitly)
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #15748 partially
| License       | MIT
| Doc PR        | n/a

Another PR to reduce the number of required dependencies on FrameworkBundle. This PR removes the Templating component from the list.

I made most of the work in previous version, so this change is really just about adding a good error message when templating is not enabled. For the record, this is also in the path of making possible to use Symfony with Twig without using the Templating component indirection (I think that this is in fact the last step).

Commits
-------

b3de62f [FrameworkBundle] removed the Templating component dependency on FrameworkBundle
2016-09-28 10:25:38 -07:00
Fabien Potencier
d703784d1f [FrameworkBundle] removed the Security Core and Security CSRF component dependencies on FrameworkBundle 2016-09-28 10:11:47 -07:00
Fabien Potencier
b3de62f0b3 [FrameworkBundle] removed the Templating component dependency on FrameworkBundle 2016-09-28 08:53:44 -07:00
Fabien Potencier
a496a2a1ad [FrameworkBundle] removed the Translation component dependency on FrameworkBundle 2016-09-28 08:31:25 -07:00
Fabien Potencier
1dd4e21fad [FrameworkBundle] removed the Asset component dependency on FrameworkBundle 2016-09-28 06:51:58 -07:00
Fabien Potencier
68737ebbf3 feature #19485 [FrameworkBundle] Introduce a cache warmer for Validator based on PhpArrayAdapter (tgalopin)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[FrameworkBundle] Introduce a cache warmer for Validator based on PhpArrayAdapter

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

Following the cache warmer for annotations PR (https://github.com/symfony/symfony/pull/18533), this PR introduces a cache warmer for YAML and XML Validator configuration.

Based on the PhpArrayAdapter, it uses the naming conventions (`Resources/config/validation`) to find the files and compile them into a single PHP file stored in the cache directory. This file uses shared memory on PHP 7.

The benefit of this PR are the same than the ones of the annotations PR:

- validation configuration can be warmed up offline
- on PHP 7, there is no need for user extension to get maximum performances (ie. if you use this PR and the other one, you probably won't need to enable APCu to have great performances)
- on PHP 7 again, we are not sensitive to APCu memory fragmentation
- last but not least, global performance is slightly better (I get 30us per class gain in Blackfire)

This PR also deprecates the framework.validator.cache key in favor of the cache pool introduced in https://github.com/symfony/symfony/pull/18544.

Commits
-------

6bdaf0b [FrameworkBundle] Introduce a cache warmer for Validator based on PhpArrayAdapter
2016-09-14 14:10:29 -07:00
Titouan Galopin
810f4694af [FrameworkBundle] Introduce a cache warmer for Serializer based on PhpArrayAdapter 2016-08-17 20:09:37 +02:00
Titouan Galopin
6bdaf0bceb [FrameworkBundle] Introduce a cache warmer for Validator based on PhpArrayAdapter 2016-08-11 14:01:30 +02:00
Fabien Potencier
90f7ff50c8 feature #19473 [Security] Expose the required roles in AccessDeniedException (Nicofuma)
This PR was merged into the 3.2-dev branch.

Discussion
----------

[Security] Expose the required roles in AccessDeniedException

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

Nowadays it is more and more common to protect some sensitive actions and part of a website using 2FA or some re-authentication mechanism (per example, on Github you have to enter your password again when you add an ssh key). But currently, in Symfony, it is really hard to implement without having to duplicate the logic, provide an explicit list of URLs to protect or hack into the security component.

A good way to achieve that would be to add a special role (like IS_AUTHENTICATED_FULLY) and use it in the access map. But it requires us to be able to have a custom logic in an ExceptionListener depending on the roles behind an AccessDeniedException.

With this patch we could write an ExceptionListener of this kind (a similar logic could also be used in an AccessDeniedHandler):

```php
    public function onKernelException(GetResponseForExceptionEvent $event)
    {
        $exception = $event->getException();
        do {
            if ($exception instanceof AccessDeniedException) {
                foreach ($exception->getAttributes() as $role) {
                    if ($role === 'IS_AUTHENTICATED_2FA' && !$this->accessDecisionManager->decide($this->tokenStorage->getToken(), $role, $exception->getObject())) {
                        // Start 2FA
                    }
                }
            }
        } while (null !== $exception = $exception->getPrevious());
    }
```

Replaces #18661

Commits
-------

6618c18 [Security] Expose the required roles in AccessDeniedException
2016-08-09 06:40:33 -07:00
Titouan Galopin
f950a2bcde [FrameworkBundle] Wire PhpArrayAdapter with a new cache warmer for annotations 2016-07-30 03:40:00 -04:00
Tristan Darricau
6618c18acb
[Security] Expose the required roles in AccessDeniedException 2016-07-29 17:08:58 +02:00
Nicolas Grekas
695549fdde Merge branch '3.1'
* 3.1:
  Fix merge
  Fix merge

Conflicts:
	src/Symfony/Component/DependencyInjection/composer.json
2016-07-20 08:56:17 +03:00
Nicolas Grekas
eccbe677c8 Fix merge 2016-07-20 08:55:49 +03:00
Nicolas Grekas
88fdceadd4 [ClassLoader] Add ClassCollectionLoader::inline() to generate inlined-classes files 2016-07-18 14:55:56 +02:00
Nicolas Grekas
aa0e8bd980 Fix some lowest deps 2016-06-30 13:30:07 +02:00
Fabien Potencier
cc188e991b Merge branch '3.1'
* 3.1:
  Fixed BC Layer in DoctrineChoiceLoader
  [HttpKernel] Add listener that checks when request has both Forwarded and X-Forwarded-For
  [HttpKernel] Move conflicting origin IPs handling to catch block
  [travis] Fix deps=low/high patching
  Fixed some issues of the AccessDecisionManager profiler
  [DoctrineBridge] fixed default parameter value in UniqueEntityValidator
2016-06-30 11:40:30 +02:00
Fabien Potencier
080962f7ac Merge branch '3.0' into 3.1
* 3.0:
  [HttpKernel] Add listener that checks when request has both Forwarded and X-Forwarded-For
  [HttpKernel] Move conflicting origin IPs handling to catch block
  [travis] Fix deps=low/high patching
2016-06-30 11:40:26 +02:00
Fabien Potencier
9c0ca1948e Merge branch '2.8' into 3.0
* 2.8:
  [HttpKernel] Add listener that checks when request has both Forwarded and X-Forwarded-For
  [HttpKernel] Move conflicting origin IPs handling to catch block
  [travis] Fix deps=low/high patching
2016-06-30 11:37:32 +02:00
Fabien Potencier
05fe884bd5 Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] Add listener that checks when request has both Forwarded and X-Forwarded-For
  [HttpKernel] Move conflicting origin IPs handling to catch block
  [travis] Fix deps=low/high patching
2016-06-30 11:32:56 +02:00
Magnus Nordlander
db841018dc [HttpKernel] Add listener that checks when request has both Forwarded and X-Forwarded-For 2016-06-30 08:49:13 +02:00
Nicolas Grekas
d08cbe6e8b Merge branch '3.1'
* 3.1:
  [Form] fixed ChoiceTypeTest after #17822
  [DoctrineBridge] fixed DoctrineChoiceLoaderTest by removing deprecated factory
  [ci] Upgrade phpunit wrapper deps
  [FrameworkBundle] Fix fixtures
  [HttpKernel] Inline ValidateRequestListener logic into HttpKernel
  fixed HttpKernel dependencies after #18688
2016-06-29 15:38:44 +02:00
Nicolas Grekas
e770e2ec1a Merge branch '3.0' into 3.1
* 3.0:
  [FrameworkBundle] Fix fixtures
  [HttpKernel] Inline ValidateRequestListener logic into HttpKernel
  fixed HttpKernel dependencies after #18688

Conflicts:
	src/Symfony/Component/HttpKernel/HttpKernel.php
	src/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php
2016-06-29 14:32:15 +02:00
Nicolas Grekas
b4fbcb3559 Merge branch '2.8' into 3.0
* 2.8:
  [FrameworkBundle] Fix fixtures
  [HttpKernel] Inline ValidateRequestListener logic into HttpKernel
  fixed HttpKernel dependencies after #18688

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_services.txt
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_1.txt
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_2.txt
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/event_dispatcher_1_events.txt
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/legacy_synchronized_service_definition_1.txt
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/legacy_synchronized_service_definition_2.txt
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/parameter.txt
	src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/route_collection_1.txt
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/HttpKernel/composer.json
2016-06-29 14:25:18 +02:00
Nicolas Grekas
d17547769c [FrameworkBundle] Fix fixtures 2016-06-29 13:57:45 +02:00
Nicolas Grekas
9d3ae85301 [HttpKernel] Inline ValidateRequestListener logic into HttpKernel 2016-06-29 12:24:37 +02:00
Jules Pietri
f809f3e340 fixed HttpKernel dependencies after #18688 2016-06-29 10:18:30 +02:00
Robin Chalas
33402ea747 Add Yaml LintCommand
Add tests

Fix tests & YamlLintCommand help formatting

fabbot fixes

Use Generator to iterate over the filesystem

Move STDIN related code in a method
Use RecursiveIteratorIterator::LEAVES_ONLY rather than SELF_FIRST
Stop using the Finder component when available (Make findFiles() private)
Re-add FrameworkBundle YamlLintCommandTest
Use CommandTester::getStatusCode() rather than assign execute()

Re-add feature for bundle directories, Test it
2016-06-23 13:12:38 +02:00
Christian Flothmann
6f72657554 [DependencyInjection] fix the sorting by priority 2016-06-14 12:15:55 +02:00
Fabien Potencier
88cf98625a updated version to 3.2 2016-05-13 13:13:23 -05:00
Nicolas Grekas
b9b57f93cb [FrameworkBundle] Default to Apcu+Filesystem cache chain 2016-05-13 12:36:10 -05:00
Titouan Galopin
1a65595218 [FrameworkBundle] Fallback to default cache system in production for validation 2016-04-14 14:52:43 +02:00
Nicolas Grekas
41526342ea [FrameworkBundle] Add default pool & system adapter 2016-04-07 14:29:40 +02:00
Nicolas Grekas
714b916d5d [FrameworkBundle] Add & use Psr6CacheClearer 2016-04-05 16:36:41 +02:00
Iltar van der Berg
360fc5fc4b Extracting arg resolving from ControllerResolver 2016-04-01 11:46:27 +02:00
Jules Pietri
5f48c6ac9a [Form] Fix BC break introduced in #14403 2016-03-25 19:30:27 +01:00
Nicolas Grekas
d53874b747 Merge branch '3.0'
* 3.0: (22 commits)
  Fix backport
  [travis] Upgrade phpunit wrapper & hirak/prestissimo
  [Bridge\PhpUnit] Workaround old phpunit bug, no colors in weak mode, add tests
  [PropertyAccess] Fix isPropertyWritable not using the reflection cache
  [PropertyAccess] Backport fixes from 2.7
  [FrameworkBundle][2.8] Add tests for the Controller class
  [DependencyInjection] Update changelog
  Added WebProfiler toolbar ajax panel table layout css.
  [Validator] use correct term for a property in docblock (not "option")
  [Routing] small refactoring for scheme requirement
  [PropertyAccess] Remove most ref mismatches to improve perf
  [PropertyInfo] Support Doctrine custom mapping type in DoctrineExtractor
  [Validator] EmailValidator cannot extract hostname if email contains multiple @ symbols
  [NumberFormatter] Fix invalid numeric literal on PHP 7
  [Process] fix docblock syntax
  use the clock mock for progress indicator tests
  Use XML_ELEMENT_NODE in nodeType check
  [PropertyAccess] Reduce overhead of UnexpectedTypeException tracking
  [PropertyAccess] Throw an UnexpectedTypeException when the type do not match
  [FrameworkBundle] Add tests for the Controller class
  ...

Conflicts:
	src/Symfony/Bridge/PhpUnit/SymfonyTestsListener.php
	src/Symfony/Bundle/FrameworkBundle/Tests/Controller/ControllerTest.php
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/PropertyAccess/PropertyAccessor.php
	src/Symfony/Component/PropertyAccess/PropertyAccessorInterface.php
	src/Symfony/Component/PropertyAccess/Tests/PropertyAccessorTest.php
2016-03-23 14:33:04 +01:00
Nicolas Grekas
3c40825202 Merge branch '2.8' into 3.0
* 2.8: (22 commits)
  Fix backport
  [travis] Upgrade phpunit wrapper & hirak/prestissimo
  [Bridge\PhpUnit] Workaround old phpunit bug, no colors in weak mode, add tests
  [PropertyAccess] Fix isPropertyWritable not using the reflection cache
  [PropertyAccess] Backport fixes from 2.7
  [FrameworkBundle][2.8] Add tests for the Controller class
  [DependencyInjection] Update changelog
  Added WebProfiler toolbar ajax panel table layout css.
  [Validator] use correct term for a property in docblock (not "option")
  [Routing] small refactoring for scheme requirement
  [PropertyAccess] Remove most ref mismatches to improve perf
  [PropertyInfo] Support Doctrine custom mapping type in DoctrineExtractor
  [Validator] EmailValidator cannot extract hostname if email contains multiple @ symbols
  [NumberFormatter] Fix invalid numeric literal on PHP 7
  [Process] fix docblock syntax
  use the clock mock for progress indicator tests
  Use XML_ELEMENT_NODE in nodeType check
  [PropertyAccess] Reduce overhead of UnexpectedTypeException tracking
  [PropertyAccess] Throw an UnexpectedTypeException when the type do not match
  [FrameworkBundle] Add tests for the Controller class
  ...

Conflicts:
	.travis.yml
	composer.json
	src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php
2016-03-23 14:23:25 +01:00
Kévin Dunglas
5ee9f933bb [FrameworkBundle][2.8] Add tests for the Controller class 2016-03-21 06:51:23 -07:00