Merge branch '3.4' into 4.3

* 3.4:
  [Validator] Allow underscore character "_" in URL username and password
  [SecurityBundle] Passwords are not encoded when algorithm set to \"true\"
  do not validate passwords when the hash is null
  [DI] Fix making the container path-independent when the app is in /app
  Allow copy instead of symlink for ./link script
  [FrameworkBundle] resolve service locators in `debug:*` commands
  bumped Symfony version to 3.4.37
  updated VERSION for 3.4.36
  update CONTRIBUTORS for 3.4.36
  updated CHANGELOG for 3.4.36
This commit is contained in:
Christian Flothmann 2019-12-06 14:11:20 +01:00
commit 2ac56093a5
11 changed files with 91 additions and 45 deletions

View File

@ -19,8 +19,8 @@ Symfony is the result of the work of many people who made the code better
- Jakub Zalas (jakubzalas) - Jakub Zalas (jakubzalas)
- Javier Eguiluz (javier.eguiluz) - Javier Eguiluz (javier.eguiluz)
- Roland Franssen (ro0) - Roland Franssen (ro0)
- Johannes S (johannes)
- Grégoire Pineau (lyrixx) - Grégoire Pineau (lyrixx)
- Johannes S (johannes)
- Kris Wallsmith (kriswallsmith) - Kris Wallsmith (kriswallsmith)
- Yonel Ceruto (yonelceruto) - Yonel Ceruto (yonelceruto)
- Hugo Hamon (hhamon) - Hugo Hamon (hhamon)
@ -36,13 +36,13 @@ Symfony is the result of the work of many people who made the code better
- Martin Hasoň (hason) - Martin Hasoň (hason)
- Hamza Amrouche (simperfit) - Hamza Amrouche (simperfit)
- Jeremy Mikola (jmikola) - Jeremy Mikola (jmikola)
- Jean-François Simon (jfsimon)
- Jules Pietri (heah) - Jules Pietri (heah)
- Jean-François Simon (jfsimon)
- Benjamin Eberlei (beberlei) - Benjamin Eberlei (beberlei)
- Igor Wiedler (igorw) - Igor Wiedler (igorw)
- Jérémy DERUSSÉ (jderusse) - Jérémy DERUSSÉ (jderusse)
- Eriksen Costa (eriksencosta)
- Thomas Calvet (fancyweb) - Thomas Calvet (fancyweb)
- Eriksen Costa (eriksencosta)
- Guilhem Niot (energetick) - Guilhem Niot (energetick)
- Sarah Khalil (saro0h) - Sarah Khalil (saro0h)
- Tobias Nyholm (tobias) - Tobias Nyholm (tobias)
@ -57,15 +57,15 @@ Symfony is the result of the work of many people who made the code better
- Francis Besset (francisbesset) - Francis Besset (francisbesset)
- stealth35 (stealth35) - stealth35 (stealth35)
- Alexander Mols (asm89) - Alexander Mols (asm89)
- Konstantin Myakshin (koc)
- Matthias Pigulla (mpdude) - Matthias Pigulla (mpdude)
- Konstantin Myakshin (koc)
- Bulat Shakirzyanov (avalanche123) - Bulat Shakirzyanov (avalanche123)
- Valentin Udaltsov (vudaltsov)
- Grégoire Paris (greg0ire) - Grégoire Paris (greg0ire)
- Saša Stamenković (umpirsky) - Saša Stamenković (umpirsky)
- Peter Rehm (rpet) - Peter Rehm (rpet)
- Kevin Bond (kbond) - Kevin Bond (kbond)
- Henrik Bjørnskov (henrikbjorn) - Henrik Bjørnskov (henrikbjorn)
- Valentin Udaltsov (vudaltsov)
- Miha Vrhovnik - Miha Vrhovnik
- Diego Saint Esteben (dii3g0) - Diego Saint Esteben (dii3g0)
- Gábor Egyed (1ed) - Gábor Egyed (1ed)
@ -91,11 +91,11 @@ Symfony is the result of the work of many people who made the code better
- Henrik Westphal (snc) - Henrik Westphal (snc)
- Dariusz Górecki (canni) - Dariusz Górecki (canni)
- David Buchmann (dbu) - David Buchmann (dbu)
- Graham Campbell (graham)
- Dariusz Ruminski - Dariusz Ruminski
- Lee McDermott - Lee McDermott
- Brandon Turner - Brandon Turner
- Luis Cordova (cordoval) - Luis Cordova (cordoval)
- Graham Campbell (graham)
- Daniel Holmes (dholmes) - Daniel Holmes (dholmes)
- Toni Uebernickel (havvg) - Toni Uebernickel (havvg)
- Bart van den Burg (burgov) - Bart van den Burg (burgov)
@ -109,20 +109,21 @@ Symfony is the result of the work of many people who made the code better
- Maxime STEINHAUSSER - Maxime STEINHAUSSER
- Michal Piotrowski (eventhorizon) - Michal Piotrowski (eventhorizon)
- Tim Nagel (merk) - Tim Nagel (merk)
- Baptiste Clavié (talus)
- Chris Wilkinson (thewilkybarkid) - Chris Wilkinson (thewilkybarkid)
- Brice BERNARD (brikou) - Brice BERNARD (brikou)
- Baptiste Clavié (talus)
- marc.weistroff - marc.weistroff
- Tomáš Votruba (tomas_votruba) - Tomáš Votruba (tomas_votruba)
- Peter Kokot (maastermedia)
- Jérôme Vasseur (jvasseur) - Jérôme Vasseur (jvasseur)
- lenar - lenar
- Alexander Schwenn (xelaris) - Alexander Schwenn (xelaris)
- Włodzimierz Gajda (gajdaw) - Włodzimierz Gajda (gajdaw)
- Sebastiaan Stok (sstok) - Sebastiaan Stok (sstok)
- Adrien Brault (adrienbrault) - Adrien Brault (adrienbrault)
- Peter Kokot (maastermedia)
- Jacob Dreesen (jdreesen) - Jacob Dreesen (jdreesen)
- Florian Voutzinos (florianv) - Florian Voutzinos (florianv)
- Teoh Han Hui (teohhanhui)
- Colin Frei - Colin Frei
- Oskar Stark (oskarstark) - Oskar Stark (oskarstark)
- Javier Spagnoletti (phansys) - Javier Spagnoletti (phansys)
@ -131,13 +132,12 @@ Symfony is the result of the work of many people who made the code better
- Daniel Wehner (dawehner) - Daniel Wehner (dawehner)
- excelwebzone - excelwebzone
- Gordon Franke (gimler) - Gordon Franke (gimler)
- Teoh Han Hui (teohhanhui) - Tugdual Saunier (tucksaun)
- Fabien Pennequin (fabienpennequin) - Fabien Pennequin (fabienpennequin)
- Théo FIDRY (theofidry) - Théo FIDRY (theofidry)
- Eric GELOEN (gelo) - Eric GELOEN (gelo)
- Joel Wurtz (brouznouf) - Joel Wurtz (brouznouf)
- Lars Strojny (lstrojny) - Lars Strojny (lstrojny)
- Tugdual Saunier (tucksaun)
- Jannik Zschiesche (apfelbox) - Jannik Zschiesche (apfelbox)
- Robert Schönthal (digitalkaoz) - Robert Schönthal (digitalkaoz)
- Gregor Harlan (gharlan) - Gregor Harlan (gharlan)
@ -209,6 +209,7 @@ Symfony is the result of the work of many people who made the code better
- Mario A. Alvarez Garcia (nomack84) - Mario A. Alvarez Garcia (nomack84)
- Dennis Benkert (denderello) - Dennis Benkert (denderello)
- DQNEO - DQNEO
- Andre Rømcke (andrerom)
- mcfedr (mcfedr) - mcfedr (mcfedr)
- Ben Davies (bendavies) - Ben Davies (bendavies)
- Gary PEGEOT (gary-p) - Gary PEGEOT (gary-p)
@ -233,7 +234,6 @@ Symfony is the result of the work of many people who made the code better
- Pierre Minnieur (pminnieur) - Pierre Minnieur (pminnieur)
- fivestar - fivestar
- Dominique Bongiraud - Dominique Bongiraud
- Andre Rømcke (andrerom)
- Jeremy Livingston (jeremylivingston) - Jeremy Livingston (jeremylivingston)
- Michael Lee (zerustech) - Michael Lee (zerustech)
- Matthieu Auger (matthieuauger) - Matthieu Auger (matthieuauger)
@ -249,6 +249,7 @@ Symfony is the result of the work of many people who made the code better
- Michele Orselli (orso) - Michele Orselli (orso)
- Sven Paulus (subsven) - Sven Paulus (subsven)
- Maxime Veber (nek-) - Maxime Veber (nek-)
- Anthony GRASSIOT (antograssiot)
- Rui Marinho (ruimarinho) - Rui Marinho (ruimarinho)
- Eugene Wissner - Eugene Wissner
- Pascal Montoya - Pascal Montoya
@ -257,8 +258,10 @@ Symfony is the result of the work of many people who made the code better
- Tristan Darricau (nicofuma) - Tristan Darricau (nicofuma)
- Victor Bocharsky (bocharsky_bw) - Victor Bocharsky (bocharsky_bw)
- Marcel Beerta (mazen) - Marcel Beerta (mazen)
- Maxime Helias (maxhelias)
- Pavel Batanov (scaytrase) - Pavel Batanov (scaytrase)
- Mantis Development - Mantis Development
- David Prévot
- Loïc Faugeron - Loïc Faugeron
- Hidde Wieringa (hiddewie) - Hidde Wieringa (hiddewie)
- dFayet - dFayet
@ -285,7 +288,6 @@ Symfony is the result of the work of many people who made the code better
- Xavier Montaña Carreras (xmontana) - Xavier Montaña Carreras (xmontana)
- Rémon van de Kamp (rpkamp) - Rémon van de Kamp (rpkamp)
- Mickaël Andrieu (mickaelandrieu) - Mickaël Andrieu (mickaelandrieu)
- Anthony GRASSIOT (antograssiot)
- Xavier Perez - Xavier Perez
- Arjen Brouwer (arjenjb) - Arjen Brouwer (arjenjb)
- Katsuhiro OGAWA - Katsuhiro OGAWA
@ -311,13 +313,12 @@ Symfony is the result of the work of many people who made the code better
- Smaine Milianni (ismail1432) - Smaine Milianni (ismail1432)
- Chekote - Chekote
- François Pluchino (francoispluchino) - François Pluchino (francoispluchino)
- Christopher Hertel (chertel)
- Antoine Makdessi (amakdessi) - Antoine Makdessi (amakdessi)
- Thomas Adam - Thomas Adam
- Jhonny Lidfors (jhonne) - Jhonny Lidfors (jhonne)
- Diego Agulló (aeoris) - Diego Agulló (aeoris)
- jdhoek - jdhoek
- Maxime Helias (maxhelias)
- David Prévot
- Bob den Otter (bopp) - Bob den Otter (bopp)
- Thomas Schulz (king2500) - Thomas Schulz (king2500)
- Frank de Jonge (frenkynet) - Frank de Jonge (frenkynet)
@ -342,6 +343,7 @@ Symfony is the result of the work of many people who made the code better
- Arjen van der Meijden - Arjen van der Meijden
- Mathieu Lechat - Mathieu Lechat
- Marc Weistroff (futurecat) - Marc Weistroff (futurecat)
- Damien Alexandre (damienalexandre)
- Simon Mönch (sm) - Simon Mönch (sm)
- Christian Schmidt - Christian Schmidt
- Patrick Landolt (scube) - Patrick Landolt (scube)
@ -349,6 +351,7 @@ Symfony is the result of the work of many people who made the code better
- David Badura (davidbadura) - David Badura (davidbadura)
- Chad Sikorra (chadsikorra) - Chad Sikorra (chadsikorra)
- Chris Smith (cs278) - Chris Smith (cs278)
- Thomas Bisignani (toma)
- Florian Klein (docteurklein) - Florian Klein (docteurklein)
- Manuel Kiessling (manuelkiessling) - Manuel Kiessling (manuelkiessling)
- Atsuhiro KUBO (iteman) - Atsuhiro KUBO (iteman)
@ -407,18 +410,17 @@ Symfony is the result of the work of many people who made the code better
- Tomasz Kowalczyk (thunderer) - Tomasz Kowalczyk (thunderer)
- Artur Eshenbrener - Artur Eshenbrener
- Timo Bakx (timobakx) - Timo Bakx (timobakx)
- Damien Alexandre (damienalexandre)
- Thomas Perez (scullwm) - Thomas Perez (scullwm)
- Saif Eddin Gmati (azjezz) - Saif Eddin Gmati (azjezz)
- Felix Labrecque - Felix Labrecque
- Yaroslav Kiliba - Yaroslav Kiliba
- Terje Bråten - Terje Bråten
- Tien Vo (tienvx)
- Robbert Klarenbeek (robbertkl) - Robbert Klarenbeek (robbertkl)
- Eric Masoero (eric-masoero) - Eric Masoero (eric-masoero)
- JhonnyL - JhonnyL
- hossein zolfi (ocean) - hossein zolfi (ocean)
- Clément Gautier (clementgautier) - Clément Gautier (clementgautier)
- Thomas Bisignani (toma)
- Dāvis Zālītis (k0d3r1s) - Dāvis Zālītis (k0d3r1s)
- Sanpi - Sanpi
- Eduardo Gulias (egulias) - Eduardo Gulias (egulias)
@ -429,6 +431,7 @@ Symfony is the result of the work of many people who made the code better
- Grzegorz (Greg) Zdanowski (kiler129) - Grzegorz (Greg) Zdanowski (kiler129)
- Iker Ibarguren (ikerib) - Iker Ibarguren (ikerib)
- Kirill chEbba Chebunin (chebba) - Kirill chEbba Chebunin (chebba)
- Rokas Mikalkėnas (rokasm)
- Greg Thornton (xdissent) - Greg Thornton (xdissent)
- Martin Hujer (martinhujer) - Martin Hujer (martinhujer)
- Alex Bowers - Alex Bowers
@ -443,7 +446,6 @@ Symfony is the result of the work of many people who made the code better
- Michele Locati - Michele Locati
- Pavel Volokitin (pvolok) - Pavel Volokitin (pvolok)
- Valentine Boineau (valentineboineau) - Valentine Boineau (valentineboineau)
- Christopher Hertel (chertel)
- Arthur de Moulins (4rthem) - Arthur de Moulins (4rthem)
- Matthias Althaus (althaus) - Matthias Althaus (althaus)
- Nicolas Dewez (nicolas_dewez) - Nicolas Dewez (nicolas_dewez)
@ -476,6 +478,7 @@ Symfony is the result of the work of many people who made the code better
- Oscar Cubo Medina (ocubom) - Oscar Cubo Medina (ocubom)
- Karel Souffriau - Karel Souffriau
- Christophe L. (christophelau) - Christophe L. (christophelau)
- Sander Toonen (xatoo)
- Anthon Pang (robocoder) - Anthon Pang (robocoder)
- Michael Käfer (michael_kaefer) - Michael Käfer (michael_kaefer)
- Sébastien Santoro (dereckson) - Sébastien Santoro (dereckson)
@ -502,6 +505,7 @@ Symfony is the result of the work of many people who made the code better
- Olivier Dolbeau (odolbeau) - Olivier Dolbeau (odolbeau)
- Jan Rosier (rosier) - Jan Rosier (rosier)
- Alessandro Lai (jean85) - Alessandro Lai (jean85)
- Desjardins Jérôme (jewome62)
- Arturs Vonda - Arturs Vonda
- Josip Kruslin - Josip Kruslin
- Matthew Smeets - Matthew Smeets
@ -529,7 +533,6 @@ Symfony is the result of the work of many people who made the code better
- Gonzalo Vilaseca (gonzalovilaseca) - Gonzalo Vilaseca (gonzalovilaseca)
- Tarmo Leppänen (tarlepp) - Tarmo Leppänen (tarlepp)
- Marcin Sikoń (marphi) - Marcin Sikoń (marphi)
- Tien Vo (tienvx)
- Denis Brumann (dbrumann) - Denis Brumann (dbrumann)
- Dominik Zogg (dominik.zogg) - Dominik Zogg (dominik.zogg)
- Marek Pietrzak - Marek Pietrzak
@ -540,6 +543,7 @@ Symfony is the result of the work of many people who made the code better
- Gintautas Miselis - Gintautas Miselis
- Rob Bast - Rob Bast
- Roberto Espinoza (respinoza) - Roberto Espinoza (respinoza)
- Emanuele Panzeri (thepanz)
- Soufian EZ-ZANTAR (soezz) - Soufian EZ-ZANTAR (soezz)
- Zander Baldwin - Zander Baldwin
- Gocha Ossinkine (ossinkine) - Gocha Ossinkine (ossinkine)
@ -603,7 +607,6 @@ Symfony is the result of the work of many people who made the code better
- Adam Szaraniec (mimol) - Adam Szaraniec (mimol)
- Dariusz Ruminski - Dariusz Ruminski
- Erik Trapman (eriktrapman) - Erik Trapman (eriktrapman)
- Rokas Mikalkėnas (rokasm)
- De Cock Xavier (xdecock) - De Cock Xavier (xdecock)
- Almog Baku (almogbaku) - Almog Baku (almogbaku)
- Karoly Gossler (connorhu) - Karoly Gossler (connorhu)
@ -648,11 +651,11 @@ Symfony is the result of the work of many people who made the code better
- Jeremy Benoist - Jeremy Benoist
- fritzmg - fritzmg
- Lenar Lõhmus - Lenar Lõhmus
- Sander Toonen (xatoo)
- Benjamin Laugueux (yzalis) - Benjamin Laugueux (yzalis)
- Zach Badgett (zachbadgett) - Zach Badgett (zachbadgett)
- Aurélien Fredouelle - Aurélien Fredouelle
- Pavel Campr (pcampr) - Pavel Campr (pcampr)
- Andrii Dembitskyi
- Johnny Robeson (johnny) - Johnny Robeson (johnny)
- Marko Kaznovac (kaznovac) - Marko Kaznovac (kaznovac)
- Disquedur - Disquedur
@ -694,7 +697,6 @@ Symfony is the result of the work of many people who made the code better
- Sinan Eldem - Sinan Eldem
- Alexandre Dupuy (satchette) - Alexandre Dupuy (satchette)
- Malte Blättermann - Malte Blättermann
- Desjardins Jérôme (jewome62)
- Simeon Kolev (simeon_kolev9) - Simeon Kolev (simeon_kolev9)
- Joost van Driel (j92) - Joost van Driel (j92)
- Jonas Elfering - Jonas Elfering
@ -762,11 +764,12 @@ Symfony is the result of the work of many people who made the code better
- Giso Stallenberg (gisostallenberg) - Giso Stallenberg (gisostallenberg)
- Michael Devery (mickadoo) - Michael Devery (mickadoo)
- Antoine Corcy - Antoine Corcy
- Ahmed Ashraf (ahmedash95)
- Sascha Grossenbacher - Sascha Grossenbacher
- Emanuele Panzeri (thepanz)
- Szijarto Tamas - Szijarto Tamas
- Robin Lehrmann (robinlehrmann) - Robin Lehrmann (robinlehrmann)
- Catalin Dan - Catalin Dan
- Soner Sayakci
- Jaroslav Kuba - Jaroslav Kuba
- Kristijan Kanalas - Kristijan Kanalas
- Stephan Vock - Stephan Vock
@ -825,11 +828,13 @@ Symfony is the result of the work of many people who made the code better
- Markus Fasselt (digilist) - Markus Fasselt (digilist)
- Julien DIDIER (juliendidier) - Julien DIDIER (juliendidier)
- Dominik Ritter (dritter) - Dominik Ritter (dritter)
- Dimitri Gritsajuk (ottaviano)
- Sebastian Grodzicki (sgrodzicki) - Sebastian Grodzicki (sgrodzicki)
- Jeroen van den Enden (stoefke) - Jeroen van den Enden (stoefke)
- Pascal Helfenstein - Pascal Helfenstein
- Baldur Rensch (brensch) - Baldur Rensch (brensch)
- Pierre Rineau - Pierre Rineau
- Vilius Grigaliūnas
- Vladyslav Petrovych - Vladyslav Petrovych
- Alex Xandra Albert Sim - Alex Xandra Albert Sim
- Carson Full - Carson Full
@ -946,6 +951,7 @@ Symfony is the result of the work of many people who made the code better
- Patrick Allaert - Patrick Allaert
- Gustavo Falco (gfalco) - Gustavo Falco (gfalco)
- Matt Robinson (inanimatt) - Matt Robinson (inanimatt)
- Kristof Van Cauwenbergh (kristofvc)
- Aleksey Podskrebyshev - Aleksey Podskrebyshev
- Calin Mihai Pristavu - Calin Mihai Pristavu
- David Marín Carreño (davefx) - David Marín Carreño (davefx)
@ -984,6 +990,7 @@ Symfony is the result of the work of many people who made the code better
- Thomas Landauer - Thomas Landauer
- 243083df - 243083df
- Thibault Duplessis - Thibault Duplessis
- Rimas Kudelis
- Marc Abramowitz - Marc Abramowitz
- Martijn Evers - Martijn Evers
- Tony Tran - Tony Tran
@ -996,12 +1003,12 @@ Symfony is the result of the work of many people who made the code better
- Johnson Page (jwpage) - Johnson Page (jwpage)
- Ruben Gonzalez (rubenruateltek) - Ruben Gonzalez (rubenruateltek)
- Michael Roterman (wtfzdotnet) - Michael Roterman (wtfzdotnet)
- Andrii Dembitskyi
- Arno Geurts - Arno Geurts
- Adán Lobato (adanlobato) - Adán Lobato (adanlobato)
- Ian Jenkins (jenkoian) - Ian Jenkins (jenkoian)
- Marcos Gómez Vilches (markitosgv) - Marcos Gómez Vilches (markitosgv)
- Matthew Davis (mdavis1982) - Matthew Davis (mdavis1982)
- Markus S. (staabm)
- Maks - Maks
- Antoine LA - Antoine LA
- den - den
@ -1187,7 +1194,6 @@ Symfony is the result of the work of many people who made the code better
- Sergii Smertin (nfx) - Sergii Smertin (nfx)
- Mikkel Paulson - Mikkel Paulson
- Michał Strzelecki - Michał Strzelecki
- Soner Sayakci
- hugofonseca (fonsecas72) - hugofonseca (fonsecas72)
- Marc Duboc (icemad) - Marc Duboc (icemad)
- Matthias Krauser (mkrauser) - Matthias Krauser (mkrauser)
@ -1241,6 +1247,7 @@ Symfony is the result of the work of many people who made the code better
- Jeremy Bush - Jeremy Bush
- wizhippo - wizhippo
- Thomason, James - Thomason, James
- Dario Savella
- Gordienko Vladislav - Gordienko Vladislav
- marie - marie
- Viacheslav Sychov - Viacheslav Sychov
@ -1291,6 +1298,7 @@ Symfony is the result of the work of many people who made the code better
- Oxan van Leeuwen - Oxan van Leeuwen
- pkowalczyk - pkowalczyk
- Soner Sayakci - Soner Sayakci
- Koen Reiniers (koenre)
- Max Voloshin (maxvoloshin) - Max Voloshin (maxvoloshin)
- Nicolas Fabre (nfabre) - Nicolas Fabre (nfabre)
- Raul Rodriguez (raul782) - Raul Rodriguez (raul782)
@ -1306,6 +1314,8 @@ Symfony is the result of the work of many people who made the code better
- Felicitus - Felicitus
- Krzysztof Przybyszewski - Krzysztof Przybyszewski
- alexpozzi - alexpozzi
- Vladimir
- Jorge Vahldick (jvahldick)
- Frederic Godfrin - Frederic Godfrin
- Paul Matthews - Paul Matthews
- Jakub Kisielewski - Jakub Kisielewski
@ -1752,7 +1762,6 @@ Symfony is the result of the work of many people who made the code better
- downace - downace
- Aarón Nieves Fernández - Aarón Nieves Fernández
- Mike Meier - Mike Meier
- Vilius Grigaliūnas
- Kirill Saksin - Kirill Saksin
- Koalabaerchen - Koalabaerchen
- michalmarcinkowski - michalmarcinkowski
@ -1765,6 +1774,7 @@ Symfony is the result of the work of many people who made the code better
- efeen - efeen
- Nicolas Pion - Nicolas Pion
- Muhammed Akbulut - Muhammed Akbulut
- Roy-Orbison
- Aaron Somi - Aaron Somi
- Michał Dąbrowski (defrag) - Michał Dąbrowski (defrag)
- Konstantin Grachev (grachevko) - Konstantin Grachev (grachevko)
@ -1802,12 +1812,14 @@ Symfony is the result of the work of many people who made the code better
- Alexander Li (aweelex) - Alexander Li (aweelex)
- Bram Van der Sype (brammm) - Bram Van der Sype (brammm)
- Guile (guile) - Guile (guile)
- Mark Beech (jaybizzle)
- Julien Moulin (lizjulien) - Julien Moulin (lizjulien)
- Raito Akehanareru (raito) - Raito Akehanareru (raito)
- Mauro Foti (skler) - Mauro Foti (skler)
- Yannick Warnier (ywarnier) - Yannick Warnier (ywarnier)
- Kevin Decherf - Kevin Decherf
- Jason Woods - Jason Woods
- Maria Grazia Patteri
- klemens - klemens
- dened - dened
- Dmitry Korotovsky - Dmitry Korotovsky
@ -1823,6 +1835,7 @@ Symfony is the result of the work of many people who made the code better
- Sören Bernstein - Sören Bernstein
- devel - devel
- taiiiraaa - taiiiraaa
- Ali Tavafi
- Trevor Suarez - Trevor Suarez
- gedrox - gedrox
- Bohan Yang - Bohan Yang
@ -1959,6 +1972,7 @@ Symfony is the result of the work of many people who made the code better
- Juan M Martínez - Juan M Martínez
- Gilles Gauthier - Gilles Gauthier
- Pavinthan - Pavinthan
- Sylvain METAYER
- ddebree - ddebree
- Kuba Werłos - Kuba Werłos
- Gyula Szucs - Gyula Szucs
@ -2015,6 +2029,7 @@ Symfony is the result of the work of many people who made the code better
- Marcin Szepczynski (szepczynski) - Marcin Szepczynski (szepczynski)
- Cyrille Jouineau (tuxosaurus) - Cyrille Jouineau (tuxosaurus)
- Vladimir Chernyshev (volch) - Vladimir Chernyshev (volch)
- Wim Godden (wimg)
- Yorkie Chadwick (yorkie76) - Yorkie Chadwick (yorkie76)
- GuillaumeVerdon - GuillaumeVerdon
- Philipp Keck - Philipp Keck
@ -2026,6 +2041,7 @@ Symfony is the result of the work of many people who made the code better
- Taylan Kasap - Taylan Kasap
- Michael Orlitzky - Michael Orlitzky
- Nicolas A. Bérard-Nault - Nicolas A. Bérard-Nault
- Quentin Favrie
- Saem Ghani - Saem Ghani
- Stefan Oderbolz - Stefan Oderbolz
- Curtis - Curtis
@ -2051,12 +2067,10 @@ Symfony is the result of the work of many people who made the code better
- Jeffrey Moelands (jeffreymoelands) - Jeffrey Moelands (jeffreymoelands)
- Hugo Alliaume (kocal) - Hugo Alliaume (kocal)
- Simon CONSTANS (kosssi) - Simon CONSTANS (kosssi)
- Kristof Van Cauwenbergh (kristofvc)
- Dennis Langen (nijusan) - Dennis Langen (nijusan)
- Paulius Jarmalavičius (pjarmalavicius) - Paulius Jarmalavičius (pjarmalavicius)
- Ramon Henrique Ornelas (ramonornela) - Ramon Henrique Ornelas (ramonornela)
- Ricardo de Vries (ricknox) - Ricardo de Vries (ricknox)
- Markus S. (staabm)
- Thomas Dutrion (theocrite) - Thomas Dutrion (theocrite)
- Till Klampaeckel (till) - Till Klampaeckel (till)
- Tobias Weinert (tweini) - Tobias Weinert (tweini)
@ -2074,6 +2088,7 @@ Symfony is the result of the work of many people who made the code better
- Cas - Cas
- Dusan Kasan - Dusan Kasan
- Michael Steininger - Michael Steininger
- Nardberjean
- Karolis - Karolis
- Myke79 - Myke79
- Brian Debuire - Brian Debuire
@ -2145,7 +2160,6 @@ Symfony is the result of the work of many people who made the code better
- Daniel STANCU - Daniel STANCU
- Ryan Rud - Ryan Rud
- Ondrej Slinták - Ondrej Slinták
- Rimas Kudelis
- vlechemin - vlechemin
- Brian Corrigan - Brian Corrigan
- Ladislav Tánczos - Ladislav Tánczos
@ -2263,6 +2277,7 @@ Symfony is the result of the work of many people who made the code better
- Sebastian Landwehr (dword123) - Sebastian Landwehr (dword123)
- Adel ELHAIBA (eadel) - Adel ELHAIBA (eadel)
- Damián Nohales (eagleoneraptor) - Damián Nohales (eagleoneraptor)
- Jordane VASPARD (elementaire)
- Elliot Anderson (elliot) - Elliot Anderson (elliot)
- Fabien D. (fabd) - Fabien D. (fabd)
- Carsten Eilers (fnc) - Carsten Eilers (fnc)
@ -2277,6 +2292,7 @@ Symfony is the result of the work of many people who made the code better
- Peter Orosz (ill_logical) - Peter Orosz (ill_logical)
- Imangazaliev Muhammad (imangazaliev) - Imangazaliev Muhammad (imangazaliev)
- j0k (j0k) - j0k (j0k)
- Jeremie Broutier (jbroutier)
- joris de wit (jdewit) - joris de wit (jdewit)
- Jérémy CROMBEZ (jeremy) - Jérémy CROMBEZ (jeremy)
- Jose Manuel Gonzalez (jgonzalez) - Jose Manuel Gonzalez (jgonzalez)
@ -2293,6 +2309,7 @@ Symfony is the result of the work of many people who made the code better
- samuel laulhau (lalop) - samuel laulhau (lalop)
- Laurent Bachelier (laurentb) - Laurent Bachelier (laurentb)
- Luís Cobucci (lcobucci) - Luís Cobucci (lcobucci)
- Jérémy (libertjeremy)
- Mehdi Achour (machour) - Mehdi Achour (machour)
- Matthieu Mota (matthieumota) - Matthieu Mota (matthieumota)
- Matthieu Moquet (mattketmo) - Matthieu Moquet (mattketmo)
@ -2300,12 +2317,12 @@ Symfony is the result of the work of many people who made the code better
- Michal Čihař (mcihar) - Michal Čihař (mcihar)
- Matt Drollette (mdrollette) - Matt Drollette (mdrollette)
- Adam Monsen (meonkeys) - Adam Monsen (meonkeys)
- Hugo Monteiro (monteiro)
- Ala Eddine Khefifi (nayzo) - Ala Eddine Khefifi (nayzo)
- emilienbouard (neime) - emilienbouard (neime)
- Nicholas Byfleet (nickbyfleet) - Nicholas Byfleet (nickbyfleet)
- Marco Petersen (ocrampete16) - Marco Petersen (ocrampete16)
- ollie harridge (ollietb) - ollie harridge (ollietb)
- Dimitri Gritsajuk (ottaviano)
- Paul Andrieux (paulandrieux) - Paul Andrieux (paulandrieux)
- Paulo Ribeiro (paulo) - Paulo Ribeiro (paulo)
- Paweł Szczepanek (pauluz) - Paweł Szczepanek (pauluz)
@ -2333,6 +2350,7 @@ Symfony is the result of the work of many people who made the code better
- Julien Sanchez (sumbobyboys) - Julien Sanchez (sumbobyboys)
- Guillermo Gisinger (t3chn0r) - Guillermo Gisinger (t3chn0r)
- Markus Tacker (tacker) - Markus Tacker (tacker)
- Thiago Cordeiro (thiagocordeiro)
- Tom Newby (tomnewbyau) - Tom Newby (tomnewbyau)
- Andrew Clark (tqt_andrew_clark) - Andrew Clark (tqt_andrew_clark)
- David Lumaye (tux1124) - David Lumaye (tux1124)
@ -2341,6 +2359,7 @@ Symfony is the result of the work of many people who made the code better
- Moritz Kraft (userfriendly) - Moritz Kraft (userfriendly)
- Víctor Mateo (victormateo) - Víctor Mateo (victormateo)
- Vincent (vincent1870) - Vincent (vincent1870)
- Vincent MOULENE (vints24)
- David Herrmann (vworldat) - David Herrmann (vworldat)
- Eugene Babushkin (warl) - Eugene Babushkin (warl)
- Wouter Sioen (wouter_sioen) - Wouter Sioen (wouter_sioen)
@ -2365,6 +2384,7 @@ Symfony is the result of the work of many people who made the code better
- damaya - damaya
- Kevin Weber - Kevin Weber
- Ben Scott - Ben Scott
- Alexandru Năstase
- Dionysis Arvanitis - Dionysis Arvanitis
- Sergey Fedotov - Sergey Fedotov
- Konstantin Scheumann - Konstantin Scheumann
@ -2378,6 +2398,7 @@ Symfony is the result of the work of many people who made the code better
- Zander Baldwin - Zander Baldwin
- Philipp Scheit - Philipp Scheit
- max - max
- Alexander Bauer (abauer)
- Ahmad Mayahi (ahmadmayahi) - Ahmad Mayahi (ahmadmayahi)
- Mohamed Karnichi (amiral) - Mohamed Karnichi (amiral)
- Andrew Carter (andrewcarteruk) - Andrew Carter (andrewcarteruk)

