Merge branch '2.0' into 2.1

* 2.0:
  bumped Symfony version to 2.0.21-DEV
  [FrameworkBundle] fixed trusted_proxies configuration for some edge cases
  [FrameworkBundle] fixed XSD for the trusted-proxies setting
  updated VERSION for 2.0.20
  update CONTRIBUTORS for 2.0.20
  updated CHANGELOG for 2.0.20

Conflicts:
	CONTRIBUTORS.md
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/full.xml
	src/Symfony/Component/HttpKernel/Kernel.php
This commit is contained in:
Fabien Potencier 2012-12-20 15:24:08 +01:00
commit 1493f747a2
9 changed files with 135 additions and 71 deletions

View File

@ -7,6 +7,18 @@ in 2.0 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 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.0.0...v2.0.1 To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.0.0...v2.0.1
* 2.0.20 (2012-12-20)
* 532cc9a: [FrameworkBundle] added support for URIs as an argument to HttpKernel::render()
* 1f8c501: [FrameworkBundle] restricted the type of controllers that can be executed by InternalController
* 8b2c17f: fix double-decoding in the routing system
* 773d818: [FrameworkBundle] Added a check on file mime type for CodeHelper::fileExcerpt()
* a0e2391: [FrameworkBundle] used the new method for trusted proxies
* 8bb3208: [Config] Loader::import must return imported data
* 447ff91: [HttpFoundation] changed UploadedFile::move() to use move_uploaded_file() when possible
* 0489799: [HttpFoundation] added a check for the host header value
* ae3d531: [TwigBundle] Moved the registration of the app global to the environment
* 2.0.19 (2012-11-29) * 2.0.19 (2012-11-29)
* e5536f0: replaced magic strings by proper constants * e5536f0: replaced magic strings by proper constants

View File

