Commit Graph

1260 Commits

Author SHA1 Message Date
Fabien Potencier
8542866dde fixed possible race condition when creating a directory 2015-02-10 16:07:19 +01:00
Fabien Potencier
0fe4913079 renamed composer.phar to composer to be consistent with the Symfony docs 2015-02-08 08:41:14 +01:00
Fabien Potencier
58fcb8d515 Revert "minor #12652 [HttpFoundation] [Hackday] #9942 test: Request::getContent() for null value (skler)"
This reverts commit 09225c7466, reversing
changes made to a0298331ad.
2015-02-05 10:45:43 +01:00
Fabien Potencier
6e9768c8b9 Revert "fixed assertion"
This reverts commit b0a4c38465.
2015-02-05 10:45:38 +01:00
Fabien Potencier
b0a4c38465 fixed assertion 2015-02-05 10:43:13 +01:00
Mauro Foti
0b9f310055 [HttpFoundation] [Hackday] #9942 test: Request::getContent() for null value 2015-02-05 10:42:22 +01:00
Kévin Dunglas
1aba7b4f3d [HttpFoundation] minor: clarify Request::getUrlencodedPrefix() regex 2015-02-04 08:33:10 +01:00
Fabien Potencier
e58bb438cf minor #13469 Fix docblocks to comments (keradus)
This PR was squashed before being merged into the 2.3 branch (closes #13469).

Discussion
----------

Fix docblocks to comments

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

Change docblock into comment when it's not a proper docblock.

Commits
-------

779926a Fix docblocks to comments
2015-01-30 10:53:49 +01:00
Dariusz Ruminski
779926a9f2 Fix docblocks to comments 2015-01-30 10:53:48 +01:00
Fabien Potencier
8892cf06c1 minor #13488 [2.3] Removed dead code and various cleaning (saro0h)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3] Removed dead code and various cleaning

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

Commits
-------

50973ba Removed dead code and various cleaning
2015-01-25 05:18:27 +01:00
Javier Spagnoletti
1e4a8d55cb [2.3] [HttpFoundation] [MimeTypeGuesser]
Updated exception message in MimeTypeGuesser when no guessers available
(issue #12857).

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #12857
| License       | MIT
| Doc PR        | none
2015-01-24 20:09:16 -03:00
sarah khalil
50973bace1 Removed dead code and various cleaning 2015-01-21 21:14:55 +01:00
Fabien Potencier
b8e4b4af3d bug #13039 [HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info (rk3rn3r)
This PR was squashed before being merged into the 2.3 branch (closes #13039).

Discussion
----------

[HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info

Hi everyone!

We at trivago had an issue with the Request object. It seems that all versions of symfony 2.x and 3.x are affected from this (possible) bug (don't checked 1.x).
Here is the problem:

some old legacy pages are deployed in the Document Root, let's say /var/www/www.test.com/ .
one or more new applications based on symfony are deployed to /var/release/new_app1/ , /var/release/new_app2/ , ... .
in /var/www/www.test.com/ there is a symlink "app" to /var/release/new_app1/web, like:
/var/www/www.test.com/app --> /var/release/new_app1/web/

there is a "SEO"/human-readable rewrite rule for Document Root (if called path/file not exist): (.*) --> app/app.php

the problem comes, when the user calls a uri starting with "app" or whatever the rewrite rule / symlink points to:

the user calls "http://www.test.com/apparthotel-1234"
results in $_SERVER parameters like this
```
'DOCUMENT_ROOT' =>'/var/www/www.test.com',
'SCRIPT_FILENAME' => '/var/www/www.test.com/app/app.php',
'SCRIPT_NAME' => '/app/app.php',
'PHP_SELF' => '/app/app.php/apparthotel-1234'
```
in Request::prepareBaseUrl() there are checks to find the baseUrl:
```
        if ($baseUrl && false !== $prefix = $this->getUrlencodedPrefix($requestUri, $baseUrl)) {
            // full $baseUrl matches
            return $prefix;
        }

        if ($baseUrl && false !== $prefix = $this->getUrlencodedPrefix($requestUri, dirname($baseUrl))) {
            // directory portion of $baseUrl matches
            return rtrim($prefix, '/');
        }
```
first it is checked if (in our case) "/app/app.php" is in the request uri (/apparthotel-1234).
it's not.

then it takes the dirname (of /app/app.php) which is /app and checks if it is in the request uri (/apparthotel-1234), and YES, it is! and "/app" is returned, but this is wrong, it should be empty (because it comes from a rewrite rule from root: /)!

later in preparePathInfo(), if there is a baseUrl, then the baseUrl is removed from the request uri:
/apparthotel-1234  --->  /arthotel-1234

The cause is, the second baseUrl check, checks if the path of the application is already in the uri, like when the request was "http://www.test.com/app/apparthotel-1234" and hit a rewrite rule like (.*) --> app.php in there, but because it matches a directory it must match "dirname($baseUrl) . '/'".

I also needed to fix one unit test of the getBaseUrl test:
the request uri recently was "/foo%20bar".
but from the $_SERVER infos "foo bar" is a directory, see:
```
'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo bar/app.php',
'SCRIPT_NAME' => '/foo bar/app.php',
'PHP_SELF' => '/foo bar/app.php',
```

webservers will redirect a request "http://www.test.com/foo%20bar" to "http://www.test.com/foo%20bar/" when "foo bar" is a directory. checked this for apache 2.x and nginx 1.4.x.

this fix is for symfony master (3.0.x, see #13039).
I also prepared a merge request for actual 2.7 branch, it will also follow in some minutes. (see #13040)

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | this, #13040, #13038, #7329
| License       | MIT

[HttpFoundation] [Request]
* added missing slash to baseUrl-path part check to remove the path, only when it's also a path in the uri
[HttpFoundation] [Tests] [RequestTest]
* fixed and added unittests

This is the symfony 2.3 branch fix for the issue related to #13038 and #13040

Happy christmas!

Commits
-------

3a3ecd3 [HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info
2015-01-18 14:31:14 +01:00
rkerner
3a3ecd3353 [HttpFoundation] [Request] fix baseUrl parsing to fix wrong path_info 2015-01-18 14:31:11 +01:00
Alexander Schwenn
fc51d544b5 [HttpFoundation] Make use of isEmpty() method 2015-01-12 17:40:49 +01:00
wusuopu
75df4a6c50 [HttpFoundation] Fix an issue caused by php's Bug #66606. 2015-01-03 12:11:27 +01:00
Joshua Thijssen
24a287f492 Don't add Accept-Range header on unsafe HTTP requests 2015-01-03 11:53:03 +01:00
Mikael Pajunen
75d0d593e3 Use PHPUnit ini_set wrapper in tests
PHPUnit ini_set wrapper is now used in tests to automatically reset
ini settings after the test is run. This avoids possible side effects
and test skipping.

Native ini_set is still used in DefaultCsrfProviderTest, but its
tests are run in isolation.
2015-01-02 18:15:09 +02:00
Hugo Hamon
b83da8f742 Fixes various phpdoc and coding standards. 2015-01-02 09:58:20 +01:00
Saro0h
5a121df42b Updated copyright to 2015 2015-01-01 13:56:52 +01:00
Fabien Potencier
f438eae402 minor #13147 [2.3] for consistency, use value of DIRECTORY_SEPARATOR to detect Windows (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[2.3] for consistency, use value of DIRECTORY_SEPARATOR to detect Windows

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

This commit unifies the detection of Windows builds across the Symfony
codebase.

Commits
-------

20a427d use value of DIRECTORY_SEPARATOR to detect Windows
2014-12-30 14:27:52 +01:00
Christian Flothmann
20a427de7c use value of DIRECTORY_SEPARATOR to detect Windows
This commit unifies the detection of Windows builds across the Symfony
codebase.
2014-12-30 12:17:23 +01:00
Christophe Coevoet
8cc3f6aad4 Fix phpdoc and coding standards
This removes the unused use statements which were not catched by
PHP-CS-Fixer because of string occurences. It also fixes some invalid
phpdoc (scalar is not recognized as a valid type for instance).
2014-12-29 23:41:34 +01:00
Fabien Potencier
459b8b6f92 minor #13144 No global state for isolated tests and other fixes (nicolas-grekas)
This PR was merged into the 2.3 branch.

Discussion
----------

No global state for isolated tests and other fixes

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

By default, phpunit preserves global state for isolated processes. This made the tests break on my laptop.
Other tweaks included.
In branch 2.5, `src/Symfony/Component/Security/Csrf/Tests/TokenStorage/NativeSessionTokenStorageTest.php` also misses the `@preserveGlobalState disabled` annotation. Please add it when merging

Commits
-------

750f3a6 No global state for isolated tests and other fixes
2014-12-29 11:01:53 +01:00
Nicolas Grekas
750f3a62f7 No global state for isolated tests and other fixes 2014-12-29 10:34:09 +01:00
Fabien Potencier
55feca6958 bug #13114 [HttpFoundation] fixed error when an IP in the X-Forwarded-For HTTP head... (fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpFoundation] fixed error when an IP in the X-Forwarded-For HTTP head...

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

On symfony.com, we have errors related to IP addresses in the `X-Forwarded-For` HTTP header that have a port. If that happens (I have no ideas what is doing that), the page crashes with an error like `inet_pton(): Unrecognized address 187.65.229.211:63479` (which comes from IpUtils::checkIpv6()). This fixes the root cause by removing the port.

#12572 is solving the consequence and I propose to also merge it.

Commits
-------

60ad382 [HttpFoundation] fixed error when an IP in the X-Forwarded-For HTTP header contains a port
2014-12-29 09:20:51 +01:00
Neime
1da0ba4150 [Debug] fix checkip6 2014-12-29 09:16:16 +01:00
Fabien Potencier
60ad382684 [HttpFoundation] fixed error when an IP in the X-Forwarded-For HTTP header contains a port 2014-12-29 09:12:40 +01:00
Fabien Potencier
73dddac4e0 [HttpFoundation] removed wrong HTTP header 2014-12-25 20:39:31 +01:00
Graham Campbell
83c15db887 [2.3] CS And DocBlock Fixes 2014-12-22 16:58:09 +01:00
Graham Campbell
b521c200a8 [2.3] CS Fixes 2014-12-21 15:56:12 +01:00
sarah khalil
ef4ae63e8a [Tests] Silenced all deprecations in tests for 2.3 2014-12-18 20:00:19 +01:00
Dariusz Rumiński
9bbf803a5c BinaryFileResponse - add missing newline 2014-12-18 00:15:53 +01:00
Fabien Potencier
3a35beca0b minor #13011 CS: There should be no empty lines following phpdocs (keradus)
This PR was merged into the 2.3 branch.

Discussion
----------

CS: There should be no empty lines following phpdocs

Commits
-------

143f900 CS: There should be no empty lines following phpdocs
2014-12-17 07:25:30 +01:00
Dariusz Rumiński
143f900a52 CS: There should be no empty lines following phpdocs 2014-12-16 23:59:16 +01:00
Fabien Potencier
dbfe5caf1c minor #12985 [HttpFoundation] Fix return phpdoc (Koc)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpFoundation] Fix return phpdoc

| Q             | A
| ------------- | ---
| Bug fix?      | tiny (for IDE autocompletion)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

What about using `self` or `static` keyword for this?

Commits
-------

9af2d81 Fix return phpdoc
2014-12-16 05:04:11 +01:00
Graham Campbell
4e7ba1bd72 [2.3] Docblocks should not be followed by a blank line 2014-12-16 05:02:46 +01:00
Konstantin.Myakshin
9af2d8113e Fix return phpdoc 2014-12-15 14:01:09 +02:00
Tobias Schultze
b9d3c92ca9 fix session restart on PHP 5.3
this also removes some useless code
2014-12-12 18:30:52 +01:00
Jeroen Thora
9a0d5c3e2e Minor phpcs fixes 2014-12-07 18:50:06 +01:00
Graham Campbell
0fc3369b35 CS fixes 2014-12-03 20:10:26 +00:00
Graham Campbell
eda746bad5 PSR-2 fixes 2014-12-02 19:42:47 +00:00
Graham Campbell
443307edc1 Docblock fixes 2014-11-30 13:33:44 +00:00
Romain Neutron
0a76b7e9fc Rename Symfony2 to Symfony 2014-11-24 15:09:11 +01:00
Christian Flothmann
3039935997 reformat code as suggested by @fabpot 2014-11-21 17:05:54 +01:00
Korvin Szanto
ad6422304b Fix typo 2014-11-21 17:05:54 +01:00
Korvin Szanto
41627138de Make \Request::get more performant. 2014-11-21 17:05:54 +01:00
Christian Flothmann
367ed3ce85 compare version using PHP_VERSION_ID
To let opcode caches optimize cached code, the `PHP_VERSION_ID`
constant is used to detect the current PHP version instead of calling
`version_compare()` with `PHP_VERSION`.
2014-11-17 17:27:42 +01:00
Fabien Potencier
8d2c2964bb minor #12168 [HttpFoundation] CSRF warning docs on Request::enableHttpMethodParameterOverride() (Kristof Van Cauwenbergh)
This PR was merged into the 2.3 branch.

Discussion
----------

[HttpFoundation] CSRF warning docs on Request::enableHttpMethodParameterOverride()

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

Since I wanted to understand this issue I did some research and altered the comment block. Is this a clear enough explanation or does it need more?

Commits
-------

deb70ab CSRF warning docs on Request::enableHttpMethodParameterOverride()
2014-11-02 02:30:13 +01:00
Fabien Potencier
eb4b20f471 bug #12326 [Session] remove invalid hack in session regenerate (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

[Session] remove invalid hack in session regenerate

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

The original issue #7380 was just caused because the developer missed to save the session before doing the redirect. That's all. Such mistakes won't happen anymore with #12341

This reverts #8270 and following. Also it makes absolutely no sense to do this only for the `files` save handler which creates huge inconsistencies. All save handlers are affected and it's more a documentation thing.

Commits
-------

703d906 [Session] remove invalid workaround in session regenerate
2014-11-02 01:24:31 +01:00