Commit Graph

9654 Commits

Author SHA1 Message Date
Bernhard Schussek
99321cbe24 [DoctrineBridge] Fixed: Exception is thrown if the entity class is not known to Doctrine 2012-12-06 13:35:16 +01:00
Fabien Potencier
889bd2ee62 Merge branch '2.0' into 2.1
* 2.0:
  [Locale] fixed tests
  [Config] Fixed tests on Windows
  [TwigBundle] Fixed tests

Conflicts:
	phpunit.xml.dist
	src/Symfony/Bundle/TwigBundle/Tests/TwigEngineTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubIntlDateFormatterTest.php
	src/Symfony/Component/Locale/Tests/Stub/StubNumberFormatterTest.php
2012-12-06 08:51:00 +01:00
Martin Hasoň
acf1f86611 [TwigBundle] Fixed tests 2012-12-04 14:39:39 +01:00
Fran Moreno
d03281b400 [Security] Move DigestDataTest.php inside the Security component 2012-12-04 01:15:08 +01:00
Fran Moreno
2ed30e702f Fixed DefaultValue for session.auto_start in NodeDefinition
This is just for consistency with the node type (Boolean)
2012-12-03 23:02:45 +01:00
Fran Moreno
faeecf81ce Fix namespace of Validator and BrowserKit Tests 2012-12-03 16:25:15 +01:00
Fabien Potencier
a6e08b18de Merge branch '2.0' into 2.1
* 2.0:
  [TwigBundle] Moved the registration of the app global to the environment
  needs to use simpleContent in xsd to allow empty elements
  bumped Symfony version to 2.0.19-DEV
  removed wrong routing xsd statement `mixed="true"`
  removed unused attribute from routing.xsd
  updated VERSION for 2.0.19
  update CONTRIBUTORS for 2.0.19
  updated CHANGELOG for 2.0.19

Conflicts:
	CONTRIBUTORS.md
	src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml
	src/Symfony/Bundle/TwigBundle/TwigEngine.php
	src/Symfony/Component/HttpKernel/Kernel.php
2012-12-03 14:28:41 +01:00
Christophe Coevoet
ae3d531737 [TwigBundle] Moved the registration of the app global to the environment
This makes the app global variable available also when accessing the Twig
environment directly instead of using the TwigEngine.

Conflicts:
	src/Symfony/Bridge/Twig/CHANGELOG.md
	src/Symfony/Bundle/TwigBundle/Resources/config/twig.xml
	src/Symfony/Bundle/TwigBundle/TwigEngine.php