17
link
View File

@ -23,11 +23,14 @@ use Symfony\Component\Filesystem\Filesystem;
* @author Kévin Dunglas <dunglas@gmail.com> * @author Kévin Dunglas <dunglas@gmail.com>
*/ */
$copy = false !== $k = array_search('--copy', $argv, true);
$copy && array_splice($argv, $k, 1);
$pathToProject = $argv[1] ?? getcwd(); $pathToProject = $argv[1] ?? getcwd();
if (!is_dir("$pathToProject/vendor/symfony")) { if (!is_dir("$pathToProject/vendor/symfony")) {
echo 'Link dependencies to components to a local clone of the main symfony/symfony GitHub repository.'.PHP_EOL.PHP_EOL; echo 'Link (or copy) dependencies to components to a local clone of the main symfony/symfony GitHub repository.'.PHP_EOL.PHP_EOL;
echo "Usage: $argv[0] /path/to/the/project".PHP_EOL.PHP_EOL; echo "Usage: $argv[0] /path/to/the/project".PHP_EOL;
echo ' Use `--copy` to copy dependencies instead of symlink'.PHP_EOL.PHP_EOL;
echo "The directory \"$pathToProject\" does not exist or the dependencies are not installed, did you forget to run \"composer install\" in your project?".PHP_EOL; echo "The directory \"$pathToProject\" does not exist or the dependencies are not installed, did you forget to run \"composer install\" in your project?".PHP_EOL;
exit(1); exit(1);
} }
@ -50,7 +53,7 @@ foreach ($directories as $dir) {
foreach (glob("$pathToProject/vendor/symfony/*", GLOB_ONLYDIR | GLOB_NOSORT) as $dir) { foreach (glob("$pathToProject/vendor/symfony/*", GLOB_ONLYDIR | GLOB_NOSORT) as $dir) {
$package = 'symfony/'.basename($dir); $package = 'symfony/'.basename($dir);
if (is_link($dir)) { if (!$copy && is_link($dir)) {
echo "\"$package\" is already a symlink, skipping.".PHP_EOL; echo "\"$package\" is already a symlink, skipping.".PHP_EOL;
continue; continue;
} }
@ -59,11 +62,17 @@ foreach (glob("$pathToProject/vendor/symfony/*", GLOB_ONLYDIR | GLOB_NOSORT) as
continue; continue;
} }
$sfDir = '\\' === DIRECTORY_SEPARATOR ? $sfPackages[$package] : $filesystem->makePathRelative($sfPackages[$package], dirname(realpath($dir))); $sfDir = ('\\' === DIRECTORY_SEPARATOR || $copy) ? $sfPackages[$package] : $filesystem->makePathRelative($sfPackages[$package], dirname(realpath($dir)));
$filesystem->remove($dir); $filesystem->remove($dir);
if ($copy) {
$filesystem->mirror($sfDir, $dir);
echo "\"$package\" has been copied from \"$sfPackages[$package]\".".PHP_EOL;
} else {
$filesystem->symlink($sfDir, $dir); $filesystem->symlink($sfDir, $dir);
echo "\"$package\" has been linked to \"$sfPackages[$package]\".".PHP_EOL; echo "\"$package\" has been linked to \"$sfPackages[$package]\".".PHP_EOL;
}
} }
foreach (glob("$pathToProject/var/cache/*", GLOB_NOSORT) as $cacheDir) { foreach (glob("$pathToProject/var/cache/*", GLOB_NOSORT) as $cacheDir) {

View File

@ -21,6 +21,7 @@ use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\Console\Style\SymfonyStyle;
use Symfony\Component\DependencyInjection\Compiler\ServiceLocatorTagPass;
use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException; use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
@ -229,6 +230,8 @@ EOF
$container->compile(); $container->compile();
} else { } else {
(new XmlFileLoader($container = new ContainerBuilder(), new FileLocator()))->load($kernel->getContainer()->getParameter('debug.container.dump')); (new XmlFileLoader($container = new ContainerBuilder(), new FileLocator()))->load($kernel->getContainer()->getParameter('debug.container.dump'));
$locatorPass = new ServiceLocatorTagPass();
$locatorPass->process($container);
} }
return $this->containerBuilder = $container; return $this->containerBuilder = $container;

