Skip to content

Commit cf4d102

Browse files
committed
Merge branch '6.4' into 7.0
* 6.4: be explicit about the signal to reset fix Finder test using the ftp wrapper by switching the server being used use firewall-specific user checkers when manually logging in users
2 parents 9c98f7e + c3be893 commit cf4d102

File tree

8 files changed

+27
-26
lines changed

8 files changed

+27
-26
lines changed

src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,9 @@ private function createFirewall(ContainerBuilder $container, string $id, array $
560560

561561
$container->setAlias('security.user_checker.'.$id, new Alias($firewall['user_checker'], false));
562562

563+
$userCheckerLocator = $container->getDefinition('security.user_checker_locator');
564+
$userCheckerLocator->replaceArgument(0, array_merge($userCheckerLocator->getArgument(0), [$id => new ServiceClosureArgument(new Reference('security.user_checker.'.$id))]));
565+
563566
foreach ($this->getSortedFactories() as $factory) {
564567
$key = str_replace('-', '_', $factory->getKey());
565568
if ('custom_authenticators' !== $key && \array_key_exists($key, $firewall)) {

src/Symfony/Bundle/SecurityBundle/Resources/config/security.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
use Symfony\Bundle\SecurityBundle\Security\FirewallContext;
2020
use Symfony\Bundle\SecurityBundle\Security\FirewallMap;
2121
use Symfony\Bundle\SecurityBundle\Security\LazyFirewallContext;
22+
use Symfony\Component\DependencyInjection\ServiceLocator;
2223
use Symfony\Component\ExpressionLanguage\ExpressionLanguage as BaseExpressionLanguage;
2324
use Symfony\Component\Ldap\Security\LdapUserProvider;
2425
use Symfony\Component\Security\Core\Authentication\AuthenticationTrustResolver;
@@ -87,7 +88,7 @@
8788
'security.authenticator.managers_locator' => service('security.authenticator.managers_locator')->ignoreOnInvalid(),
8889
'request_stack' => service('request_stack'),
8990
'security.firewall.map' => service('security.firewall.map'),
90-
'security.user_checker' => service('security.user_checker'),
91+
'security.user_checker_locator' => service('security.user_checker_locator'),
9192
'security.firewall.event_dispatcher_locator' => service('security.firewall.event_dispatcher_locator'),
9293
'security.csrf.token_manager' => service('security.csrf.token_manager')->ignoreOnInvalid(),
9394
]),
@@ -121,6 +122,8 @@
121122
->args(['none'])
122123

123124
->set('security.user_checker', InMemoryUserChecker::class)
125+
->set('security.user_checker_locator', ServiceLocator::class)
126+
->args([[]])
124127

125128
->set('security.expression_language', ExpressionLanguage::class)
126129
->args([service('cache.security_expression_language')->nullOnInvalid()])

src/Symfony/Bundle/SecurityBundle/Security.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ public function login(UserInterface $user, ?string $authenticatorName = null, ?s
9696

9797
$authenticator = $this->getAuthenticator($authenticatorName, $firewallName);
9898

99-
$this->container->get('security.user_checker')->checkPreAuth($user);
99+
$userCheckerLocator = $this->container->get('security.user_checker_locator');
100+
$userCheckerLocator->get($firewallName)->checkPreAuth($user);
100101

101102
return $this->container->get('security.authenticator.managers_locator')->get($firewallName)->authenticateUser($user, $authenticator, $request, $badges);
102103
}

src/Symfony/Bundle/SecurityBundle/Tests/SecurityTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ public function testLogin()
142142
['request_stack', $requestStack],
143143
['security.firewall.map', $firewallMap],
144144
['security.authenticator.managers_locator', $this->createContainer('main', $userAuthenticator)],
145-
['security.user_checker', $userChecker],
145+
['security.user_checker_locator', $this->createContainer('main', $userChecker)],
146146
])
147147
;
148148

