Commit Graph

1623 Commits

Author SHA1 Message Date
Bernhard Schussek
9a8ec64338 Merge branch 'fix-csrf-default-2.3' into fix-csrf-default-2.4
Conflicts:
	src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php
2013-10-18 13:14:20 +02:00
Bernhard Schussek
baa2356859 [Intl] Improved FormTypeCsrfExtension to use the type class as default intention if the form name is empty 2013-10-18 13:11:42 +02:00
Bernhard Schussek
6400bd1d0f Merge branch 'fix-csrf-default-2.3' into fix-csrf-default-2.4
Conflicts:
	src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php
2013-10-17 18:05:02 +02:00
Bernhard Schussek
c4abe83e9b Merge branch 'fix-csrf-default-2.2' into fix-csrf-default-2.3
Conflicts:
	src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php
2013-10-17 18:01:33 +02:00
Bernhard Schussek
b07c618bf4 [Form] Changed FormTypeCsrfExtension to use the form's name as default intention 2013-10-17 17:52:50 +02:00
Fabien Potencier
8e21cac9e1 Merge branch '2.2' into 2.3
* 2.2:
  [DoctrineBridge] Loosened CollectionToArrayTransformer::transform() to accept arrays
  Removed unused use statements.
  Make usleep longer and simplify assertions
  Added japanese translation resource for security component.
  [Yaml] Fixed the escaping of strings starting with a dash when dumping
  Fix in ChainLoader.php
  fixed wrong started states
2013-10-17 13:48:01 +02:00
Fabien Potencier
5b6ef23196 bug #9297 [Form] Add missing use in form renderer (egeloen)
This PR was merged into the master branch.

Discussion
----------

[Form] Add missing use in form renderer

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

Commits
-------

7686867 [Form] Add missing use in form renderer
2013-10-16 16:53:26 +02:00
Hugo Hamon
0946be6c5b Removed unused use statements. 2013-10-16 14:19:20 +02:00
Hugo Hamon
eced94b7b9 Removed dead code (unused use statements). 2013-10-16 13:59:56 +02:00
Eric GELOEN
7686867b2c [Form] Add missing use in form renderer 2013-10-15 22:21:24 +02:00
Fabien Potencier
ad7ac02ee4 Merge branch '2.3'
* 2.3:
  [Process] Fix #9182 : random failure on pipes tests
  Fixed propel guessed relations
  [FramworkBundle][HttpKernel] Check event listener services are not abstract
  fixed CS
  Check for lock existence before unlinking
  remove MinCount and MaxCount contraints. It has been replaced by Count constraints.
  [FrameworkBundle] fixed path replacement on Windows

Conflicts:
	src/Symfony/Bridge/Propel1/Tests/Form/PropelTypeGuesserTest.php
2013-10-09 22:52:22 +02:00
Jérémie Augustin
ea915334e1 [form] fix missing use statement for exception UnexpectedTypeException 2013-10-07 19:12:10 +02:00
Bernhard Schussek
d4bb5f4e3c [Security\Csrf] Split CsrfTokenGenerator into CsrfTokenManager and TokenGenerator 2013-10-07 14:50:43 +02:00
Eric GELOEN
a386c74153 [Form] Add a 'submitted' attribute to the form view 2013-10-04 00:18:53 +02:00
Fabien Potencier
8840591b25 Merge branch '2.2' into 2.3
* 2.2:
  remove MinCount and MaxCount contraints. It has been replaced by Count constraints.
2013-10-01 19:10:09 +02:00
franek
58a3296e36 remove MinCount and MaxCount contraints. It has been replaced by Count constraints. 2013-10-01 16:29:34 +02:00
Fabien Potencier
f8f8816e4b Merge branch '2.3'
* 2.3:
  Fix: duplicate usage of Symfony\Component\HttpFoundation\Response
  [Form] add support for Length and Range constraint in order to replace MaxLength, MinLength, Max and Min constraints in next release (2.3)
  Revert "merged branch Tobion/flattenexception (PR #9111)"
  [Form] check the required output timezone against the actual timezone of the input datetime object, rather than the expected timezone supplied

Conflicts:
	src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php
2013-10-01 16:17:10 +02:00
Fabien Potencier
b0687c8d81 Merge branch '2.2' into 2.3
* 2.2:
  [Form] add support for Length and Range constraint in order to replace MaxLength, MinLength, Max and Min constraints in next release (2.3)
  [Form] check the required output timezone against the actual timezone of the input datetime object, rather than the expected timezone supplied