2012-12-03 14:25:44 +01:00
Tobias Schultze
eec788571f needs to use simpleContent in xsd to allow empty elements 2012-12-03 13:35:11 +01:00
Fabien Potencier
90e910f5ab merged branch Tobion/patch-2 (PR #6166)
This PR was merged into the 2.0 branch.

Commits
-------

57edf56 removed wrong routing xsd statement `mixed="true"`

Discussion
----------

removed wrong routing xsd statement `mixed="true"`

mixed="true" means that the element could contain both text and other elements, e.g.
`<requirement key="_locale">text <subelement /></requirement>`
But this wrong and such a definition would not even validate against the scheme as the xsd does not define which elements would be expected inside.
2012-12-02 19:02:32 +01:00
Fabien Potencier
afdd08b3ef merged branch Tobion/patch-1 (PR #6164)
This PR was merged into the 2.0 branch.

Commits
-------

d5623b4 removed unused attribute from routing.xsd

Discussion
----------

removed unused attribute from routing.xsd
2012-12-02 19:02:05 +01:00
Fabien Potencier
a82f3ed134 bumped Symfony version to 2.1.5-DEV 2012-12-02 19:01:07 +01:00
Fabien Potencier
3495fa61ab bumped Symfony version to 2.0.19-DEV 2012-12-02 18:59:42 +01:00
Tobias Schultze
57edf568a2 removed wrong routing xsd statement mixed="true"
mixed="true" means that the element could contain both text and other elements, e.g.
`<requirement key="_locale">text <subelement /></requirement>`
But this wrong and such a definition would not even validate against the scheme as the xsd does not define which elements would be expected inside.
2012-12-01 22:40:50 +01:00
Tobias Schultze
d5623b46d8 removed unused attribute from routing.xsd 2012-12-01 22:16:05 +01:00
Fabien Potencier
7b234db668 [HttpFoundation] added a small comment about the meaning of Request::hasSession() as this is a recurrent question (refs #4541) 2012-11-30 13:53:14 +01:00
Fabien Potencier
936abe1752 updated VERSION for 2.1.4 2012-11-29 12:56:19 +01:00
Fabien Potencier
cdb3eccd5b updated VERSION for 2.0.19 2012-11-29 12:36:26 +01:00
Fabien Potencier
d50f9d7431 Merge branch '2.0' into 2.1
* 2.0:
  [HttpFoundation] reverted variable rename

Conflicts:
	src/Symfony/Component/HttpFoundation/Request.php
2012-11-29 12:32:44 +01:00
Fabien Potencier
9ce892cf43 [HttpFoundation] reverted variable rename 2012-11-29 12:31:26 +01:00
Fabien Potencier
6c67476ef0 Merge branch '2.0' into 2.1
* 2.0:
  replaced magic strings by proper constants
  refactored tests for Request
  fixed the logic in Request::isSecure() (if the information comes from a source that we trust, don't check other ones)
  added a way to configure the X-Forwarded-XXX header names and a way to disable trusting them
  fixed algorithm used to determine the trusted client IP
  removed the non-standard Client-IP HTTP header

Conflicts:
	src/Symfony/Component/HttpFoundation/Request.php
	src/Symfony/Component/HttpFoundation/Tests/RequestTest.php
2012-11-29 12:27:48 +01:00
Fabien Potencier
e5536f0fe1 replaced magic strings by proper constants 2012-11-29 12:23:09 +01:00
Fabien Potencier
6a3ba52858 fixed the logic in Request::isSecure() (if the information comes from a source that we trust, don't check other ones) 2012-11-29 12:23:09 +01:00
Fabien Potencier
67e12f3ecb added a way to configure the X-Forwarded-XXX header names and a way to disable trusting them 2012-11-29 12:23:09 +01:00
Fabien Potencier
b45873a3f6 fixed algorithm used to determine the trusted client IP 2012-11-29 12:23:09 +01:00
Fabien Potencier
254b11062e removed the non-standard Client-IP HTTP header 2012-11-29 12:23:09 +01:00
Fabien Potencier
922c2015f6 Merge branch '2.0' into 2.1
* 2.0:
  [DependencyInjection] fixed composer.json
  [Form] Updated checks for the ICU version from 4.5+ to 4.7+ due to test failures with ICU 4.6
  fixed CS
  small fix of #5984 when the container param is not set
  fixed CS
  Use better default ports in urlRedirectAction
  Add tests for urlRedirectAction
  Update src/Symfony/Component/DomCrawler/Tests/FormTest.php
  Update src/Symfony/Component/DomCrawler/Form.php
  [Security] remove escape charters from username provided by Digest DigestAuthenticationListener
  [Security] added test extra for digest authentication
  fixed CS
  [Security] Fixed digest authentication
  [Security] Fixed digest authentication
  [SecurityBundle] Convert Http method to uppercase in the config
  Use Norm Data instead of Data

Conflicts:
	src/Symfony/Bridge/Doctrine/Form/EventListener/MergeCollectionListener.php
	src/Symfony/Bundle/FrameworkBundle/Controller/RedirectController.php
	src/Symfony/Component/DependencyInjection/composer.json
2012-11-29 11:32:18 +01:00
Fabien Potencier
fc89d6b643 [DependencyInjection] fixed composer.json 2012-11-27 09:54:37 +01:00
Eugene Leonovich
31c32c551f [Validator] Fix typos in validators.ru.xlf 2012-11-25 22:04:02 +01:00
Andrey Esaulov
7f5c4198ba Edited some minor grammar and style errors in russian validation file 2012-11-25 12:00:35 +01:00
Fabien Potencier
96da146b9d merged branch bicpi/add_hasser_hint (PR #6110)
This PR was merged into the 2.1 branch.

Commits
-------

06ee53b [Form] improve error message with a "hasser" hint for PropertyAccessDeniedException

Discussion
----------

[Form] improve error msg w/ a "hasser" hint for PropertyAccessDeniedException

"Hasser" support was added under the 2.1 branch of the Form component

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: no, but fails exactly the same as without this fix
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: symfony/symfony-docs#1958
2012-11-25 11:54:09 +01:00
Roumen Damianoff
7cba683f04 Updated Bulgarian translation
Added Bulgarian translation for form component.
Updated Bulgarian translation for validator messages.
2012-11-25 01:16:21 +02:00
Philipp Rieber
06ee53b73e [Form] improve error message with a "hasser" hint for PropertyAccessDeniedException
Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: no, but fails exactly the same as without this fix
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: symfony/symfony-docs#1958
2012-11-24 15:59:58 +01:00
Fabien Potencier
1c0ba78833 [Form] simplified a test from previous merge 2012-11-24 13:04:10 +01:00
Stepan Tanasiychuk
2fe04e1378 Update src/Symfony/Component/Form/Extension/Core/Type/FileType.php 2012-11-24 12:59:05 +01:00
Fabien Potencier
eb0a60e1a0 merged branch armetiz/patch-9 (PR #6021)
This PR was merged into the 2.1 branch.

Commits
-------

82334d2 Force loader to be null or a EntityLoaderInterface

Discussion
----------

Force loader to be null or a EntityLoaderInterface
2012-11-24 12:54:39 +01:00
Fabien Potencier
6831a3d1c5 merged branch sterrien/patch-1 (PR #5842)
This PR was merged into the 2.0 branch.

Commits
-------

2d9a6fc Use Norm Data instead of Data

Discussion
----------

[Form] Use Norm Data instead of App Data

This listener is triggered when normalized data are binded.

We have to use $event->getForm()->getNormData() instead of $event->getForm()->getData().

I have made a new FormType having 'entity' as parent and having a NormTransformer. I encountered a problem in MergeCollectionListener when the request is binded.

My commit fix it.
2012-11-24 12:53:16 +01:00
Fabien Potencier
deb740b6ed merged branch bamarni/preloaded-extension (PR #5479)
This PR was merged into the 2.1 branch.

Commits
-------

84635bd [Form] allowed no type guesser to be registered

Discussion
----------

[Form] made the factory builder pass null when no type guesser registered

reopened #5422 against 2.1 as it's a bug fix

---------------------------------------------------------------------------

by stof at 2012-10-13T21:23:34Z

@fabpot anything left for this PR ?

---------------------------------------------------------------------------

by fabpot at 2012-10-14T09:41:29Z

@bamarni Can you add some unit tests and also update the FormExtensionInterface interface phpdoc as `getTypeGuesser` can now return `null`? Thanks. ping @bschussek

---------------------------------------------------------------------------

by bamarni at 2012-10-14T17:10:27Z

I've added a few tests covering this.

@fabpot : the phpdoc is already correct, it currently can return null, this only occurs with this convenient class.

---------------------------------------------------------------------------

by bschussek at 2012-10-16T07:43:41Z

This PR breaks FormFactory::createBuilderForProperty(), which expects a guesser to be present. Can you check the component for other uses of the guesser and add a null-check there?

---------------------------------------------------------------------------

by bamarni at 2012-10-16T10:57:54Z

I cannot find other places than the factory (searching for 'getTypeGuesser').

---------------------------------------------------------------------------

by bschussek at 2012-11-08T16:58:37Z

You should also adapt `FormRegistry::getTypeGuesser()` not to build a `FormTypeGuesserChain` if the array of guessers is empty. In that case it will return now `null` (adapt the doc block). We also need a different was of checking if the type guessers have already been parsed in FormRegistry. Otherwise the first if condition in `FormRegistry::getTypeGuesser()` will never become false. You could for example initialize the property `$guesser` to `false` and only set it to `null` after the first run of `getTypeGuesser()`.

---------------------------------------------------------------------------

by bamarni at 2012-11-08T18:40:00Z

good catch I had missed it! I've applied your suggestion in the latest commit. Do you see anything else before I squash?

---------------------------------------------------------------------------

by bschussek at 2012-11-08T18:45:15Z

A test for `FormRegistry::getTypeGuesser()` would of course be awesome.

---------------------------------------------------------------------------

by bamarni at 2012-11-08T18:52:13Z

Then it was already awesome! (see https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Form/Tests/FormRegistryTest.php#L252)

I've also added one for the null case if it's what you meant.
2012-11-24 12:52:59 +01:00
Fabien Potencier
c20efc7c78 fixed CS 2012-11-24 12:10:50 +01:00
Xavier HAUSHERR
bbeff543cd Xliff with other node than source or target are ignored 2012-11-21 16:37:42 +01:00
Tobias Schultze
29bfa13ff0 small fix of #5984 when the container param is not set
this can happen when the config for the router is unset, but this method
does not need to depend on routing. reading an unset config would raise an exception.
2012-11-21 15:35:19 +01:00
Malaney J. Hill
f211b198c7 Filesystem Component mirror symlinked directory fix 2012-11-20 14:21:32 +01:00
Tugdual Saunier
0f4d8af6cf [Process][Tests] fixed chainedCommandsOutput tests
for OS where echo does not support -n option (like MacOS X)
2012-11-19 21:53:52 +01:00
Fabien Potencier
85be887e59 fixed CS 2012-11-19 21:00:36 +01:00
Fabien Potencier
ebd5e9286c merged branch flojon/patch-3 (PR #5984)
This PR was merged into the 2.0 branch.

Commits
-------

64b54dc Use better default ports in urlRedirectAction
64216f2 Add tests for urlRedirectAction

Discussion
----------

Default to current port in urlRedirectAction

I was a bit surprised when I used urlRedirectAction from a non-standard port (8000) it redirected me to port 80. I would argue that the default should be to use the current port instead. This is a simple patch to change that. This should only break in the case someone is relying on the current default to redirect from a non-standard port to the standard port, which should be a really rare case...

---------------------------------------------------------------------------

by Tobion at 2012-11-11T20:29:54Z

The idea is right but the implementation not. Seems this patch is not as "simple" as you said.
When you're on HTTPS and want to redirect to $scheme = HTTP, then it still uses the current HTTPS port which is wrong.

---------------------------------------------------------------------------

by flojon at 2012-11-11T20:36:47Z

Ah, I see the problem. So I guess the correct behavior would be to use the current port if staying with the same scheme or go to standard port if switching scheme. Unless the user has specified a port which will always override...

---------------------------------------------------------------------------

by Tobion at 2012-11-11T20:42:18Z

That would be the best solution that is currently possible but not the best solution that should be possible.
Because if you switch scheme but the other scheme does not use the standard port, it still doesn't work.
Ideally the Request class had an option that allows to define the ports symfony should use for HTTP and HTTPS.
This logic is in RequestContext, but it's not used here.

---------------------------------------------------------------------------

by flojon at 2012-11-11T21:32:55Z

Bummer, I forgot to check if the current port is a standard port...

---------------------------------------------------------------------------

by Tobion at 2012-11-11T21:35:13Z

add some tests

---------------------------------------------------------------------------

by flojon at 2012-11-11T23:28:18Z

Added tests and fixed my previous error

---------------------------------------------------------------------------

by flojon at 2012-11-15T18:25:12Z

@Tobion is there anything else I needed for this?

---------------------------------------------------------------------------

by fabpot at 2012-11-19T12:56:04Z

To be consistent with how we manage HTTP ports elsewhere, I'd rather use the values of the `request_listener.http_port` and `request_listener.https_port`:

```php
        if (null === $httpPort) {
            $httpPort = $this->container->getParameter('request_listener.http_port');
        }

        if (null === $httpsPort) {
            $httpsPort = $this->container->getParameter('request_listener.https_port');
        }
```

This is done in the `security.authentication.retry_entry_point` service and for the `router_listener` listener.

The parameter name is probably not the best one, but that could be changed then in master.

---------------------------------------------------------------------------

by flojon at 2012-11-19T13:49:18Z

@fabpot But then you would need to set that parameter manually right? It wouldn't automatically redirect you to the same port, which was what I wanted to achieve...

Could this be the right order of preference:
If a value was specified in the route use that.
Otherwise use the current port
unless switching scheme then use the parameter value

---------------------------------------------------------------------------

by fabpot at 2012-11-19T13:52:17Z

Your order of preference looks good to me.

---------------------------------------------------------------------------

by flojon at 2012-11-19T19:13:19Z

Man this was more involved than I thought... :)
Changed the logic to use the parameters when not using the current port. Also tried clean up the tests a little bit... Enjoy!
2012-11-19 20:59:22 +01:00
Jonas Flodén
64b54dc587 Use better default ports in urlRedirectAction 2012-11-19 20:08:12 +01:00
Jonas Flodén
64216f25a5 Add tests for urlRedirectAction 2012-11-19 20:04:16 +01:00
Fabien Potencier
54ffd9ebfd merged branch sstok/fix_digest_authentication (PR #5874)
This PR was merged into the 2.0 branch.

Commits
-------

f2cbea3 [Security] remove escape charters from username provided by Digest DigestAuthenticationListener
80f6992 [Security] added test extra for digest authentication
d66b03c fixed CS
694697d [Security] Fixed digest authentication
c067586 [Security] Fixed digest authentication

Discussion
----------

Fix digest authentication

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets:
Todo: -
License of the code: MIT
Documentation PR: -
Replaces: #5485

This adds the missing fixes.

My only concerns is the ```\"``` removing.
```\"``` is only needed for the HTTP transport, but keeping them would require to also store the username with the escapes as well.

---------------------------------------------------------------------------

by fabpot at 2012-10-30T11:25:28Z

The digest authentication mechanism is not that widespread due to its limitation. And the transport is not HTTP, I think we are talking about very few cases.

---------------------------------------------------------------------------

by sstok at 2012-10-30T12:49:14Z

Apache seems to remove (ignore) escape characters.

```c
if (auth_line[0] == '=') {
            auth_line++;
            while (apr_isspace(auth_line[0])) {
                auth_line++;
            }

            vv = 0;
            if (auth_line[0] == '\"') {         /* quoted string */
                auth_line++;
                while (auth_line[0] != '\"' && auth_line[0] != '\0') {
                    if (auth_line[0] == '\\' && auth_line[1] != '\0') {
                        auth_line++;            /* escaped char */
                    }
                    value[vv++] = *auth_line++;
                }
                if (auth_line[0] != '\0') {
                    auth_line++;
                }
            }
            else {                               /* token */
                while (auth_line[0] != ',' && auth_line[0] != '\0'
                       && !apr_isspace(auth_line[0])) {
                    value[vv++] = *auth_line++;
                }
            }
            value[vv] = '\0';
        }
```

But would this change be a BC break for people already using quotes but without a comma and thus they never hit this bug?

The change it self is minimum, just calling ```str_replace('\\\\', '\\', str_replace('\\"', '"', $value))``` when getting the username.

---------------------------------------------------------------------------

by fabpot at 2012-11-13T13:00:12Z

@sstok Doing the same as Apache seems the best option here (just document the BC break).

---------------------------------------------------------------------------

by sstok at 2012-11-15T16:05:00Z

Hopefully I did this correct, but the needed escapes seem correctly removed.
`\"` is changed to `"` `\\` is changed to `\`
`\'` it kept as it is, as this needs no correcting.

@Vincent-Simonin Can you verify please.

---------------------------------------------------------------------------

by Vincent-Simonin at 2012-11-19T09:28:18Z

Authentication didn't work with this configuration :

```
providers:
    in_memory:
        name: in_memory
        users:
            te"st: { password: test, roles: [ 'ROLE_USER' ] }
```

`te"st` was set in authentication form's user field.

(Must we also escape `"` in configuration file ?)

Tests were performed with nginx.

---------------------------------------------------------------------------

by sstok at 2012-11-19T09:33:34Z

Yes. YAML escapes using an duplicate quote, like SQL.

```yaml
providers:
    in_memory:
        name: in_memory
        users:
            "te""st": { password: test, roles: [ 'ROLE_USER' ] }
```
2012-11-19 14:04:22 +01:00
Fabien Potencier
bfeb6e78b7 merged branch vicb/security-config (PR #6017)
This PR was merged into the 2.0 branch.

Commits
-------

32dc31e [SecurityBundle] Convert Http method to uppercase in the config

Discussion
----------

[SecurityBundle] Convert Http method to uppercase in the config

This is not striclty required as method names would be converted to uppercase by the matcher after #5988.

However I think it is better to always use uppercase for http method names.

The config UT has also been improved as part of this PR.

This is good to propagate to 2.1 & 2.2 also.
2012-11-19 13:43:56 +01:00
Benoît Bourgeois
b0e468f9ba Update src/Symfony/Component/DomCrawler/Form.php 2012-11-19 13:39:22 +01:00