@ -11,116 +11,125 @@ Symfony2 is the result of the work of many people who made the code better
- Johannes S (johannes) - Johannes S (johannes)
- Kris Wallsmith (kriswallsmith) - Kris Wallsmith (kriswallsmith)
- Christophe Coevoet (stof) - Christophe Coevoet (stof)
- Tobias Schultze (tobion)
- Pascal Borreli (pborreli)
- Karma Dordrak (drak) - Karma Dordrak (drak)
- Ryan Weaver - Ryan Weaver
- Pascal Borreli (pborreli)
- Lukas Kahwe Smith (lsmith) - Lukas Kahwe Smith (lsmith)
- Tobias Schultze (tobion)
- Jeremy Mikola (jmikola) - Jeremy Mikola (jmikola)
- Benjamin Eberlei (beberlei) - Benjamin Eberlei (beberlei)
- Igor Wiedler (igorw) - Igor Wiedler (igorw)
- Joseph Bielawski (stloyd) - Joseph Bielawski (stloyd)
- Eriksen Costa (eriksencosta) - Eriksen Costa (eriksencosta)
- Hugo Hamon (hhamon) - Hugo Hamon (hhamon)
- Jonathan Wage (jwage)
- Martin Hasoň (hason) - Martin Hasoň (hason)
- Jonathan Wage (jwage)
- William Durand (couac) - William Durand (couac)
- Alexandre Salomé (alexandresalome) - Alexandre Salomé (alexandresalome)
- ornicar - ornicar
- stealth35 (stealth35) - stealth35 (stealth35)
- Jean-François Simon (jfsimon)
- Bulat Shakirzyanov (avalanche123) - Bulat Shakirzyanov (avalanche123)
- Francis Besset (francisbesset) - Francis Besset (francisbesset)
- Miha Vrhovnik - Miha Vrhovnik
- Henrik Bjørnskov (henrikbjorn) - Henrik Bjørnskov (henrikbjorn)
- Konstantin Kudryashov (everzet) - Konstantin Kudryashov (everzet)
- Jean-François Simon (jfsimon)
- Jakub Zalas (jakubzalas) - Jakub Zalas (jakubzalas)
- Arnaud Le Blanc (arnaud-lb)
- Eric Clemmons (ericclemmons) - Eric Clemmons (ericclemmons)
- Henrik Westphal (snc) - Henrik Westphal (snc)
- Deni
- Dariusz Górecki (canni)
- Alexander Mols (asm89) - Alexander Mols (asm89)
- Arnout Boks (aboks) - Deni
- Hidenori Goto (hidenorigoto) - Romain Neutron (romain)
- Jordan Alliot (jalliot) - Dariusz Górecki (canni)
- Marc Weistroff (futurecat) - Marc Weistroff (futurecat)
- Brandon Turner - Jordan Alliot (jalliot)
- Arnout Boks (aboks)
- Саша Стаменковић (umpirsky) - Саша Стаменковић (umpirsky)
- Hidenori Goto (hidenorigoto)
- Brandon Turner
- Andrej Hudec (pulzarraider) - Andrej Hudec (pulzarraider)
- Brikou Carré (brikou) - Brikou Carré (brikou)
- John Wards (johnwards) - John Wards (johnwards)
- Daniel Holmes (dholmes)
- Antoine Hérault (herzult) - Antoine Hérault (herzult)
- Daniel Holmes (dholmes)
- Bilal Amarni (bamarni)
- Christian Raue - Christian Raue
- Tim Nagel (merk)
- Michal Piotrowski (eventhorizon)
- Włodzimierz Gajda (gajdaw)
- Florin Patan (florinpatan)
- lenar - lenar
- Fabien Pennequin (fabienpennequin) - Fabien Pennequin (fabienpennequin)
- Tim Nagel (merk)
- excelwebzone
- Bilal Amarni (bamarni)
- Romain Neutron (romain)
- Bart van den Burg (burgov) - Bart van den Burg (burgov)
- excelwebzone
- Kevin Bond (kbond) - Kevin Bond (kbond)
- Włodzimierz Gajda (gajdaw)
- Toni Uebernickel (havvg)
- Douglas Greenshields (shieldo)
- Richard Miller (mr_r_miller) - Richard Miller (mr_r_miller)
- Grégoire Pineau (lyrixx)
- Toni Uebernickel (havvg)
- Jacob Dreesen (jdreesen) - Jacob Dreesen (jdreesen)
- Douglas Greenshields (shieldo)
- Richard Shank (iampersistent) - Richard Shank (iampersistent)
- Sebastian Hörl (blogsh) - Sebastian Hörl (blogsh)
- Florin Patan (florinpatan) - Mario A. Alvarez Garcia (nomack84)
- Michal Piotrowski (eventhorizon)
- Grégoire Pineau (lyrixx)
- Juti Noppornpitak - Juti Noppornpitak
- Robert Schönthal (digitalkaoz) - Robert Schönthal (digitalkaoz)
- Michał Pipa (michal.pipa) - Michał Pipa (michal.pipa)
- woodspire
- Daniel Gomes (danielcsgomes) - Daniel Gomes (danielcsgomes)
- Michel Weimerskirch (mweimerskirch) - Michel Weimerskirch (mweimerskirch)
- Tigran Azatyan (tigranazatyan) - Tigran Azatyan (tigranazatyan)
- Pierre Minnieur (pminnieur) - Pierre Minnieur (pminnieur)
- Arnaud Kleinpeter (nanocom)
- Jonathan Ingram (jonathaningram)
- Javier Eguiluz (javier.eguiluz) - Javier Eguiluz (javier.eguiluz)
- Matthieu Ouellette-Vachon (maoueh) - Matthieu Ouellette-Vachon (maoueh)
- Larry Garfield (crell)
- Amal Raghav (kertz) - Amal Raghav (kertz)
- Artur Kotyrba - Artur Kotyrba
- Pablo Godel (pgodel)
- Helmer Aaviksoo - Helmer Aaviksoo
- Clément JOBEILI (dator) - Clément JOBEILI (dator)
- Julien Brochet (mewt) - Julien Brochet (mewt)
- Arnaud Kleinpeter (nanocom) - David Buchmann (dbu)
- Jonathan Ingram (jonathaningram) - Sebastiaan Stok (sstok)
- Benjamin Dulau (dbenjamin) - Benjamin Dulau (dbenjamin)
- Felix Labrecque
- Andreas Hucks (meandmymonkey) - Andreas Hucks (meandmymonkey)
- Noel Guilbert (noel) - Noel Guilbert (noel)
- Jérémie Augustin (jaugustin) - Jérémie Augustin (jaugustin)
- Martin Schuhfuß (usefulthink) - Martin Schuhfuß (usefulthink)
- Thomas Rabaix (rande) - Thomas Rabaix (rande)
- Dennis Benkert (denderello) - Dennis Benkert (denderello)
- Marcel Beerta (mazen)
- Rafael Dohms (rdohms) - Rafael Dohms (rdohms)
- Matthieu Bontemps (mbontemps) - Matthieu Bontemps (mbontemps)
- fivestar - fivestar
- Dominique Bongiraud - Dominique Bongiraud
- Pablo Godel (pgodel)
- Arnaud Le Blanc (arnaud-lb)
- Leszek Prabucki (l3l0) - Leszek Prabucki (l3l0)
- Danny Berger (dpb587)
- Dustin Whittle (dustinwhittle) - Dustin Whittle (dustinwhittle)
- Fran Moreno (franmomu)
- jeff - jeff
- Justin Hileman (bobthecow) - Justin Hileman (bobthecow)
- Sven Paulus (subsven) - Sven Paulus (subsven)
- Xavier Perez - Xavier Perez
- Rui Marinho (ruimarinho) - Rui Marinho (ruimarinho)
- Ray
- Joseph Rouff (rouffj) - Joseph Rouff (rouffj)
- Marcel Beerta (mazen) - Albert Casademont (acasademont)
- Gordon Franke (gimler) - Gordon Franke (gimler)
- Francois Zaninotto - Francois Zaninotto
- François Zaninotto (fzaninotto) - François Zaninotto (fzaninotto)
- Danny Berger (dpb587)
- Xavier Montaña Carreras (xmontana) - Xavier Montaña Carreras (xmontana)
- Gábor Egyed (1ed) - Gábor Egyed (1ed)
- Katsuhiro OGAWA - Katsuhiro OGAWA
- Clemens Tolboom - Clemens Tolboom
- Alif Rachmawadi - Alif Rachmawadi
- Larry Garfield (crell) - boombatower
- Florian Klein (docteurklein)
- jules boussekeyt (gordonslondon) - jules boussekeyt (gordonslondon)
- Jan Sorgalla (jsor) - Jan Sorgalla (jsor)
- Ray
- Lee McDermott - Lee McDermott
- Guilherme Blanco (guilhermeblanco) - Guilherme Blanco (guilhermeblanco)
- jdhoek - jdhoek
@ -128,40 +137,44 @@ Symfony2 is the result of the work of many people who made the code better
- Wodor Wodorski - Wodor Wodorski
- Matthew Lewinski (lewinski) - Matthew Lewinski (lewinski)
- Kim Hemsø Rasmussen - Kim Hemsø Rasmussen
- Dirk Pahl (dirkaholic)
- Wouter Van Hecke - Wouter Van Hecke
- Gyula Sallai (salla) - Gyula Sallai (salla)
- Michael Holm (hollo) - Michael Holm (hollo)
- Peter Kokot (maastermedia) - Peter Kokot (maastermedia)
- arjen - arjen
- Florian Klein (docteurklein)
- Adrien Brault (adrienbrault) - Adrien Brault (adrienbrault)
- David Buchmann (dbu)
- Manuel Kiessling (manuelkiessling) - Manuel Kiessling (manuelkiessling)
- Sergey Linnik - Sergey Linnik
- Bertrand Zuchuat (garfield-fr) - Bertrand Zuchuat (garfield-fr)
- Beau Simensen (simensen)
- Grégoire Paris (greg0ire) - Grégoire Paris (greg0ire)
- Tamas Szijarto
- Grégoire Passault (gregwar) - Grégoire Passault (gregwar)
- Aurelijus Valeiša (aurelijus) - Aurelijus Valeiša (aurelijus)
- Gustavo Piltcher - Gustavo Piltcher
- Albert Casademont (acasademont) - Stepan Tanasiychuk (stfalcon)
- Albert Jessurum (ajessu) - Albert Jessurum (ajessu)
- Tiago Ribeiro (fixe) - Tiago Ribeiro (fixe)
- Adrian Rudnik (kreischweide) - Adrian Rudnik (kreischweide)
- Francesc Rosàs (frosas) - Francesc Rosàs (frosas)
- Julien Galenski (ruian)
- Bongiraud Dominique - Bongiraud Dominique
- Michel Salib (michelsalib) - Michel Salib (michelsalib)
- Jeanmonod David (jeanmonod)
- Thomas Lallement (raziel057)
- Niklas Fiekas
- Brouznouf - Brouznouf
- Andréia Bohner (andreia) - Andréia Bohner (andreia)
- Sebastiaan Stok (sstok)
- Sebastian Bergmann - Sebastian Bergmann
- Fran Moreno (franmomu)
- Greg Thornton (xdissent) - Greg Thornton (xdissent)
- sun (sun)
- Yaroslav Kiliba
- Lars Strojny - Lars Strojny
- Beau Simensen (simensen) - Terje Bråten
- Costin Bereveanu (schniper) - Costin Bereveanu (schniper)
- Markus Lanthaler (lanthaler)
- realmfoo - realmfoo
- Tamas Szijarto
- Mario A. Alvarez Garcia (nomack84)
- Tobias Naumann - Tobias Naumann
- Shein Alexey - Shein Alexey
- Joe Lencioni - Joe Lencioni
@ -173,21 +186,18 @@ Symfony2 is the result of the work of many people who made the code better
- Oscar Cubo Medina (ocubom) - Oscar Cubo Medina (ocubom)
- Christophe L. (christophelau) - Christophe L. (christophelau)
- Michael Ridgway - Michael Ridgway
- Stepan Tanasiychuk (stfalcon)
- Pavel Campr (pcampr) - Pavel Campr (pcampr)
- Brian King - Brian King
- Jeanmonod David (jeanmonod)
- Jan Schumann - Jan Schumann
- Niklas Fiekas
- Olivier Dolbeau (odolbeau) - Olivier Dolbeau (odolbeau)
- Michele Orselli (orso) - Michele Orselli (orso)
- Asier Illarramendi (doup) - Asier Illarramendi (doup)
- Christoph Mewes (xrstf) - Christoph Mewes (xrstf)
- Dirk Pahl (dirkaholic) - Jonas Flodén (flojon)
- Shigenibu Nishikawa - Shigenibu Nishikawa
- Marcin Sikoń (marphi) - Marcin Sikoń (marphi)
- Miquel Rodríguez Telep (mrtorrent) - Miquel Rodríguez Telep (mrtorrent)
- boombatower - Filippo Tessarotto
- Laurent Bachelier (laurentb) - Laurent Bachelier (laurentb)
- Fabian Lange (codingfabian) - Fabian Lange (codingfabian)
- Yoshio HANAWA - Yoshio HANAWA
@ -196,9 +206,11 @@ Symfony2 is the result of the work of many people who made the code better
- Michael Piecko (michael.piecko) - Michael Piecko (michael.piecko)
- Manuel de Ruiter (manuel) - Manuel de Ruiter (manuel)
- ondrowan - ondrowan
- Roman Marintsenko (inori)
- mcben - mcben
- Yaroslav Kiliba - Jérôme Vieilledent (lolautruche)
- Peter Kruithof (pkruithof) - Peter Kruithof (pkruithof)
- Eric GELOEN (gelo)
- Erik Trapman (eriktrapman) - Erik Trapman (eriktrapman)
- De Cock Xavier (xdecock) - De Cock Xavier (xdecock)
- Manuel Reinhard (sprain) - Manuel Reinhard (sprain)
@ -221,19 +233,33 @@ Symfony2 is the result of the work of many people who made the code better
- Zach Badgett (zachbadgett) - Zach Badgett (zachbadgett)
- Aurélien Fredouelle - Aurélien Fredouelle
- Francesco Levorato - Francesco Levorato
- Thomas Tourlourat (armetiz)
- Geoffrey Tran (geoff) - Geoffrey Tran (geoff)
- Florian Rey (nervo)
- Christian Schaefer (caefer) - Christian Schaefer (caefer)
- Julien Galenski (ruian)
- Elliot Anderson (elliot) - Elliot Anderson (elliot)
- Patrick Kaufmann
- Ben Ramsey (ramsey)
- Christian Jul Jensen
- Chris Jones (leek)
- Markus Bachmann (baachi) - Markus Bachmann (baachi)
- Colin Frei
- aubx - aubx
- Max Rath (drak3) - Max Rath (drak3)
- DerManoMann
- Nahuel Cuesta (ncuesta) - Nahuel Cuesta (ncuesta)
- Chris Boden (cboden) - Chris Boden (cboden)
- Roumen Damianoff (roumen)
- Jeremy David (jeremy.david)
- Konstantin Myakshin (koc)
- Dustin Dobervich (dustin10) - Dustin Dobervich (dustin10)
- Sebastian Marek (proofek) - Sebastian Marek (proofek)
- Erkhembayar Gantulga (erheme318) - Erkhembayar Gantulga (erheme318)
- Ken Marfilla (marfillaster)
- Rostyslav Kinash - Rostyslav Kinash
- jfcixmedia
- Vincent Simonin
- Chris Heng
- yktd26 - yktd26
- Tom Van Looy (tvlooy) - Tom Van Looy (tvlooy)
- umpirski - umpirski
@ -241,57 +267,70 @@ Symfony2 is the result of the work of many people who made the code better
- John Kary (johnkary) - John Kary (johnkary)
- Hossein Bukhamsin - Hossein Bukhamsin
- Fabrice Bernhard (fabriceb) - Fabrice Bernhard (fabriceb)
- Mark Sonnabaum
- develop - develop
- Filippo Tessarotto - hossein zolfi (ocean)
- Atsuhiro KUBO (iteman) - Atsuhiro KUBO (iteman)
- Samy Dindane (dinduks)
- yclian - yclian
- Jérémy Romey (jeremyfreeagent) - Jérémy Romey (jeremyfreeagent)
- Matt Daum (daum)
- Hiromi Hishida (77web) - Hiromi Hishida (77web)
- Yuen-Chi Lian - Yuen-Chi Lian
- Joshua Nye - Joshua Nye
- Sebastian Krebs
- avorobiev - avorobiev
- Mark Challoner - Mark Challoner
- Andrew Tchircoff (andrewtch) - Andrew Tchircoff (andrewtch)
- BilgeXA
- michaelwilliams - michaelwilliams
- Casper Valdemar Poulsen - Casper Valdemar Poulsen
- Josiah (josiah) - Josiah (josiah)
- John Bohn (jbohn) - John Bohn (jbohn)
- Nicolas Schwartz (nicoschwartz)
- Degory Valentine - Degory Valentine
- Krzysiek Łabuś - Krzysiek Łabuś
- Xavier Lacot (xavier) - Xavier Lacot (xavier)
- Markus Lanthaler (lanthaler)
- Olivier Maisonneuve - Olivier Maisonneuve
- Daniel F. Kudwien (sun)
- cgonzalez - cgonzalez
- matt foster
- Evan S Kaufman (evanskaufman) - Evan S Kaufman (evanskaufman)
- Ismael Ambrosi (iambrosi) - Ismael Ambrosi (iambrosi)
- Jayson Xu (superjavason) - Jayson Xu (superjavason)
- Jan Prieser - Jan Prieser
- James Michael DuPont - James Michael DuPont
- Tom Klingenberg - Tom Klingenberg
- Gunther Konig
- Christopher Hall (mythmakr) - Christopher Hall (mythmakr)
- Paul Kamer (pkamer) - Paul Kamer (pkamer)
- Pierre Vanliefland (pvanliefland)
- Philipp Kräutli (pkraeutli) - Philipp Kräutli (pkraeutli)
- frost-nzcr4 - frost-nzcr4
- Loïc Chardonnet (gnusat)
- Michaël Perrin (michael.perrin) - Michaël Perrin (michael.perrin)
- Abhoryo - Abhoryo
- Fabian Vogler (fabian) - Fabian Vogler (fabian)
- Leevi Graham
- Maksim Kotlyar (makasim) - Maksim Kotlyar (makasim)
- Neil Ferreira - Neil Ferreira
- Tony Malzhacker - Tony Malzhacker
- Cyril Quintin (cyqui) - Cyril Quintin (cyqui)
- Gerard van Helden (drm) - Gerard van Helden (drm)
- Johnny Peck (johnnypeck) - Johnny Peck (johnnypeck)
- Denis Gorbachev (starfall)
- Kirill chEbba Chebunin - Kirill chEbba Chebunin
- Benjamin Leveque (benji07) - Benjamin Leveque (benji07)
- Gustavo Falco (gfalco) - Gustavo Falco (gfalco)
- Matt Robinson (inanimatt) - Matt Robinson (inanimatt)
- julien pauli (jpauli) - julien pauli (jpauli)
- mwsaz - mwsaz
- Benoît Bourgeois
- Filipe Guerra
- corphi - corphi
- grizlik - grizlik
- Derek ROTH - Derek ROTH
- Shin Ohno (ganchiku) - Shin Ohno (ganchiku)
- Jan Kramer (jankramer)
- Drew Butler (nodrew) - Drew Butler (nodrew)
- Don Pinkster - Don Pinkster
- Emil Einarsson - Emil Einarsson
@ -302,28 +341,27 @@ Symfony2 is the result of the work of many people who made the code better
- Arno Geurts - Arno Geurts
- Adán Lobato (adanlobato) - Adán Lobato (adanlobato)
- Mikhail Yurasov - Mikhail Yurasov
- jamogon
- Sam Williams
- Miha Vrhovnik
- Moritz Borgmann
- Daniel Cestari - Daniel Cestari
- Thomas Tourlourat (armetiz) - Eugene Leonovich
- Karoly Negyesi (chx) - Karoly Negyesi (chx)
- Javier López (loalf) - Javier López (loalf)
- Magnus Nordlander (magnusnordlander) - Magnus Nordlander (magnusnordlander)
- Adam Monsen (meonkeys) - Adam Monsen (meonkeys)
- Florian Rey (nervo)
- LOUARDI Abdeltif (ouardisoft) - LOUARDI Abdeltif (ouardisoft)
- Robert Gruendler (pulse00) - Robert Gruendler (pulse00)
- ragtek (ragtek)
- Benoît Merlet (trompette) - Benoît Merlet (trompette)
- Maks - Maks
- Jan Behrens - Jan Behrens
- Raul Fraile (raulfraile) - Raul Fraile (raulfraile)
- sensio - sensio
- Patrick Kaufmann
- Théophile Helleboid - chtitux - Théophile Helleboid - chtitux
- Ben Ramsey (ramsey)
- Christian Jul Jensen
- Chris Jones (leek)
- xaav - xaav
- Juti Noppornpitak - Juti Noppornpitak
- Roumen Damianoff
- Sander Coolen - Sander Coolen
- Josip Kruslin - Josip Kruslin
- Anton Babenko (antonbabenko) - Anton Babenko (antonbabenko)
@ -339,12 +377,9 @@ Symfony2 is the result of the work of many people who made the code better
- julien.galenski - julien.galenski
- Sébastien Lavoie - Sébastien Lavoie
- Per Sandström (per) - Per Sandström (per)
- Ken Marfilla (marfillaster)
- Robert Kiss (kepten) - Robert Kiss (kepten)
- jfcixmedia
- Vitaliy Tverdokhlib (vitaliytv) - Vitaliy Tverdokhlib (vitaliytv)
- Martijn Evers - Martijn Evers
- Chris Heng
- Nerijus Arlauskas - Nerijus Arlauskas
- DerManoMann - DerManoMann
- Jochen Bayer (jocl) - Jochen Bayer (jocl)
@ -352,6 +387,7 @@ Symfony2 is the result of the work of many people who made the code better
- Evan Villemez - Evan Villemez
- Davide Borsatto (davide.borsatto) - Davide Borsatto (davide.borsatto)
- kaiwa - kaiwa
- Albert Ganiev (helios-ag)
- Neil Katin - Neil Katin
- Gustavo Adrian - Gustavo Adrian
- Roger Webb - Roger Webb
@ -365,8 +401,8 @@ Symfony2 is the result of the work of many people who made the code better
- modi - modi
- Sergey Yuferev - Sergey Yuferev
- Richard van den Brand (ricbra) - Richard van den Brand (ricbra)
- Mark Sonnabaum
- Aharon Perkel - Aharon Perkel
- Malaney J. Hill
- Andy Cox (ringo) - Andy Cox (ringo)
- Balázs Benyó (duplabe) - Balázs Benyó (duplabe)
- Sebastian Utz - Sebastian Utz
@ -374,8 +410,6 @@ Symfony2 is the result of the work of many people who made the code better
- Cédric Lahouste (rapotor) - Cédric Lahouste (rapotor)
- Janusz Jablonski - Janusz Jablonski
- George Giannoulopoulos - George Giannoulopoulos
- Thomas Lallement (raziel057)
- Matt Daum (daum)
- Alberto Pirovano (geezmo) - Alberto Pirovano (geezmo)
- Xavier Briand (xavierbriand) - Xavier Briand (xavierbriand)
- Evan Kaufman - Evan Kaufman
@ -386,7 +420,6 @@ Symfony2 is the result of the work of many people who made the code better
- Stéphane PY (steph_py) - Stéphane PY (steph_py)
- Martin Eckhardt - Martin Eckhardt
- Michael Dowling (mtdowling) - Michael Dowling (mtdowling)
- BilgeXA
- mlively - mlively
- Thomas Chmielowiec (chmielot) - Thomas Chmielowiec (chmielot)
- Sebastian Ionescu - Sebastian Ionescu
@ -406,30 +439,28 @@ Symfony2 is the result of the work of many people who made the code better
- Paweł Wacławczyk (pwc) - Paweł Wacławczyk (pwc)
- Thomas Bibb - Thomas Bibb
- Josef Cech - Josef Cech
- Andrey Esaulov (andremaha)
- hicham ELGUAROUANI (hiiimoo) - hicham ELGUAROUANI (hiiimoo)
- Roman Marintsenko (inori)
- Ivan Kurnosov - Ivan Kurnosov
- stloyd - stloyd
- Martin Parsiegla (spea) - Martin Parsiegla (spea)
- Chris Tickner (tickner) - Chris Tickner (tickner)
- Luis Muñoz - Luis Muñoz
- Thomas Chmielowiec - Thomas Chmielowiec
- Gunther Konig
- Oleg Zinchenko - Oleg Zinchenko
- Benjamin Grandfond (benjamin) - Benjamin Grandfond (benjamin)
- Christoph Nissle (derstoffel) - Christoph Nissle (derstoffel)
- Stefano Sala (stefano.sala) - Stefano Sala (stefano.sala)
- Xavier HAUSHERR
- Benjamin Zikarsky - Benjamin Zikarsky
- Romain Dorgueil - Romain Dorgueil
- Grayson Koonce (breerly) - Grayson Koonce (breerly)
- Andy Stanberry - Andy Stanberry
- alefranz - alefranz
- Loïc Chardonnet (gnusat)
- Alessio Baglio (ioalessio) - Alessio Baglio (ioalessio)
- Jérôme Macias (jeromemacias) - Jérôme Macias (jeromemacias)
- Cédric Dugat (ph3nol) - Cédric Dugat (ph3nol)
- Philip Dahlstrøm (phidah) - Philip Dahlstrøm (phidah)
- Pierre Vanliefland (pvanliefland)
- Artem Lopata (bumz) - Artem Lopata (bumz)
- Alexey Popkov - Alexey Popkov
- Artyom Protaskin - Artyom Protaskin
@ -440,10 +471,12 @@ Symfony2 is the result of the work of many people who made the code better
- hirocaster - hirocaster
- Andrey Chernykh - Andrey Chernykh
- Alexander Miehe (engerim) - Alexander Miehe (engerim)
- Jörn Lang (j.lang)
- Jan Marek (janmarek) - Jan Marek (janmarek)
- Dan Patrick (mdpatrick) - Dan Patrick (mdpatrick)
- Pierre-Yves LEBECQ (pylebecq) - Pierre-Yves LEBECQ (pylebecq)
- Rares Vlaseanu (raresvla) - Rares Vlaseanu (raresvla)
- Tugdual Saunier (tucksaun)
- Alexander Zogheb - Alexander Zogheb
- Florian Pfitzer - Florian Pfitzer
- Linnik Sergey - Linnik Sergey
@ -463,7 +496,6 @@ Symfony2 is the result of the work of many people who made the code better
- Grummfy - Grummfy
- Eduardo Gulias - Eduardo Gulias
- Rowan Manning - Rowan Manning
- Eric GELOEN
- David Windell - David Windell
- Gabriel Birke - Gabriel Birke
- Alan Chen - Alan Chen
@ -517,7 +549,6 @@ Symfony2 is the result of the work of many people who made the code better
- Samuel Laulhau - Samuel Laulhau
- Oleg Stepura - Oleg Stepura
- James Michael DuPont - James Michael DuPont
- Miha Vrhovnik
- Ondrej Slinták - Ondrej Slinták
- vlechemin - vlechemin
- Skorney - Skorney
@ -533,6 +564,7 @@ Symfony2 is the result of the work of many people who made the code better
- David Soria Parra - David Soria Parra
- Sergiy Sokolenko - Sergiy Sokolenko
- Penny Leach - Penny Leach
- Philipp Rieber
- DanSync - DanSync
- Peter Zwosta - Peter Zwosta
- parhs - parhs
@ -552,7 +584,6 @@ Symfony2 is the result of the work of many people who made the code better
- Daniel Londero (dlondero) - Daniel Londero (dlondero)
- Adel ELHAIBA (eadel) - Adel ELHAIBA (eadel)
- Fabien Dosse (fabd) - Fabien Dosse (fabd)
- Jonas Flodén (flojon)
- Yohan Giarelli (frequence-web) - Yohan Giarelli (frequence-web)
- Massimiliano Arione (garak) - Massimiliano Arione (garak)
- Vladislav Krupenkin (ideea) - Vladislav Krupenkin (ideea)
@ -568,6 +599,7 @@ Symfony2 is the result of the work of many people who made the code better
- Daniel Perez Pinazo (pitiflautico) - Daniel Perez Pinazo (pitiflautico)
- Ruud Kamphuis (ruudk) - Ruud Kamphuis (ruudk)
- Sebastian Busch (sebu) - Sebastian Busch (sebu)
- Simon Terrien (sterrien)
- Markus Tacker (tacker) - Markus Tacker (tacker)
- Tyler Stroud (tystr) - Tyler Stroud (tystr)
- Eugene Babushkin (warl) - Eugene Babushkin (warl)

