Commit Graph

16509 Commits

Author SHA1 Message Date
Nicolas Grekas
fad7aba3ba [2.3] Remove possible call_user_func() 2014-11-21 10:26:02 +01:00
Fabien Potencier
580de75249 bumped Symfony version to 2.3.23 2014-11-20 16:30:29 +01:00
Fabien Potencier
2f59c8df55 fixed typo 2014-11-20 14:51:29 +01:00
Fabien Potencier
ace20d4885 updated VERSION for 2.3.22 2014-11-20 14:28:56 +01:00
Fabien Potencier
66f194ef85 update CONTRIBUTORS for 2.3.22 2014-11-20 14:28:44 +01:00
Fabien Potencier
2c83825136 updated CHANGELOG for 2.3.22 2014-11-20 14:28:17 +01:00
Fabien Potencier
30bde8961e bug #12525 [Bundle][FrameworkBundle] be smarter when guessing the document root (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[Bundle][FrameworkBundle] be smarter when guessing the document root

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

Commits
-------

e28f5b8 be smarter when guessing the document root
2014-11-20 13:10:35 +01:00
Fabien Potencier
226b0ce669 bug #12296 [SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners (rjkip)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #12296).

Discussion
----------

[SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | when relying on this configuration behaviour
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #12261
| License       | MIT
| Doc PR        | —

See symfony/symfony#12261.

I configured a different firewall entry point for one firewall. However, when authentication had to be performed, it still called BasicAuthenticationEntryPoint::start() instead of my service's start(). My service was instantiated, yet never used.

The issue appears to be that the entry point is registered with the firewall's exception listener, but not with the BasicAuthenticationListener. This means that when the BasicAuthenticationListener determines the user has  provided wrong credentials, BasicAuthenticationEntryPoint is still used. Only in case of an exception would my  entry point service be used.

In my opinion, this is not correct behaviour. Can someone confirm this? Are there currently tests that pertain to the `entry_point` configuration on which I can base a test?

---

Test setup:

```yaml
# security.yml
security:
    firewalls:
        api:
            pattern: ^/api/
            http_basic: ~
            entry_point: my.service
        default:
            anonymous: ~
```

Commits
-------

92c8dfb [SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners
2014-11-20 11:06:53 +01:00
Reinier Kip
92c8dfb5e6 [SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners 2014-11-20 11:06:52 +01:00
Christian Flothmann
e28f5b8356 be smarter when guessing the document root 2014-11-20 10:40:57 +01:00
Fabien Potencier
b9425f0bc6 minor #12496 [Form] Add doc for FormEvents (GromNaN)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Add doc for FormEvents

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

Provide the same level of phpdoc for form events than we have for other event classes.

http://api.symfony.com/2.3/Symfony/Component/HttpKernel/KernelEvents.html
http://api.symfony.com/2.3/Symfony/Component/Form/FormEvents.html

Commits
-------

656d45f [Form] Add doc for FormEvents
2014-11-19 09:31:55 +01:00
Fabien Potencier
8b5a16522b minor #12502 Azerbaijani locale (seferov)
This PR was submitted for the 2.7 branch but it was merged into the 2.3 branch instead (closes #12502).

Discussion
----------

Azerbaijani locale

[Form] [Validator] [Security] Azerbaijani translation added

| Q             | A
| ------------- | ---
| Fixed tickets | none
| License       | MIT

Commits
-------

7f7b700 Azerbaijani locale
2014-11-19 07:31:32 +01:00
Farhad Safarov
7f7b700234 Azerbaijani locale 2014-11-19 07:31:32 +01:00
Fabien Potencier
b8b0a6bff8 minor #12501 Adjust upgrade file rendering & backport missing notes (stloyd)
This PR was merged into the 2.3 branch.

Discussion
----------

Adjust upgrade file rendering & backport missing notes

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

Commits
-------

d9c2e6d Adjust upgrade file rendering
2014-11-19 07:29:33 +01:00
Fabien Potencier
84f4c4b35b minor #12510 Fixed grammar error in docblock (gerryvdm)
This PR was submitted for the 2.7 branch but it was merged into the 2.3 branch instead (closes #12510).

Discussion
----------

Fixed grammar error in docblock

Commits
-------

ba8d937 Fixed grammar error in docblock
2014-11-18 14:50:21 +01:00
gerryvdm
ba8d93705c Fixed grammar error in docblock 2014-11-18 14:50:21 +01:00
Joseph Bielawski
d9c2e6d46f Adjust upgrade file rendering 2014-11-18 09:38:51 +01:00
Fabien Potencier
77f115eacf minor #12497 compare version using PHP_VERSION_ID (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

compare version using PHP_VERSION_ID

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

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

Commits
-------

367ed3c compare version using PHP_VERSION_ID
2014-11-17 21:54:27 +01:00
Fabien Potencier
fa71441e67 minor #12433 [Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions (hason)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #12433).

Discussion
----------

[Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions

Commits
-------

0bd19aa [Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions
2014-11-17 21:30:18 +01:00
Martin Hasoň
0bd19aa491 [Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions 2014-11-17 21:30:08 +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
Jerome TAMARELLE
656d45f06a [Form] Add doc for FormEvents 2014-11-17 14:54:58 +01:00
Fabien Potencier
8d18c98de0 minor #12372 [Yaml] don't override internal PHP constants (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[Yaml] don't override internal PHP constants

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

Commits
-------

376cc03 don't override internal PHP constants
2014-11-16 19:04:21 +01:00
Christian Flothmann
376cc0332d don't override internal PHP constants 2014-11-16 18:59:41 +01:00
Fabien Potencier
83c6ead761 minor #12468 Update filesystem readme.md to include exists method (ericduran)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #12468).

Discussion
----------

Update filesystem readme.md to include exists method

Read the contributing docs, I don't think I missed anything but to be fair I went through it pretty fast :-/

Commits
-------

16c1b66 Update filesystem readme.md to include exists method
2014-11-16 18:27:15 +01:00
Eric J. Duran
16c1b6669d Update filesystem readme.md to include exists method 2014-11-16 18:27:15 +01:00
Fabien Potencier
b53adf9e37 minor #12299 Add machine readable events (dawehner)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #12299).

Discussion
----------

Add machine readable events

As discussed in [#11878] it would be great to have some simple machine readable way to find events

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

Commits
-------

ace9a22 Add machine readable events
2014-11-16 18:21:19 +01:00
Daniel Wehner
ace9a22101 Add machine readable events 2014-11-16 18:21:02 +01:00
Fabien Potencier
5decdd7734 minor #12449 fixed typo (ojhaujjwal)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #12449).

Discussion
----------

fixed typo

Commits
-------

a7c2a9a fixed typo
2014-11-12 09:11:35 +01:00
Ujjwal Ojha
a7c2a9a623 fixed typo 2014-11-12 09:11:34 +01:00
Fabien Potencier
58eab0a3d4 minor #12450 [Translations] Added missing Hebrew language trans-unit sources (excelwebzone)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #12450).

Discussion
----------

[Translations] Added missing Hebrew language trans-unit sources

[Form] [Validator] [Translations] added missing files
[Security][Translations] added missing files

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

Commits
-------

918b16b [Translations] Added missing Hebrew language trans-unit sources
2014-11-12 09:10:14 +01:00
Michael H. Arieli
918b16b16c [Translations] Added missing Hebrew language trans-unit sources 2014-11-12 09:10:13 +01:00
Fabien Potencier
0cbba7f317 bug #12393 [DependencyInjection] inlined factory not referenced (boekkooi)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #12393).

Discussion
----------

[DependencyInjection] inlined factory not referenced

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

While working with the DI I encountered a `You have requested a non-existent service "xxxxx"` exception.
Research it seems that a private reference was inlined but the private factory that was also referencing to the service was ignored.

A example of the problem:
```XML
        <service id="manager"
                 class="\stdClass"
                 factory-method="getX"
                 factory-service="factory"
                 public="false">
            <argument>X</argument>
        </service>
        <service id="repository"
                 class="\stdClass"
                 factory-method="getRepository"
                 factory-service="manager"
                 public="false">
            <argument>X</argument>
        </service>
        <service id="storage" class="\stdClass" public="false">
            <argument type="service" id="manager"/>
            <argument type="service" id="repository"/>
        </service>
```

What happens before the patch:
1. repository get's inlined
2. manager get's inlined for the first argument
3. manager get's removed since there was no reference.

After the first commit the following will happen:
1. repository get's inlined
2. manager get's inlined for the first argument
3. manager will not be removed since the inlined repository still references manager

This introduced a smell since InlineServiceDefinitionsPass was still inlining the manager for the first argument.

To fix this I have chosen that not inline factories if they are used more then once by the same definition.

So after the second commit the following will happen:
1. repository get's inlined

Personally I feel that the InlineServiceDefinitionsPass patch isn't the best possible one but that a different fix would probably mean breaking BC so it's probably a good idea to look at this for Symfony 3.0.

Commits
-------

7816a98 [DependencyInjection] inlined factory not referenced
2014-11-12 08:52:53 +01:00
Warnar Boekkooi
7816a98204 [DependencyInjection] inlined factory not referenced 2014-11-12 08:52:52 +01:00
Fabien Potencier
1f55706be9 bug #12436 [Filesystem] Fixed case for empty folder (yosmanyga)
This PR was merged into the 2.3 branch.

Discussion
----------

[Filesystem] Fixed case for empty folder

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

The mirror function should work with an empty folder as source. It should create an empty folder on target path.

Commits
-------

5321741 Fixed case for empty folder
2014-11-09 08:44:54 +01:00
Yosmany Garcia
5321741ab5 Fixed case for empty folder 2014-11-08 14:35:51 -05:00
Fabien Potencier
08bebaba2c minor #12398 [TwigBridge] TwigExtractor tests require the Finder component (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[TwigBridge] TwigExtractor tests require the Finder component

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

The tests for the `TwigExtractor`(as introduced in #12377) require the Finder component to be run properly.

Commits
-------

8fc3e03 TwigExtractor tests require the Finder component
2014-11-03 18:52:52 +01:00
Christian Flothmann
8fc3e03a0e TwigExtractor tests require the Finder component 2014-11-03 16:33:47 +01:00
Fabien Potencier
a08fda5e5c added missing files 2014-11-03 00:30:21 +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
b7f8f4eab7 bug #12370 [Yaml] improve error message for multiple documents (xabbuh)
This PR was merged into the 2.3 branch.

Discussion
----------

[Yaml] improve error message for multiple documents

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

The YAML parser doesn't support multiple documents. This pull requests
improves the error message when the parser detects multiple YAML
documents.

see also #11840

Commits
-------

c77fdcb improve error message for multiple documents
2014-11-02 02:10:02 +01:00
Fabien Potencier
f3ad406599 minor #12377 Translation debug improve error reporting (mrthehud, fabpot)
This PR was merged into the 2.3 branch.

Discussion
----------

Translation debug improve error reporting

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

Indicate which file was being parsed if an exception is thrown while running translation:debug

When running the translation:debug command, if a template contains invalid twig markup,
an exception is thrown. This patch rethrows a new exception that includes the filename
being parsed in the message to aid debugging.

Commits
-------

97a8f7e [TwigBundle] added a test
b1bffc0 Indicate which file was being parsed if an exception is thrown while running translation:debug
2014-11-02 02:05:26 +01:00
Fabien Potencier
ec82e32b13 bug #12170 [Form] fix form handling with OPTIONS request method (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] fix form handling with OPTIONS request method

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

The OPTIONS request is just handled as any other request method. And accoring to the spec, an options request can also contain a request body like a POST. This only applied when using the deprecated form processing with `$form->submit($request)`. The change also makes the handling consistent with the `handleRequest` behavior via https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Extension/HttpFoundation/HttpFoundationRequestHandler.php

Commits
-------

28eabd8 [Form] fix form handling with unconventional request methods like OPTIONS
2014-11-02 02:03:36 +01:00
Fabien Potencier
97a8f7e395 [TwigBundle] added a test 2014-11-02 01:56:08 +01:00
James Hudson
b1bffc0516 Indicate which file was being parsed if an exception is thrown while running translation:debug
When running the translation:debug command, if a template contains invalid twig markup,
an exception is thrown. This patch rethrows a new exception that includes the filename
being parsed in the message to aid debuging.
2014-11-02 01:45:12 +01:00
Fabien Potencier
9ea4296028 bug #12235 [Validator] Fixed Regex::getHtmlPattern() to work with complex and negated patterns (webmozart)
This PR was merged into the 2.3 branch.

Discussion
----------

[Validator] Fixed Regex::getHtmlPattern() to work with complex and negated patterns

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

According to my own testing, this should fix the generation of HTML patterns when `Regex::$match` is set to false. Additionally, patterns containing pipes (or statements) are fixed. See the test cases for examples.

Commits
-------

bf006f5 [Validator] Fixed Regex::getHtmlPattern() to work with complex and negated patterns
2014-11-02 01:32:54 +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
Fabien Potencier
9c1e4686eb bug #12341 [Kernel] ensure session is saved before sending response (Tobion)
This PR was merged into the 2.3 branch.

Discussion
----------

[Kernel] ensure session is saved before sending response

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

Saves the session, in case it is still open, before sending the response.

This ensures several things in case the developer did not save the session explicitly:

- If a session save handler without locking is used, it ensures the data is available
on the next request, e.g. after a redirect. PHPs auto-save at script end via
session_register_shutdown is executed after fastcgi_finish_request. So in this case
the data could be missing the next request because it might not be saved the moment
the new request is processed.

- A locking save handler (e.g. the native 'files') circumvents concurrency problems like
the one above. By saving the session before long-running things in the terminate event,
we ensure the session is not blocked longer than needed.

- When regenerating the session ID no locking is involved in PHPs session design. See
https://bugs.php.net/bug.php?id=61470 for a discussion. So in this case, the session must
be saved anyway before sending the headers with the new session ID. Otherwise session
data could get lost again for concurrent requests with the new ID. One result could be
that you get logged out after just logging in.

This listener should be executed as one of the last listeners, so that previous listeners
can still operate on the open session. This prevents the overhead of restarting it.
Listeners after closing the session can still work with the session as usual because
 Symfonys session implementation starts the session on demand. So writing to it after
it is saved will just restart it.

Commits
-------

b7bfef0 [Kernel] ensure session is saved before sending response
2014-11-02 01:22:14 +01:00
Fabien Potencier
495cba6e07 minor #12371 [ClassLoader] Cast $useIncludePath property to boolean (GeertDD)
This PR was submitted for the master branch but it was merged into the 2.3 branch instead (closes #12371).

Discussion
----------

[ClassLoader] Cast $useIncludePath property to boolean

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

Commits
-------

32001a4 [ClassLoader] Cast $useIncludePath property to boolean
2014-11-02 01:04:15 +01:00
Geert De Deckere
32001a44a1 [ClassLoader] Cast $useIncludePath property to boolean 2014-11-02 01:04:15 +01:00