Commit Graph

365 Commits

Author SHA1 Message Date
Fabien Potencier
1f4100d635 Merge branch '4.1'
* 4.1:
  Supress deprecation notices thrown when getting private servies from container in tests
  Uses `protected` for test functions
  [Messenger] Allow to scope handlers per bus
  do not mock the session in token storage tests
  [DependencyInjection] resolve array env vars
  Add Occitan plural rule
  Fix security/* cross-dependencies
  [Messenger] implement several senders using a ChainSender
  [Lock] Skip test if posix extension is not installed
  fix bug when imported routes are prefixed
  [DI] Allow defining bindings on ChildDefinition
  use strict compare in url validator
  Disallow illegal characters like "." in session.name
  [HttpKernel] do file_exists() check instead of silent notice
  Select alternatives on missing receiver arg or typo
  fix rounding from string
2018-05-21 12:10:22 +02:00
Fabien Potencier
af4372220c Merge branch '4.0' into 4.1
* 4.0:
  do not mock the session in token storage tests
  [DependencyInjection] resolve array env vars
  Add Occitan plural rule
  Fix security/* cross-dependencies
  [Lock] Skip test if posix extension is not installed
  [DI] Allow defining bindings on ChildDefinition
  use strict compare in url validator
  Disallow illegal characters like "." in session.name
  [HttpKernel] do file_exists() check instead of silent notice
  fix rounding from string
2018-05-21 12:10:11 +02:00
Fabien Potencier
4d8a71d321 Merge branch '3.4' into 4.0
* 3.4:
  do not mock the session in token storage tests
  [DependencyInjection] resolve array env vars
  Add Occitan plural rule
  Fix security/* cross-dependencies
  [Lock] Skip test if posix extension is not installed
  [DI] Allow defining bindings on ChildDefinition
  use strict compare in url validator
  Disallow illegal characters like "." in session.name
  [HttpKernel] do file_exists() check instead of silent notice
  fix rounding from string
2018-05-21 12:09:47 +02:00
Fabien Potencier
793d1fe71a Merge branch '2.8' into 3.4
* 2.8:
  do not mock the session in token storage tests
  Add Occitan plural rule
  Fix security/* cross-dependencies
  Disallow illegal characters like "." in session.name
  fix rounding from string
2018-05-21 12:06:52 +02:00
Fabien Potencier
e336711cd9 Merge branch '2.7' into 2.8
* 2.7:
  do not mock the session in token storage tests
  Add Occitan plural rule
  Disallow illegal characters like "." in session.name
  fix rounding from string
2018-05-21 11:59:10 +02:00
Nicolas Grekas
9dbf399247 [Security/Core] Add "is_granted()" to security expressions, deprecate "has_role()" 2018-05-18 17:34:07 +02:00
Fabien Potencier
e98ce72e26 bug #27246 Disallow invalid characters in session.name (ostrolucky)
This PR was merged into the 2.7 branch.

Discussion
----------

Disallow invalid characters in session.name

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

PHP saves cookie with correct name, but upon deserialization to
`$_COOKIE`, it replaces "." characters with "_".

This is probably also reason why \SessionHandler is not able to find
a session.

https://harrybailey.com/2009/04/dots-arent-allowed-in-php-cookie-names/
https://bugs.php.net/bug.php?id=75883

Commits
-------

16ebb43bd4 Disallow illegal characters like "." in session.name
2018-05-17 12:20:37 +02:00
Tobias Schultze
198925ee4e [Messenger] implement several senders using a ChainSender 2018-05-16 15:12:01 +02:00
Maxime Steinhausser
f5ef421474 [Messenger] Middleware factories support in config 2018-05-14 20:17:01 +01:00
Gabriel Ostrolucký
16ebb43bd4 Disallow illegal characters like "." in session.name
PHP saves cookie with correct name, but upon deserialization to
$_COOKIE, it replaces some characters, e.g. "." becomes "_".

This is probably also reason why \SessionHandler is not able to find
a session.

https://harrybailey.com/2009/04/dots-arent-allowed-in-php-cookie-names/
https://bugs.php.net/bug.php?id=75883
2018-05-13 23:57:04 +02:00
Maxime Steinhausser
fa9b9849b1 [Messenger] Fix default bus name 2018-05-08 18:02:52 +02:00
Samuel ROZE
9ae7c11805 Do not fix the middleware XML name anymore 2018-05-07 13:39:55 +01:00
Fabien Potencier
52e7500edb removed usage of middlewares 2018-05-07 13:37:49 +02:00
Yonel Ceruto
a05e2e2c3b Relax Messenger config and fix some bugs 2018-05-06 10:57:10 -04:00
Samuel ROZE
13b747565f [Messenger] Rename Adapters to Transports 2018-05-03 17:09:35 -07:00
Yonel Ceruto
35317ac987 Restore wildcard support in routing 2018-04-28 08:03:41 -04:00
Samuel ROZE
e5deb8499b [Messenger] Define multiple buses from the framework.messenger.buses configuration 2018-04-25 18:39:05 +02:00
Samuel ROZE
fe199317da feature #26941 [Messenger] Allow to configure the transport (sroze)
This PR was squashed before being merged into the 4.1-dev branch (closes #26941).

Discussion
----------

[Messenger] Allow to configure the transport

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | ish
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #26900, #26908, #26935
| License       | MIT
| Doc PR        | ø

We allow users to configure the encoder/decoder used by the built-in adapter(s). This also adds the support of configuring the default's encoder/decoder format and context.

Commits
-------

1a3f0bbb14 [Messenger] Allow to configure the transport
2018-04-17 17:47:47 +01:00
Samuel ROZE
1a3f0bbb14 [Messenger] Allow to configure the transport 2018-04-17 17:47:06 +01:00
Samuel ROZE
177cea0ee1 Support nested configuration on adapters 2018-04-16 18:40:17 +01:00
Ryan Weaver
2405eae500 Fixing bad class_exists vs interface_exists 2018-04-12 11:21:29 -04:00
Samuel ROZE
aa04d06dc4 feature #26632 [Messenger] Add AMQP adapter (sroze)
This PR was squashed before being merged into the 4.1-dev branch (closes #26632).

Discussion
----------

[Messenger] Add AMQP adapter

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

- [x] Depends on the Messenger component #24411
- [x] Add tests once we are all happy about the structure

---

In order to give a great DX for simple needs such as sending messages through an AMQP broker such as RabbitMq, we should ship an AMQP adapter for the Messenger component within Symfony Core. It should be as simple as this proposal. We don't need to handle more specific use-cases nor brokers as other adapters such as the [enqueue adapter](https://github.com/sroze/enqueue-bridge) can also be used.

Configuring the adapter is as simple as the following configuration:
```yaml
# config/packages/messenger_adapters.yaml
framework:
    messenger:
        adapter: "%env(MESSENGER_DSN)%"
```

With the given `.env` for example:
```
MESSENGER_DSN=amqp://guest:guest@localhost:5672/%2f/messages
```

Keep in mind that after having configured the adapter, developers have to route their messages to the given adapter.

```yaml
# config/packages/messenger_routes.yaml
framework:
    messenger:
        routing:
producer).
            'App\Message\Command\CreateNumber': messenger.default_sender
```

---

Additionally, multiple adapters can be created and messages routed to these ones.

```yaml
# config/packages/messenger_routes.yaml
framework:
    messenger:
        adapters:
            commands: "amqp://guest:guest@localhost:5672/%2f/commands"
            maintenance: "amqp://guest:guest@localhost:5672/%2f/maintenance"
        routing:
producer).
            'App\Message\Command\CreateNumber': messenger.commands_sender
            'App\Message\Command\MaintenanceSpecificCommand': messenger.maintenance_sender
```

Commits
-------

798c230ad5 [Messenger] Add AMQP adapter
2018-04-12 09:16:00 +01:00
Samuel ROZE
798c230ad5 [Messenger] Add AMQP adapter 2018-04-12 09:15:52 +01:00
Grégoire Pineau
8e0fcf933c [FrameworkBundle] Fixed configuration of php_errors.log 2018-04-09 18:19:45 +02:00
Samuel ROZE
27a8b1dc96 Remove the Doctrine middleware configuration from the FrameworkBundle 2018-04-04 13:52:24 +01:00
Tobias Nyholm
43a51714d4 [Messenger] Added a middleware that validates messages 2018-04-03 21:17:07 +01:00
Fabien Potencier
44a6f60fdb feature #26504 [FrameworkBundle] framework.php_errors.log now accept a log level (Simperfit)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[FrameworkBundle] framework.php_errors.log now accept a log level

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #26267   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        |  todo <!-- required for new features -->

We are testing that `framework.php_errors.log` is either a bool or an int (set the value of the log level you want).
This fixes #26267, so it gives a way to not log some level on production.

Commits
-------

664f821895 [FrameworkBundle] framework.php_errors.log now accept a log level
2018-03-27 20:27:43 +02:00
Amrouche Hamza
664f821895
[FrameworkBundle] framework.php_errors.log now accept a log level 2018-03-27 16:39:44 +02:00
Tobias Nyholm
623dc5fb16 [Messenger] Add a middleware that wraps all handlers in one Doctrine transaction. 2018-03-27 11:43:30 +01:00
Samuel ROZE
c9cfda990b [Messenger] Add a new Messenger component 2018-03-23 09:01:52 +01:00
Grégoire Pineau
bd1f2c8583 [Workflow] Add a MetadataStore 2018-03-21 11:06:23 +01:00
Kévin Dunglas
ed975c764b [Serializer] Add a MaxDepth handler 2018-02-19 21:26:22 +01:00
Nicolas Grekas
9e73cc73e2 Merge branch '4.0'
* 4.0:
  [appveyor] set memory_limit=-1
  [Console] Keep the modified exception handler
  [Console] Fix restoring exception handler
  [Router] Skip anonymous classes when loading annotated routes
  allow dashes in cwd pathname when running the tests
  Fixed Request::__toString ignoring cookies
  Make sure we only build once and have one time the prefix when importing routes
  [Security] Fix fatal error on non string username
  [FrameworkBundle] Automatically enable the CSRF if component *+ session* are loaded
2018-01-16 19:04:31 +01:00
Nicolas Grekas
e6157aa1f7 Merge branch '3.4' into 4.0
* 3.4:
  [appveyor] set memory_limit=-1
  [Console] Keep the modified exception handler
  [Console] Fix restoring exception handler
  [Router] Skip anonymous classes when loading annotated routes
  allow dashes in cwd pathname when running the tests
  Fixed Request::__toString ignoring cookies
  Make sure we only build once and have one time the prefix when importing routes
  [Security] Fix fatal error on non string username
  [FrameworkBundle] Automatically enable the CSRF if component *+ session* are loaded
2018-01-16 19:04:12 +01:00
Nicolas Grekas
9e8231ff0b [FrameworkBundle] Automatically enable the CSRF if component *+ session* are loaded 2018-01-09 14:58:36 +01:00
Fabien Potencier
351b234f07 fixed some deprecation messages 2017-12-31 06:12:25 +01:00
Fabien Potencier
be411de4d0 Merge branch '2.7' into 2.8
* 2.7:
  [2.7][DX] Use constant message contextualisation for deprecations
2017-12-31 05:16:51 +01:00
Romain Neutron
c2338cbd7a
[2.7][DX] Use constant message contextualisation for deprecations 2017-12-20 15:36:51 +01:00
Fabien Potencier
b9d731564f Merge branch '4.0'
* 4.0:
  Revert "bug #25151 [FrameworkBundle] Automatically enable the CSRF protection if CSRF manager exists (sroze)"
  Revert "bug #25502 Fixing wrong class_exists on interface (weaverryan)"
2017-12-14 17:44:48 -08:00
Fabien Potencier
a91b5a56b7 Merge branch '3.4' into 4.0
* 3.4:
  Revert "bug #25151 [FrameworkBundle] Automatically enable the CSRF protection if CSRF manager exists (sroze)"
  Revert "bug #25502 Fixing wrong class_exists on interface (weaverryan)"
2017-12-14 17:44:28 -08:00
Fabien Potencier
903f120816 Revert "bug #25151 [FrameworkBundle] Automatically enable the CSRF protection if CSRF manager exists (sroze)"
This reverts commit d5f04284f9, reversing
changes made to e52825e253.
2017-12-14 17:44:04 -08:00
Fabien Potencier
8013b4b2d3 Revert "bug #25502 Fixing wrong class_exists on interface (weaverryan)"
This reverts commit 5fd5f19eaf, reversing
changes made to 826d545ba0.
2017-12-14 17:44:00 -08:00
Fabien Potencier
0b1b8959d3 Merge branch '4.0'
* 4.0:
  fixed wrong merge
  Tweak message to be Flex friendly
  [Routing] fixed tests
  Fixing wrong class_exists on interface
  Preserve percent-encoding in URLs when performing redirects in the UrlMatcher
  removed FIXME
  [Console] Fix a bug when passing a letter that could be an alias
  add missing validation options to XSD file
  Take advantage of AnnotationRegistry::registerUniqueLoader
  [DI] Optimize Container::get() for perf
  fix merge
  Fix tests
  Refactoring tests.
2017-12-14 11:50:39 -08:00
Fabien Potencier
0116c32c71 Merge branch '3.4' into 4.0
* 3.4:
  fixed wrong merge
  Tweak message to be Flex friendly
  [Routing] fixed tests
  Fixing wrong class_exists on interface
  Preserve percent-encoding in URLs when performing redirects in the UrlMatcher
  [Console] Fix a bug when passing a letter that could be an alias
  add missing validation options to XSD file
  Take advantage of AnnotationRegistry::registerUniqueLoader
  [DI] Optimize Container::get() for perf
  fix merge
  Fix tests
  Refactoring tests.
2017-12-14 11:48:22 -08:00
Ryan Weaver
be75bd994b
Fixing wrong class_exists on interface 2017-12-14 11:30:58 -08:00
Christian Flothmann
cda582595c add email_validation_mode option 2017-12-13 12:39:39 +01:00
Fabien Potencier
424cbcc1c5 feature #24785 [Profiler][Translation] Logging false by default and desactivated when using the profiler (Simperfit)
This PR was merged into the 4.1-dev branch.

Discussion
----------

[Profiler][Translation] Logging false by default and desactivated when using the profiler

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

Commits
-------

0252830755 [Profiler][Translation] Logging false by default and desactivated when using the profiler
2017-12-01 06:38:06 -08:00
Christian Flothmann
d2496ab5d2 Merge branch '3.4' into 4.0
* 3.4:
  [HttpKernel] Better handling of legacy cache
  modify definitions only if the do exist
  [DI] Prevent a ReflectionException during cache:clear when the parent class doesn't exist
  [FrameworkBundle] Make MicroKernelTraitTest green
  don't override existing verbosity env var
  [HttpKernel] Read $_ENV when checking SHELL_VERBOSITY
  Remove unreachable code
  Automatically enable the CSRF protection if CSRF manager exists
  bumped Symfony version to 3.4.0
  adding checks for the expression language
  updated VERSION for 3.4.0-RC2
  updated CHANGELOG for 3.4.0-RC2
2017-11-28 23:05:27 +01:00
Samuel ROZE
fd4340693c
Automatically enable the CSRF protection if CSRF manager exists 2017-11-24 15:22:02 +00:00
Nicolas Grekas
fac882c2d5 Merge branch '3.4'
* 3.4:
  [HttpKernel] Disable container inlining when legacy inlining has been used
  Let getFlashes starts the session
  Update default translations path
  [FrameworkBundle] Ignore failures when removing the old cache dir
2017-11-21 18:21:10 +01:00