Repository: knox
Updated Branches:
  refs/heads/v0.8.0 f682cb8e2 -> a2e6c9a54


KNOX-661 - NPE in Pac4j Provider when clientName Parameter is Missing


Project: http://git-wip-us.apache.org/repos/asf/knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/a2e6c9a5
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/a2e6c9a5
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/a2e6c9a5

Branch: refs/heads/v0.8.0
Commit: a2e6c9a541b4f880cca3a60dc903c9d308d0ff4d
Parents: f682cb8
Author: Larry McCay <lmc...@hortonworks.com>
Authored: Sat Jan 30 16:39:36 2016 -0500
Committer: Larry McCay <lmc...@hortonworks.com>
Committed: Sat Jan 30 16:40:44 2016 -0500

----------------------------------------------------------------------
 CHANGES                                                        | 1 +
 .../java/org/apache/hadoop/gateway/pac4j/Pac4jMessages.java    | 3 +++
 .../hadoop/gateway/pac4j/filter/Pac4jDispatcherFilter.java     | 6 +++++-
 3 files changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/knox/blob/a2e6c9a5/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index e3c6ff6..9e4fa40 100644
--- a/CHANGES
+++ b/CHANGES
@@ -28,6 +28,7 @@ Release Notes - Apache Knox - Version 0.8.0
     * [KNOX-656] - Test GatewayLdapPosixGroupFuncTest failing intermittently
     * [KNOX-657] - _default Topology Must Redeploy After Restart
     * [KNOX-660] - Incompatible Dependencies in Pac4j Provider
+    * [KNOX-661] - NPE in Pac4j Provider when clientName Parameter is Missing
 
 ------------------------------------------------------------------------------
 Release Notes - Apache Knox - Version 0.7.0

http://git-wip-us.apache.org/repos/asf/knox/blob/a2e6c9a5/gateway-provider-security-pac4j/src/main/java/org/apache/hadoop/gateway/pac4j/Pac4jMessages.java
----------------------------------------------------------------------
diff --git 
a/gateway-provider-security-pac4j/src/main/java/org/apache/hadoop/gateway/pac4j/Pac4jMessages.java
 
b/gateway-provider-security-pac4j/src/main/java/org/apache/hadoop/gateway/pac4j/Pac4jMessages.java
index 51be6a0..931e494 100644
--- 
a/gateway-provider-security-pac4j/src/main/java/org/apache/hadoop/gateway/pac4j/Pac4jMessages.java
+++ 
b/gateway-provider-security-pac4j/src/main/java/org/apache/hadoop/gateway/pac4j/Pac4jMessages.java
@@ -32,6 +32,9 @@ public interface Pac4jMessages {
   @Message( level = MessageLevel.ERROR, text = "pac4j callback URL required")
   public void ssoAuthenticationProviderUrlRequired();
 
+  @Message( level = MessageLevel.ERROR, text = "pac4j clientName parameter 
required")
+  public void clientNameParameterRequired();
+
   @Message( level = MessageLevel.ERROR, text = "At least one pac4j client must 
be defined")
   public void atLeastOnePac4jClientMustBeDefined();
 

http://git-wip-us.apache.org/repos/asf/knox/blob/a2e6c9a5/gateway-provider-security-pac4j/src/main/java/org/apache/hadoop/gateway/pac4j/filter/Pac4jDispatcherFilter.java
----------------------------------------------------------------------
diff --git 
a/gateway-provider-security-pac4j/src/main/java/org/apache/hadoop/gateway/pac4j/filter/Pac4jDispatcherFilter.java
 
b/gateway-provider-security-pac4j/src/main/java/org/apache/hadoop/gateway/pac4j/filter/Pac4jDispatcherFilter.java
index da446ab..79955a0 100644
--- 
a/gateway-provider-security-pac4j/src/main/java/org/apache/hadoop/gateway/pac4j/filter/Pac4jDispatcherFilter.java
+++ 
b/gateway-provider-security-pac4j/src/main/java/org/apache/hadoop/gateway/pac4j/filter/Pac4jDispatcherFilter.java
@@ -118,8 +118,12 @@ public class Pac4jDispatcherFilter implements Filter {
 
     final Config config;
     final String clientName;
-    // client name from servlet parameter (if defined)
+    // client name from servlet parameter (mandatory)
     final String clientNameParameter = 
filterConfig.getInitParameter(Pac4jConstants.CLIENT_NAME);
+    if (clientNameParameter == null) {
+      log.clientNameParameterRequired();
+      throw new ServletException("Required pac4j clientName parameter is 
missing.");
+    }
     if (TEST_BASIC_AUTH.equalsIgnoreCase(clientNameParameter)) {
       // test configuration
       final IndirectBasicAuthClient indirectBasicAuthClient = new 
IndirectBasicAuthClient(new SimpleTestUsernamePasswordAuthenticator());

Reply via email to