Skip to content

Commit c9d11ea

Browse files
Merge branch '4.3' into 4.4
* 4.3: gracefully handle missing event dispatchers [Cache] fix memory leak when using PhpArrayAdapter fix parsing negative octal numbers [SecurityBundle] Properly escape regex in AddSessionDomainConstraintPass [Config] never try loading failed classes twice with ClassExistenceResource
2 parents ff3ab7c + 0e96123 commit c9d11ea

7 files changed

+48
-7
lines changed

Firewall/AbstractAuthenticationListener.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,13 @@ public function __construct(TokenStorageInterface $tokenStorage, AuthenticationM
9393
'require_previous_session' => true,
9494
], $options);
9595
$this->logger = $logger;
96-
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
96+
97+
if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
98+
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
99+
} else {
100+
$this->dispatcher = $dispatcher;
101+
}
102+
97103
$this->httpUtils = $httpUtils;
98104
}
99105

Firewall/AbstractPreAuthenticatedListener.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,12 @@ public function __construct(TokenStorageInterface $tokenStorage, AuthenticationM
5252
$this->authenticationManager = $authenticationManager;
5353
$this->providerKey = $providerKey;
5454
$this->logger = $logger;
55-
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
55+
56+
if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
57+
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
58+
} else {
59+
$this->dispatcher = $dispatcher;
60+
}
5661
}
5762

5863
/**

Firewall/ContextListener.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,13 @@ public function __construct(TokenStorageInterface $tokenStorage, iterable $userP
6969
$this->userProviders = $userProviders;
7070
$this->sessionKey = '_security_'.$contextKey;
7171
$this->logger = $logger;
72-
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
72+
73+
if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
74+
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
75+
} else {
76+
$this->dispatcher = $dispatcher;
77+
}
78+
7379
$this->trustResolver = $trustResolver ?: new AuthenticationTrustResolver(AnonymousToken::class, RememberMeToken::class);
7480
$this->sessionTrackerEnabler = $sessionTrackerEnabler;
7581
}

Firewall/RememberMeListener.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,13 @@ public function __construct(TokenStorageInterface $tokenStorage, RememberMeServi
5050
$this->rememberMeServices = $rememberMeServices;
5151
$this->authenticationManager = $authenticationManager;
5252
$this->logger = $logger;
53-
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
53+
54+
if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
55+
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
56+
} else {
57+
$this->dispatcher = $dispatcher;
58+
}
59+
5460
$this->catchExceptions = $catchExceptions;
5561
$this->sessionStrategy = null === $sessionStrategy ? new SessionAuthenticationStrategy(SessionAuthenticationStrategy::MIGRATE) : $sessionStrategy;
5662
}

Firewall/SimplePreAuthenticationListener.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,13 @@ public function __construct(TokenStorageInterface $tokenStorage, AuthenticationM
6565
$this->providerKey = $providerKey;
6666
$this->simpleAuthenticator = $simpleAuthenticator;
6767
$this->logger = $logger;
68-
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
68+
69+
if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
70+
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
71+
} else {
72+
$this->dispatcher = $dispatcher;
73+
}
74+
6975
$this->trustResolver = $trustResolver ?: new AuthenticationTrustResolver(AnonymousToken::class, RememberMeToken::class);
7076
}
7177

Firewall/SwitchUserListener.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,13 @@ public function __construct(TokenStorageInterface $tokenStorage, UserProviderInt
7070
$this->usernameParameter = $usernameParameter;
7171
$this->role = $role;
7272
$this->logger = $logger;
73-
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
73+
74+
if (null !== $dispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
75+
$this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
76+
} else {
77+
$this->dispatcher = $dispatcher;
78+
}
79+
7480
$this->stateless = $stateless;
7581
}
7682

Firewall/UsernamePasswordJsonAuthenticationListener.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,13 @@ public function __construct(TokenStorageInterface $tokenStorage, AuthenticationM
6969
$this->successHandler = $successHandler;
7070
$this->failureHandler = $failureHandler;
7171
$this->logger = $logger;
72-
$this->eventDispatcher = LegacyEventDispatcherProxy::decorate($eventDispatcher);
72+
73+
if (null !== $eventDispatcher && class_exists(LegacyEventDispatcherProxy::class)) {
74+
$this->eventDispatcher = LegacyEventDispatcherProxy::decorate($eventDispatcher);
75+
} else {
76+
$this->eventDispatcher = $eventDispatcher;
77+
}
78+
7379
$this->options = array_merge(['username_path' => 'username', 'password_path' => 'password'], $options);
7480
$this->propertyAccessor = $propertyAccessor ?: PropertyAccess::createPropertyAccessor();
7581
}

0 commit comments

Comments
 (0)