You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2016/01/04 13:04:29 UTC

svn commit: r1722853 - /webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/

Author: coheigea
Date: Mon Jan  4 12:04:29 2016
New Revision: 1722853

URL: http://svn.apache.org/viewvc?rev=1722853&view=rev
Log:
[WSS-564] - Allow WS-SecurityPolicy 1.1 tokens to have an optional policy element

Modified:
    webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/HttpsTokenBuilder.java
    webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KerberosTokenBuilder.java
    webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KeyValueTokenBuilder.java
    webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SamlTokenBuilder.java
    webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecureConversationTokenBuilder.java
    webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecurityContextTokenBuilder.java
    webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SpnegoContextTokenBuilder.java
    webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/UsernameTokenBuilder.java
    webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/X509TokenBuilder.java

Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/HttpsTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/HttpsTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/HttpsTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/HttpsTokenBuilder.java Mon Jan  4 12:04:29 2016
@@ -48,9 +48,12 @@ public class HttpsTokenBuilder implement
         }
         final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
         final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
-        Policy nestedPolicy;
+        
+        Policy nestedPolicy = null;
         if (nestedPolicyElement == null) {
-            //throw new IllegalArgumentException("sp:HttpsToken must have an inner wsp:Policy element");
+            if (spVersion != SPConstants.SPVersion.SP11) {
+                throw new IllegalArgumentException("sp:HttpsToken must have an inner wsp:Policy element");
+            }
             nestedPolicy = new Policy();
         } else {
             nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);

Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KerberosTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KerberosTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KerberosTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KerberosTokenBuilder.java Mon Jan  4 12:04:29 2016
@@ -48,10 +48,17 @@ public class KerberosTokenBuilder implem
         }
         final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
         final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+        
+        Policy nestedPolicy = null;
         if (nestedPolicyElement == null) {
-            throw new IllegalArgumentException("sp:KerberosToken must have an inner wsp:Policy element");
+            if (spVersion != SPConstants.SPVersion.SP11) {
+                throw new IllegalArgumentException("sp:KerberosToken must have an inner wsp:Policy element");
+            }
+            nestedPolicy = new Policy();
+        } else {
+            nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
         }
-        final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+        
         KerberosToken kerberosToken = new KerberosToken(
                 spVersion,
                 spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),

Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KeyValueTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KeyValueTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KeyValueTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/KeyValueTokenBuilder.java Mon Jan  4 12:04:29 2016
@@ -46,9 +46,12 @@ public class KeyValueTokenBuilder implem
             throw new IllegalArgumentException(SPConstants.ERR_INVALID_POLICY);
         }
         final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
-        Policy nestedPolicy;
+        
+        Policy nestedPolicy = null;
         if (nestedPolicyElement == null) {
-            //throw new IllegalArgumentException("sp:KeyValueToken must have an inner wsp:Policy element");
+            if (spVersion != SPConstants.SPVersion.SP11) {
+                throw new IllegalArgumentException("sp:KeyValueToken must have an inner wsp:Policy element");
+            }
             nestedPolicy = new Policy();
         } else {
             nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);

Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SamlTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SamlTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SamlTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SamlTokenBuilder.java Mon Jan  4 12:04:29 2016
@@ -48,10 +48,17 @@ public class SamlTokenBuilder implements
         }
         final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
         final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+        
+        Policy nestedPolicy = null;
         if (nestedPolicyElement == null) {
-            throw new IllegalArgumentException("sp:SamlToken must have an inner wsp:Policy element");
+            if (spVersion != SPConstants.SPVersion.SP11) {
+                throw new IllegalArgumentException("sp:SamlToken must have an inner wsp:Policy element");
+            }
+            nestedPolicy = new Policy();
+        } else {
+            nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
         }
-        final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+        
         SamlToken samlToken = new SamlToken(
                 spVersion,
                 spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),

Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecureConversationTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecureConversationTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecureConversationTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecureConversationTokenBuilder.java Mon Jan  4 12:04:29 2016
@@ -45,10 +45,17 @@ public class SecureConversationTokenBuil
         }
         final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
         final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+       