View File

@ -399,7 +399,13 @@ class MainConfiguration implements ConfigurationInterface
->performNoDeepMerging() ->performNoDeepMerging()
->beforeNormalization()->ifString()->then(function ($v) { return ['algorithm' => $v]; })->end() ->beforeNormalization()->ifString()->then(function ($v) { return ['algorithm' => $v]; })->end()
->children() ->children()
->scalarNode('algorithm')->cannotBeEmpty()->end() ->scalarNode('algorithm')
->cannotBeEmpty()
->validate()
->ifTrue(function ($v) { return !\is_string($v); })
->thenInvalid('You must provide a string value.')
->end()
->end()
->scalarNode('hash_algorithm')->info('Name of hashing algorithm for PBKDF2 (i.e. sha256, sha512, etc..) See hash_algos() for a list of supported algorithms.')->defaultValue('sha512')->end() ->scalarNode('hash_algorithm')->info('Name of hashing algorithm for PBKDF2 (i.e. sha256, sha512, etc..) See hash_algos() for a list of supported algorithms.')->defaultValue('sha512')->end()
->scalarNode('key_length')->defaultValue(40)->end() ->scalarNode('key_length')->defaultValue(40)->end()
->booleanNode('ignore_case')->defaultFalse()->end() ->booleanNode('ignore_case')->defaultFalse()->end()

