mirror of
https://github.com/keycloak/keycloak.git
synced 2026-01-09 23:12:06 -03:30
fix: using volatile for double checked locking
closes: #40630 Signed-off-by: Steve Hawkins <shawkins@redhat.com>
This commit is contained in:
parent
7446299c23
commit
7767717d17
@ -26,7 +26,7 @@ public class WebAuthnCredentialProviderFactory implements CredentialProviderFact
|
||||
|
||||
public static final String PROVIDER_ID = "keycloak-webauthn";
|
||||
|
||||
private ObjectConverter converter;
|
||||
private volatile ObjectConverter converter;
|
||||
|
||||
@Override
|
||||
public CredentialProvider create(KeycloakSession session) {
|
||||
|
||||
@ -31,7 +31,7 @@ public class WebAuthnPasswordlessCredentialProviderFactory implements Credential
|
||||
|
||||
public static final String PROVIDER_ID = "keycloak-webauthn-passwordless";
|
||||
|
||||
private ObjectConverter converter;
|
||||
private volatile ObjectConverter converter;
|
||||
|
||||
@Override
|
||||
public CredentialProvider create(KeycloakSession session) {
|
||||
|
||||
@ -61,7 +61,6 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Properties;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:sthorger@redhat.com">Stian Thorgersen</a>
|
||||
@ -72,9 +71,7 @@ public class WelcomeResource {
|
||||
|
||||
protected static final Logger logger = Logger.getLogger(WelcomeResource.class);
|
||||
|
||||
private static final String KEYCLOAK_STATE_CHECKER = "WELCOME_STATE_CHECKER";
|
||||
|
||||
private AtomicBoolean shouldBootstrap;
|
||||
private volatile Boolean shouldBootstrap;
|
||||
|
||||
@Context
|
||||
KeycloakSession session;
|
||||
@ -144,7 +141,7 @@ public class WelcomeResource {
|
||||
|
||||
expireCsrfCookie();
|
||||
|
||||
shouldBootstrap.set(false);
|
||||
shouldBootstrap = false;
|
||||
ServicesLogger.LOGGER.createdTemporaryAdminUser(username);
|
||||
return createWelcomePage("User created", null);
|
||||
}
|
||||
@ -262,11 +259,11 @@ public class WelcomeResource {
|
||||
if (shouldBootstrap == null) {
|
||||
synchronized (this) {
|
||||
if (shouldBootstrap == null) {
|
||||
shouldBootstrap = new AtomicBoolean(new ApplianceBootstrap(session).isNoMasterUser());
|
||||
shouldBootstrap = new ApplianceBootstrap(session).isNoMasterUser();
|
||||
}
|
||||
}
|
||||
}
|
||||
return shouldBootstrap.get();
|
||||
return shouldBootstrap;
|
||||
}
|
||||
|
||||
public static boolean isLocal(KeycloakSession session) {
|
||||
|
||||
@ -10,7 +10,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
public class DefaultFreeMarkerProviderFactory implements FreeMarkerProviderFactory {
|
||||
|
||||
private DefaultFreeMarkerProvider provider;
|
||||
private volatile DefaultFreeMarkerProvider provider;
|
||||
private ConcurrentHashMap<String, Template> cache;
|
||||
private KeycloakSanitizerMethod kcSanitizeMethod;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user