Commit Graph

737 Commits

Author SHA1 Message Date
Nicolas Grekas
efe9beb186 [HttpKernel] Fix restoring trusted proxies in tests 2018-05-31 12:02:37 +02:00
Fabien Potencier
518ec864e9 bug #26973 [HttpKernel] Set first trusted proxy as REMOTE_ADDR in InlineFragmentRenderer. (kmadejski)
This PR was squashed before being merged into the 2.8 branch (closes #26973).

Discussion
----------

[HttpKernel] Set first trusted proxy as REMOTE_ADDR in InlineFragmentRenderer.

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

SubRequest used in `InlineFragmentRendered` explicitly sets `$server['REMOTE_ADDR']` to `127.0.0.1`. Therefore, it's required to configure `127.0.0.1` address in TRUSTED_PROXIES environment variable. Without that, `Request::isFromTrustedProxy()` will return false.
The current behavior might be a little bit problematic, for instance, in case where images are rendered through subrequests. These might end-up with an incorrect schema in URL (`http` instead of `https`).

Commits
-------

18f55feef8 [HttpKernel] Set first trusted proxy as REMOTE_ADDR in InlineFragmentRenderer.
2018-05-27 09:44:41 +02:00
Kamil Madejski
18f55feef8 [HttpKernel] Set first trusted proxy as REMOTE_ADDR in InlineFragmentRenderer. 2018-05-27 09:44:31 +02:00
Nicolas Grekas
fcebc33d39 Merge branch '2.7' into 2.8
* 2.7:
  [VarDumper] Remove decoration from actual output in tests
  [Bridge/Doctrine] fix count() notice on PHP 7.2
  [Security] Skip user checks if not implementing UserInterface
  [HttpFoundation] Add HTTP_EARLY_HINTS const
  [DoctrineBridge] Improve exception message at `IdReader::getIdValue()`
  fixed CS
  Use new PHP7.2 functions in hasColorSupport
  [VarDumper] Fix dumping of SplObjectStorage
2018-04-25 16:40:02 +02:00
Robin Chalas
c4daef9db6 [VarDumper] Remove decoration from actual output in tests 2018-04-25 16:05:38 +02:00
Fabien Potencier
e8e7ff2d7b Merge branch '2.7' into 2.8
* 2.7:
  fixed Twig URL
  Don't assume that file binary exists on *nix OS
  Fix that ESI/SSI processing can turn a \"private\" response \"public\"
  [Form] Fixed trimming choice values
2018-04-20 08:15:58 +02:00
Fabien Potencier
d17d38d291 bug #26643 Fix that ESI/SSI processing can turn a "private" response "public" (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #26643).

Discussion
----------

Fix that ESI/SSI processing can turn a "private" response "public"

| 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        |

Under the condition that
* we are merging in at least one *embedded* response,
* all *embedded* responses are `public`,
* the *main* response is `private` and
* all responses use expiration-based caching (note: no `s-maxage` on the *main* response)

... the resulting response will turn to `Cache-Control: public`.

The real issue is that when all responses use expiration-based caching, a combined max age is computed. This is set on the *main* response using `Response::setSharedMaxAge()`, which implicitly sets `Cache-Control: public`.

The fix provided in this PR solves the problem by applying the same logic to the *main* response that is applied for *embedded* responses, namely that responses with `!Response::isCacheable()` will make the resulting response have `Cache-Control: private, no-cache, must-revalidate` and have `(s)max-age` removed.

This makes the change easy to understand, but makes responses uncacheable too often. This is because the `Response::isCacheable()` method was written to determine whether it is safe for a shared cache to keep the response, which is not the case as soon as a `private` response is involved. This might be improved upon in another PR.

Commits
-------

3d27b5946d Fix that ESI/SSI processing can turn a \"private\" response \"public\"
2018-04-16 19:47:59 +02:00
Matthias Pigulla
3d27b5946d Fix that ESI/SSI processing can turn a \"private\" response \"public\" 2018-04-16 19:47:52 +02:00
Fabien Potencier
72501cd311 Merge branch '2.7' into 2.8
* 2.7:
  [HttpCache] Unlink tmp file on error
  Added LB translation for #26327 (Errors sign for people that do not see colors)
  [TwigBridge] Fix rendering of currency by MoneyType
  [HttpKernel] DumpDataCollector: do not flush when a dumper is provided
2018-04-02 11:31:53 +02:00
Maxime Steinhausser
11a0392516 [HttpKernel] DumpDataCollector: do not flush when a dumper is provided 2018-03-27 08:12:08 +02:00
Nicolas Grekas
e490d663d6 Merge branch '2.7' into 2.8
* 2.7:
  [Bridge\PhpUnit] Exit as late as possible
  Update Repository Symlink Helper
  Document explicitly that dotfiles and vcs files are ignored by default
  do not mock the container builder in tests
2018-02-11 17:53:59 +01:00
Christian Flothmann
dab422287f do not mock the container builder in tests 2018-02-08 09:15:30 +01:00
Fabien Potencier
6f2a31b851 Merge branch '2.7' into 2.8
* 2.7:
  [HttpFoundation] Use the correct syntax for session gc based on Pdo driver
  Revert "bug #24987 [Console] Fix global console flag when used in chain (Simperfit)"
  Revert "bug #25487 [Console] Fix a bug when passing a letter that could be an alias (Simperfit)"
  Disable CSP header on exception pages only in debug
  Fixed submitting disabled buttons
  Fixed Button::setParent() when already submitted
  Improve assertions
  SCA: get rid of repetitive calls
  allow null values for root nodes in YAML configs
  [VarDumper] Fix docblock
  Improve phpdoc to make it more explicit
2018-01-29 09:54:45 +01:00
Gabriel Ostrolucký
b77538c2fe Disable CSP header on exception pages only in debug
Same condition is used by default TwigBridge ExceptionController
to evaluate if styled exception page is supposed to be shown.
2018-01-26 02:39:48 +01:00
Nicolas Grekas
7fc3969cd6 Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] DebugHandlersListener should always replace the existing exception handler
2018-01-18 23:12:33 +01:00
Nicolas Grekas
a4ddcc298d [HttpKernel] DebugHandlersListener should always replace the existing exception handler 2018-01-18 23:01:50 +01:00
Nicolas Grekas
e9bcd217df fix merge 2018-01-13 15:03:33 +01:00
Nicolas Grekas
4a211d8332 Merge branch '2.7' into 2.8
* 2.7:
  fixed wrong description in a phpdoc
  19 digits VISA card numbers are valid
  [HttpKernel] Fixed test name
  [Debug] prevent infinite loop with faulty exception handlers
  Add the missing `enabled` session attribute
  [HttpKernel] Turn bad hosts into 400 instead of 500