View File

@ -194,14 +194,14 @@ class PhpDumper extends Dumper
if (!empty($options['file']) && is_dir($dir = \dirname($options['file']))) { if (!empty($options['file']) && is_dir($dir = \dirname($options['file']))) {
// Build a regexp where the first root dirs are mandatory, // Build a regexp where the first root dirs are mandatory,
// but every other sub-dir is optional up to the full path in $dir // but every other sub-dir is optional up to the full path in $dir
// Mandate at least 2 root dirs and not more that 5 optional dirs. // Mandate at least 1 root dir and not more than 5 optional dirs.
$dir = explode(\DIRECTORY_SEPARATOR, realpath($dir)); $dir = explode(\DIRECTORY_SEPARATOR, realpath($dir));
$i = \count($dir); $i = \count($dir);
if (3 <= $i) { if (2 + (int) ('\\' === \DIRECTORY_SEPARATOR) <= $i) {
$regex = ''; $regex = '';
$lastOptionalDir = $i > 8 ? $i - 5 : 3; $lastOptionalDir = $i > 8 ? $i - 5 : (2 + (int) ('\\' === \DIRECTORY_SEPARATOR));
$this->targetDirMaxMatches = $i - $lastOptionalDir; $this->targetDirMaxMatches = $i - $lastOptionalDir;
while (--$i >= $lastOptionalDir) { while (--$i >= $lastOptionalDir) {

View File

@ -54,7 +54,7 @@ class DaoAuthenticationProvider extends UserAuthenticationProvider
throw new BadCredentialsException('The presented password cannot be empty.'); throw new BadCredentialsException('The presented password cannot be empty.');
} }
if (!$this->encoderFactory->getEncoder($user)->isPasswordValid($user->getPassword(), $presentedPassword, $user->getSalt())) { if (null === $user->getPassword() || !$this->encoderFactory->getEncoder($user)->isPasswordValid($user->getPassword(), $presentedPassword, $user->getSalt())) {
throw new BadCredentialsException('The presented password is invalid.'); throw new BadCredentialsException('The presented password is invalid.');
} }
} }

View File

@ -42,6 +42,10 @@ class UserPasswordEncoder implements UserPasswordEncoderInterface
*/ */
public function isPasswordValid(UserInterface $user, $raw) public function isPasswordValid(UserInterface $user, $raw)
{ {
if (null === $user->getPassword()) {
return false;
}
$encoder = $this->encoderFactory->getEncoder($user); $encoder = $this->encoderFactory->getEncoder($user);
return $encoder->isPasswordValid($user->getPassword(), $raw, $user->getSalt()); return $encoder->isPasswordValid($user->getPassword(), $raw, $user->getSalt());

View File

@ -15,6 +15,7 @@ use PHPUnit\Framework\TestCase;
use Symfony\Component\Security\Core\Authentication\Provider\DaoAuthenticationProvider; use Symfony\Component\Security\Core\Authentication\Provider\DaoAuthenticationProvider;
use Symfony\Component\Security\Core\Encoder\PlaintextPasswordEncoder; use Symfony\Component\Security\Core\Encoder\PlaintextPasswordEncoder;
use Symfony\Component\Security\Core\Exception\UsernameNotFoundException; use Symfony\Component\Security\Core\Exception\UsernameNotFoundException;
use Symfony\Component\Security\Core\User\User;
class DaoAuthenticationProviderTest extends TestCase class DaoAuthenticationProviderTest extends TestCase
{ {
@ -151,7 +152,7 @@ class DaoAuthenticationProviderTest extends TestCase
$method->invoke( $method->invoke(
$provider, $provider,
$this->getMockBuilder('Symfony\\Component\\Security\\Core\\User\\UserInterface')->getMock(), new User('username', 'password'),
$token $token
); );
} }
@ -175,7 +176,7 @@ class DaoAuthenticationProviderTest extends TestCase
->willReturn('foo') ->willReturn('foo')
; ;
$method->invoke($provider, $this->getMockBuilder('Symfony\\Component\\Security\\Core\\User\\UserInterface')->getMock(), $token); $method->invoke($provider, new User('username', 'password'), $token);
} }
public function testCheckAuthenticationDoesNotReauthenticateWhenPasswordHasChanged() public function testCheckAuthenticationDoesNotReauthenticateWhenPasswordHasChanged()
@ -247,7 +248,7 @@ class DaoAuthenticationProviderTest extends TestCase
->willReturn('foo') ->willReturn('foo')
; ;
$method->invoke($provider, $this->getMockBuilder('Symfony\\Component\\Security\\Core\\User\\UserInterface')->getMock(), $token); $method->invoke($provider, new User('username', 'password'), $token);
} }
protected function getSupportedToken() protected function getSupportedToken()

