From 4a19d4cdc19df909d53eaa80ea9ac31a1abd4d2e Mon Sep 17 00:00:00 2001 From: Hynek Mlnarik Date: Mon, 17 Oct 2016 09:19:44 +0200 Subject: [PATCH] KEYCLOAK-3664 Fix for NPE in subsystem when secure-deployment is undefined for a particular deployment --- .../subsystem/as7/KeycloakAdapterConfigService.java | 7 ++++++- .../wf8/extension/KeycloakAdapterConfigService.java | 7 ++++++- .../adapter/extension/KeycloakAdapterConfigService.java | 7 ++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java index 210473c28f..b0bd654ba3 100755 --- a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java +++ b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/KeycloakAdapterConfigService.java @@ -165,6 +165,9 @@ public final class KeycloakAdapterConfigService { protected boolean isDeploymentConfigured(DeploymentUnit deploymentUnit) { ModelNode deployment = getSecureDeployment(deploymentUnit); + if (! deployment.isDefined()) { + return false; + } ModelNode resource = deployment.get(SecureDeploymentDefinition.RESOURCE.getName()); return resource.isDefined(); } @@ -202,7 +205,9 @@ public final class KeycloakAdapterConfigService { private ModelNode getSecureDeployment(DeploymentUnit deploymentUnit) { String deploymentName = preferredDeploymentName(deploymentUnit); - return this.secureDeployments.get(deploymentName); + return this.secureDeployments.containsKey(deploymentName) + ? this.secureDeployments.get(deploymentName) + : new ModelNode(); } // KEYCLOAK-3273: prefer module name if available diff --git a/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java b/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java index 8214c3f758..1ccd2a07d9 100755 --- a/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java +++ b/adapters/oidc/wildfly/wf8-subsystem/src/main/java/org/keycloak/subsystem/wf8/extension/KeycloakAdapterConfigService.java @@ -164,6 +164,9 @@ public final class KeycloakAdapterConfigService { protected boolean isDeploymentConfigured(DeploymentUnit deploymentUnit) { ModelNode deployment = getSecureDeployment(deploymentUnit); + if (! deployment.isDefined()) { + return false; + } ModelNode resource = deployment.get(SecureDeploymentDefinition.RESOURCE.getName()); return resource.isDefined(); } @@ -201,7 +204,9 @@ public final class KeycloakAdapterConfigService { private ModelNode getSecureDeployment(DeploymentUnit deploymentUnit) { String deploymentName = preferredDeploymentName(deploymentUnit); - return this.secureDeployments.get(deploymentName); + return this.secureDeployments.containsKey(deploymentName) + ? this.secureDeployments.get(deploymentName) + : new ModelNode(); } // KEYCLOAK-3273: prefer module name if available diff --git a/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java b/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java index c30e3ed339..e96a5e51f8 100755 --- a/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java +++ b/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/KeycloakAdapterConfigService.java @@ -164,6 +164,9 @@ public final class KeycloakAdapterConfigService { protected boolean isDeploymentConfigured(DeploymentUnit deploymentUnit) { ModelNode deployment = getSecureDeployment(deploymentUnit); + if (! deployment.isDefined()) { + return false; + } ModelNode resource = deployment.get(SecureDeploymentDefinition.RESOURCE.getName()); return resource.isDefined(); } @@ -201,7 +204,9 @@ public final class KeycloakAdapterConfigService { private ModelNode getSecureDeployment(DeploymentUnit deploymentUnit) { String deploymentName = preferredDeploymentName(deploymentUnit); - return this.secureDeployments.get(deploymentName); + return this.secureDeployments.containsKey(deploymentName) + ? this.secureDeployments.get(deploymentName) + : new ModelNode(); } // KEYCLOAK-3273: prefer module name if available