2013-10-01 14:47:27 +02:00
franek
89a040434e [Form] add support for Length and Range constraint in order to replace MaxLength, MinLength, Max and Min constraints in next release (2.3) 2013-10-01 14:21:02 +02:00
Alessandro Tagliapietra
f5812c5e40 [Form] Let null values to unset fields in PATCH requests 2013-10-01 10:31:32 +02:00
Fabien Potencier
0f80916313 feature#6554 [Security] Added Security\Csrf sub-component with better token generation (bschussek)
This PR was merged into the master branch.

Discussion
----------

[Security] Added Security\Csrf sub-component with better token generation

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

**Update September 27, 2013**

This PR simplifies the CSRF mechanism to generate completely random tokens. A random token is generated once per ~~intention~~ token ID and then stored in the session. Tokens are valid until the session expires.

Since the CSRF token generator depends on `StringUtils` and `SecureRandom` from Security\Core, and since Security\Http currently depends on the Form component for token generation, I decided to add a new Security\Csrf sub-component that contains the improved CSRF token generator. Consequences:

* Security\Http now depends on Security\Csrf instead of Form
* Form now optionally depends on Security\Csrf
* The configuration for the "security.secure_random" service and the "security.csrf.*" services was moved to FrameworkBundle to guarantee BC

In the new Security\Csrf sub-component, I tried to improve the naming where I could do so without breaking BC:

* CSRF "providers" are now called "token generators"
* CSRF "intentions" are now called "token IDs", because that's really what they are

##### TODO

- [ ] The documentation needs to be checked for references to the configuration of the application secret. Remarks that the secret is used for CSRF protection need to be removed.
- [ ] Add aliases "csrf_token_generator" and "csrf_token_id" for "csrf_provider" and "intention" in the SecurityBundle configuration
- [x] Make sure `SecureRandom` never blocks for `CsrfTokenGenerator`

Commits
-------

7f02304 [Security] Added missing PHPDoc tag
2e04e32 Updated Composer dependencies to require the Security\Csrf component where necessary
bf85e83 [FrameworkBundle][SecurityBundle] Added service configuration for the new Security CSRF sub-component
2048cf6 [Form] Deprecated the CSRF implementation and added an optional dependency to the Security CSRF sub-component instead
85d4959 [Security] Changed Security HTTP sub-component to depend on CSRF sub-component instead of Form
1bf1640 [Security] Added CSRF sub-component
2013-09-30 17:35:08 +02:00
Bernhard Schussek
2e04e32c8f Updated Composer dependencies to require the Security\Csrf component where necessary 2013-09-30 14:39:06 +02:00
Bernhard Schussek
b85577bb96 [Form] Improved test coverage of widget_attributes and widget_container_attributes blocks 2013-09-30 14:32:22 +02:00
Fabien Potencier
e281d7748e bug#8809 [Form] enforce correct timezone (Burgov)
This PR was merged into the 2.2 branch.

Discussion
----------

[Form] enforce correct timezone

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | not sure if this is a BC break...
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

I'm using the Form component to handle JSON requests which come from AJAX requests. The JSON is formed by the Angular toJson method

A typical request would be:
```
{
  name: "Some name"
  start: "2013-08-21T05:00:00.000Z"
  end: "2013-08-21T15:00:00.000Z"
}
```

