Merge branch '2.3' into 2.5
* 2.3: Remove aligned '=>' and '=' Break infinite loop while resolving aliases [Security][listener] change priority of switchuser Improved the phpdoc for security token classes bumped Symfony version to 2.3.22 updated VERSION for 2.3.21 update CONTRIBUTORS for 2.3.21 updated CHANGELOG for 2.3.21 Conflicts: src/Symfony/Bridge/Propel1/Form/ChoiceList/ModelChoiceList.php src/Symfony/Bridge/Propel1/Form/Type/ModelType.php src/Symfony/Bridge/Propel1/Logger/PropelLogger.php src/Symfony/Bridge/Propel1/Tests/Fixtures/ItemQuery.php src/Symfony/Bundle/FrameworkBundle/Command/RouterDebugCommand.php src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php src/Symfony/Bundle/SecurityBundle/Tests/Functional/Bundle/FormLoginBundle/Controller/LocalizedController.php src/Symfony/Bundle/SecurityBundle/Tests/Functional/Bundle/FormLoginBundle/Controller/LoginController.php src/Symfony/Component/Console/Descriptor/JsonDescriptor.php src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php src/Symfony/Component/Console/Helper/ProgressHelper.php src/Symfony/Component/Debug/ErrorHandler.php src/Symfony/Component/DependencyInjection/Container.php src/Symfony/Component/Finder/Shell/Command.php src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php src/Symfony/Component/Form/Extension/Core/Type/CollectionType.php src/Symfony/Component/Form/Extension/Core/Type/FormType.php src/Symfony/Component/Form/Extension/Core/Type/IntegerType.php src/Symfony/Component/Form/Extension/Core/Type/NumberType.php src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php src/Symfony/Component/HttpFoundation/File/UploadedFile.php src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php src/Symfony/Component/HttpKernel/Kernel.php src/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php src/Symfony/Component/HttpKernel/Tests/HttpCache/TestMultipleHttpKernel.php src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php src/Symfony/Component/Routing/Loader/AnnotationClassLoader.php src/Symfony/Component/Routing/Route.php src/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php src/Symfony/Component/Security/Tests/Core/Validator/Constraints/UserPasswordValidatorTest.php src/Symfony/Component/Templating/PhpEngine.php src/Symfony/Component/Validator/Constraints/ImageValidator.php src/Symfony/Component/Validator/Constraints/TypeValidator.php
This commit is contained in:
commit
b5b12a54f7
@ -7,6 +7,17 @@ in 2.3 minor versions.
|
||||
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
|
||||
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.3.0...v2.3.1
|
||||
|
||||
* 2.3.21 (2014-10-24)
|
||||
|
||||
* bug #11696 [Form] Fix #11694 - Enforce options value type check in some form types (kix)
|
||||
* bug #12209 [FrameworkBundle] Fixed ide links (hason)
|
||||
* bug #12208 Add missing argument (WouterJ)
|
||||
* bug #12197 [TwigBundle] do not pass a template reference to twig (Tobion)
|
||||
* bug #12196 [TwigBundle] show correct fallback exception template in debug mode (Tobion)
|
||||
* bug #12187 [CssSelector] don't raise warnings when exception is thrown (xabbuh)
|
||||
* bug #11998 [Intl] Integrated ICU data into Intl component #2 (webmozart)
|
||||
* bug #11920 [Intl] Integrated ICU data into Intl component #1 (webmozart)
|
||||
|
||||
* 2.3.20 (2014-09-28)
|
||||
|
||||
* bug #9453 [Form][DateTime] Propagate invalid_message & invalid_message_parameters to date & time (egeloen)
|
||||
|
@ -8,8 +8,8 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Bernhard Schussek (bschussek)
|
||||
- Victor Berchet (victor)
|
||||
- Jordi Boggiano (seldaek)
|
||||
- Johannes S (johannes)
|
||||
- Tobias Schultze (tobion)
|
||||
- Johannes S (johannes)
|
||||
- Kris Wallsmith (kriswallsmith)
|
||||
- Christophe Coevoet (stof)
|
||||
- Pascal Borreli (pborreli)
|
||||
@ -27,6 +27,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Martin Hasoň (hason)
|
||||
- Eriksen Costa (eriksencosta)
|
||||
- Nicolas Grekas (nicolas-grekas)
|
||||
- Christian Flothmann (xabbuh)
|
||||
- Jonathan Wage (jwage)
|
||||
- Grégoire Pineau (lyrixx)
|
||||
- Alexandre Salomé (alexandresalome)
|
||||
@ -34,7 +35,6 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- ornicar
|
||||
- stealth35 (stealth35)
|
||||
- Alexander Mols (asm89)
|
||||
- Christian Flothmann (xabbuh)
|
||||
- Bulat Shakirzyanov (avalanche123)
|
||||
- Francis Besset (francisbesset)
|
||||
- Saša Stamenković (umpirsky)
|
||||
@ -76,9 +76,9 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Jacob Dreesen (jdreesen)
|
||||
- Florian Voutzinos (florianv)
|
||||
- Adrien Brault (adrienbrault)
|
||||
- Gábor Egyed (1ed)
|
||||
- Fabien Pennequin (fabienpennequin)
|
||||
- Jérôme Tamarelle (gromnan)
|
||||
- Gábor Egyed (1ed)
|
||||
- Michal Piotrowski (eventhorizon)
|
||||
- Gordon Franke (gimler)
|
||||
- Robert Schönthal (digitalkaoz)
|
||||
@ -89,12 +89,14 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Peter Kokot (maastermedia)
|
||||
- David Buchmann (dbu)
|
||||
- Pablo Godel (pgodel)
|
||||
- Eric GELOEN (gelo)
|
||||
- Jérémie Augustin (jaugustin)
|
||||
- Rafael Dohms (rdohms)
|
||||
- Eric GELOEN (gelo)
|
||||
- Jérémy DERUSSÉ (jderusse)
|
||||
- Tigran Azatyan (tigranazatyan)
|
||||
- Javier Eguiluz (javier.eguiluz)
|
||||
- Richard Shank (iampersistent)
|
||||
- Kévin Dunglas (dunglas)
|
||||
- Clemens Tolboom
|
||||
- Helmer Aaviksoo
|
||||
- Sebastiaan Stok (sstok)
|
||||
@ -106,7 +108,6 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Artur Kotyrba
|
||||
- Guilherme Blanco (guilhermeblanco)
|
||||
- Rouven Weßling (realityking)
|
||||
- Jérémy DERUSSÉ (jderusse)
|
||||
- Stefano Sala (stefano.sala)
|
||||
- Dmitrii Chekaliuk (lazyhammer)
|
||||
- Clément JOBEILI (dator)
|
||||
@ -129,7 +130,6 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Pierre Minnieur (pminnieur)
|
||||
- fivestar
|
||||
- Dominique Bongiraud
|
||||
- Kévin Dunglas (dunglas)
|
||||
- Leszek Prabucki (l3l0)
|
||||
- François Zaninotto (fzaninotto)
|
||||
- Dustin Whittle (dustinwhittle)
|
||||
@ -138,7 +138,9 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Sven Paulus (subsven)
|
||||
- Lars Strojny (lstrojny)
|
||||
- Joel Wurtz (brouznouf)
|
||||
- Peter Rehm (rpet)
|
||||
- Rui Marinho (ruimarinho)
|
||||
- Matthias Pigulla (mpdude)
|
||||
- Julien Brochet (mewt)
|
||||
- Tugdual Saunier (tucksaun)
|
||||
- Sergey Linnik (linniksa)
|
||||
@ -156,10 +158,9 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Xavier Perez
|
||||
- Arjen Brouwer (arjenjb)
|
||||
- Katsuhiro OGAWA
|
||||
- Peter Rehm (rpet)
|
||||
- Alif Rachmawadi
|
||||
- Pierre-Yves LEBECQ (pylebecq)
|
||||
- Matthias Pigulla (mpdude)
|
||||
- Eugene Leonovich (rybakit)
|
||||
- Joseph Rouff (rouffj)
|
||||
- Félix Labrecque (woodspire)
|
||||
- GordonsLondon
|
||||
@ -170,6 +171,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Thomas Adam
|
||||
- Albert Casademont (acasademont)
|
||||
- jdhoek
|
||||
- Nikita Konstantinov
|
||||
- Wodor Wodorski
|
||||
- julien pauli (jpauli)
|
||||
- Beau Simensen (simensen)
|
||||
@ -201,12 +203,13 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Adrian Rudnik (kreischweide)
|
||||
- Francesc Rosàs (frosas)
|
||||
- Julien Galenski (ruian)
|
||||
- Eugene Leonovich (rybakit)
|
||||
- Bongiraud Dominique
|
||||
- janschoenherr
|
||||
- Marco Pivetta (ocramius)
|
||||
- Ricard Clau (ricardclau)
|
||||
- Iltar van der Berg
|
||||
- Erin Millard
|
||||
- John Kary (johnkary)
|
||||
- Matthew Lewinski (lewinski)
|
||||
- alquerci
|
||||
- Francesco Levorato
|
||||
@ -234,6 +237,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Loïc Chardonnet (gnusat)
|
||||
- Marek Kalnik (marekkalnik)
|
||||
- Vyacheslav Salakhutdinov (megazoll)
|
||||
- Alex Pott
|
||||
- Tamas Szijarto
|
||||
- Pavel Volokitin (pvolok)
|
||||
- Endre Fejes
|
||||
@ -258,13 +262,10 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Brian King
|
||||
- Michel Salib (michelsalib)
|
||||
- geoffrey
|
||||
- Nikita Konstantinov
|
||||
- Matthieu Auger (matthieuauger)
|
||||
- Jeanmonod David (jeanmonod)
|
||||
- Iltar van der Berg
|
||||
- Jan Schumann
|
||||
- Niklas Fiekas
|
||||
- John Kary (johnkary)
|
||||
- Ruben Gonzalez (rubenrua)
|
||||
- lancergr
|
||||
- Antonio J. García Lagar (ajgarlag)
|
||||
@ -283,6 +284,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Marcin Sikoń (marphi)
|
||||
- franek (franek)
|
||||
- Adam Harvey
|
||||
- Alex Bakhturin
|
||||
- François-Xavier de Guillebon (de-gui_f)
|
||||
- boombatower
|
||||
- Fabrice Bernhard (fabriceb)
|
||||
@ -312,7 +314,6 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- alexpods
|
||||
- Erik Trapman (eriktrapman)
|
||||
- De Cock Xavier (xdecock)
|
||||
- Alex Pott
|
||||
- Norbert Orzechowicz (norzechowicz)
|
||||
- Matthijs van den Bos (matthijs)
|
||||
- Nils Adermann (naderman)
|
||||
@ -385,7 +386,6 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Arturs Vonda
|
||||
- Sascha Grossenbacher
|
||||
- Ben Davies (bendavies)
|
||||
- Alex Bakhturin
|
||||
- Simon Schick (simonsimcity)
|
||||
- redstar504
|
||||
- Hossein Bukhamsin
|
||||
@ -559,6 +559,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Christian Neff
|
||||
- Per Sandström (per)
|
||||
- Goran Juric
|
||||
- Laurent Ghirardotti (laurentg)
|
||||
- Lin Clark
|
||||
- Jeremy David (jeremy.david)
|
||||
- Troy McCabe
|
||||
@ -579,6 +580,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Benjamin Paap (benjaminpaap)
|
||||
- Christian
|
||||
- Sergii Smertin (nfx)
|
||||
- Artur Eshenbrener
|
||||
- Eddie Jaoude
|
||||
- Haritz Iturbe (hizai)
|
||||
- Nerijus Arlauskas (nercury)
|
||||
@ -628,6 +630,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Patrick Landolt (scube)
|
||||
- WybrenKoelmans
|
||||
- Derek Lambert
|
||||
- MightyBranch
|
||||
- Kacper Gunia (cakper)
|
||||
- Felicitus
|
||||
- Krzysztof Przybyszewski
|
||||
@ -672,6 +675,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Marco Jantke
|
||||
- Saem Ghani
|
||||
- Sebastian Utz
|
||||
- Adrien Gallou (agallou)
|
||||
- Karol Sójko (karolsojko)
|
||||
- sl_toto (sl_toto)
|
||||
- Sébastien HOUZÉ
|
||||
@ -814,6 +818,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Andrey Ryaguzov
|
||||
- Manatsawin Hanmongkolchai
|
||||
- Gunther Konig
|
||||
- Maciej Schmidt
|
||||
- flack
|
||||
- František Bereň
|
||||
- Christoph Nissle (derstoffel)
|
||||
@ -860,6 +865,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Daan van Renterghem
|
||||
- Bram Van der Sype (brammm)
|
||||
- Julien Moulin (lizjulien)
|
||||
- Yannick Warnier (ywarnier)
|
||||
- Kevin Decherf
|
||||
- dened
|
||||
- Sam Ward
|
||||
@ -901,6 +907,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Robert Campbell
|
||||
- Matt Lehner
|
||||
- Ruben Kruiswijk
|
||||
- Michael J
|
||||
- Alex Pods
|
||||
- timaschew
|
||||
- Ian Phillips
|
||||
@ -1088,6 +1095,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Moritz Borgmann (mborgmann)
|
||||
- Matt Drollette (mdrollette)
|
||||
- Adam Monsen (meonkeys)
|
||||
- Ala Eddine Khefifi (nayzo)
|
||||
- ollie harridge (ollietb)
|
||||
- Paweł Szczepanek (pauluz)
|
||||
- Christian López Espínola (penyaskito)
|
||||
|
@ -14,7 +14,6 @@ namespace Symfony\Bridge\Propel1\Form\ChoiceList;
|
||||
use \ModelCriteria;
|
||||
use \BaseObject;
|
||||
use \Persistent;
|
||||
|
||||
use Symfony\Component\Form\Exception\StringCastException;
|
||||
use Symfony\Component\Form\Extension\Core\ChoiceList\ObjectChoiceList;
|
||||
use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException;
|
||||
|
@ -354,14 +354,14 @@ class SecurityExtension extends Extension
|
||||
|
||||
$listeners = array_merge($listeners, $authListeners);
|
||||
|
||||
// Access listener
|
||||
$listeners[] = new Reference('security.access_listener');
|
||||
|
||||
// Switch user listener
|
||||
if (isset($firewall['switch_user'])) {
|
||||
$listeners[] = new Reference($this->createSwitchUserListener($container, $id, $firewall['switch_user'], $defaultProvider));
|
||||
}
|
||||
|
||||
// Access listener
|
||||
$listeners[] = new Reference('security.access_listener');
|
||||
|
||||
// Determine default entry point
|
||||
if (isset($firewall['entry_point'])) {
|
||||
$defaultEntryPoint = $firewall['entry_point'];
|
||||
|
@ -12,7 +12,6 @@
|
||||
namespace Symfony\Bundle\SecurityBundle\Tests\DependencyInjection;
|
||||
|
||||
use Symfony\Component\DependencyInjection\Reference;
|
||||
|
||||
use Symfony\Component\DependencyInjection\Parameter;
|
||||
use Symfony\Bundle\SecurityBundle\SecurityBundle;
|
||||
use Symfony\Bundle\SecurityBundle\DependencyInjection\SecurityExtension;
|
||||
@ -82,8 +81,8 @@ abstract class CompleteConfigurationTest extends \PHPUnit_Framework_TestCase
|
||||
'security.authentication.listener.basic.secure',
|
||||
'security.authentication.listener.digest.secure',
|
||||
'security.authentication.listener.anonymous.secure',
|
||||
'security.access_listener',
|
||||
'security.authentication.switchuser_listener.secure',
|
||||
'security.access_listener',
|
||||
),
|
||||
array(
|
||||
'security.channel_listener',
|
||||
|
@ -12,6 +12,7 @@
|
||||
namespace Symfony\Component\DependencyInjection\Compiler;
|
||||
|
||||
use Symfony\Component\DependencyInjection\Alias;
|
||||
use Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException;
|
||||
use Symfony\Component\DependencyInjection\Reference;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
|
||||
@ -84,7 +85,12 @@ class ResolveReferencesToAliasesPass implements CompilerPassInterface
|
||||
*/
|
||||
private function getDefinitionId($id)
|
||||
{
|
||||
$seen = array();
|
||||
while ($this->container->hasAlias($id)) {
|
||||
if (isset($seen[$id])) {
|
||||
throw new ServiceCircularReferenceException($id, array_keys($seen));
|
||||
}
|
||||
$seen[$id] = true;
|
||||
$id = (string) $this->container->getAlias($id);
|
||||
}
|
||||
|
||||
|
@ -48,6 +48,17 @@ class ResolveReferencesToAliasesPassTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertEquals('foo', (string) $arguments[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException
|
||||
*/
|
||||
public function testAliasCircularReference()
|
||||
{
|
||||
$container = new ContainerBuilder();
|
||||
$container->setAlias('bar', 'foo');
|
||||
$container->setAlias('foo', 'bar');
|
||||
$this->process($container);
|
||||
}
|
||||
|
||||
protected function process(ContainerBuilder $container)
|
||||
{
|
||||
$pass = new ResolveReferencesToAliasesPass();
|
||||
|
@ -84,7 +84,7 @@ abstract class AbstractToken implements TokenInterface
|
||||
* The user can be a UserInterface instance, or an object implementing
|
||||
* a __toString method or the username as a regular string.
|
||||
*
|
||||
* @param mixed $user The user
|
||||
* @param string|object $user The user
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
public function setUser($user)
|
||||
|
@ -26,10 +26,10 @@ class UsernamePasswordToken extends AbstractToken
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param string $user The username (like a nickname, email address, etc.), or a UserInterface instance or an object implementing a __toString method.
|
||||
* @param string|object $user The username (like a nickname, email address, etc.), or a UserInterface instance or an object implementing a __toString method.
|
||||
* @param string $credentials This usually is the password of the user
|
||||
* @param string $providerKey The provider key
|
||||
* @param RoleInterface[] $roles An array of roles
|
||||
* @param RoleInterface[]|string[] $roles An array of roles
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
|
Reference in New Issue
Block a user