Author: ruchithf
Date: Thu Feb  8 17:59:04 2007
New Revision: 505128

URL: http://svn.apache.org/viewvc?view=rev&rev=505128
Log:
Fixed RAMPART-21. Thanks Hans for the patch

Modified:
    
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java

Modified: 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java?view=diff&rev=505128&r1=505127&r2=505128
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
 Thu Feb  8 17:59:04 2007
@@ -244,13 +244,17 @@
         }
         boolean done = false;
         if(Constants.SIGN_BEFORE_ENCRYPTING.equals(protectionOrder)) {
-            boolean sigfound = false;
+            boolean sigFound = false;
             for (Iterator iter = sigEncrActions.iterator(); 
                 iter.hasNext() || !done;) {
                 Integer act = (Integer) iter.next();
+                if(act.intValue() == WSConstants.ENCR && ! sigFound ) {
+                    // We found ENCR and SIGN has not been found - break and 
fail
+                    break;
+                }
                 if(act.intValue() == WSConstants.SIGN) {
-                    sigfound = true;
-                } else if(sigfound) {
+                    sigFound = true;
+                } else if(sigFound) {
                     //We have an ENCR action after sig
                     done = true;
                 }
@@ -260,6 +264,10 @@
             boolean encrFound = false;
             for (Iterator iter = sigEncrActions.iterator(); iter.hasNext();) {
                 Integer act = (Integer) iter.next();
+                if(act.intValue() == WSConstants.SIGN && ! encrFound ) {
+                    // We found SIGN and ENCR has not been found - break and 
fail
+                    break;
+                }
                 if(act.intValue() == WSConstants.ENCR) {
                     encrFound = true;
                 } else if(encrFound) {


Reply via email to