View File

@ -53,7 +53,7 @@ class UserPasswordValidator extends ConstraintValidator
$encoder = $this->encoderFactory->getEncoder($user); $encoder = $this->encoderFactory->getEncoder($user);
if (!$encoder->isPasswordValid($user->getPassword(), $password, $user->getSalt())) { if (null === $user->getPassword() || !$encoder->isPasswordValid($user->getPassword(), $password, $user->getSalt())) {
$this->context->addViolation($constraint->message); $this->context->addViolation($constraint->message);
} }
} }

View File

@ -24,7 +24,7 @@ class UrlValidator extends ConstraintValidator
{ {
const PATTERN = '~^ const PATTERN = '~^
(%s):// # protocol (%s):// # protocol
(([\.\pL\pN-]+:)?([\.\pL\pN-]+)@)? # basic auth (([\_\.\pL\pN-]+:)?([\_\.\pL\pN-]+)@)? # basic auth
( (
([\pL\pN\pS\-\_\.])+(\.?([\pL\pN]|xn\-\-[\pL\pN-]+)+\.?) # a domain name ([\pL\pN\pS\-\_\.])+(\.?([\pL\pN]|xn\-\-[\pL\pN-]+)+\.?) # a domain name
| # or | # or

View File

@ -152,9 +152,11 @@ class UrlValidatorTest extends ConstraintValidatorTestCase
['http://☎.com/'], ['http://☎.com/'],
['http://username:password@symfony.com'], ['http://username:password@symfony.com'],
['http://user.name:password@symfony.com'], ['http://user.name:password@symfony.com'],
['http://user_name:pass_word@symfony.com'],
['http://username:pass.word@symfony.com'], ['http://username:pass.word@symfony.com'],
['http://user.name:pass.word@symfony.com'], ['http://user.name:pass.word@symfony.com'],
['http://user-name@symfony.com'], ['http://user-name@symfony.com'],
['http://user_name@symfony.com'],
['http://symfony.com?'], ['http://symfony.com?'],
['http://symfony.com?query=1'], ['http://symfony.com?query=1'],
['http://symfony.com/?query=1'], ['http://symfony.com/?query=1'],