Commit Graph

291 Commits

Author SHA1 Message Date
Fabien Potencier
c558b159fe security #11830 n/a (aitboudad, Jérémy Derussé)
This PR was merged into the 2.3 branch.

Discussion
----------

n/a

n/a

Commits
-------

9e1bc22 Add tests and more assertions
101a3b7 [FrameworkBundle][Translator] Validate locales.
2014-09-03 09:39:11 +02:00
Fabien Potencier
0aaabbfe8b security #11828 n/a (nicolas-grekas, larowlan)
This PR was merged into the 2.3 branch.

Discussion
----------

n/a

n/a

Commits
-------

1ee96a8 Test examples from Drupal SA-CORE-2014-003
5506ee8 Fix potential DoS when parsing HOST
2014-09-03 09:37:21 +02:00
Jérémy Derussé
9e1bc22388 Add tests and more assertions 2014-09-02 09:12:49 +02:00
Nicolas Grekas
5506ee8f66 Fix potential DoS when parsing HOST 2014-08-22 11:56:47 +02:00
Yassine Guedidi
777666fac1 [HttpFoundation] Update QUERY_STRING when overrideGlobals 2014-07-30 12:14:11 +02:00
Jannik Zschiesche
31b1dff875 Small comment update according to PSR-2
See [PSR-2](http://www.php-fig.org/psr/psr-2/) paragraph 5.2

> There MUST be a comment such as `// no break` when fall-through is intentional in a non-empty case body.

Related to #11181
2014-06-20 16:22:59 +02:00
Keith Maika
2a0e8e39b8 [HttpFoundation] Fixed Request::getPort returns incorrect value under IPv6
Fixed issue with Request::getPort method returning an incorrect value when the HTTP_HOST header is a IPv6 address.
2014-06-17 10:14:17 -04:00
Jannik Zschiesche
7bc37bd899 [HttpFoundation] Fixed isSecure() check to be compliant with the docs 2014-06-16 09:30:49 +02:00
Kevin Decherf
7a75adf6f1 [HttpFoundation] Basic auth in url is broken when using PHP CGI/FPM
Request#getUser() and Request#getPassword() introduced in
aecfd0a891 do not handle the lack of
PHP_AUTH_USER and PHP_AUTH_PW in $this->server when using PHP-FPM. Use
$this->headers instead.
Furthermore, the test of empty password now expects an empty string
instead of NULL according to a450d002f2.
2014-06-10 23:31:45 +02:00
Fabien Potencier
5b72e5ab04 minor #10717 unified return null usages (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

unified return null usages

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

This PR unifies the way we return `null` from a function or method:

 * always use `return;` instead of `return null;` (the current code base uses both);
 * never use `return;` at the end of a function/method.

Commits
-------

d1d569b unified return null usages
2014-04-18 22:35:25 +02:00
Fabien Potencier
e96b018805 fixed types in phpdocs 2014-04-16 12:30:19 +02:00
Fabien Potencier
d1d569bf7b unified return null usages 2014-04-16 09:43:51 +02:00
Fabien Potencier
3c9c10f3a0 made phpdoc types consistent with those defined in Hack 2014-04-15 07:41:45 +02:00
Jakub Zalas
1b798319f6 [HttpFoundation] Documented public properties. 2014-01-02 21:42:04 +00:00
Fabien Potencier
15baa81fdc fixed acronyms 2013-12-28 09:33:14 +01:00
Daniel Tschinder
5b3b40c044 Removed useless check if self::$trustProxies is set
In Request::getClientIps() on line 772 there is a check if self::$trustedProxies is not set. If this condition evaluates to true the method will return.
Because of this the second identical check on line 783 will never evaluate to true, as when reaching this position self::$trustedProxies must be set.
2013-11-19 19:28:40 +01:00
Fabien Potencier
59a4313a52 Merge branch '2.2' into 2.3
* 2.2:
  bumped Symfony version to 2.2.11
  updated VERSION for 2.2.10
  update CONTRIBUTORS for 2.2.10
  updated CHANGELOG for 2.2.10
  fixed version
  Request::overrideGlobals() may call invalid ini value
  Force Luhn Validator to only work with strings
  [Translation] fixed the error in the dumper test as described in #9475
  [Console] fix phpdoc and constructor default value

Conflicts:
	src/Symfony/Component/Console/Helper/ProgressHelper.php
	src/Symfony/Component/HttpKernel/Kernel.php
2013-11-13 22:27:40 +01:00
Daisuke Ohata
9bc76ca13d Request::overrideGlobals() may call invalid ini value
According to http://php.net/manual/ja/ini.core.php ,
there's not variable_order, but variables_order (with trailing "s").

Perhaps it breaks BC for some developer who unsets
'request_order' ini value and sets 'variable_order' manually?
2013-11-13 09:30:53 +01:00
Samuel Vogel
0d232ba2f2 Improve documentation of X-Forwarded-For header handling 2013-10-16 17:16:00 +02:00
Gábor Tóth
304c7b6f87 Remove unnecessary continue from Request 2013-10-11 13:59:44 +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
Joseph Bielawski
d997443ab0 [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).
2013-09-23 10:18:01 +02:00
Fabien Potencier
8899e31a88 Merge branch '2.2' into 2.3
* 2.2:
  [HttpFoundation] removed double-slashes (closes #8388)
  [HttpFoundation] tried to keep the original Request URI as much as possible to avoid different behavior between ::createFromGlobals() and ::create()
  [TwigBridge] fixed form rendering when used in a template with dynamic inheritance
2013-09-12 22:07:23 +02:00
Fabien Potencier
4f5b8f04f1 [HttpFoundation] tried to keep the original Request URI as much as possible to avoid different behavior between ::createFromGlobals() and ::create() 2013-09-12 20:10:57 +02:00
Fabien Potencier
5ca19ee433 Merge branch '2.2' into 2.3
* 2.2:
  [HttpFoundation] fixed some unit tests
2013-09-10 23:20:57 +02:00
Fabien Potencier
6ec2cbaa6c [HttpFoundation] fixed some unit tests 2013-09-10 23:20:45 +02:00
Fabien Potencier
7f0caff162 Merge branch '2.2' into 2.3
* 2.2:
  [HttpFoundation] fixed format duplication in Request
2013-09-10 22:45:04 +02:00
Fabien Potencier
8c2a733528 [HttpFoundation] fixed format duplication in Request 2013-09-10 22:37:04 +02:00
Fabien Potencier
a010ed4721 Merge branch '2.2' into 2.3
* 2.2:
  [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
2013-09-08 18:12:21 +02:00
Fabien Potencier
719b2bf67f [HttpFoundation] fixed regression in the way the request format is handled for duplicated requests (closes #8917) 2013-09-08 16:57:01 +02:00
Fabien Potencier
3689849e8b Merge branch '2.2' into 2.3 (closes #8955)
* 2.2:
  [HttpFoundation] removed extra parenthesis
  [Process][2.2] Fix Process component on windows
  [HttpFoundation] improve perf of previous merge (refs #8882)
  Request->getPort() should prefer HTTP_HOST over SERVER_PORT
  Fixing broken http auth digest in some circumstances (php-fpm + apache).
  fixed typo

Conflicts:
	src/Symfony/Component/Process/Process.php
2013-09-07 18:30:19 +02:00
Fabien Potencier
d05ab6b940 [HttpFoundation] removed extra parenthesis 2013-09-07 14:10:08 +02:00
Fabien Potencier
729ac7b967 [HttpFoundation] improve perf of previous merge (refs #8882) 2013-09-07 08:13:51 +02:00
Dennis Hotson
65814bae27 Request->getPort() should prefer HTTP_HOST over SERVER_PORT 2013-09-07 08:11:05 +02:00
Kris Wallsmith
4d01e7ebbd fixed misleading doc block 2013-08-29 12:32:30 -07:00
Fabien Potencier
6610a7c80e Merge branch '2.2' into 2.3
* 2.2:
  fixed request format when forwarding a request
  [HttpKernel] added a comment to warn about possible inconsistencies
  added a functional test for locale handling in sub-requests
  Fixed issue #6932 - Inconsistent locale handling in subrequests
  fixed locale of sub-requests when explicitely set by the developer (refs #8821)

Conflicts:
	src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
2013-08-23 17:31:47 +02:00
Fabien Potencier
7e87eb1fdf fixed request format when forwarding a request 2013-08-22 14:43:23 +02:00
Jordi Boggiano
fd2f63382a Include untrusted host in the exception message 2013-08-21 12:06:02 +02:00
Fabien Potencier
f8ffb80067 Merge branch '2.2' into 2.3
* 2.2:
  added trusted hosts check

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
2013-08-07 16:02:06 +02:00
Fabien Potencier
b8b972fe74 Merge branch '2.1' into 2.2
* 2.1:
  added trusted hosts check

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Component/HttpFoundation/Request.php
2013-08-07 16:00:53 +02:00
Fabien Potencier
31f0efd7bc Merge branch '2.0' into 2.1
* 2.0:
  added trusted hosts check

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Component/HttpFoundation/Tests/RequestTest.php
2013-08-07 15:58:42 +02:00
Jean-François Simon
c35cc5b900 added trusted hosts check 2013-08-06 09:14:49 +02:00
Fabien Potencier
f43a0eef9d Merge branch '2.2'
* 2.2:
  Fix getPort() returning 80 instead of 443 when X-FORWARDED-PROTO is set to https
  [Translation] fixed a unit test

Conflicts:
	src/Symfony/Component/HttpFoundation/Request.php
2013-04-30 19:05:37 +02:00
Fabien Potencier
01ff0765b2 Merge branch '2.1' into 2.2
* 2.1:
  Fix getPort() returning 80 instead of 443 when X-FORWARDED-PROTO is set to https
2013-04-30 19:05:10 +02:00
Philipp Strube
2a531d78be Fix getPort() returning 80 instead of 443 when X-FORWARDED-PROTO is set to https 2013-04-30 19:01:33 +02:00
Fabien Potencier
2f3b33a630 merged branch guilhermeblanco/client_ip_fix (PR #7559)
This PR was squashed before being merged into the master branch (closes #7559).

Discussion
----------

[HttpFoundation] [HttpKernel] Internal sub-requests should have X-Forwarded-For header providing real client IP

This is a better alternative to fix issue highlighted in #7554 and #7557.

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #7554, #7557
| License       | MIT

When dealing with inline fragment renderer, it emulates an internal request by overriding the REMOTE_ADDR on Request. This is true, since conceptually request came from local server.
The problem that this introduces is that overriding the server value, it turns into an impossible state to retrieve the real client ip, only returning the local server IP (which is hardcoded to 127.0.0.1).

This patch takes the same approach as a Varnish call (it behaves the exact same way, reusing all code built for handling client ip handling on sub-requests), populating the X-Forwarded-For header and also making getClientIp smarter by removing possible local IP addresses from being considered as the client IP address.

Commits
-------

773e109 [HttpFoundation] [HttpKernel] Internal sub-requests should have X-Forwarded-For header providing real client IP
2013-04-21 09:39:54 +02:00
Guilherme Blanco
773e109ebf [HttpFoundation] [HttpKernel] Internal sub-requests should have X-Forwarded-For header providing real client IP 2013-04-21 09:39:17 +02:00
Fabien Potencier
1552a16420 Merge branch '2.2'
* 2.2:
  [Config] #7644 add tests for passing number looking attributes as strings
  [HttpFoundation][BrowserKit] fixed path when converting a cookie to a string
  [BrowserKit] removed dead code
  [HttpFoundation] fixed empty domain= in Cookie::__toString()
  fixed detection of secure cookies received over https
  [2.2] Pass ESI header to subrequests
  [Translation] removed an uneeded class property
  [Translation] removed unneeded getter/setter
  [Translator] added additional conversion for encodings other than utf-8
  fixed source messages to accept pluralized messages [Validator][translation][japanese] add messages for new validator
  fix a DI circular reference recognition bug
  [HttpFoundation] fixed the creation of sub-requests under some circumstances for IIS

Conflicts:
	src/Symfony/Component/HttpFoundation/Tests/CookieTest.php
2013-04-20 21:06:06 +02:00
Fabien Potencier
e81f7925eb Merge branch '2.1' into 2.2
* 2.1:
  [HttpFoundation][BrowserKit] fixed path when converting a cookie to a string
  [BrowserKit] removed dead code
  [HttpFoundation] fixed empty domain= in Cookie::__toString()
  fixed detection of secure cookies received over https
  [Translation] removed an uneeded class property
  [Translation] removed unneeded getter/setter
  [Translator] added additional conversion for encodings other than utf-8
  fix a DI circular reference recognition bug
  [HttpFoundation] fixed the creation of sub-requests under some circumstances for IIS
2013-04-20 21:05:29 +02:00
Fabien Potencier
e7c1696278 [HttpFoundation] refactored code to avoid code duplication 2013-04-20 17:49:57 +02:00