8000 [FrameworkBundle] fixed XSD for the trusted-proxies setting · imageoptimiser/symfony@0085798 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0085798

Browse files
committed
[FrameworkBundle] fixed XSD for the trusted-proxies setting
1 parent 16c554b commit 0085798

File tree

7 files changed

+19
-2
lines changed

7 files changed

+19
-2
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ public function getConfigTreeBuilder()
4848
->children()
4949
->scalarNode('charset')->end()
5050
->arrayNode('trusted_proxies')
51+
->beforeNormalization()
52+
->ifTrue(function($v) { return !is_array($v); })
53+
->then(function($v) { return preg_split('/\s*,\s*/', $v); })
54+
->end()
5155
->prototype('scalar')
5256
->validate()
5357
->ifTrue(function($v) { return !filter_var($v, FILTER_VALIDATE_IP); })

src/Symfony/Bundle/FrameworkBundle/Resources/config/schema/symfony-1.0.xsd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
<xsd:attribute name="charset" type="xsd:string" />
2525
<xsd:attribute name="trust-proxy-headers" type="xsd:string" />
26+
<xsd:attribute name="trusted-proxies" type="xsd:string" />
2627
<xsd:attribute name="ide" type="xsd:string" />
2728
<xsd:attribute name="secret" type="xsd:string" />
2829
<xsd:attribute name="test" type="xsd:boolean" />

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public function getTestValidTrustedProxiesData()
5757
}
5858

5959
/**
60-
* @expectedException Symfony\Component\Config\Definition\Exception\InvalidTypeException
60+
* @expectedException Symfony\Component\Config\Definition\Exception\InvalidConfigurationException
6161
*/
6262
public function testInvalidTypeTrustedProxies()
6363
{

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/full.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
$container->loadFromExtension('framework', array(
44
'secret' => 's3cr3t',
55
'form' => null,
6+
'trust_proxy_headers' => true,
7+
'trusted_proxies' => array('127.0.0.1', '10.0.0.1'),
68
'csrf_protection' => array(
79
'enabled' => true,
810
'field_name' => '_csrf',

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/full.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
77
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
88

9-
<framework:config secret="s3cr3t" ide="file%%link%%format">
9+
<framework:config secret="s3cr3t" ide="file%%link%%format" trust-proxy-headers="true" trusted-proxies="127.0.0.1, 10.0.0.1">
1010
<framework:csrf-protection enabled="true" field-name="_csrf" />
1111
<framework:form />
1212
<framework:esi enabled="true" />

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/full.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
framework:
22
secret: s3cr3t
33
form: ~
4+
trust_proxy_headers: true
5+
trusted_proxies: ['127.0.0.1', '10.0.0.1']
46
csrf_protection:
57
enabled: true
68
field_name: _csrf

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,14 @@ public function testCsrfProtection()
3333
$this->assertEquals('s3cr3t', $container->getParameterBag()->resolveValue($container->findDefinition('form.csrf_provider')->getArgument(1)));
3434
}
3535

36+
public function testProxies()
37+
{
38+
$container = $this->createContainerFromFile('full');
39+
40+
$this->assertTrue($container->getParameter('kernel.trust_proxy_headers'));
41+
$this->assertEquals(array('127.0.0.1', '10.0.0.1'), $container->getParameter('kernel.trusted_proxies'));
42+
}
43+
3644
public function testEsi()
3745
{
3846
$container = $this->createContainerFromFile('full');

0 commit comments

Comments
 (0)
0