You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by am...@apache.org on 2023/04/05 07:12:24 UTC
[knox] branch master updated: KNOX-2894 - NPE when invalid composite provider name is given (#745)
This is an automated email from the ASF dual-hosted git repository.
amagyar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/knox.git
The following commit(s) were added to refs/heads/master by this push:
new e49444249 KNOX-2894 - NPE when invalid composite provider name is given (#745)
e49444249 is described below
commit e49444249bdc22afb8a1f717bf59dfaf8eefe67e
Author: Attila Magyar <m....@gmail.com>
AuthorDate: Wed Apr 5 09:12:18 2023 +0200
KNOX-2894 - NPE when invalid composite provider name is given (#745)
---
.../deploy/impl/CompositeAuthzDeploymentContributor.java | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/gateway-provider-security-authz-composite/src/main/java/org/apache/knox/gateway/deploy/impl/CompositeAuthzDeploymentContributor.java b/gateway-provider-security-authz-composite/src/main/java/org/apache/knox/gateway/deploy/impl/CompositeAuthzDeploymentContributor.java
index 6e7dd7b4d..434ab3243 100644
--- a/gateway-provider-security-authz-composite/src/main/java/org/apache/knox/gateway/deploy/impl/CompositeAuthzDeploymentContributor.java
+++ b/gateway-provider-security-authz-composite/src/main/java/org/apache/knox/gateway/deploy/impl/CompositeAuthzDeploymentContributor.java
@@ -19,7 +19,9 @@ package org.apache.knox.gateway.deploy.impl;
import org.apache.commons.lang3.StringUtils;
import org.apache.knox.gateway.deploy.DeploymentContext;
+import org.apache.knox.gateway.deploy.DeploymentException;
import org.apache.knox.gateway.deploy.DeploymentFactory;
+import org.apache.knox.gateway.deploy.ProviderDeploymentContributor;
import org.apache.knox.gateway.deploy.ProviderDeploymentContributorBase;
import org.apache.knox.gateway.descriptor.FilterParamDescriptor;
import org.apache.knox.gateway.descriptor.ResourceDescriptor;
@@ -62,8 +64,13 @@ public class CompositeAuthzDeploymentContributor extends ProviderDeploymentContr
List<String> names = parseProviderNames(providerNames);
for (String name : names) {
getProviderSpecificParams(resource, params, providerParams, name);
- DeploymentFactory.getProviderContributor("authorization", name)
- .contributeFilter(context, provider, service, resource, params);
+ ProviderDeploymentContributor contributor = DeploymentFactory.getProviderContributor("authorization", name);
+ if (contributor == null) {
+ throw new DeploymentException(
+ "Invalid composite provider name: " + name + " role: " + provider.getRole() +
+ " provider: " + provider.getName() + " topology: " + context.getTopology().getName());
+ }
+ contributor.contributeFilter(context, provider, service, resource, params);
params.clear();
}
}