@@ -188,7 +188,7 @@ public function testLoginReturnsAuthenticatorResponse()
188188
['request_stack', $requestStack],
189189
['security.firewall.map', $firewallMap],
190190
['security.authenticator.managers_locator', $this->createContainer('main', $userAuthenticator)],
191-
['security.user_checker', $userChecker],
191+
['security.user_checker_locator', $this->createContainer('main', $userChecker)],
192192
])
193193
;
194194

src/Symfony/Component/Console/Tests/ApplicationTest.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,10 @@ protected function tearDown(): void
7171

7272
if (\function_exists('pcntl_signal')) {
7373
// We reset all signals to their default value to avoid side effects
74-
for ($i = 1; $i <= 15; ++$i) {
75-
if (9 === $i) {
76-
continue;
77-
}
78-
pcntl_signal($i, \SIG_DFL);
79-
}
74+
pcntl_signal(\SIGINT, \SIG_DFL);
75+
pcntl_signal(\SIGTERM, \SIG_DFL);
76+
pcntl_signal(\SIGUSR1, \SIG_DFL);
77+
pcntl_signal(\SIGUSR2, \SIG_DFL);
8078
}
8179
}
8280

src/Symfony/Component/Console/Tests/ConsoleEventsTest.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,10 @@ protected function tearDown(): void
3535
if (\function_exists('pcntl_signal')) {
3636
pcntl_async_signals(false);
3737
// We reset all signals to their default value to avoid side effects
38-
for ($i = 1; $i <= 15; ++$i) {
39-
if (9 === $i) {
40-
continue;
41-
}
42-
pcntl_signal($i, \SIG_DFL);
43-
}
38+
pcntl_signal(\SIGINT, \SIG_DFL);
39+
pcntl_signal(\SIGTERM, \SIG_DFL);
40+
pcntl_signal(\SIGUSR1, \SIG_DFL);
41+
pcntl_signal(\SIGUSR2, \SIG_DFL);
4442
}
4543
}
4644

src/Symfony/Component/Console/Tests/SignalRegistry/SignalRegistryTest.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,10 @@ protected function tearDown(): void
2323
{
2424
pcntl_async_signals(false);
2525
// We reset all signals to their default value to avoid side effects
26-
for ($i = 1; $i <= 15; ++$i) {
27-
if (9 === $i) {
28-
continue;
29-
}
30-
pcntl_signal($i, \SIG_DFL);
31-
}
26+
pcntl_signal(\SIGINT, \SIG_DFL);
27+
pcntl_signal(\SIGTERM, \SIG_DFL);
28+
pcntl_signal(\SIGUSR1, \SIG_DFL);
29+
pcntl_signal(\SIGUSR2, \SIG_DFL);
3230
}
3331

3432
public function testOneCallbackForASignalSignalIsHandled()

src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ protected function setUp(): void
2727
*/
2828
public function testRewindOnFtp()
2929
{
30-
$i = new RecursiveDirectoryIterator('ftp://speedtest:[email protected]/', \RecursiveDirectoryIterator::SKIP_DOTS);
30+
$i = new RecursiveDirectoryIterator('ftp://test.rebex.net/', \RecursiveDirectoryIterator::SKIP_DOTS);
3131

3232
$i->rewind();
3333

@@ -39,11 +39,11 @@ public function testRewindOnFtp()
3939
*/
4040
public function testSeekOnFtp()
4141
{
42-
$i = new RecursiveDirectoryIterator('ftp://speedtest:[email protected]/', \RecursiveDirectoryIterator::SKIP_DOTS);
42+
$i = new RecursiveDirectoryIterator('ftp://test.rebex.net/', \RecursiveDirectoryIterator::SKIP_DOTS);
4343

4444
$contains = [
45-
'ftp://speedtest:[email protected]'.\DIRECTORY_SEPARATOR.'test100Mb.db',
46-
'ftp://speedtest:[email protected]'.\DIRECTORY_SEPARATOR.'test100k.db',
45+
'ftp://test.rebex.net'.\DIRECTORY_SEPARATOR.'pub',
46+
'ftp://test.rebex.net'.\DIRECTORY_SEPARATOR.'readme.txt',
4747
];
4848
$actual = [];
4949

0 commit comments

Comments
 (0)