Note that in this case, what I entered in my input boxes are 7:00 for start and 17:00 for end times. As you can see, Angular (or Chrome, I'm not sure), converts this to the "Z" timezone. Since I cannot enforce the correct timezone client side, the timezone will differ from the one configured in the DateTimeType, however, instead of resulting in either an error or a conversion to the correct timezone, I get a datetime object in the wrong timezone, eventually resulting in wrong values in the database.

By checking the required output timezone against the actual timezone of the input datetime object, rather than the expected timezone supplied, this problem is solved.

Commits
-------

b0349a1 [Form] check the required output timezone against the actual timezone of the input datetime object, rather than the expected timezone supplied
2013-09-30 12:22:54 +02:00
Bernhard Schussek
2048cf6d35 [Form] Deprecated the CSRF implementation and added an optional dependency to the Security CSRF sub-component instead 2013-09-27 10:12:40 +02:00
Fabien Potencier
e24dbf7cba minor#9120 Update FormTypeCsrfExtension.php (tweini)
This PR was merged into the master branch.

Discussion
----------

Update FormTypeCsrfExtension.php

There is no need to store the FormFactory in an Attribute.
The FormFactory can be retrieved directly.

Commits
-------

90d59ea Update FormTypeCsrfExtension.php
2013-09-27 09:15:33 +02:00
Bernhard Schussek
89509d9847 [Form] Improved form debugger 2013-09-25 17:47:13 +02:00
Bernhard Schussek
56d78eda56 [Form] Decoupled methods of ResolvedFormType so that they can be overridden individually by decorators 2013-09-25 15:59:51 +02:00
Robert Schönthal
a994a5d410 [Form] Merged subsriber/collector, also collect valid forms 2013-09-25 15:59:51 +02:00
Robert Schönthal
1972a91653 [Form] Added form debug collector 2013-09-25 15:59:51 +02:00
tweini
90d59ea6cd Update FormTypeCsrfExtension.php
There is no need to store the FormFactory in an Attribute.
The FormFactory can be retrieved directly.
2013-09-25 07:26:45 +02:00
Fabien Potencier
51c6d7696c Merge branch '2.3'
* 2.3:
  fixed phpdoc
  Fix some annotates
  [FrameworkBundle] made sure that the debug event dispatcher is used everywhere
  [HttpKernel] remove unneeded strtoupper
  updated the composer install command to reflect changes in Composer

Conflicts:
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
2013-09-19 11:47:34 +02:00
Fabien Potencier
88cef41560 Merge branch '2.2' into 2.3
* 2.2:
  Fix some annotates
  [FrameworkBundle] made sure that the debug event dispatcher is used everywhere
  [HttpKernel] remove unneeded strtoupper
  updated the composer install command to reflect changes in Composer

Conflicts:
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/Console/Command/Command.php
	src/Symfony/Component/Console/Input/InputDefinition.php
	src/Symfony/Component/CssSelector/Node/CombinedSelectorNode.php
	src/Symfony/Component/Form/Form.php
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
	src/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php
	src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RegisterListenersPassTest.php
	src/Symfony/Component/Locale/Locale.php
	src/Symfony/Component/Locale/README.md
	src/Symfony/Component/Locale/Stub/DateFormat/FullTransformer.php
2013-09-19 11:45:20 +02:00
bronze1man
de39bd5433 Fix some annotates 2013-09-19 11:36:05 +02:00
Fabien Potencier
c2144df888 updated the composer install command to reflect changes in Composer 2013-09-18 09:27:26 +02:00
Fabien Potencier
c3728d21cd Merge branch '2.3'
* 2.3:
  fixes RequestDataCollector bug, visible when used on Drupal8
  [Console] fixed exception rendering when nested styles
  [Console] added some more information about OutputFormatter::replaceStyle()
  [Console] fixed the formatter for single-char tags
  [Console] Escape exception message during the rendering of an exception
  [DomCrawler] fixed HTML5 form attribute handling
  Making tests pass on mac os x without this change tests would fail under mac os x at least in 10.8.2
  [BrowserKit] Fixed the handling of parameters when redirecting
  [Process] Properly close pipes after a Process::stop call
  fixed bytes conversion when used on 32-bits systems
  Typo fix
  HttpFoundation RequestTest - Fixed indentation and removed comments
  HttpFoundation Request test for #8619
  LICENSE files moved to meta folders
  added missing method in the UPGRADE file for 2.2 (closes #8941)
  [Form] Fixed: "required" attribute is not added to <select> tag if no empty value
  [Translation] Removed an unneeded return annotation.
  [DomCrawler] Added missing docblocks and removed unneeded return annotation.

Conflicts:
	src/Symfony/Component/Process/Tests/AbstractProcessTest.php
2013-09-18 09:05:46 +02:00
Fabien Potencier
bb97f64cd1 merged branch fabpot/bytes-conversion-epic-fail (PR #9048)
This PR was merged into the 2.3 branch.

Discussion
----------

fixed bytes conversion when used on 32-bits systems

| Q             | A
| ------------- | ---
| Bug fix?      | yes (on 32-bits systems)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8977
| License       | MIT
| Doc PR        | n/a

This PR reverts #7413 and #742, which does not work well when a number is big (3Go for instance) and the machine is 32bits.

Commits
-------

b3ae29d fixed bytes conversion when used on 32-bits systems
2013-09-16 13:23:31 +02:00
Fabien Potencier
b3ae29d4f8 fixed bytes conversion when used on 32-bits systems 2013-09-16 12:23:00 +02:00
Bernhard Schussek
a273e79898 [Form] Fixed: "required" attribute is not added to <select> tag if no empty value 2013-09-13 16:56:26 +02:00
Fabien Potencier
fc437cf6fb Merge branch '2.3'
* 2.3:
  [FrameworkBundle][Security] Replaced void return type with null for consistency
  fixed CS
  NativeSessionStorage regenerate
  removed unneeded comment
  Use setTimeZone if this method exists.
  Fix FileResource test
  fixed wrong usage of unset()
  [HttpFoundation] Fixed the way path to directory is trimmed.
  [Console] Fixed argument parsing when a single dash is passed.
2013-09-13 14:20:47 +02:00
Fabien Potencier
33e9571886 Merge branch '2.2' into 2.3
* 2.2:
  [FrameworkBundle][Security] Replaced void return type with null for consistency
  fixed CS
  NativeSessionStorage regenerate
  removed unneeded comment
  Use setTimeZone if this method exists.
  Fix FileResource test
  fixed wrong usage of unset()
  [HttpFoundation] Fixed the way path to directory is trimmed.
  [Console] Fixed argument parsing when a single dash is passed.

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
2013-09-13 14:20:37 +02:00
Fabien Potencier
68c9c86652 removed unneeded comment 2013-09-13 10:55:12 +02:00
dropfen
0d6af5cd90 Use setTimeZone if this method exists.
The php version is not a critical factor to choose the method, but we have to use setTimeZone, if it exists.
2013-09-13 10:52:42 +02:00
Fabien Potencier
5b71e61d15 Merge branch '2.3'
* 2.3:
  [HttpKernel] added a check for private event listeners/subscribers
  [FrameworkBundle] fixed registration of the register listener pass
  [Form] Fixed regression causing invalid "WHERE id IN ()" statements
  [DependencyInjection] fixed a non-detected circular reference in PhpDumper (closes #8425)
  [Form] Fixed regression in BooleanToStringTransformer from ed83752
  [FrameworkBundle] removed obsolete code
  [Process] Close unix pipes before calling `proc_close` to avoid a deadlock
  [Process] Fix process merge in 2.3
  [Intl] made RegionBundle and LanguageBundle merge fallback data when using a country-specific locale
2013-09-12 14:59:51 +02:00
Fabien Potencier
0f78175dcd Merge branch '2.2' into 2.3
* 2.2:
  [HttpKernel] added a check for private event listeners/subscribers
  [FrameworkBundle] fixed registration of the register listener pass
  [Form] Fixed regression causing invalid "WHERE id IN ()" statements
  [DependencyInjection] fixed a non-detected circular reference in PhpDumper (closes #8425)
  [Form] Fixed regression in BooleanToStringTransformer from ed83752
  [FrameworkBundle] removed obsolete code
  [Process] Close unix pipes before calling `proc_close` to avoid a deadlock

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php
	src/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php
	src/Symfony/Component/Process/Process.php
2013-09-12 14:57:47 +02:00
Bernhard Schussek
2747bdca76 [Form] Fixed regression in BooleanToStringTransformer from ed83752 2013-09-12 09:25:54 +02:00
Fabien Potencier
ddee0db00f Merge branch '2.3'
* 2.3:
  [HttpFoundation] fixed format duplication in Request
  [Form] Fixed FormValidator::findClickedButton() not to be called exponentially
2013-09-10 22:45:14 +02:00
Fabien Potencier
ff64313f12 merged branch bschussek/issue8317 (PR #8978)
This PR was merged into the 2.3 branch.

Discussion
----------

[Form] Fixed FormValidator::findClickedButton() not to be called exponentially

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

Commits
-------

b65a515 [Form] Fixed FormValidator::findClickedButton() not to be called exponentially
2013-09-10 22:42:10 +02:00
Bernhard Schussek
9efdb8e5d0 [Form] Deprecated ChoiceList::getIndicesFor*() methods 2013-09-10 18:24:36 +02:00
Bernhard Schussek
58e7c100dc [Form] Improved test coverage of ChoiceList classes 2013-09-10 18:17:27 +02:00