2018-01-13 14:56:42 +01:00
Grégoire Pineau
e366772c06 [HttpKernel] Fixed test name 2018-01-11 10:34:39 +01:00
Nicolas Grekas
3e47c71028 [HttpKernel] Turn bad hosts into 400 instead of 500 2018-01-10 17:55:58 +01:00
Nicolas Grekas
6c1a23b844 Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] Disable CSP header on exception pages
2018-01-04 16:42:54 +01:00
Gabriel Ostrolucký
f33a383a1a [HttpKernel] Disable CSP header on exception pages 2018-01-03 22:18:21 +01:00
Nicolas Grekas
263eda3dd6 Merge branch '2.7' into 2.8
* 2.7:
  Refactoring tests.
2017-12-12 12:12:43 +01:00
Gabriel Caruso
567e0ab7e6 Refactoring tests. 2017-12-12 05:05:30 -02:00
Nicolas Grekas
af81bb5e24 Merge branch '2.7' into 2.8
* 2.7:
  Remove some unused variables, properties and methods
  [ExpressionLanguage] Fix parse error on 5.3
  [HttpKernel] remove noisy frame in controller stack traces
  [ExpressionLanguage] throw an SyntaxError instead of letting a undefined index notice
  Fix php doc in Table class
  bumped Symfony version to 2.7.40
  updated VERSION for 2.7.39
  update CONTRIBUTORS for 2.7.39
  updated CHANGELOG for 2.7.39