View File

@ -63,9 +63,13 @@ class Configuration implements ConfigurationInterface
->end() ->end()
->scalarNode('trust_proxy_headers')->defaultFalse()->end() // @deprecated, to be removed in 2.3 ->scalarNode('trust_proxy_headers')->defaultFalse()->end() // @deprecated, to be removed in 2.3
->arrayNode('trusted_proxies') ->arrayNode('trusted_proxies')
->beforeNormalization()
->ifTrue(function($v) { return !is_array($v) && !is_null($v); })
->then(function($v) { return is_bool($v) ? array() : preg_split('/\s*,\s*/', $v); })
->end()
->prototype('scalar') ->prototype('scalar')
->validate() ->validate()
->ifTrue(function($v) { return !filter_var($v, FILTER_VALIDATE_IP); }) ->ifTrue(function($v) { return !empty($v) && !filter_var($v, FILTER_VALIDATE_IP); })
->thenInvalid('Invalid proxy IP "%s"') ->thenInvalid('Invalid proxy IP "%s"')
->end() ->end()
->end() ->end()

View File

@ -24,6 +24,7 @@
<!-- charset is deprecated and will be removed in 2.2 --> <!-- charset is deprecated and will be removed in 2.2 -->
<xsd:attribute name="charset" type="xsd:string" /> <xsd:attribute name="charset" type="xsd:string" />
<xsd:attribute name="trust-proxy-headers" type="xsd:string" /> <xsd:attribute name="trust-proxy-headers" type="xsd:string" />
<xsd:attribute name="trusted-proxies" type="xsd:string" />
<xsd:attribute name="ide" type="xsd:string" /> <xsd:attribute name="ide" type="xsd:string" />
<xsd:attribute name="secret" type="xsd:string" /> <xsd:attribute name="secret" type="xsd:string" />
<xsd:attribute name="default-locale" type="xsd:string" /> <xsd:attribute name="default-locale" type="xsd:string" />

