Commit Graph

830 Commits

Author SHA1 Message Date
David Badura
c02933dba3 enable property info 2016-07-27 10:27:32 +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
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
77053e7944 Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] Inline ValidateRequestListener logic into HttpKernel
  fixed HttpKernel dependencies after #18688

Conflicts:
	src/Symfony/Component/HttpKernel/composer.json
2016-06-29 13:29:28 +02:00
Nicolas Grekas
9d3ae85301 [HttpKernel] Inline ValidateRequestListener logic into HttpKernel 2016-06-29 12:24:37 +02:00
Fabien Potencier
5128cd368c Merge branch '3.0' into 3.1
* 3.0:
  [HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For
  fixed test
  [Console] Decouple SymfonyStyle from TableCell
2016-06-29 09:02:31 +02:00
Fabien Potencier
b6267c8bd8 Merge branch '2.8' into 3.0
* 2.8:
  [HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For
  fixed test
  [Console] Decouple SymfonyStyle from TableCell
2016-06-29 09:02:21 +02:00
Fabien Potencier
0a7aa63ece Merge branch '2.7' into 2.8
* 2.7:
  [HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For
  [Console] Decouple SymfonyStyle from TableCell
2016-06-29 09:02:14 +02:00
Fabien Potencier
2d3723007d bug #18688 [HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For (magnusnordlander)
This PR was squashed before being merged into the 2.7 branch (closes #18688).

Discussion
----------

[HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For

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

Emit a warning when a request has both a trusted Forwarded header and a trusted X-Forwarded-For header, as this is most likely a misconfiguration which causes security issues.

Commits
-------

ee8842f [HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For
2016-06-29 09:01:56 +02:00
Magnus Nordlander
ee8842fedb [HttpFoundation] Warning when request has both Forwarded and X-Forwarded-For 2016-06-29 09:01:55 +02:00
Fabien Potencier
6bed60b467 Merge branch '3.0' into 3.1
* 3.0:
  fixed CS
  fixed CS
  fixed form tests
  [Console] Fix formatting of SymfonyStyle::comment()
  [Form] fix post max size translation type extension for >= 2.8
  removed dots at the end of @param and @return
  fixed typo
2016-06-29 07:41:56 +02:00
Fabien Potencier
b1a4d56965 Merge branch '2.8' into 3.0
* 2.8:
  fixed CS
  fixed form tests
  [Console] Fix formatting of SymfonyStyle::comment()
  [Form] fix post max size translation type extension for >= 2.8
  removed dots at the end of @param and @return
  fixed typo
2016-06-29 07:40:00 +02:00
Tobias Schultze
a27ec00096 [Form] fix post max size translation type extension for >= 2.8 2016-06-29 00:32:04 +02:00
Fabien Potencier
45ce2c87f4 Merge branch '3.0' into 3.1
* 3.0:
  [CS] Respect PSR2 4.2
  [Form] fix `empty_data` option in expanded `ChoiceType`
  [Console] removed unneeded private methods
  [Security] [Guard] Improve comment with working example
  sync min email validator version
  [TwigBridge] Fix inconsistency in LintCommand help
  explicitly forbid e-mail validator 2.0 or higher
  Fixed SymfonyQuestionHelper multi-choice with defaults
  [DoctrineBridge] Don't use object IDs in DoctrineChoiceLoader when passing a value closure
  Differentiate between the first time a progress bar is displayed and subsequent times
  finished previous commit
  No more exception for malformed input name
  fix post_max_size_message translation
  [Process] Fix pipes cleaning on Windows
  Avoid phpunit 5.4 warnings on getMock
  [Form] Add exception to FormRenderer about non-unique block names
  [Form] Consider a violation even if the form is not submitted
2016-06-28 18:26:56 +02:00
Fabien Potencier
ba841600a0 Merge branch '2.8' into 3.0
* 2.8:
  [CS] Respect PSR2 4.2
  [Form] fix `empty_data` option in expanded `ChoiceType`
  [Console] removed unneeded private methods
  [Security] [Guard] Improve comment with working example
  sync min email validator version
  [TwigBridge] Fix inconsistency in LintCommand help
  explicitly forbid e-mail validator 2.0 or higher
  Fixed SymfonyQuestionHelper multi-choice with defaults
  [DoctrineBridge] Don't use object IDs in DoctrineChoiceLoader when passing a value closure
  Differentiate between the first time a progress bar is displayed and subsequent times
  finished previous commit
  No more exception for malformed input name
  fix post_max_size_message translation
  [Process] Fix pipes cleaning on Windows
  Avoid phpunit 5.4 warnings on getMock
  [Form] Add exception to FormRenderer about non-unique block names
  [Form] Consider a violation even if the form is not submitted
2016-06-28 18:26:27 +02:00
Fabien Potencier
6b81f2ce43 Merge branch '2.7' into 2.8
* 2.7:
  [CS] Respect PSR2 4.2
  [Form] fix `empty_data` option in expanded `ChoiceType`
  [Console] removed unneeded private methods
  sync min email validator version
  [TwigBridge] Fix inconsistency in LintCommand help
  explicitly forbid e-mail validator 2.0 or higher
  Fixed SymfonyQuestionHelper multi-choice with defaults
  [DoctrineBridge] Don't use object IDs in DoctrineChoiceLoader when passing a value closure
  Differentiate between the first time a progress bar is displayed and subsequent times
  finished previous commit
  No more exception for malformed input name
  fix post_max_size_message translation
  [Process] Fix pipes cleaning on Windows
  Avoid phpunit 5.4 warnings on getMock
  [Form] Add exception to FormRenderer about non-unique block names
  [Form] Consider a violation even if the form is not submitted
2016-06-28 18:24:07 +02:00
David Badura
9d8a5e5a04 fix post_max_size_message translation 2016-06-21 22:32:24 +02:00
Christian Flothmann
92a7f10de5 [FrameworkBundle] templating can be fully disabled 2016-06-21 09:27:54 +02:00
Nicolas Grekas
0c8358b3fe [Cache] Rename nonce to version 2016-05-17 19:16:01 +02:00
Nicolas Grekas
b9b57f93cb [FrameworkBundle] Default to Apcu+Filesystem cache chain 2016-05-13 12:36:10 -05:00
Nicolas Grekas
a7899fe65c [Cache] Add nonce based cache invalidation to ApcuAdapter 2016-05-06 21:40:17 +02:00
Nicolas Grekas
a2a567d1ca [FrameworkBundle] Simplify config for app/system/pool caches 2016-05-04 17:35:58 +02:00
Titouan Galopin
80a55086ea [FrameworkBundle] Add cache adapters in semantic configuration 2016-05-01 14:03:56 +02:00
Nicolas Grekas
f2228d5cd4 bug #18630 [FrameworkBundle][Serializer] Fix a deprecation triggered by the ClassMetadataFactory (Ener-Getick)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle][Serializer] Fix a deprecation triggered by the ClassMetadataFactory

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

Without apparent reasons, [FOSRestBundle's tests fail](https://travis-ci.org/FriendsOfSymfony/FOSRestBundle/jobs/124384888) since https://github.com/symfony/symfony/pull/18561.
```
Passing a Doctrine Cache instance as 2nd parameter of the "Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory" constructor is deprecated. This parameter will be removed in Symfony 4.0. Use the "Symfony\Component\Serializer\Mapping\Factory\CacheClassMetadataFactory" class instead: 6x
    1x in ErrorWithTemplatingFormatTest::testSerializeExceptionHtml from FOS\RestBundle\Tests\Functional
    1x in SerializerErrorTest::testSerializeExceptionJson from FOS\RestBundle\Tests\Functional
    1x in SerializerErrorTest::testSerializeExceptionJsonWithoutDebug from FOS\RestBundle\Tests\Functional
    1x in SerializerErrorTest::testSerializeExceptionXml from FOS\RestBundle\Tests\Functional
    1x in SerializerErrorTest::testSerializeInvalidFormJson from FOS\RestBundle\Tests\Functional
    1x in SerializerErrorTest::testSerializeInvalidFormXml from FOS\RestBundle\Tests\Functional
```
We don't use cache in our tests but some of them are not in ``debug`` mode (will change soon) so the cache is automatically used.

This PR fixes this deprecation by detecting if the cache used by the serializer is psr6 compliant or not (if it is, then it replaces the default metadata factory by an instance of the new class ``CacheClassMetadataFactory``, otherwise the second parameter of the ``ClassMetadataFactory`` is used).

Commits
-------

15579d5 [FrameworkBundle] Deprecate framework.serializer.cache
eccbffb [Serializer] Improve a deprecation message
96e418a Revert "[FrameworkBundle] Fallback to default cache system in production for serializer"
2016-04-27 09:24:49 +02:00
Ener-Getick
15579d5137
[FrameworkBundle] Deprecate framework.serializer.cache 2016-04-25 20:47:17 +02:00
Ener-Getick
96e418a14f
Revert "[FrameworkBundle] Fallback to default cache system in production for serializer"
This reverts commit 4f0b8beea6.
2016-04-25 19:26:34 +02:00
Nicolas Grekas
db2c5768e7 [FrameworkBundle] Add optional logger to cache pools 2016-04-25 13:09:19 +02:00
Nicolas Grekas
51d075a51b feature #18561 [FrameworkBundle] Fallback to default cache system in production for serializer (tgalopin)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle] Fallback to default cache system in production for serializer

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

In the same idea as https://github.com/symfony/symfony/pull/18544, this PR proposes a default fallback to filesystem cache for the serializer if the APC cache is not enabled in production. In other words, if the following part of `config_prod.yml` file is not uncommented, the filesystem will be used:

``` yaml
#framework:
#    serializer:
#        cache: serializer.mapping.cache.doctrine.apc
```

Commits
-------

4f0b8be [FrameworkBundle] Fallback to default cache system in production for serializer
2016-04-19 16:23:32 +02:00
Titouan Galopin
88ef89c8dc [FrameworkBundle][Serializer] Fix APC cache service name and deprecate old name 2016-04-19 08:52:34 +02:00
Titouan Galopin
4f0b8beea6 [FrameworkBundle] Fallback to default cache system in production for serializer 2016-04-15 22:43:35 +02:00
Fabien Potencier
e4177a716e feature #18544 [FrameworkBundle] Fallback to default cache system in production for validation (tgalopin)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[FrameworkBundle] Fallback to default cache system in production for validation

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

This PR proposes a default fallback to filesystem cache for some services if the APC cache is not enabled in production. In other words, if the following part of `config_prod.yml` file is not uncommented, the filesystem will be used:

``` yaml
#framework:
#    validation:
#        cache: validator.mapping.cache.doctrine.apc
#    serializer:
#        cache: serializer.mapping.cache.doctrine.apc
#
# ... other services
```

Commits
-------

1a65595 [FrameworkBundle] Fallback to default cache system in production for validation
2016-04-15 11:26:35 +02:00
Iltar van der Berg
cd100575d4 Renamed argument resolver tag, added test 2016-04-15 09:47:59 +02: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
Nicolas Grekas
4740c5ccfb [FrameworkBundle] use abstract cache.pool decoration and aliases 2016-04-04 11:49:17 +02:00
Christian Flothmann
92b1a20613 [FrameworkBundle] Fix and add tests for cache pool wiring 2016-04-04 11:41:15 +02:00
Nicolas Grekas
e44bfdcde9 [FrameworkBundle] Add cache-pool tag and wiring 2016-04-04 11:41:14 +02:00
Christian Flothmann
281eafa5cb [FrameworkBundle] Integrate the Cache component 2016-04-04 11:41:14 +02:00
Iltar van der Berg
1bf80c92ee Improved DX for the ArgumentResolver 2016-04-02 13:06:02 +02:00
Jules Pietri
cee5106960 cs fixes 2016-04-01 11:46:27 +02:00
Iltar van der Berg
cfcf764d24 Added an ArgumentResolver with clean extension point 2016-04-01 11:46:27 +02:00
Iltar van der Berg
360fc5fc4b Extracting arg resolving from ControllerResolver 2016-04-01 11:46:27 +02:00
Fabien Potencier
f76e99b9f4 bug #18320 [FrameworkBundle] Fix Templating Engine autowiring (dunglas)
This PR was squashed before being merged into the 3.1-dev branch (closes #18320).

Discussion
----------

[FrameworkBundle] Fix Templating Engine autowiring

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

Commits
-------

c4ccfac [FrameworkBundle] Fix Templating Engine autowiring
2016-03-31 11:54:22 +02:00
Kévin Dunglas
c4ccfac047 [FrameworkBundle] Fix Templating Engine autowiring 2016-03-31 11:54:21 +02:00
Fabien Potencier
536a6cdbd8 feature #17589 [3.1] [WebProfilerBundle] [DX] Feature allow forward and redirection detection in wdt (HeahDude)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[3.1] [WebProfilerBundle] [DX] Feature allow forward and redirection detection in wdt

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

This PR allows to :
- track explicit forward from `\Symfony\Bundle\FrameWorkBundle\Controller\Controller` in the web debug toolbar.
- or pass a request attribute `_forwarded` with the current request attributes (an instance of `ParameterBag`) as value to your sub request before handling it.
- see if you've been redirected (require session enabled)

When redirected you will see the name of the route (if any) and a link to the profile of the original request.

![redirect](https://cloud.githubusercontent.com/assets/10107633/12716952/9aacdcba-c8e4-11e5-9a64-d26fe27f1cae.jpg)

In case of forwarding, the name of the controller is a file link and next to it there is a direct link to the profile of the sub request.

![forward](https://cloud.githubusercontent.com/assets/10107633/12716968/ba6b1fbc-c8e4-11e5-85fc-7f71969cb372.jpg)

This works pretty well in __Silex__ too by registering `SessionServiceProvider()` for redirections or by providing this method for forwarding :

```php
class App extends \Silex\Application
//  (php7 bootstrap) $app = new class extends \Silex\Application {
{
    public function forward($controller, array $path = array(), array $query = array()
    {
        if (!$this->booted) {
            throw new LogicException(sprintf('Method %s must be called from a controller.', __METHOD__));
        }

        $this->flush();

        $request = $this['request_stack']->getCurrentRequest();
        $path['_forwarded'] = $request->attributes;
        $path['_controller'] = $controller;
        $subRequest = $request->duplicate($query, null, $path);

        return $this['kernel']->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
    }
}
```

Commits
-------

0a0e8af [WebProfilerBundle] show the http method in wdt if not 'GET'
4f020b5 [FrameworkBundle] Extends the RequestDataCollector
227ac77 [WebProfilerBundle] [FrameworkBundle] profile forward controller action
0a1b284 [WebProfiler] [HttpKernel] profile redirections
2016-03-31 11:32:58 +02:00