2017-12-08 13:32:59 +01:00
Titouan Galopin
30e227392a Remove some unused variables, properties and methods 2017-12-08 13:09:58 +01:00
Nicolas Grekas
72b92c351e Merge branch '2.7' into 2.8
* 2.7:
  [2.7] More docblock fixes
2017-11-07 15:08:47 +01:00
Nicolas Grekas
ac671ac68c [2.7] More docblock fixes 2017-11-07 15:04:08 +01:00
Nicolas Grekas
d7b3a6234a Merge branch '2.7' into 2.8
* 2.7:
  Fix 7.2 compat layer
  Fix PHP 7.2 support
  [HttpFoundation] Add missing session.lazy_write config option
  [HttpFoundation] Combine Cache-Control headers
  [Form] fix parsing invalid floating point numbers
  Escape command usage when displaying it in the text descriptor
  Use for=ID on radio/checkbox label.
2017-10-10 09:42:03 +02:00
Nicolas Grekas
fdf285b5c9 Fix 7.2 compat layer 2017-10-09 20:05:34 +02:00
Amrouche Hamza
e229dd0302 Fix PHP 7.2 support 2017-10-09 12:03:31 +02:00
Nicolas Grekas
d4cbc70c50 Merge branch '2.7' into 2.8
* 2.7: (22 commits)
  Tests and fix for issue in array model data in EntityType field with multiple=true
  [Form] Fixed PercentToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  removed useless PHPDoc
  [Form] Fix FormInterface::submit() annotation
  PdoSessionHandler: fix advisory lock for pgsql when session.sid_bits_per_character > 4
  HttpCache does not consider ESI resources in HEAD requests
  Fix translation for "This field was not expected"
  [Routing] Enhance Route(Collection) docblocks
  Added improvement for accuracy in MoneyToLocalizedStringTransformer.
  Removed unused private property
  Use correct verb form in the pull request template
  Use PHP_MAXPATHLEN in Filesystem.
  Added null as explicit return type (?TokenInterface)
  [FrameworkBundle] Fix Routing\DelegatingLoader
  Render all line breaks according to the exception message
  [Form] Fix phpdoc
  [DI] remove confusing code
  [Form] Fixed GroupSequence with "constraints" option
  [Validator] Clarify UUID validator behavior
  [Filesystem] Fixed makePathRelative
  ...
2017-10-01 23:00:16 +02:00
Matthias Pigulla
4dd0e53171 HttpCache does not consider ESI resources in HEAD requests 2017-09-28 05:20:56 -07:00
Nicolas Grekas
6434a00f10 Merge branch '2.7' into 2.8
* 2.7:
  Update JsonBundleReader.php
  [HttpKernel] Clean test directory on tear down
  Fix testHtml method with regexp
2017-08-15 15:30:53 +02:00
Nicolas Grekas
0a3dc11af9 [HttpKernel] Clean test directory on tear down 2017-08-15 15:06:19 +02:00
Fabien Potencier
be6af2e944 Merge branch '2.7' into 2.8
* 2.7:
  [Routing] Fix XmlFileLoader exception message
  Sessions: configurable "use_strict_mode" option for NativeSessionStorage
  [FrameworkBundle] [Command] Clean bundle directory, fixes #23177
  Reset redirectCount when throwing exception
  [TwigBundle] Remove template.xml services when templating is disabled
  add content-type header on exception response
  Embedding a response that combines expiration and validation, that should not defeat expiration on the combined response
  Fix two edge cases in ResponseCacheStrategy
  [Routing] Expose request in route conditions, if needed and possible
  [Routing] Expose request in route conditions, if needed and possible
  [Translation][FrameworkBundle] Fix resource loading order inconsistency reported in #23034
  [Filesystem] added workaround in Filesystem::rename for PHP bug
  Add tests for ResponseCacheStrategy to document some more edge cases
  [HttpFoundation] added missing docs
  fixes #21606
  [VarDumper] fixes
  [Security] fix switch user _exit without having current token