View File

@ -53,11 +53,14 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
array(array('secret' => 's3cr3t', 'trusted_proxies' => array('127.0.0.1')), array('secret' => 's3cr3t', 'trusted_proxies' => array('127.0.0.1'), 'trust_proxy_headers' => false, 'ide' => NULL, 'annotations' => array('cache' => 'file', 'file_cache_dir' => '%kernel.cache_dir%/annotations', 'debug' => false), 'default_locale' => 'en', 'charset' => null)), array(array('secret' => 's3cr3t', 'trusted_proxies' => array('127.0.0.1')), array('secret' => 's3cr3t', 'trusted_proxies' => array('127.0.0.1'), 'trust_proxy_headers' => false, 'ide' => NULL, 'annotations' => array('cache' => 'file', 'file_cache_dir' => '%kernel.cache_dir%/annotations', 'debug' => false), 'default_locale' => 'en', 'charset' => null)),
array(array('secret' => 's3cr3t', 'trusted_proxies' => array('::1')), array('secret' => 's3cr3t', 'trusted_proxies' => array('::1'), 'trust_proxy_headers' => false, 'ide' => NULL, 'annotations' => array('cache' => 'file', 'file_cache_dir' => '%kernel.cache_dir%/annotations', 'debug' => false), 'default_locale' => 'en', 'charset' => null)), array(array('secret' => 's3cr3t', 'trusted_proxies' => array('::1')), array('secret' => 's3cr3t', 'trusted_proxies' => array('::1'), 'trust_proxy_headers' => false, 'ide' => NULL, 'annotations' => array('cache' => 'file', 'file_cache_dir' => '%kernel.cache_dir%/annotations', 'debug' => false), 'default_locale' => 'en', 'charset' => null)),
array(array('secret' => 's3cr3t', 'trusted_proxies' => array('127.0.0.1', '::1')), array('secret' => 's3cr3t', 'trusted_proxies' => array('127.0.0.1', '::1'), 'trust_proxy_headers' => false, 'ide' => NULL, 'annotations' => array('cache' => 'file', 'file_cache_dir' => '%kernel.cache_dir%/annotations', 'debug' => false), 'default_locale' => 'en', 'charset' => null)), array(array('secret' => 's3cr3t', 'trusted_proxies' => array('127.0.0.1', '::1')), array('secret' => 's3cr3t', 'trusted_proxies' => array('127.0.0.1', '::1'), 'trust_proxy_headers' => false, 'ide' => NULL, 'annotations' => array('cache' => 'file', 'file_cache_dir' => '%kernel.cache_dir%/annotations', 'debug' => false), 'default_locale' => 'en', 'charset' => null)),
array(array('secret' => 's3cr3t', 'trusted_proxies' => null), array('secret' => 's3cr3t', 'trusted_proxies' => array(), 'trust_proxy_headers' => false, 'ide' => NULL, 'annotations' => array('cache' => 'file', 'file_cache_dir' => '%kernel.cache_dir%/annotations', 'debug' => false), 'default_locale' => 'en', 'charset' => null)),
array(array('secret' => 's3cr3t', 'trusted_proxies' => false), array('secret' => 's3cr3t', 'trusted_proxies' => array(), 'trust_proxy_headers' => false, 'ide' => NULL, 'annotations' => array('cache' => 'file', 'file_cache_dir' => '%kernel.cache_dir%/annotations', 'debug' => false), 'default_locale' => 'en', 'charset' => null)),
array(array('secret' => 's3cr3t', 'trusted_proxies' => array()), array('secret' => 's3cr3t', 'trusted_proxies' => array(), 'trust_proxy_headers' => false, 'ide' => NULL, 'annotations' => array('cache' => 'file', 'file_cache_dir' => '%kernel.cache_dir%/annotations', 'debug' => false), 'default_locale' => 'en', 'charset' => null)),
); );
} }
/** /**
* @expectedException Symfony\Component\Config\Definition\Exception\InvalidTypeException * @expectedException Symfony\Component\Config\Definition\Exception\InvalidConfigurationException
*/ */
public function testInvalidTypeTrustedProxies() public function testInvalidTypeTrustedProxies()
{ {

View File

@ -4,6 +4,8 @@ $container->loadFromExtension('framework', array(
'secret' => 's3cr3t', 'secret' => 's3cr3t',
'default_locale' => 'fr', 'default_locale' => 'fr',
'form' => null, 'form' => null,
'trust_proxy_headers' => true,
'trusted_proxies' => array('127.0.0.1', '10.0.0.1'),
'csrf_protection' => array( 'csrf_protection' => array(
'enabled' => true, 'enabled' => true,
'field_name' => '_csrf', 'field_name' => '_csrf',

View File

@ -6,7 +6,7 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd"> http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
<framework:config secret="s3cr3t" ide="file%%link%%format" default-locale="fr"> <framework:config secret="s3cr3t" ide="file%%link%%format" default-locale="fr" trust-proxy-headers="true" trusted-proxies="127.0.0.1, 10.0.0.1">
<framework:csrf-protection enabled="true" field-name="_csrf" /> <framework:csrf-protection enabled="true" field-name="_csrf" />
<framework:form /> <framework:form />
<framework:esi enabled="true" /> <framework:esi enabled="true" />

View File

@ -2,6 +2,8 @@ framework:
secret: s3cr3t secret: s3cr3t
default_locale: fr default_locale: fr
form: ~ form: ~
trust_proxy_headers: true
trusted_proxies: ['127.0.0.1', '10.0.0.1']
csrf_protection: csrf_protection:
enabled: true enabled: true
field_name: _csrf field_name: _csrf

View File

@ -33,6 +33,14 @@ abstract class FrameworkExtensionTest extends TestCase
$this->assertEquals('s3cr3t', $container->getParameterBag()->resolveValue($container->findDefinition('form.csrf_provider')->getArgument(1))); $this->assertEquals('s3cr3t', $container->getParameterBag()->resolveValue($container->findDefinition('form.csrf_provider')->getArgument(1)));
} }
public function testProxies()
{
$container = $this->createContainerFromFile('full');
$this->assertTrue($container->getParameter('kernel.trust_proxy_headers'));
$this->assertEquals(array('127.0.0.1', '10.0.0.1'), $container->getParameter('kernel.trusted_proxies'));
}
public function testEsi() public function testEsi()
{ {
$container = $this->createContainerFromFile('full'); $container = $this->createContainerFromFile('full');