Author: ieb
Date: Wed Nov  6 15:21:46 2013
New Revision: 1539358

URL: http://svn.apache.org/r1539358
Log:
SLING-3233 NPE in TopologyRequestValidator
Fixed NPE caused by missing http headers if enabled.

Modified:
    
sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/topology/connector/TopologyRequestValidator.java

Modified: 
sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/topology/connector/TopologyRequestValidator.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/topology/connector/TopologyRequestValidator.java?rev=1539358&r1=1539357&r2=1539358&view=diff
==============================================================================
--- 
sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/topology/connector/TopologyRequestValidator.java
 (original)
+++ 
sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/topology/connector/TopologyRequestValidator.java
 Wed Nov  6 15:21:46 2013
@@ -346,6 +346,9 @@ public class TopologyRequestValidator {
      */
     private boolean checkTrustHeader(String bodyHash, String signature) {
         try {
+            if (bodyHash == null || signature == null ) {
+                return false;
+            }
             String[] parts = signature.split("/", 2);
             int keyNo = Integer.parseInt(parts[0]);
             return hmac(keyNo, bodyHash).equals(parts[1]);
@@ -361,6 +364,8 @@ public class TopologyRequestValidator {
             throw new RuntimeException(e.getMessage(), e);
         } catch (NoSuchAlgorithmException e) {
             throw new RuntimeException(e.getMessage(), e);
+        } catch (Exception e) {
+            throw new RuntimeException(e.getMessage(), e);
         }
     }
 


Reply via email to