2017-06-20 16:27:56 -07:00
Matthias Pigulla
09bcbc70e7 Embedding a response that combines expiration and validation, that should not defeat expiration on the combined response 2017-06-14 23:57:46 +02:00
Matthias Pigulla
c6e8c07e4d Fix two edge cases in ResponseCacheStrategy 2017-06-14 14:29:14 -07:00
Matthias Pigulla
69e84633dd Add tests for ResponseCacheStrategy to document some more edge cases 2017-06-14 12:53:08 -07:00
Nicolas Grekas
0057459882 Merge branch '2.7' into 2.8
* 2.7:
  CS: adjust chaining indentation
2017-06-02 16:36:56 +02:00
Nicolas Grekas
1542925d8d minor #22986 CS: adjust chaining indentation (keradus)
This PR was merged into the 2.7 branch.

Discussion
----------

CS: adjust chaining indentation

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

Commits
-------

8c3c0fe CS: adjust chaining indentation
2017-06-02 16:34:38 +02:00
Fabien Potencier
bd62b148db Merge branch '2.7' into 2.8
* 2.7:
  Using FQ name for PHP_VERSION_ID
  [Form] Fix \IntlDateFormatter timezone parameter usage to bypass PHP bug #66323
  Harden the debugging of Twig filters and functions
  bumped Symfony version to 2.7.29
  updated VERSION for 2.7.28
  update CONTRIBUTORS for 2.7.28
  updated CHANGELOG for 2.7.28
2017-06-01 13:52:29 -07:00
Fabien Potencier
f91a020b84 Using FQ name for PHP_VERSION_ID 2017-06-01 13:44:56 -07:00
Dariusz
8c3c0fe65e CS: adjust chaining indentation 2017-05-31 11:30:46 +02:00
Nicolas Grekas
ba8f46ad23 [HttpKernel] Fix test 2017-03-27 16:31:27 +02:00
Nicolas Grekas
04caacb757 [HttpFoundation] Fix missing handling of for/host/proto info from "Forwarded" header 2017-03-22 21:13:53 +01:00
Fabien Potencier
3b1143c47c Merge branch '2.7' into 2.8
* 2.7:
  HttpCache: New test for revalidating responses with an expired TTL
  [Serializer] [XML] Ignore Process Instruction
2017-03-21 15:47:17 -07:00
Fabien Potencier
f9b64a206b minor #22099 HttpCache: New test for revalidating responses with an expired TTL (mpdude)
This PR was squashed before being merged into the 2.7 branch (closes #22099).

Discussion
----------

HttpCache: New test for revalidating responses with an expired TTL

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

See #22035, in particular [this and the following comments](https://github.com/symfony/symfony/pull/22035#issuecomment-287572234).

Commits
-------

067ab52ba0 HttpCache: New test for revalidating responses with an expired TTL
2017-03-21 15:46:55 -07:00
Matthias Pigulla
067ab52ba0 HttpCache: New test for revalidating responses with an expired TTL 2017-03-21 15:46:50 -07:00
Fabien Potencier
295a8e0a82 Merge branch '2.7' into 2.8
* 2.7:
  [HttpKernel] Fixed bug with purging of HTTPS URLs
  fix some risky tests
  [DI] [YamlFileLoader] change error message of a non existing file
  [Security] Added option to return true in the method isRememberMeRequested
2017-03-21 14:39:01 -07:00