Skip to content

Commit 3063c62

Browse files
Merge branch '4.1'
* 4.1: [travis] fix composer.lock invalidation for deps=low [Security\Http] Restore laziness of listener iterator Make the `message_bus` alias public
2 parents 33ce02e + cd14b22 commit 3063c62

File tree

4 files changed

+89
-19
lines changed

4 files changed

+89
-19
lines changed

.github/rm-invalid-lowest-lock-files.php

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
<?php
22

3+
error_reporting(-1);
4+
set_error_handler(function ($type, $message, $file, $line) {
5+
if (error_reporting()) {
6+
throw new \ErrorException($message, 0, $type, $file, $line);
7+
}
8+
});
39
array_shift($_SERVER['argv']);
410
$dirs = $_SERVER['argv'];
511

@@ -59,6 +65,8 @@ function getContentHash(array $composerJson)
5965
$composerJsons[$composerJson['name']] = array($dir, $composerLock['packages'], getRelevantContent($composerJson));
6066
}
6167

68+
$referencedCommits = array();
69+
6270
foreach ($composerJsons as list($dir, $lockedPackages)) {
6371
foreach ($lockedPackages as $lockedJson) {
6472
if (0 !== strpos($version = $lockedJson['version'], 'dev-') && '-dev' !== substr($version, -4)) {
@@ -83,5 +91,59 @@ function getContentHash(array $composerJson)
8391
@unlink($dir.'/composer.lock');
8492
continue 2;
8593
}
94+
95+
$referencedCommits[$name][$lockedJson['source']['reference']][] = $dir;
96+
}
97+
}
98+
99+
if (!$referencedCommits || (isset($_SERVER['TRAVIS_PULL_REQUEST']) && 'false' === $_SERVER['TRAVIS_PULL_REQUEST'])) {
100+
// cached commits cannot be stale for PRs
101+
return;
102+
}
103+
104+
@mkdir($_SERVER['HOME'].'/.cache/composer/repo/https---repo.packagist.org', 0777, true);
105+
106+
$ch = null;
107+
$mh = curl_multi_init();
108+
$sh = curl_share_init();
109+
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);
110+
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_DNS);
111+
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_SSL_SESSION);
112+
$chs = array();
113+
114+
foreach ($referencedCommits as $name => $dirsByCommit) {
115+
$chs[] = $ch = array(curl_init(), fopen($_SERVER['HOME'].'/.cache/composer/repo/https---repo.packagist.org/provider-'.strtr($name, '/', '$').'.json', 'wb'));
116+
curl_setopt($ch[0], CURLOPT_URL, 'https://repo.packagist.org/p/'.$name.'.json');
117+
curl_setopt($ch[0], CURLOPT_FILE, $ch[1]);
118+
curl_setopt($ch[0], CURLOPT_SHARE, $sh);
119+
curl_multi_add_handle($mh, $ch[0]);
120+
}
121+
122+
do {
123+
curl_multi_exec($mh, $active);
124+
curl_multi_select($mh);
125+
} while ($active);
126+
127+
foreach ($chs as list($ch, $fd)) {
128+
curl_multi_remove_handle($mh, $ch);
129+
curl_close($ch);
130+
fclose($fd);
131+
}
132+
133+
foreach ($referencedCommits as $name => $dirsByCommit) {
134+
$repo = file_get_contents($_SERVER['HOME'].'/.cache/composer/repo/https---repo.packagist.org/provider-'.strtr($name, '/', '$').'.json');
135+
$repo = json_decode($repo, true);
136+
137+
foreach ($repo['packages'][$name] as $version) {
138+
unset($referencedCommits[$name][$version['source']['reference']]);
139+
}
140+
}
141+
142+
foreach ($referencedCommits as $name => $dirsByCommit) {
143+
foreach ($dirsByCommit as $dirs) {
144+
foreach ($dirs as $dir) {
145+
echo "$dir/composer.lock references old commit for $name.\n";
146+
@unlink($dir.'/composer.lock');
147+
}
86148
}
87149
}

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1507,7 +1507,7 @@ private function registerMessengerConfiguration(array $config, ContainerBuilder
15071507
$container->register($busId, MessageBus::class)->addArgument(array())->addTag('messenger.bus');
15081508

15091509
if ($busId === $config['default_bus']) {
1510-
$container->setAlias('message_bus', $busId);
1510+
$container->setAlias('message_bus', $busId)->setPublic(true);
15111511
$container->setAlias(MessageBusInterface::class, $busId);
15121512
}
15131513
}

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,7 @@ public function testMessenger()
530530
{
531531
$container = $this->createContainerFromFile('messenger');
532532
$this->assertTrue($container->hasAlias('message_bus'));
533+
$this->assertTrue($container->getAlias('message_bus')->isPublic());
533534
$this->assertFalse($container->hasDefinition('messenger.transport.amqp.factory'));
534535
$this->assertTrue($container->hasDefinition('messenger.transport_factory'));
535536
$this->assertSame(TransportFactory::class, $container->getDefinition('messenger.transport_factory')->getClass());

src/Symfony/Component/Security/Http/Firewall.php

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -56,31 +56,38 @@ public function onKernelRequest(GetResponseEvent $event)
5656
$listeners[2] = null;
5757
}
5858

59-
$accessListener = null;
60-
$authenticationListeners = array();
61-
62-
foreach ($listeners[0] as $listener) {
63-
if ($listener instanceof AccessListener) {
64-
$accessListener = $listener;
65-
} else {
66-
$authenticationListeners[] = $listener;
67-
}
68-
}
59+
$authenticationListeners = $listeners[0];
60+
$exceptionListener = $listeners[1];
61+
$logoutListener = $listeners[2];
6962

70-
if (null !== $exceptionListener = $listeners[1]) {
63+
if (null !== $exceptionListener) {
7164
$this->exceptionListeners[$event->getRequest()] = $exceptionListener;
7265
$exceptionListener->register($this->dispatcher);
7366
}
7467

75-
if (null !== $logoutListener = $listeners[2]) {
76-
$authenticationListeners[] = $logoutListener;
77-
}
68+
$authenticationListeners = function () use ($authenticationListeners, $logoutListener) {
69+
$accessListener = null;
7870

79-
if (null !== $accessListener) {
80-
$authenticationListeners[] = $accessListener;
81-
}
71+
foreach ($authenticationListeners as $listener) {
72+
if ($listener instanceof AccessListener) {
73+
$accessListener = $listener;
74+
75+
continue;
76+
}
77+
78+
yield $listener;
79+
}
80+
81+
if (null !== $logoutListener) {
82+
yield $logoutListener;
83+
}
84+
85+
if (null !== $accessListener) {
86+
yield $accessListener;
87+
}
88+
};
8289

83-
$this->handleRequest($event, $authenticationListeners);
90+
$this->handleRequest($event, $authenticationListeners());
8491
}
8592

8693
public function onKernelFinishRequest(FinishRequestEvent $event)

0 commit comments

Comments
 (0)