+        Policy nestedPolicy = null;
         if (nestedPolicyElement == null) {
-            throw new IllegalArgumentException("sp:SecureConversationToken must have an inner wsp:Policy element");
+            if (spVersion != SPConstants.SPVersion.SP11) {
+                throw new IllegalArgumentException("sp:SecureConversationToken must have an inner wsp:Policy element");
+            }
+            nestedPolicy = new Policy();
+        } else {
+            nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
         }
-        final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+        
         SecureConversationToken secureConversationToken = new SecureConversationToken(
                 spVersion,
                 spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),

Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecurityContextTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecurityContextTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecurityContextTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SecurityContextTokenBuilder.java Mon Jan  4 12:04:29 2016
@@ -48,10 +48,17 @@ public class SecurityContextTokenBuilder
         }
         final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
         final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+        
+        Policy nestedPolicy = null;
         if (nestedPolicyElement == null) {
-            throw new IllegalArgumentException("sp:SecurityContextToken must have an inner wsp:Policy element");
+            if (spVersion != SPConstants.SPVersion.SP11) {
+                throw new IllegalArgumentException("sp:SecurityContextToken must have an inner wsp:Policy element");
+            }
+            nestedPolicy = new Policy();
+        } else {
+            nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
         }
-        final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+        
         SecurityContextToken securityContextToken = new SecurityContextToken(
                 spVersion,
                 spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),

Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SpnegoContextTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SpnegoContextTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SpnegoContextTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/SpnegoContextTokenBuilder.java Mon Jan  4 12:04:29 2016
@@ -45,10 +45,17 @@ public class SpnegoContextTokenBuilder i
         }
         final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
         final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+        
+        Policy nestedPolicy = null;
         if (nestedPolicyElement == null) {
-            throw new IllegalArgumentException("sp:SpnegoContextToken must have an inner wsp:Policy element");
+            if (spVersion != SPConstants.SPVersion.SP11) {
+                throw new IllegalArgumentException("sp:SpnegoContextToken must have an inner wsp:Policy element");
+            }
+            nestedPolicy = new Policy();
+        } else {
+            nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
         }
-        final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+        
         SpnegoContextToken spnegoContextToken = new SpnegoContextToken(
                 spVersion,
                 spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),

Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/UsernameTokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/UsernameTokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/UsernameTokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/UsernameTokenBuilder.java Mon Jan  4 12:04:29 2016
@@ -48,10 +48,17 @@ public class UsernameTokenBuilder implem
         }
         final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
         final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+        
+        Policy nestedPolicy = null;
         if (nestedPolicyElement == null) {
-            throw new IllegalArgumentException("sp:UsernameToken must have an inner wsp:Policy element");
+            if (spVersion != SPConstants.SPVersion.SP11) {
+                throw new IllegalArgumentException("sp:UsernameToken must have an inner wsp:Policy element");
+            }
+            nestedPolicy = new Policy();
+        } else {
+            nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
         }
-        final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+        
         UsernameToken usernameToken = new UsernameToken(
                 spVersion,
                 spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),

Modified: webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/X509TokenBuilder.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/X509TokenBuilder.java?rev=1722853&r1=1722852&r2=1722853&view=diff
==============================================================================
--- webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/X509TokenBuilder.java (original)
+++ webservices/wss4j/trunk/policy/src/main/java/org/apache/wss4j/policy/builders/X509TokenBuilder.java Mon Jan  4 12:04:29 2016
@@ -48,10 +48,17 @@ public class X509TokenBuilder implements
         }
         final Element claims = SPUtils.getFirstChildElement(element, spVersion.getSPConstants().getClaims());
         final Element nestedPolicyElement = SPUtils.getFirstPolicyChildElement(element);
+        
+        Policy nestedPolicy = null;
         if (nestedPolicyElement == null) {
-            throw new IllegalArgumentException("sp:X509Token must have an inner wsp:Policy element");
+            if (spVersion != SPConstants.SPVersion.SP11) {
+                throw new IllegalArgumentException("sp:X509Token must have an inner wsp:Policy element");
+            }
+            nestedPolicy = new Policy();
+        } else {
+            nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
         }
-        final Policy nestedPolicy = factory.getPolicyEngine().getPolicy(nestedPolicyElement);
+        
         X509Token x509Token = new X509Token(
                 spVersion,
                 spVersion.getSPConstants().getInclusionFromAttributeValue(includeTokenValue),