Commit Graph

28672 Commits

Author SHA1 Message Date
Christian Flothmann
d2b499636c [DI] update changelog and upgrade files 2016-12-19 10:30:32 +01:00
Fabien Potencier
dd1fd31d7a feature #20971 [WebProfilerBundle] Split PHP version if needed (ro0NL)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[WebProfilerBundle] Split PHP version if needed

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes/no
| Fixed tickets | https://github.com/symfony/symfony/pull/20697#issuecomment-263966015
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

Commits
-------

1241a00 [WebProfilerBundle] Split PHP version if needed
2016-12-19 09:26:18 +01:00
Fabien Potencier
ed5b1d8968 feature #20634 [DI] Deprecate dumping an uncompiled container (ro0NL)
This PR was squashed before being merged into the 3.3-dev branch (closes #20634).

Discussion
----------

[DI] Deprecate dumping an uncompiled container

| Q             | A
| ------------- | ---
| Branch?       | "master"
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/19673#issuecomment-242001836
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

It makes the PHP dumper less complex. Compiled container goes in, compiled container goes out.

Relates to #19673

Commits
-------

da50fdb [DI] Deprecate dumping an uncompiled container
2016-12-19 09:23:26 +01:00
Roland Franssen
da50fdb8e2 [DI] Deprecate dumping an uncompiled container 2016-12-19 09:23:24 +01:00
Fabien Potencier
d221a4e1eb feature #20923 #20921 [Config] Provide shorthand methods for ArrayNodeDefinition::pr… (skafandri)
This PR was squashed before being merged into the 3.3-dev branch (closes #20923).

Discussion
----------

#20921 [Config] Provide shorthand methods for ArrayNodeDefinition::pr…

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

Commits
-------

22b8490 #20921 [Config] Provide shorthand methods for ArrayNodeDefinition::pr…
2016-12-19 08:55:13 +01:00
ilyes kooli
22b849062a #20921 [Config] Provide shorthand methods for ArrayNodeDefinition::pr… 2016-12-19 08:55:12 +01:00
Nicolas Grekas
3c4e65fb9e Merge branch '3.1'
* 3.1:
  [HttpKernel] Fix ClientTest cookie format assertions
2016-12-18 22:04:59 +01:00
Nicolas Grekas
6ba0414cc0 minor #20983 [HttpKernel] Fix ClientTest cookie format assertions (nicolas-grekas)
This PR was merged into the 3.1 branch.

Discussion
----------

[HttpKernel] Fix ClientTest cookie format assertions

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

Commits
-------

20190c3 [HttpKernel] Fix ClientTest cookie format assertions
2016-12-18 22:01:31 +01:00
Nicolas Grekas
d25ecdc77f bug #20981 [HttpKernel] Fix "Locale class not found" in ConfigDataCollector (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[HttpKernel] Fix "Locale class not found" in ConfigDataCollector

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

PHP 7.0 & 7.1, no intl, "Locale" is not defined.

Commits
-------

8f5e917 [HttpKernel] Fix "Locale class not found" in ConfigDataCollector
2016-12-18 21:59:34 +01:00
Nicolas Grekas
20190c3861 [HttpKernel] Fix ClientTest cookie format assertions 2016-12-18 21:52:30 +01:00
Nicolas Grekas
8f5e917557 [HttpKernel] Fix "Locale class not found" in ConfigDataCollector 2016-12-18 20:00:09 +01:00
Roland Franssen
1241a00f6d [WebProfilerBundle] Split PHP version if needed 2016-12-17 21:06:30 +00:00
Fabien Potencier
0ab6628431 feature #20569 [HttpFoundation] Create cookie from string + synchronize response cookies (ro0NL)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[HttpFoundation] Create cookie from string + synchronize response cookies

| Q             | A
| ------------- | ---
| Branch?       | "master"
| Bug fix?      | yes
| New feature?  | yes
| BC breaks?    | no-ish
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Fixes the conversion/synchroniczation of cookies between the object API and string API, ie;

```php
$headers->setCookie(new Cookie('foo', 'bar'));
$headers->has('set-cookie'); // true

$headers->set('set-cookie', 'foo2=bar2', false);
count($headers->getCookies()); // 2
```

With an additional feature `Cookie::fromString($cookie)`

The BC break happens in terms you cannot set a custom `Set-Cookie` header anymore, all cookies are set via `set(raw)cookie` by PHP.

We could go one step further by tracking misc. attributes (`Cookie::getAttributes()`) and populate accordingly from `Cookie::fromString`. If the cookie has attributes we should bypass `setcookie` and write a header instead, but im not sure it's worth it.

Commits
-------

7314456 [HttpFoundation] Create cookie from string + synchronize response cookies
2016-12-17 17:59:49 +01:00
Roland Franssen
7314456cb0 [HttpFoundation] Create cookie from string + synchronize response cookies 2016-12-17 15:18:52 +00:00
Nicolas Grekas
d6141930e8 minor #20968 [DI] Fix DefinitionDecorator existency for composer authoritative+IDEs (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Fix DefinitionDecorator existency for composer authoritative+IDEs

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

So that the class is defined for naive parser (e.g. IDEs & composer class map generator).
Fixes autoloading in authoritative mode.

Commits
-------

9c3f755 [DI] Fix DefinitionDecorator existency for composer authoritative+IDEs
2016-12-17 11:48:33 +01:00
Nicolas Grekas
c885d23a39 Merge branch '3.2'
* 3.2:
  [Security] Fix test
  [Validator] phpize default option values
  test for the Validator component to be present
  [Serializer] Fix MaxDepth annotation exceptions
  [DependencyInjection] Fix on-invalid attribute type in xsd
  [FrameworkBundle] Fix PHP form templates on translatable attributes
  [VarDumper] Fix dumping by-ref variadics
  [Validator] add Indonesian translation
  fixed CS
  [config] Fix issue when key removed and left value only
  [HttpFoundation] Fix cookie to string conversion for raw cookies
  Fix misresolved parameters in debug:config on 3.2
  [Console] fixed BC issue with static closures
  [TwigBundle] Config is now a hard dependency
  [FrameworkBundle] framework.annotations default should be true only if doctrine/annotations is installed
  [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0)
2016-12-17 11:47:22 +01:00
Nicolas Grekas
b9a74f35ba Merge branch '3.1' into 3.2
* 3.1:
  [Security] Fix test
  [Validator] phpize default option values
  test for the Validator component to be present
  [Serializer] Fix MaxDepth annotation exceptions
  [DependencyInjection] Fix on-invalid attribute type in xsd
  [FrameworkBundle] Fix PHP form templates on translatable attributes
  [VarDumper] Fix dumping by-ref variadics
  [Validator] add Indonesian translation
  fixed CS
  [config] Fix issue when key removed and left value only
  [HttpFoundation] Fix cookie to string conversion for raw cookies
  [Console] fixed BC issue with static closures
  [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0)
2016-12-17 11:46:44 +01:00
Nicolas Grekas
f4b3b87ef7 Merge branch '2.8' into 3.1
* 2.8:
  [Security] Fix test
  [Validator] phpize default option values
  test for the Validator component to be present
  [DependencyInjection] Fix on-invalid attribute type in xsd
  [FrameworkBundle] Fix PHP form templates on translatable attributes
  [VarDumper] Fix dumping by-ref variadics
  [Validator] add Indonesian translation
  fixed CS
  [config] Fix issue when key removed and left value only
  [Console] fixed BC issue with static closures
  [Security] AbstractVoter method supportsAttribute gives false positive if attribute is zero (0)
2016-12-17 11:46:00 +01:00
Nicolas Grekas
55da229acb Merge branch '2.7' into 2.8
* 2.7:
  [Validator] phpize default option values
  test for the Validator component to be present
  [DependencyInjection] Fix on-invalid attribute type in xsd
  [FrameworkBundle] Fix PHP form templates on translatable attributes
  [VarDumper] Fix dumping by-ref variadics
2016-12-17 11:44:20 +01:00
Nicolas Grekas
1d6d5fe586 minor #20969 [Security] Fix test (nicolas-grekas)
This PR was merged into the 2.8 branch.

Discussion
----------

[Security] Fix test

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

Commits
-------

8aeed88 [Security] Fix test
2016-12-17 11:42:22 +01:00
Nicolas Grekas
8aeed88179 [Security] Fix test 2016-12-17 11:40:05 +01:00
Nicolas Grekas
9c3f755994 [DI] Fix DefinitionDecorator existency for composer authoritative+IDEs 2016-12-17 11:29:12 +01:00
Nicolas Grekas
200516aaaa bug #20967 [DI] Fix DefinitionDecorator deprecation layer (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Fix DefinitionDecorator deprecation layer

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

This should make Travis green from 3.1 to master.
ping @xabbuh FYI

Restores compat with `instanceof DefinitionDecorator` checks.

Commits
-------

14c65e3 [DI] Fix DefinitionDecorator deprecation layer
2016-12-17 11:10:26 +01:00
Nicolas Grekas
14c65e3814 [DI] Fix DefinitionDecorator deprecation layer 2016-12-17 10:57:51 +01:00
Fabien Potencier
4a597bdb37 feature #20618 [DI] Make ContainerBuilder::resolveEnvPlaceholders() able to inline the values of referenced env vars. (nicolas-grekas)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[DI] Make ContainerBuilder::resolveEnvPlaceholders() able to inline the values of referenced env vars.

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

Being able to resolve environment variables at compile time as a replacement for `SYMFONY__` special env vars, unlocking their deprecation (see #20100).

Commits
-------

713b081 [DI] Make ContainerBuilder::resolveEnvPlaceholders() able to inline the values of referenced env vars.
2016-12-17 09:53:28 +01:00
Fabien Potencier
3eab98dab3 minor #20647 [VarDumper] word-break: break-all for long string dumps (ro0NL)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[VarDumper] word-break: break-all for long string dumps

| Q             | A
| ------------- | ---
| Branch?       | "master"
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

Before

![image](https://cloud.githubusercontent.com/assets/1047696/20641702/50000ee8-b3fe-11e6-8390-a6ba3dae5c56.png)

After

![image](https://cloud.githubusercontent.com/assets/1047696/20641724/76671d56-b3fe-11e6-8fa0-4c00801b3069.png)

Commits
-------

bd4c430 [VarDumper] Break all words in long string dump
2016-12-17 09:26:53 +01:00
Fabien Potencier
4009280802 feature #20962 Request exceptions (thewilkybarkid, fabpot)
This PR was merged into the 3.3-dev branch.

Discussion
----------

Request exceptions

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20389, #20615, #20662
| License       | MIT
| Doc PR        | n/a

Replaces #20389 and #20662. The idea is to generically manage 400 responses when an exception implements `RequestExceptionInterface`.

The "weird" caches on the request for the host and the clients IPs allows to correctly manage exceptions in an exception listener/controller (as we are duplicating the request there, but we don't want to throw an exception there).

Commits
-------

32ec288 [HttpFoundation] refactored Request exceptions
d876809 Return a 400 response for suspicious operations
2016-12-17 09:24:59 +01:00
Fabien Potencier
db9a008d50 bug #20944 [HttpKernel] Fix Bundle name regression (ogizanagi)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[HttpKernel] Fix Bundle name regression

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

The bundle name can be set manually instead of being guessed from the class name, as the property is protected.
However, a regression prevents this name to be used, as calling `Bundle::getNamespace()` recomputes the bundle name from class instead.

The ability to name explicitly bundles is appreciable when dealing with "virtual" ones, or when providing bundles in a library under a `Vendor\MyPackage\Bridge\Symfony\Bundle` namespace. No need to rename the bundle class `VendorMyPackageBundle` which will make the instantiation in `Kernel::registerBundle()` quite ugly:

```diff
- new Vendor\MyPackage\Bridge\Symfony\Bundle\VendorMyPackageBundle()
+ new Vendor\MyPackage\Bridge\Symfony\Bundle\Bundle()
```

What about removing `Bundle::parseClassName()` and processing the namespace and bundle name separately, but keeping the `namespace` property introduced in #20117?

Commits
-------

3b5127d [HttpKernel] Fix Bundle name regression
2016-12-17 08:58:15 +01:00
Fabien Potencier
978a13b676 minor #20945 [Serializer] Fix MaxDepth annotation exceptions (ogizanagi)
This PR was merged into the 3.1 branch.

Discussion
----------

[Serializer] Fix MaxDepth annotation exceptions

| Q             | A
| ------------- | ---
| Branch?       | 3.1
| Bug fix?      | yesish (rather improving existing DX, the exception message is not always the most relevant)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | N/A
| License       | MIT
| Doc PR        | N/A

I'd suggest to slightly change the `MaxDepth` value checks, as for instance setting a 0 value throws the following exception:

> Parameter of annotation "Symfony\Component\Serializer\Annotation\MaxDepth" cannot be empty.

where we should rather expect:

> Parameter of annotation "Symfony\Component\Serializer\Annotation\MaxDepth" must be a positive integer.

IMHO we could even keep the last one only, even if no value has been provided.

Commits
-------

999f769 [Serializer] Fix MaxDepth annotation exceptions
2016-12-17 08:56:10 +01:00
Fabien Potencier
0a4a92b05b bug #20961 [Validator] phpize default option values (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[Validator] phpize default option values

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

This makes the behavior for default constraints inline with the behavior
when the option is given explicitly.

Commits
-------

d65679b [Validator] phpize default option values
2016-12-17 08:46:09 +01:00
Fabien Potencier
2344c2204b bug #20934 [FrameworkBundle] Fix PHP form templates on translatable attributes (ro0NL)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] Fix PHP form templates on translatable attributes

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/20365#issuecomment-267333293
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!--highly recommended for new features-->

Separated from #20365

Commits
-------

10806e0 [FrameworkBundle] Fix PHP form templates on translatable attributes
2016-12-17 08:43:35 +01:00
Fabien Potencier
8c0a41ebe7 feature #20928 [FrameworkBundle] don't load translator services if not required (xabbuh)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[FrameworkBundle] don't load translator services if not required

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

One step further could be to remove all the loader services (or not register them at all) if only the identity translator is used (i.e. when only forms are enabled, but not translations), but that could be seen as a BC break.

Commits
-------

1e67155 don't load translator services if not required
2016-12-16 17:26:15 +01:00
Fabien Potencier
a2c2d15c13 bug #20957 [FrameworkBundle] test for the Validator component to be present (xabbuh)
This PR was merged into the 2.7 branch.

Discussion
----------

[FrameworkBundle] test for the Validator component to be present

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

Commits
-------

fb9b083 test for the Validator component to be present
2016-12-16 17:23:42 +01:00
Fabien Potencier
32ec28857a [HttpFoundation] refactored Request exceptions 2016-12-16 17:05:39 +01:00
Christian Flothmann
d65679b302 [Validator] phpize default option values
This makes the behavior for default constraints inline with the behavior
when the option is given explicitly.
2016-12-16 16:54:54 +01:00
Christian Flothmann
1e67155225 don't load translator services if not required 2016-12-16 14:04:52 +01:00
Christian Flothmann
fb9b08396b test for the Validator component to be present 2016-12-16 14:02:12 +01:00
Maxime Steinhausser
3b5127dbe9 [HttpKernel] Fix Bundle name regression 2016-12-16 09:46:20 +01:00
Fabien Potencier
89d5ec002e bug #20936 [DependencyInjection] Fix on-invalid attribute type in xsd (ogizanagi)
This PR was merged into the 2.7 branch.

Discussion
----------

[DependencyInjection] Fix on-invalid attribute type in xsd

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

Commits
-------

e66d3da [DependencyInjection] Fix on-invalid attribute type in xsd
2016-12-16 08:58:24 +01:00
Maxime Steinhausser
999f769ba5 [Serializer] Fix MaxDepth annotation exceptions 2016-12-15 20:58:01 +01:00
Maxime Steinhausser
e66d3da91a [DependencyInjection] Fix on-invalid attribute type in xsd 2016-12-15 15:48:03 +01:00
Roland Franssen
10806e056e [FrameworkBundle] Fix PHP form templates on translatable attributes 2016-12-15 14:04:46 +00:00
Nicolas Grekas
4299dae7c0 bug #20931 [VarDumper] Fix dumping by-ref variadics (nicolas-grekas)
This PR was merged into the 2.7 branch.

Discussion
----------

[VarDumper] Fix dumping by-ref variadics

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

The correct php syntax is `&...$foo`, not ~~`...&$foo`~~

Commits
-------

28ec361 [VarDumper] Fix dumping by-ref variadics
2016-12-15 14:06:00 +01:00
Nicolas Grekas
28ec36140d [VarDumper] Fix dumping by-ref variadics 2016-12-15 08:56:57 +01:00
Fabien Potencier
9f95654515 feature #20644 [HttpFoundation] Compute cookie max-age attribute (ro0NL)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[HttpFoundation] Compute cookie max-age attribute

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | comma-separated list of tickets fixed by the PR, if any
| License       | MIT
| Doc PR        | reference to the documentation PR, if any

See https://wiki.php.net/rfc/cookie_max-age, PHP sends it since 5.5.

~~The date format actually differs now from PHP (`Saturday` instead of `Sat`). But it really doesnt matter much imo, using the constant seems more reliable to me and max-age overrules anyway ;)~~

Relates to https://github.com/symfony/symfony/pull/20569

Commits
-------

8c28317 [HttpFoundation] Compute cookie max-age attribute
2016-12-15 08:18:48 +01:00
Fabien Potencier
b806ae05a0 minor #20926 [WebProfilerBundle] Fix PHP extensions in the toolbar (ogizanagi)
This PR was merged into the 3.3-dev branch.

Discussion
----------

[WebProfilerBundle] Fix PHP extensions in the toolbar

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | yes
| New feature?  | yes (adding other extensions info)
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20697
| License       | MIT
| Doc PR        | N/A

`ConfigDataCollector::hasAccelerator()` has been removed.

Except if we want to reintroduce the method, I'd suggest to add apcu & opcache infos directly (or just remove the accelerator line).

Commits
-------

2495030 [WebProfilerBundle] Fix PHP extensions in the toolbar
2016-12-15 07:46:47 +01:00
Maxime Steinhausser
249503094d [WebProfilerBundle] Fix PHP extensions in the toolbar 2016-12-14 21:36:23 +01:00
Roland Franssen
8c28317f7e [HttpFoundation] Compute cookie max-age attribute 2016-12-14 18:36:42 +00:00
Roland Franssen
bd4c4302f7 [VarDumper] Break all words in long string dump 2016-12-14 18:12:29 +00:00
Chris Wilkinson
d876809cec Return a 400 response for suspicious operations 2016-12-14 09:46:25 +01:00