From michaelchan@example.org Wed Jun 1 11:36:52 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id 46F396BAC for <michaelchan@example.org>; Wed, 1 Jun 2011 11:36:52 +0000 (UTC) Received: (qmail 63809 invoked by uid 500); 1 Jun 2011 11:36:52 -0000 Delivered-To: michaelchan@example.org Received: (qmail 63778 invoked by uid 500); 1 Jun 2011 11:36:52 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 63771 invoked by uid 99); 1 Jun 2011 11:36:52 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 11:36:52 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 11:36:49 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C4E862388A64; Wed, 1 Jun 2011 11:36:27 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1130106 - in /webservices/wss4j/branches/1_5_x-fixes: src/org/apache/ws/security/handler/WSHandler.java src/org/apache/ws/security/handler/WSHandlerConstants.java test/wssec/TestWSSecurityTimestamp.java Date: Wed, 01 Jun 2011 11:36:27 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: coheigea Date: Wed Jun 1 11:36:27 2011 New Revision: 1130106 URL: http://svn.apache.org/viewvc?rev=1130106&view=rev Log: [WSS-291] - Default to allowing future created timestamps up to 60s Modified: webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/handler/WSHandler.java webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/handler/WSHandlerConstants.java webservices/wss4j/branches/1_5_x-fixes/test/wssec/TestWSSecurityTimestamp.java Modified: webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/handler/WSHandler.java URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/handler/WSHandler.java?rev=1130106&r1=1130105&r2=1130106&view=diff ============================================================================== --- webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/handler/WSHandler.java (original) +++ webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/handler/WSHandler.java Wed Jun 1 11:36:27 2011 @@ -1406,7 +1406,7 @@ public abstract class WSHandler { * @throws WSSecurityException */ protected boolean verifyTimestamp(Timestamp timestamp, int timeToLive) throws WSSecurityException { - return verifyTimestamp(timestamp, timeToLive, 0); + return verifyTimestamp(timestamp, timeToLive, 60); } /** Modified: webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/handler/WSHandlerConstants.java URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/handler/WSHandlerConstants.java?rev=1130106&r1=1130105&r2=1130106&view=diff ============================================================================== --- webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/handler/WSHandlerConstants.java (original) +++ webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/handler/WSHandlerConstants.java Wed Jun 1 11:36:27 2011 @@ -787,11 +787,9 @@ public class WSHandlerConstants { /** * This configuration tag specifies the time in seconds in the future within which - * the Created time of an incoming Timestamp is valid. WSS4J rejects by default any - * timestamp which is "Created" in the future, and so there could potentially be - * problems in a scenario where a client's clock is slightly askew. The default - * value for this parameter is "0", meaning that no future-created Timestamps are - * allowed. + * the Created time of an incoming Timestamp is valid. The default value is "60", + * to avoid problems where clocks are slightly askew. To reject all future-created + * Timestamps, set this value to "0". */ public static final String TTL_FUTURE_TIMESTAMP = "futureTimeToLive"; Modified: webservices/wss4j/branches/1_5_x-fixes/test/wssec/TestWSSecurityTimestamp.java URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_x-fixes/test/wssec/TestWSSecurityTimestamp.java?rev=1130106&r1=1130105&r2=1130106&view=diff ============================================================================== --- webservices/wss4j/branches/1_5_x-fixes/test/wssec/TestWSSecurityTimestamp.java (original) +++ webservices/wss4j/branches/1_5_x-fixes/test/wssec/TestWSSecurityTimestamp.java Wed Jun 1 11:36:27 2011 @@ -262,11 +262,11 @@ public class TestWSSecurityTimestamp ext } /** - * This is a test for processing an Timestamp where the "Created" element is in the future. - * This Timestamp should be rejected by default, and then accepted once the future - * time-to-live configuration is enabled. + * This is a test for processing an Timestamp where the "Created" element is in the (near) + * future. It should be accepted by default when it is created 30 seconds in the future, + * and then rejected once we configure "0 seconds" for future-time-to-live. */ - public void testFutureCreated() throws Exception { + public void testNearFutureCreated() throws Exception { Document doc = unsignedEnvelope.getAsDocument(); WSSecHeader secHeader = new WSSecHeader(); @@ -309,7 +309,7 @@ public class TestWSSecurityTimestamp ext assertTrue(receivedTimestamp != null); MyHandler myHandler = new MyHandler(); - if (myHandler.publicVerifyTimestamp(receivedTimestamp, 300)) { + if (myHandler.publicVerifyTimestamp(receivedTimestamp, 300, 0)) { fail("The timestamp validation should have failed"); } assertTrue(myHandler.publicVerifyTimestamp(receivedTimestamp, 300, 60)); From michaelchan@example.org Wed Jun 1 11:37:41 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id B40146BC4 for <michaelchan@example.org>; Wed, 1 Jun 2011 11:37:41 +0000 (UTC) Received: (qmail 63979 invoked by uid 500); 1 Jun 2011 11:37:41 -0000 Delivered-To: michaelchan@example.org Received: (qmail 63950 invoked by uid 500); 1 Jun 2011 11:37:41 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 63943 invoked by uid 99); 1 Jun 2011 11:37:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 11:37:41 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 11:37:38 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 06B782388A1C; Wed, 1 Jun 2011 11:37:17 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1130107 - in /webservices/wss4j/trunk/src: main/java/org/apache/ws/security/ main/java/org/apache/ws/security/handler/ main/java/org/apache/ws/security/message/token/ main/java/org/apache/ws/security/validate/ test/java/org/apache/ws/secur... Date: Wed, 01 Jun 2011 11:37:16 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: coheigea Date: Wed Jun 1 11:37:16 2011 New Revision: 1130107 URL: http://svn.apache.org/viewvc?rev=1130107&view=rev Log: [WSS-291] - Default to allowing future created timestamps up to 60s Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSSConfig.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/handler/WSHandler.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/handler/WSHandlerConstants.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/Timestamp.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/TimestampValidator.java webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/TimestampTest.java Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSSConfig.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSSConfig.java?rev=1130107&r1=1130106&r2=1130107&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSSConfig.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSSConfig.java Wed Jun 1 11:37:16 2011 @@ -236,10 +236,9 @@ public class WSSConfig { /** * The time in seconds in the future within which the Created time of an incoming - * Timestamp is valid. The default is 0 seconds, meaning that no future-dated - * timestamps are allowed. + * Timestamp is valid. The default is 60 seconds. */ - protected int timeStampFutureTTL = 0; + protected int timeStampFutureTTL = 60; /** * This variable controls whether types other than PasswordDigest or PasswordText Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/handler/WSHandler.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/handler/WSHandler.java?rev=1130107&r1=1130106&r2=1130107&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/handler/WSHandler.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/handler/WSHandler.java Wed Jun 1 11:37:16 2011 @@ -594,18 +594,19 @@ public abstract class WSHandler { protected int decodeFutureTimeToLive(RequestData reqData) { String ttl = getString(WSHandlerConstants.TTL_FUTURE_TIMESTAMP, reqData.getMsgContext()); + int defaultFutureTimeToLive = 60; if (ttl != null) { try { int ttlI = Integer.parseInt(ttl); if (ttlI < 0) { - return 0; + return defaultFutureTimeToLive; } return ttlI; } catch (NumberFormatException e) { - return 0; + return defaultFutureTimeToLive; } } - return 0; + return defaultFutureTimeToLive; } protected boolean decodeBSPCompliance(RequestData reqData) Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/handler/WSHandlerConstants.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/handler/WSHandlerConstants.java?rev=1130107&r1=1130106&r2=1130107&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/handler/WSHandlerConstants.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/handler/WSHandlerConstants.java Wed Jun 1 11:37:16 2011 @@ -649,11 +649,9 @@ public class WSHandlerConstants { /** * This configuration tag specifies the time in seconds in the future within which - * the Created time of an incoming Timestamp is valid. WSS4J rejects by default any - * timestamp which is "Created" in the future, and so there could potentially be - * problems in a scenario where a client's clock is slightly askew. The default - * value for this parameter is "0", meaning that no future-created Timestamps are - * allowed. + * the Created time of an incoming Timestamp is valid. The default value is "60", + * to avoid problems where clocks are slightly askew. To reject all future-created + * Timestamps, set this value to "0". */ public static final String TTL_FUTURE_TIMESTAMP = "futureTimeToLive"; Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/Timestamp.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/Timestamp.java?rev=1130107&r1=1130106&r2=1130107&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/Timestamp.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/Timestamp.java Wed Jun 1 11:37:16 2011 @@ -105,7 +105,15 @@ public class Timestamp { } } else if (WSConstants.EXPIRES_LN.equals(currentChild.getLocalName()) && WSConstants.WSU_NS.equals(currentChild.getNamespaceURI())) { - if (strExpires == null) { + if (strExpires != null || (bspCompliant && strCreated == null)) { + // + // Created must appear before Expires and we can't have multiple Expires + // elements + // + throw new WSSecurityException( + WSSecurityException.INVALID_SECURITY, "invalidTimestamp" + ); + } else { String valueType = currentChildElement.getAttribute("ValueType"); if (bspCompliant && valueType != null && !"".equals(valueType)) { // We can't have a ValueType attribute as per the BSP spec @@ -114,14 +122,6 @@ public class Timestamp { ); } strExpires = ((Text)currentChildElement.getFirstChild()).getData(); - } else if (strExpires != null || (bspCompliant && strCreated == null)) { - // - // Created must appear before Expires, and we can't have multiple - // Expires elements - // - throw new WSSecurityException( - WSSecurityException.INVALID_SECURITY, "invalidTimestamp" - ); } } else { if (bspCompliant) { Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/TimestampValidator.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/TimestampValidator.java?rev=1130107&r1=1130106&r2=1130107&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/TimestampValidator.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/validate/TimestampValidator.java Wed Jun 1 11:37:16 2011 @@ -48,7 +48,7 @@ public class TimestampValidator implemen WSSConfig wssConfig = data.getWssConfig(); boolean timeStampStrict = true; int timeStampTTL = 300; - int futureTimeToLive = 0; + int futureTimeToLive = 60; if (wssConfig != null) { timeStampStrict = wssConfig.isTimeStampStrict(); timeStampTTL = wssConfig.getTimeStampTTL(); Modified: webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/TimestampTest.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/TimestampTest.java?rev=1130107&r1=1130106&r2=1130107&view=diff ============================================================================== --- webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/TimestampTest.java (original) +++ webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/TimestampTest.java Wed Jun 1 11:37:16 2011 @@ -175,9 +175,57 @@ public class TimestampTest extends org.j /** + * This is a test for processing an Timestamp where the "Created" element is in the (near) + * future. It should be accepted by default when it is created 30 seconds in the future, + * and then rejected once we configure "0 seconds" for future-time-to-live. + */ + @org.junit.Test + public void testNearFutureCreated() throws Exception { + + Document doc = SOAPUtil.toSOAPPart(SOAPUtil.SAMPLE_SOAP_MSG); + WSSecHeader secHeader = new WSSecHeader(); + secHeader.insertSecurityHeader(doc); + + Element timestampElement = + doc.createElementNS( + WSConstants.WSU_NS, WSConstants.WSU_PREFIX + ":" + WSConstants.TIMESTAMP_TOKEN_LN + ); + + DateFormat zulu = new XmlSchemaDateFormat(); + Element elementCreated = + doc.createElementNS( + WSConstants.WSU_NS, WSConstants.WSU_PREFIX + ":" + WSConstants.CREATED_LN + ); + Date createdDate = new Date(); + long currentTime = createdDate.getTime() + 30000; + createdDate.setTime(currentTime); + elementCreated.appendChild(doc.createTextNode(zulu.format(createdDate))); + timestampElement.appendChild(elementCreated); + + secHeader.getSecurityHeader().appendChild(timestampElement); + + if (LOG.isDebugEnabled()) { + String outputString = + org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(doc); + LOG.debug(outputString); + } + // + // Do some processing + // + WSSConfig config = WSSConfig.getNewInstance(); + verify(doc, config); + try { + config.setTimeStampFutureTTL(0); + verify(doc, config); + fail("The timestamp validation should have failed"); + } catch (WSSecurityException ex) { + assertTrue(ex.getErrorCode() == WSSecurityException.MESSAGE_EXPIRED); + } + } + + /** * This is a test for processing an Timestamp where the "Created" element is in the future. - * This Timestamp should be rejected by default, and then accepted once the future - * time-to-live configuration is enabled. + * A Timestamp that is 120 seconds in the future should be rejected by default. */ @org.junit.Test public void testFutureCreated() throws Exception { @@ -197,7 +245,7 @@ public class TimestampTest extends org.j WSConstants.WSU_NS, WSConstants.WSU_PREFIX + ":" + WSConstants.CREATED_LN ); Date createdDate = new Date(); - long currentTime = createdDate.getTime() + 30000; + long currentTime = createdDate.getTime() + 120000; createdDate.setTime(currentTime); elementCreated.appendChild(doc.createTextNode(zulu.format(createdDate))); timestampElement.appendChild(elementCreated); @@ -219,8 +267,6 @@ public class TimestampTest extends org.j } catch (WSSecurityException ex) { assertTrue(ex.getErrorCode() == WSSecurityException.MESSAGE_EXPIRED); } - config.setTimeStampFutureTTL(60); - verify(doc, config); } From michaelchan@example.org Wed Jun 1 11:49:34 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id 2093D670C for <michaelchan@example.org>; Wed, 1 Jun 2011 11:49:34 +0000 (UTC) Received: (qmail 88846 invoked by uid 500); 1 Jun 2011 11:49:34 -0000 Delivered-To: michaelchan@example.org Received: (qmail 88810 invoked by uid 500); 1 Jun 2011 11:49:34 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 88803 invoked by uid 99); 1 Jun 2011 11:49:34 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 11:49:34 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 11:49:33 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id CC5A92388A1C; Wed, 1 Jun 2011 11:49:12 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1130111 - /webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/SignatureCRLTest.java Date: Wed, 01 Jun 2011 11:49:12 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> Author: coheigea Date: Wed Jun 1 11:49:12 2011 New Revision: 1130111 URL: http://svn.apache.org/viewvc?rev=1130111&view=rev Log: Fixed an assertion error with the IBM JDK. Modified: webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/SignatureCRLTest.java Modified: webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/SignatureCRLTest.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/SignatureCRLTest.java?rev=1130111&r1=1130110&r2=1130111&view=diff ============================================================================== --- webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/SignatureCRLTest.java (original) +++ webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/SignatureCRLTest.java Wed Jun 1 11:49:12 2011 @@ -134,7 +134,10 @@ public class SignatureCRLTest extends or verify(signedDoc, cryptoCA, true); fail ("Failure expected on a revoked certificate"); } catch (Exception ex) { - assert ex.getMessage().contains("Certificate has been revoked"); + String errorMessage = ex.getMessage(); + // Different errors using different JDKs... + assert errorMessage.contains("Certificate has been revoked") + || errorMessage.contains("Certificate revocation"); } } From michaelchan@example.org Wed Jun 1 15:58:41 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id 22613662C for <michaelchan@example.org>; Wed, 1 Jun 2011 15:58:41 +0000 (UTC) Received: (qmail 22487 invoked by uid 500); 1 Jun 2011 15:58:41 -0000 Delivered-To: michaelchan@example.org Received: (qmail 22459 invoked by uid 500); 1 Jun 2011 15:58:41 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 22452 invoked by uid 99); 1 Jun 2011 15:58:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 15:58:41 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 15:58:37 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 874BA238890A; Wed, 1 Jun 2011 15:58:16 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1130199 - in /webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security: message/ processor/ saml/ Date: Wed, 01 Jun 2011 15:58:16 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: dkulp Date: Wed Jun 1 15:58:15 2011 New Revision: 1130199 URL: http://svn.apache.org/viewvc?rev=1130199&view=rev Log: [WSS-292] Fix concurrency issue with EnvelopeIdResolver Modified: webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/EnvelopeIdResolver.java webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSecDKSign.java webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSecSignature.java webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSignEnvelope.java webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/processor/SignatureProcessor.java webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/saml/WSSecSignatureSAML.java webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/saml/WSSignSAMLEnvelope.java Modified: webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/EnvelopeIdResolver.java URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/EnvelopeIdResolver.java?rev=1130199&r1=1130198&r2=1130199&view=diff ============================================================================== --- webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/EnvelopeIdResolver.java (original) +++ webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/EnvelopeIdResolver.java Wed Jun 1 15:58:15 2011 @@ -55,15 +55,17 @@ public class EnvelopeIdResolver extends * <p/> * * @return TODO + * @deprecated */ public synchronized static ResourceResolverSpi getInstance() { if (resolver == null) { - resolver = new EnvelopeIdResolver(); + resolver = new EnvelopeIdResolver(null); } return resolver; } - private EnvelopeIdResolver() { + public EnvelopeIdResolver(WSDocInfo wsDocInfo) { + this.wsDocInfo = wsDocInfo; } /** Modified: webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSecDKSign.java URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSecDKSign.java?rev=1130199&r1=1130198&r2=1130199&view=diff ============================================================================== --- webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSecDKSign.java (original) +++ webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSecDKSign.java Wed Jun 1 15:58:15 2011 @@ -151,7 +151,7 @@ public class WSSecDKSign extends WSSecDe } } - sig.addResourceResolver(EnvelopeIdResolver.getInstance()); + sig.addResourceResolver(new EnvelopeIdResolver(wsDocInfo)); String sigUri = wssConfig.getIdAllocator().createId("Signature-", sig); sig.setId(sigUri); Modified: webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSecSignature.java URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSecSignature.java?rev=1130199&r1=1130198&r2=1130199&view=diff ============================================================================== --- webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSecSignature.java (original) +++ webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSecSignature.java Wed Jun 1 15:58:15 2011 @@ -375,8 +375,7 @@ public class WSSecSignature extends WSSe } } - EnvelopeIdResolver resolver = (EnvelopeIdResolver)EnvelopeIdResolver.getInstance(); - resolver.setWsDocInfo(wsDocInfo); + EnvelopeIdResolver resolver = new EnvelopeIdResolver(wsDocInfo); sig.addResourceResolver(resolver); sig.setId(wssConfig.getIdAllocator().createId("Signature-", sig)); Modified: webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSignEnvelope.java URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSignEnvelope.java?rev=1130199&r1=1130198&r2=1130199&view=diff ============================================================================== --- webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSignEnvelope.java (original) +++ webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/message/WSSignEnvelope.java Wed Jun 1 15:58:15 2011 @@ -475,7 +475,7 @@ public class WSSignEnvelope extends WSBa } } - sig.addResourceResolver(EnvelopeIdResolver.getInstance()); + sig.addResourceResolver(new EnvelopeIdResolver(wsDocInfo)); WSSecurityUtil.prependChildElement(securityHeader, sig.getElement()); if (tlog.isDebugEnabled()) { Modified: webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/processor/SignatureProcessor.java URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/processor/SignatureProcessor.java?rev=1130199&r1=1130198&r2=1130199&view=diff ============================================================================== --- webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/processor/SignatureProcessor.java (original) +++ webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/processor/SignatureProcessor.java Wed Jun 1 15:58:15 2011 @@ -227,7 +227,7 @@ public class SignatureProcessor implemen ); } - sig.addResourceResolver(EnvelopeIdResolver.getInstance()); + sig.addResourceResolver(new EnvelopeIdResolver(wsDocInfo)); KeyInfo info = sig.getKeyInfo(); UsernameToken ut = null; Modified: webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/saml/WSSecSignatureSAML.java URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/saml/WSSecSignatureSAML.java?rev=1130199&r1=1130198&r2=1130199&view=diff ============================================================================== --- webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/saml/WSSecSignatureSAML.java (original) +++ webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/saml/WSSecSignatureSAML.java Wed Jun 1 15:58:15 2011 @@ -352,8 +352,7 @@ public class WSSecSignatureSAML extends } } - EnvelopeIdResolver resolver = (EnvelopeIdResolver)EnvelopeIdResolver.getInstance(); - resolver.setWsDocInfo(wsDocInfo); + EnvelopeIdResolver resolver = new EnvelopeIdResolver(wsDocInfo); sig.addResourceResolver(resolver); String sigUri = wssConfig.getIdAllocator().createId("Signature-", sig); sig.setId(sigUri); Modified: webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/saml/WSSignSAMLEnvelope.java URL: http://svn.apache.org/viewvc/webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/saml/WSSignSAMLEnvelope.java?rev=1130199&r1=1130198&r2=1130199&view=diff ============================================================================== --- webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/saml/WSSignSAMLEnvelope.java (original) +++ webservices/wss4j/branches/1_5_x-fixes/src/org/apache/ws/security/saml/WSSignSAMLEnvelope.java Wed Jun 1 15:58:15 2011 @@ -346,7 +346,7 @@ public class WSSignSAMLEnvelope extends "noXMLSig", null, e1); } - sig.addResourceResolver(EnvelopeIdResolver.getInstance()); + sig.addResourceResolver(new EnvelopeIdResolver(wsDocInfo)); /* * The order to prepend is: - signature - BinarySecurityToken (depends From michaelchan@example.org Wed Jun 1 16:10:44 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id 015E4606A for <michaelchan@example.org>; Wed, 1 Jun 2011 16:10:44 +0000 (UTC) Received: (qmail 47609 invoked by uid 500); 1 Jun 2011 16:10:43 -0000 Delivered-To: michaelchan@example.org Received: (qmail 47575 invoked by uid 500); 1 Jun 2011 16:10:43 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 47567 invoked by uid 99); 1 Jun 2011 16:10:43 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 16:10:43 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 16:10:41 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id B4BF42388A32; Wed, 1 Jun 2011 16:10:20 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1130205 - /webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java Date: Wed, 01 Jun 2011 16:10:20 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: coheigea Date: Wed Jun 1 16:10:20 2011 New Revision: 1130205 URL: http://svn.apache.org/viewvc?rev=1130205&view=rev Log: Allow the SAML Validator to set the principal on the returned Credential. - This facilitiates ActAs/OnBehalfOf scenarios. Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java?rev=1130205&r1=1130204&r2=1130205&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java Wed Jun 1 16:10:20 2011 @@ -76,6 +76,8 @@ public class SAMLTokenProcessor implemen SAMLTokenPrincipal samlPrincipal = new SAMLTokenPrincipal(credential.getTransformedToken()); result.put(WSSecurityEngineResult.TAG_PRINCIPAL, samlPrincipal); + } else if (credential.getPrincipal() != null) { + result.put(WSSecurityEngineResult.TAG_PRINCIPAL, credential.getPrincipal()); } else { result.put(WSSecurityEngineResult.TAG_PRINCIPAL, new SAMLTokenPrincipal(assertion)); } From michaelchan@example.org Wed Jun 1 16:54:28 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id 306B56374 for <michaelchan@example.org>; Wed, 1 Jun 2011 16:54:28 +0000 (UTC) Received: (qmail 61979 invoked by uid 500); 1 Jun 2011 16:54:28 -0000 Delivered-To: michaelchan@example.org Received: (qmail 61948 invoked by uid 500); 1 Jun 2011 16:54:28 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 61936 invoked by uid 99); 1 Jun 2011 16:54:28 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 16:54:28 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 16:54:25 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id E241623889E0; Wed, 1 Jun 2011 16:54:04 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1130222 - /webservices/wss4j/trunk/src/main/java/org/apache/ws/security/components/crypto/Merlin.java Date: Wed, 01 Jun 2011 16:54:04 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: coheigea Date: Wed Jun 1 16:54:04 2011 New Revision: 1130222 URL: http://svn.apache.org/viewvc?rev=1130222&view=rev Log: [WSS-287] - No longer use keystore for truststore purposes if the latter is explicitly specified. Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/components/crypto/Merlin.java Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/components/crypto/Merlin.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/components/crypto/Merlin.java?rev=1130222&r1=1130221&r2=1130222&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/components/crypto/Merlin.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/components/crypto/Merlin.java Wed Jun 1 16:54:04 2011 @@ -121,6 +121,7 @@ public class Merlin extends CryptoBase { protected KeyStore keystore = null; protected KeyStore truststore = null; protected CertStore crlCertStore = null; + private boolean loadCACerts = false; public Merlin() { // default constructor @@ -225,6 +226,7 @@ public class Merlin extends CryptoBase { + " has been loaded" ); } + loadCACerts = false; } finally { if (is != null) { is.close(); @@ -250,6 +252,7 @@ public class Merlin extends CryptoBase { if (doDebug) { log.debug("CA certs have been loaded"); } + loadCACerts = true; } finally { if (is != null) { is.close(); @@ -756,8 +759,12 @@ public class Merlin extends CryptoBase { } } - // Add certificates from the keystore - if (keystore != null) { + // + // Add certificates from the keystore - only if there is no TrustStore, apart from + // the case that the truststore is the JDK CA certs. This behaviour is preserved + // for backwards compatibility reasons + // + if (keystore != null && (truststore == null || loadCACerts)) { Enumeration<String> aliases = keystore.aliases(); while (aliases.hasMoreElements()) { String alias = aliases.nextElement(); From michaelchan@example.org Wed Jun 1 20:43:22 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id AC31362E8 for <michaelchan@example.org>; Wed, 1 Jun 2011 20:43:22 +0000 (UTC) Received: (qmail 41245 invoked by uid 500); 1 Jun 2011 20:43:22 -0000 Delivered-To: michaelchan@example.org Received: (qmail 41210 invoked by uid 500); 1 Jun 2011 20:43:22 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 41203 invoked by uid 99); 1 Jun 2011 20:43:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 20:43:22 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 20:43:20 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 7025223889E0; Wed, 1 Jun 2011 20:42:59 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1130297 - /webservices/wss4j/trunk/.gitignore Date: Wed, 01 Jun 2011 20:42:59 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: dkulp Date: Wed Jun 1 20:42:59 2011 New Revision: 1130297 URL: http://svn.apache.org/viewvc?rev=1130297&view=rev Log: Add .gitignore Added: webservices/wss4j/trunk/.gitignore Added: webservices/wss4j/trunk/.gitignore URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/.gitignore?rev=1130297&view=auto ============================================================================== --- webservices/wss4j/trunk/.gitignore (added) +++ webservices/wss4j/trunk/.gitignore Wed Jun 1 20:42:59 2011 @@ -0,0 +1,8 @@ +.checkstyle +.classpath +.pmd +.project +.ruleset +.settings/ +target/ +velocity.log From michaelchan@example.org Wed Jun 1 20:43:26 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id DBF4262F6 for <michaelchan@example.org>; Wed, 1 Jun 2011 20:43:26 +0000 (UTC) Received: (qmail 41442 invoked by uid 500); 1 Jun 2011 20:43:26 -0000 Delivered-To: michaelchan@example.org Received: (qmail 41413 invoked by uid 500); 1 Jun 2011 20:43:26 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 41406 invoked by uid 99); 1 Jun 2011 20:43:26 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 20:43:26 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 01 Jun 2011 20:43:25 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 9AA9B2388A19; Wed, 1 Jun 2011 20:43:05 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1130298 - /webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureProcessor.java Date: Wed, 01 Jun 2011 20:43:05 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> Author: dkulp Date: Wed Jun 1 20:43:05 2011 New Revision: 1130298 URL: http://svn.apache.org/viewvc?rev=1130298&view=rev Log: Move throwing exception out of try block to avoid wrapping a WSSecurityException into another WSSecurityException. Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureProcessor.java Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureProcessor.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureProcessor.java?rev=1130298&r1=1130297&r2=1130298&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureProcessor.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureProcessor.java Wed Jun 1 20:43:05 2011 @@ -350,35 +350,33 @@ public class SignatureProcessor implemen boolean signatureOk = xmlSignature.validate(context); if (signatureOk) { return xmlSignature; - } else { - // - // Log the exact signature error - // - if (LOG.isDebugEnabled()) { - LOG.debug("XML Signature verification has failed"); - boolean signatureValidationCheck = - xmlSignature.getSignatureValue().validate(context); - LOG.debug("Signature Validation check: " + signatureValidationCheck); - java.util.Iterator<?> referenceIterator = - xmlSignature.getSignedInfo().getReferences().iterator(); - while (referenceIterator.hasNext()) { - Reference reference = (Reference)referenceIterator.next(); - boolean referenceValidationCheck = reference.validate(context); - String id = reference.getId(); - if (id == null) { - id = reference.getURI(); - } - LOG.debug("Reference " + id + " check: " + referenceValidationCheck); + } + // + // Log the exact signature error + // + if (LOG.isDebugEnabled()) { + LOG.debug("XML Signature verification has failed"); + boolean signatureValidationCheck = + xmlSignature.getSignatureValue().validate(context); + LOG.debug("Signature Validation check: " + signatureValidationCheck); + java.util.Iterator<?> referenceIterator = + xmlSignature.getSignedInfo().getReferences().iterator(); + while (referenceIterator.hasNext()) { + Reference reference = (Reference)referenceIterator.next(); + boolean referenceValidationCheck = reference.validate(context); + String id = reference.getId(); + if (id == null) { + id = reference.getURI(); } + LOG.debug("Reference " + id + " check: " + referenceValidationCheck); } - - throw new WSSecurityException(WSSecurityException.FAILED_CHECK); } } catch (Exception ex) { throw new WSSecurityException( WSSecurityException.FAILED_CHECK, null, null, ex ); } + throw new WSSecurityException(WSSecurityException.FAILED_CHECK); } From michaelchan@example.org Fri Jun 3 15:17:55 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id 2002A6049 for <michaelchan@example.org>; Fri, 3 Jun 2011 15:17:55 +0000 (UTC) Received: (qmail 39209 invoked by uid 500); 3 Jun 2011 15:17:55 -0000 Delivered-To: michaelchan@example.org Received: (qmail 39180 invoked by uid 500); 3 Jun 2011 15:17:55 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 39173 invoked by uid 99); 3 Jun 2011 15:17:54 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 15:17:54 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 15:17:53 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 3CD7923889E0; Fri, 3 Jun 2011 15:17:33 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1131066 - in /webservices/wss4j/trunk/src: main/java/org/apache/ws/security/message/token/ test/java/org/apache/ws/security/message/ test/java/org/apache/ws/security/message/token/ Date: Fri, 03 Jun 2011 15:17:33 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> Author: coheigea Date: Fri Jun 3 15:17:32 2011 New Revision: 1131066 URL: http://svn.apache.org/viewvc?rev=1131066&view=rev Log: Add hashCode/equals implementations for UsernameTokens and BinarySecurityTokens for logical comparison of tokens. Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/BinarySecurity.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/UsernameToken.java webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/UsernameTokenTest.java webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/token/BinarySecurityTokenTest.java Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/BinarySecurity.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/BinarySecurity.java?rev=1131066&r1=1131065&r2=1131066&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/BinarySecurity.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/BinarySecurity.java Fri Jun 3 15:17:32 2011 @@ -19,6 +19,8 @@ package org.apache.ws.security.message.token; +import java.util.Arrays; + import org.apache.ws.security.WSConstants; import org.apache.ws.security.WSSecurityException; import org.apache.ws.security.util.DOM2Writer; @@ -237,4 +239,39 @@ public class BinarySecurity { public String toString() { return DOM2Writer.nodeToString((Node)element); } + + @Override + public int hashCode() { + int result = 17; + byte[] token = getToken(); + if (token != null) { + result = 31 * result + Arrays.hashCode(token); + } + result = 31 * result + getValueType().hashCode(); + result = 31 * result + getEncodingType().hashCode(); + + return result; + } + + @Override + public boolean equals(Object object) { + if (!(object instanceof BinarySecurity)) { + return false; + } + BinarySecurity binarySecurity = (BinarySecurity)object; + + byte[] token = binarySecurity.getToken(); + if (!Arrays.equals(token, getToken())) { + return false; + } + String valueType = binarySecurity.getValueType(); + if (!valueType.equals(getValueType())) { + return false; + } + String encodingType = binarySecurity.getEncodingType(); + if (!encodingType.equals(getEncodingType())) { + return false; + } + return true; + } } Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/UsernameToken.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/UsernameToken.java?rev=1131066&r1=1131065&r2=1131066&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/UsernameToken.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/token/UsernameToken.java Fri Jun 3 15:17:32 2011 @@ -44,6 +44,7 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.Principal; import java.text.SimpleDateFormat; +import java.util.Arrays; import java.util.Date; import java.util.List; import java.text.DateFormat; @@ -410,7 +411,7 @@ public class UsernameToken { public byte[] getSalt() throws WSSecurityException { String salt = nodeString(elementSalt); if (salt != null) { - return Base64.decode(nodeString(elementSalt)); + return Base64.decode(salt); } return null; } @@ -855,6 +856,91 @@ public class UsernameToken { return saltValue; } + @Override + public int hashCode() { + int result = 17; + String username = getName(); + if (username != null) { + result = 31 * result + username.hashCode(); + } + String password = getPassword(); + if (password != null) { + result = 31 * result + password.hashCode(); + } + String passwordType = getPasswordType(); + if (passwordType != null) { + result = 31 * result + passwordType.hashCode(); + } + String nonce = getNonce(); + if (nonce != null) { + result = 31 * result + nonce.hashCode(); + } + String created = getCreated(); + if (created != null) { + result = 31 * result + created.hashCode(); + } + try { + byte[] salt = getSalt(); + if (salt != null) { + result = 31 * result + Arrays.hashCode(salt); + } + } catch (WSSecurityException ex) { + if (LOG.isDebugEnabled()) { + LOG.debug(ex.getMessage(), ex); + } + } + result = 31 * result + Integer.valueOf(getIteration()).hashCode(); + + return result; + } + + @Override + public boolean equals(Object object) { + if (!(object instanceof UsernameToken)) { + return false; + } + UsernameToken usernameToken = (UsernameToken)object; + if (!compare(usernameToken.getName(), getName())) { + return false; + } + if (!compare(usernameToken.getPassword(), getPassword())) { + return false; + } + if (!compare(usernameToken.getPasswordType(), getPasswordType())) { + return false; + } + if (!compare(usernameToken.getNonce(), getNonce())) { + return false; + } + if (!compare(usernameToken.getCreated(), getCreated())) { + return false; + } + try { + byte[] salt = usernameToken.getSalt(); + if (!Arrays.equals(salt, getSalt())) { + return false; + } + } catch (WSSecurityException ex) { + if (LOG.isDebugEnabled()) { + LOG.debug(ex.getMessage(), ex); + } + } + int iteration = usernameToken.getIteration(); + if (iteration != getIteration()) { + return false; + } + return true; + } + + private boolean compare(String item1, String item2) { + if (item1 == null && item2 != null) { + return false; + } else if (item1 != null && !item1.equals(item2)) { + return false; + } + return true; + } + /** * P_hash as defined in RFC 2246 for TLS. * Modified: webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/UsernameTokenTest.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/UsernameTokenTest.java?rev=1131066&r1=1131065&r2=1131066&view=diff ============================================================================== --- webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/UsernameTokenTest.java (original) +++ webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/UsernameTokenTest.java Fri Jun 3 15:17:32 2011 @@ -125,7 +125,17 @@ public class UsernameTokenTest extends o LOG.debug(outputString); } LOG.info("After adding UsernameToken PW Digest...."); - verify(signedDoc); + + List<WSSecurityEngineResult> results = verify(signedDoc); + WSSecurityEngineResult actionResult = + WSSecurityUtil.fetchActionResult(results, WSConstants.UT); + UsernameToken receivedToken = + (UsernameToken) actionResult.get(WSSecurityEngineResult.TAG_USERNAME_TOKEN); + assertTrue(receivedToken != null); + + UsernameToken clone = new UsernameToken(receivedToken.getElement()); + assertTrue(clone.equals(receivedToken)); + assertTrue(clone.hashCode() == receivedToken.hashCode()); } /** @@ -252,7 +262,17 @@ public class UsernameTokenTest extends o LOG.debug(outputString); } LOG.info("After adding UsernameToken PW Text...."); - verify(signedDoc); + + List<WSSecurityEngineResult> results = verify(signedDoc); + WSSecurityEngineResult actionResult = + WSSecurityUtil.fetchActionResult(results, WSConstants.UT); + UsernameToken receivedToken = + (UsernameToken) actionResult.get(WSSecurityEngineResult.TAG_USERNAME_TOKEN); + assertTrue(receivedToken != null); + + UsernameToken clone = new UsernameToken(receivedToken.getElement()); + assertTrue(clone.equals(receivedToken)); + assertTrue(clone.hashCode() == receivedToken.hashCode()); } /** Modified: webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/token/BinarySecurityTokenTest.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/token/BinarySecurityTokenTest.java?rev=1131066&r1=1131065&r2=1131066&view=diff ============================================================================== --- webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/token/BinarySecurityTokenTest.java (original) +++ webservices/wss4j/trunk/src/test/java/org/apache/ws/security/message/token/BinarySecurityTokenTest.java Fri Jun 3 15:17:32 2011 @@ -84,6 +84,10 @@ public class BinarySecurityTokenTest ext BinarySecurity token = (BinarySecurity)actionResult.get(WSSecurityEngineResult.TAG_BINARY_SECURITY_TOKEN); assert token != null; + + BinarySecurity clone = new BinarySecurity(token.getElement()); + assertTrue(clone.equals(token)); + assertTrue(clone.hashCode() == token.hashCode()); } /** From michaelchan@example.org Fri Jun 3 16:31:31 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id C4CCF6B60 for <michaelchan@example.org>; Fri, 3 Jun 2011 16:31:31 +0000 (UTC) Received: (qmail 95094 invoked by uid 500); 3 Jun 2011 16:31:31 -0000 Delivered-To: michaelchan@example.org Received: (qmail 95065 invoked by uid 500); 3 Jun 2011 16:31:31 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 95058 invoked by uid 99); 3 Jun 2011 16:31:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 16:31:31 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 16:31:30 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 3D1AE238890D; Fri, 3 Jun 2011 16:31:10 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1131099 - in /webservices/wss4j/trunk/src/main: java/org/apache/ws/security/ java/org/apache/ws/security/message/ java/org/apache/ws/security/processor/ java/org/apache/ws/security/saml/ resources/org/apache/ws/security/ Date: Fri, 03 Jun 2011 16:31:10 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> Author: coheigea Date: Fri Jun 3 16:31:09 2011 New Revision: 1131099 URL: http://svn.apache.org/viewvc?rev=1131099&view=rev Log: Changed the way tokens are stored in WSDocInfo, deprecated a couple of methods. Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSDocInfo.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/EnvelopeIdResolver.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKSign.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/EncryptedDataProcessor.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/EncryptedKeyProcessor.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureConfirmationProcessor.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureProcessor.java webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java webservices/wss4j/trunk/src/main/resources/org/apache/ws/security/errors.properties Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSDocInfo.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSDocInfo.java?rev=1131099&r1=1131098&r2=1131099&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSDocInfo.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/WSDocInfo.java Fri Jun 3 16:31:09 2011 @@ -45,7 +45,6 @@ public class WSDocInfo { private Document doc = null; private Crypto crypto = null; private List<Element> tokenList = null; - private List<Element> elementList = null; private List<WSSecurityEngineResult> resultsList = null; private CallbackLookup callbackLookup = null; @@ -66,40 +65,77 @@ public class WSDocInfo { if (tokenList != null && tokenList.size() > 0) { tokenList.clear(); } - if (elementList != null && elementList.size() > 0) { - elementList.clear(); - } if (resultsList != null && resultsList.size() > 0) { resultsList.clear(); } tokenList = null; - elementList = null; resultsList = null; } /** - * Store a token element for later retrieval. The token element is one of: - * - SecurityTokenReference element - * - BinarySecurityToken element - * - SAML Assertion element - * - SecurityContextToken element - * - UsernameToken element - * - DerivedKeyToken element - * - Timestamp element - * @param elem is the token element to store + * Store a token element for later retrieval. Before storing the token, we check for a + * previously processed token with the same (wsu/SAML) Id. + * @param element is the token element to store + * @deprecated + */ + public void addTokenElement(Element element) throws WSSecurityException { + addTokenElement(element, true); + } + + /** + * Store a token element for later retrieval. Before storing the token, we check for a + * previously processed token with the same (wsu/SAML) Id. + * @param element is the token element to store + * @param checkMultipleElements check for a previously stored element with the same Id. */ - public void addTokenElement(Element elem) { + public void addTokenElement(Element element, boolean checkMultipleElements) throws WSSecurityException { if (tokenList == null) { tokenList = new ArrayList<Element>(); } - tokenList.add(elem); + + if (checkMultipleElements) { + for (Element elem : tokenList) { + if (compareElementsById(element, elem)) { + throw new WSSecurityException( + WSSecurityException.INVALID_SECURITY_TOKEN, "duplicateError" + ); + } + } + } + tokenList.add(element); + } + + private boolean compareElementsById(Element firstElement, Element secondElement) { + if (firstElement.hasAttributeNS(WSConstants.WSU_NS, "Id") + && secondElement.hasAttributeNS(WSConstants.WSU_NS, "Id")) { + String id = firstElement.getAttributeNS(WSConstants.WSU_NS, "Id"); + String id2 = secondElement.getAttributeNS(WSConstants.WSU_NS, "Id"); + if (id.equals(id2)) { + return true; + } + } + if (firstElement.hasAttribute("AssertionID") + && secondElement.hasAttribute("AssertionID")) { + String id = firstElement.getAttribute("AssertionID"); + String id2 = secondElement.getAttribute("AssertionID"); + if (id.equals(id2)) { + return true; + } + } + if (firstElement.hasAttribute("ID") && secondElement.hasAttribute("ID")) { + String id = firstElement.getAttribute("ID"); + String id2 = secondElement.getAttribute("ID"); + if (id.equals(id2)) { + return true; + } + } + return false; } /** * Get a token Element for the given Id. The Id can be either a wsu:Id or a - * SAML AssertionID/ID. - * TODO think about if it is better to restrict the default Id to wsu:Id? + * SAML AssertionID/ID. * @param uri is the (relative) uri of the id * @return the token element or null if nothing found */ @@ -115,7 +151,9 @@ public class WSDocInfo { String cId = elem.getAttributeNS(WSConstants.WSU_NS, "Id"); String samlId = elem.getAttribute("AssertionID"); String samlId2 = elem.getAttribute("ID"); - if (id.equals(cId) || id.equals(samlId) || id.equals(samlId2)) { + if ((elem.hasAttributeNS(WSConstants.WSU_NS, "Id") && id.equals(cId)) + || (elem.hasAttribute("AssertionID") && id.equals(samlId)) + || (elem.hasAttribute("ID") && id.equals(samlId2))) { return elem; } } @@ -124,39 +162,26 @@ public class WSDocInfo { } /** - * Store a protection element for later retrieval. + * Store a protection element for later retrieval. This is only used for the + * creation/outbound case. * @param element is the protection element to store + * @deprecated */ public void addProtectionElement(Element element) { - if (elementList == null) { - elementList = new ArrayList<Element>(); + if (tokenList == null) { + tokenList = new ArrayList<Element>(); } - elementList.add(element); + tokenList.add(element); } /** - * Get a protection element for the given (wsu) Id. + * Get a protection element for the given (wsu/SAML) Id. * @param uri is the (relative) uri of the id * @return the protection element or null if nothing found + * @deprecated */ public Element getProtectionElement(String uri) { - String id = uri; - if (id == null) { - return null; - } else if (id.charAt(0) == '#') { - id = id.substring(1); - } - if (elementList != null) { - for (Element element : elementList) { - if (element != null) { - String cId = element.getAttributeNS(WSConstants.WSU_NS, "Id"); - if (id.equals(cId)) { - return element; - } - } - } - } - return null; + return getTokenElement(uri); } /** Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/EnvelopeIdResolver.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/EnvelopeIdResolver.java?rev=1131099&r1=1131098&r2=1131099&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/EnvelopeIdResolver.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/EnvelopeIdResolver.java Fri Jun 3 16:31:09 2011 @@ -69,18 +69,11 @@ public class EnvelopeIdResolver extends } // - // First check to see if the element that we require is stored in as a - // protection element in WSDocInfo - // - String id = uriNodeValue.substring(1); - Element selectedElem = null; - if (wsDocInfo != null) { - selectedElem = wsDocInfo.getProtectionElement(id); - } - // - // Next check to see if the element that we require is a previously processed + // First check to see if the element that we require is a previously processed // Security Token that is stored in WSDocInfo. // + Element selectedElem = null; + String id = uriNodeValue.substring(1); if (selectedElem == null && wsDocInfo != null) { selectedElem = wsDocInfo.getTokenElement(id); } Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKSign.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKSign.java?rev=1131099&r1=1131098&r2=1131099&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKSign.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecDKSign.java Fri Jun 3 16:31:09 2011 @@ -156,7 +156,7 @@ public class WSSecDKSign extends WSSecDe secRef.setReference(refUt); XMLStructure structure = new DOMStructure(secRef.getElement()); - wsDocInfo.addTokenElement(secRef.getElement()); + wsDocInfo.addTokenElement(secRef.getElement(), false); keyInfo = keyInfoFactory.newKeyInfo( java.util.Collections.singletonList(structure), keyInfoUri Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java?rev=1131099&r1=1131098&r2=1131099&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/message/WSSecSignature.java Fri Jun 3 16:31:09 2011 @@ -192,7 +192,7 @@ public class WSSecSignature extends WSSe ref.setValueType(bstToken.getValueType()); secRef.setReference(ref); bstToken.setID(certUri); - wsDocInfo.addTokenElement(bstToken.getElement()); + wsDocInfo.addTokenElement(bstToken.getElement(), false); break; case WSConstants.ISSUER_SERIAL: @@ -296,7 +296,7 @@ public class WSSecSignature extends WSSe if (keyIdentifierType != WSConstants.KEY_VALUE) { XMLStructure structure = new DOMStructure(secRef.getElement()); - wsDocInfo.addTokenElement(secRef.getElement()); + wsDocInfo.addTokenElement(secRef.getElement(), false); keyInfo = keyInfoFactory.newKeyInfo( java.util.Collections.singletonList(structure), keyInfoUri Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/EncryptedDataProcessor.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/EncryptedDataProcessor.java?rev=1131099&r1=1131098&r2=1131099&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/EncryptedDataProcessor.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/EncryptedDataProcessor.java Fri Jun 3 16:31:09 2011 @@ -101,6 +101,7 @@ public class EncryptedDataProcessor impl ); } + wsDocInfo.addTokenElement(elem); WSSConfig wssConfig = request.getWssConfig(); if (wssConfig != null) { // Get hold of the plain text element Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/EncryptedKeyProcessor.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/EncryptedKeyProcessor.java?rev=1131099&r1=1131098&r2=1131099&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/EncryptedKeyProcessor.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/EncryptedKeyProcessor.java Fri Jun 3 16:31:09 2011 @@ -137,6 +137,7 @@ public class EncryptedKeyProcessor imple ); result.put(WSSecurityEngineResult.TAG_ID, elem.getAttribute("Id")); wsDocInfo.addResult(result); + wsDocInfo.addTokenElement(elem); return java.util.Collections.singletonList(result); } Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureConfirmationProcessor.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureConfirmationProcessor.java?rev=1131099&r1=1131098&r2=1131099&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureConfirmationProcessor.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureConfirmationProcessor.java Fri Jun 3 16:31:09 2011 @@ -59,6 +59,7 @@ public class SignatureConfirmationProces new WSSecurityEngineResult(WSConstants.SC, sigConf); result.put(WSSecurityEngineResult.TAG_ID, id); wsDocInfo.addResult(result); + wsDocInfo.addTokenElement(elem); return java.util.Collections.singletonList(result); } Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureProcessor.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureProcessor.java?rev=1131099&r1=1131098&r2=1131099&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureProcessor.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/processor/SignatureProcessor.java Fri Jun 3 16:31:09 2011 @@ -207,6 +207,7 @@ public class SignatureProcessor implemen result.put(WSSecurityEngineResult.TAG_VALIDATED_TOKEN, Boolean.TRUE); } wsDocInfo.addResult(result); + wsDocInfo.addTokenElement(elem); return java.util.Collections.singletonList(result); } Modified: webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java?rev=1131099&r1=1131098&r2=1131099&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java (original) +++ webservices/wss4j/trunk/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java Fri Jun 3 16:31:09 2011 @@ -373,7 +373,7 @@ public class WSSecSignatureSAML extends Element elem = secRefSaml.getElement(); elem.appendChild(keyId); } - wsDocInfo.addTokenElement(secRefSaml.getElement()); + wsDocInfo.addTokenElement(secRefSaml.getElement(), false); } } catch (Exception ex) { throw new WSSecurityException( @@ -389,7 +389,7 @@ public class WSSecSignatureSAML extends bstToken = new X509Security(doc); ((X509Security) bstToken).setX509Certificate(certs[0]); bstToken.setID(certUri); - wsDocInfo.addTokenElement(bstToken.getElement()); + wsDocInfo.addTokenElement(bstToken.getElement(), false); ref.setValueType(bstToken.getValueType()); secRef.setReference(ref); break; @@ -429,14 +429,14 @@ public class WSSecSignatureSAML extends elem.appendChild(keyId); } XMLStructure structure = new DOMStructure(secRef.getElement()); - wsDocInfo.addTokenElement(secRef.getElement()); + wsDocInfo.addTokenElement(secRef.getElement(), false); keyInfo = keyInfoFactory.newKeyInfo( java.util.Collections.singletonList(structure), keyInfoUri ); - wsDocInfo.addTokenElement(samlToken); + wsDocInfo.addTokenElement(samlToken, false); } /** Modified: webservices/wss4j/trunk/src/main/resources/org/apache/ws/security/errors.properties URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/src/main/resources/org/apache/ws/security/errors.properties?rev=1131099&r1=1131098&r2=1131099&view=diff ============================================================================== --- webservices/wss4j/trunk/src/main/resources/org/apache/ws/security/errors.properties (original) +++ webservices/wss4j/trunk/src/main/resources/org/apache/ws/security/errors.properties Fri Jun 3 16:31:09 2011 @@ -57,6 +57,7 @@ noXMLSig = Cannot setup signature data s noSKIHandling = Problem with SKI information: {0} keystore = Cannot access/read keystore data noCert = No certificate provided +duplicateError = Multiple security tokens with the same Id have been detected ## noSigCryptoFile=WSSecurityEngine: No crypto property file supplied to verify signature noDecCryptoFile=WSSecurityEngine: No crypto property file supplied for decryption From michaelchan@example.org Fri Jun 3 16:43:33 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id 4B0296CA8 for <michaelchan@example.org>; Fri, 3 Jun 2011 16:43:33 +0000 (UTC) Received: (qmail 40366 invoked by uid 500); 3 Jun 2011 16:43:33 -0000 Delivered-To: michaelchan@example.org Received: (qmail 40339 invoked by uid 500); 3 Jun 2011 16:43:33 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 40332 invoked by uid 99); 3 Jun 2011 16:43:33 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 16:43:33 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 16:43:31 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 58A73238897F; Fri, 3 Jun 2011 16:43:09 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1131104 - /webservices/wss4j/trunk/ChangeLog.txt Date: Fri, 03 Jun 2011 16:43:09 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: coheigea Date: Fri Jun 3 16:43:09 2011 New Revision: 1131104 URL: http://svn.apache.org/viewvc?rev=1131104&view=rev Log: Updating Changelog Modified: webservices/wss4j/trunk/ChangeLog.txt Modified: webservices/wss4j/trunk/ChangeLog.txt URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ChangeLog.txt?rev=1131104&r1=1131103&r2=1131104&view=diff ============================================================================== --- webservices/wss4j/trunk/ChangeLog.txt (original) +++ webservices/wss4j/trunk/ChangeLog.txt Fri Jun 3 16:43:09 2011 @@ -5,6 +5,29 @@ for a given release. Portions of this report were generated using the ReleaseNotes facility in Jira. +Release 1.6.1 +============= + +Bug + + * [WSS-273] - org.apache.ws.security.transform.STRTransform causes ClassCastException when wss4j is running on IBM 1.6 JVM + * [WSS-276] - Support signing a SAML Assertion using a derived key + * [WSS-280] - USE_DERIVED_KEY instead of USE_DERIVED_KEY_FOR_MAC in WSHandler + * [WSS-283] - ClassCastException when signing message with existing WSSE header containing Text as first child + * [WSS-285] - Error in SAML1.1 Conditions support + * [WSS-286] - Evidence element not present in SAML AuthzDecisionStatement + * [WSS-291] - Default to allowing Timestamps Created up to 60 seconds in the future to avoid clock skew problems + +Improvement + + * [WSS-275] - Use SLF4J for logging framework for 1.6 + * [WSS-278] - verifyTrust in Crypto should use CRLs as well + * [WSS-284] - Improvements to wsse11:EncryptedHeader support + * [WSS-287] - No longer use keystore for truststore purposes if the latter is explicitly specified. + * [WSS-288] - Incorporating Colm's Blog entries into WSS4J documentation + * [WSS-289] - Text improvements to website pages + * [WSS-290] - Create Principals when processing SAML and BinarySecurityTokens + Release 1.6.0 ============= From michaelchan@example.org Fri Jun 3 16:45:45 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id 5AFE0625E for <michaelchan@example.org>; Fri, 3 Jun 2011 16:45:45 +0000 (UTC) Received: (qmail 46032 invoked by uid 500); 3 Jun 2011 16:45:45 -0000 Delivered-To: michaelchan@example.org Received: (qmail 46004 invoked by uid 500); 3 Jun 2011 16:45:45 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 45996 invoked by uid 99); 3 Jun 2011 16:45:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 16:45:45 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 16:45:44 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 5047F238897F; Fri, 3 Jun 2011 16:45:24 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1131105 - /webservices/wss4j/tags/1_6_1/ Date: Fri, 03 Jun 2011 16:45:24 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> Author: coheigea Date: Fri Jun 3 16:45:23 2011 New Revision: 1131105 URL: http://svn.apache.org/viewvc?rev=1131105&view=rev Log: Tagging a 1.6.1 release. Added: webservices/wss4j/tags/1_6_1/ (props changed) - copied from r1131104, webservices/wss4j/trunk/ Propchange: webservices/wss4j/tags/1_6_1/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Fri Jun 3 16:45:23 2011 @@ -0,0 +1,11 @@ +build +target +build.properties +junit*.properties +*.log +*.wsdd +.project +.classpath +.settings +.pmd +.ruleset Propchange: webservices/wss4j/tags/1_6_1/ ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Fri Jun 3 16:45:23 2011 @@ -0,0 +1 @@ +/webservices/wss4j/branches/1_5_x-fixes:996180,996298,996339,997529,997535,1001926,1002116,1002347,1032939,1036805,1036890,1037678 From michaelchan@example.org Fri Jun 3 16:47:04 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id E5FB76B99 for <michaelchan@example.org>; Fri, 3 Jun 2011 16:47:03 +0000 (UTC) Received: (qmail 47797 invoked by uid 500); 3 Jun 2011 16:47:03 -0000 Delivered-To: michaelchan@example.org Received: (qmail 47764 invoked by uid 500); 3 Jun 2011 16:47:03 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 47757 invoked by uid 99); 3 Jun 2011 16:47:03 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 16:47:03 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 16:47:02 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C1051238897F; Fri, 3 Jun 2011 16:46:42 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1131107 - in /webservices/wss4j/tags/1_6_1: build.xml pom.xml Date: Fri, 03 Jun 2011 16:46:42 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> Author: coheigea Date: Fri Jun 3 16:46:42 2011 New Revision: 1131107 URL: http://svn.apache.org/viewvc?rev=1131107&view=rev Log: Updating versions on tag. Modified: webservices/wss4j/tags/1_6_1/build.xml webservices/wss4j/tags/1_6_1/pom.xml Modified: webservices/wss4j/tags/1_6_1/build.xml URL: http://svn.apache.org/viewvc/webservices/wss4j/tags/1_6_1/build.xml?rev=1131107&r1=1131106&r2=1131107&view=diff ============================================================================== --- webservices/wss4j/tags/1_6_1/build.xml (original) +++ webservices/wss4j/tags/1_6_1/build.xml Fri Jun 3 16:46:42 2011 @@ -28,7 +28,7 @@ Build Instructions: <property name='product.version.major' value='1'/> <property name='product.version.minor' value='6'/> <property name='product.version.level' value='1'/> - <property name='product.version.qualifier' value='-SNAPSHOT'/> + <property name='product.version.qualifier' value=''/> <property name='product.version' value='${product.version.major}.${product.version.minor}.${product.version.level}${product.version.qualifier}'/> <property name="year" value="2011"/> <property name="copyright" value="Copyright &#169; ${year} Apache WSS4J Project. All Rights Reserved."/> Modified: webservices/wss4j/tags/1_6_1/pom.xml URL: http://svn.apache.org/viewvc/webservices/wss4j/tags/1_6_1/pom.xml?rev=1131107&r1=1131106&r2=1131107&view=diff ============================================================================== --- webservices/wss4j/tags/1_6_1/pom.xml (original) +++ webservices/wss4j/tags/1_6_1/pom.xml Fri Jun 3 16:46:42 2011 @@ -24,7 +24,7 @@ <artifactId>wss4j</artifactId> <packaging>bundle</packaging> <name>WSS4J</name> - <version>1.6.1-SNAPSHOT</version> + <version>1.6.1</version> <description> The Apache WSS4J project provides a Java implementation of the primary security standards for Web Services, namely the OASIS Web Services Security (WS-Security) specifications From michaelchan@example.org Fri Jun 3 16:49:11 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id 767506435 for <michaelchan@example.org>; Fri, 3 Jun 2011 16:49:11 +0000 (UTC) Received: (qmail 49571 invoked by uid 500); 3 Jun 2011 16:49:11 -0000 Delivered-To: michaelchan@example.org Received: (qmail 49544 invoked by uid 500); 3 Jun 2011 16:49:11 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 49536 invoked by uid 99); 3 Jun 2011 16:49:11 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 16:49:11 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 16:49:09 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 2E616238897F; Fri, 3 Jun 2011 16:48:48 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1131108 - in /webservices/wss4j/tags/1_6_1/src/site/xdoc: download.xml index.xml Date: Fri, 03 Jun 2011 16:48:48 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: coheigea Date: Fri Jun 3 16:48:47 2011 New Revision: 1131108 URL: http://svn.apache.org/viewvc?rev=1131108&view=rev Log: Updating site. Modified: webservices/wss4j/tags/1_6_1/src/site/xdoc/download.xml webservices/wss4j/tags/1_6_1/src/site/xdoc/index.xml Modified: webservices/wss4j/tags/1_6_1/src/site/xdoc/download.xml URL: http://svn.apache.org/viewvc/webservices/wss4j/tags/1_6_1/src/site/xdoc/download.xml?rev=1131108&r1=1131107&r2=1131108&view=diff ============================================================================== --- webservices/wss4j/tags/1_6_1/src/site/xdoc/download.xml (original) +++ webservices/wss4j/tags/1_6_1/src/site/xdoc/download.xml Fri Jun 3 16:48:47 2011 @@ -19,20 +19,20 @@ LICENSE.txt and NOTICE.txt files contain <ul> <li> <p> -The current release is Apache WSS4J 1.6.0: +The current release is Apache WSS4J 1.6.1: </p> <p> -<a href="http://www.apache.org/dyn/closer.cgi/ws/wss4j/1_6_0/wss4j-bin-1.6.0.zip">wss4j-bin-1.6.0.zip</a> -(<a href="http://www.apache.org/dist/ws/wss4j/1_6_0/wss4j-bin-1.6.0.zip.md5"> +<a href="http://www.apache.org/dyn/closer.cgi/ws/wss4j/1_6_1/wss4j-bin-1.6.1.zip">wss4j-bin-1.6.1.zip</a> +(<a href="http://www.apache.org/dist/ws/wss4j/1_6_1/wss4j-bin-1.6.1.zip.md5"> MD5</a>) -(<a href="http://www.apache.org/dyn/closer.cgi/ws/wss4j/1_6_0/wss4j-bin-1.6.0.zip.asc"> +(<a href="http://www.apache.org/dyn/closer.cgi/ws/wss4j/1_6_1/wss4j-bin-1.6.1.zip.asc"> PGP</a>) </p> <p> -<a href="http://www.apache.org/dyn/closer.cgi/ws/wss4j/1_6_0/wss4j-src-1.6.0.zip">wss4j-src-1.6.0.zip</a> -(<a href="http://www.apache.org/dist/ws/wss4j/1_6_0/wss4j-src-1.6.0.zip.md5"> +<a href="http://www.apache.org/dyn/closer.cgi/ws/wss4j/1_6_1/wss4j-src-1.6.1.zip">wss4j-src-1.6.1.zip</a> +(<a href="http://www.apache.org/dist/ws/wss4j/1_6_1/wss4j-src-1.6.1.zip.md5"> MD5</a>) -(<a href="http://www.apache.org/dyn/closer.cgi/ws/wss4j/1_6_0/wss4j-src-1.6.0.zip.asc"> +(<a href="http://www.apache.org/dyn/closer.cgi/ws/wss4j/1_6_1/wss4j-src-1.6.1.zip.asc"> PGP</a>) </p> </li> Modified: webservices/wss4j/tags/1_6_1/src/site/xdoc/index.xml URL: http://svn.apache.org/viewvc/webservices/wss4j/tags/1_6_1/src/site/xdoc/index.xml?rev=1131108&r1=1131107&r2=1131108&view=diff ============================================================================== --- webservices/wss4j/tags/1_6_1/src/site/xdoc/index.xml (original) +++ webservices/wss4j/tags/1_6_1/src/site/xdoc/index.xml Fri Jun 3 16:48:47 2011 @@ -39,12 +39,11 @@ Foundation. <subsection name="News"> <ul> <li> -<p> <b>April 2011</b> - -The Apache WSS4J team are pleased to announce the release of version 1.6.0. This release is a major -update to the 1.5.x releases. +<p> <b>June 2011</b> - +The Apache WSS4J team are pleased to announce the release of version 1.6.1. </p> <p> -Please see the <a href="https://issues.apache.org/jira/browse/WSS/fixforversion/12313718"> +Please see the <a href="https://issues.apache.org/jira/browse/WSS/fixforversion//12316163"> release notes</a> for more information. </p> </li> From michaelchan@example.org Fri Jun 3 19:46:52 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id 255CF6EB9 for <michaelchan@example.org>; Fri, 3 Jun 2011 19:46:52 +0000 (UTC) Received: (qmail 872 invoked by uid 500); 3 Jun 2011 19:46:52 -0000 Delivered-To: michaelchan@example.org Received: (qmail 844 invoked by uid 500); 3 Jun 2011 19:46:52 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 837 invoked by uid 99); 3 Jun 2011 19:46:52 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 19:46:52 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 19:46:51 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id E2FC823889E1; Fri, 3 Jun 2011 19:46:30 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1131165 - /webservices/commons/trunk/modules/neethi/pom.xml Date: Fri, 03 Jun 2011 19:46:30 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> Author: dkulp Date: Fri Jun 3 19:46:30 2011 New Revision: 1131165 URL: http://svn.apache.org/viewvc?rev=1131165&view=rev Log: [NEETHI-11] Fix problems with mixed javax.xml.stream versions Modified: webservices/commons/trunk/modules/neethi/pom.xml Modified: webservices/commons/trunk/modules/neethi/pom.xml URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/neethi/pom.xml?rev=1131165&r1=1131164&r2=1131165&view=diff ============================================================================== --- webservices/commons/trunk/modules/neethi/pom.xml (original) +++ webservices/commons/trunk/modules/neethi/pom.xml Fri Jun 3 19:46:30 2011 @@ -169,7 +169,7 @@ </Export-Package> <Import-Package> org.apache.axiom.*;resolution:=optional, - javax.xml.stream;version="[0.0,2)", + javax.xml.stream.*;version="[0.0,2)", * </Import-Package> <_failok>true</_failok> From michaelchan@example.org Fri Jun 3 19:52:50 2011 Return-Path: <michaelchan@example.org> X-Original-To: michaelchan@example.org Delivered-To: michaelchan@example.org Received: from mail.apache.org (hermes.apache.org [83.161.120.155]) by minotaur.apache.org (Postfix) with SMTP id 4C1C76B38 for <michaelchan@example.org>; Fri, 3 Jun 2011 19:52:50 +0000 (UTC) Received: (qmail 11580 invoked by uid 500); 3 Jun 2011 19:52:50 -0000 Delivered-To: michaelchan@example.org Received: (qmail 11550 invoked by uid 500); 3 Jun 2011 19:52:50 -0000 Mailing-List: contact michaelchan@example.org; run by ezmlm Precedence: bulk List-Help: <mailto:michaelchan@example.org> List-Unsubscribe: <mailto:michaelchan@example.org> List-Post: <mailto:michaelchan@example.org> List-Id: <commits.ws.apache.org> Reply-To: michaelchan@example.org Delivered-To: mailing list michaelchan@example.org Received: (qmail 11543 invoked by uid 99); 3 Jun 2011 19:52:50 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 19:52:50 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Jun 2011 19:52:48 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 407F423889E1; Fri, 3 Jun 2011 19:52:27 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1131167 - /webservices/commons/trunk/modules/neethi/pom.xml Date: Fri, 03 Jun 2011 19:52:27 -0000 To: michaelchan@example.org From: michaelchan@example.org X-Mailer: svnmailer-1.0.8 Message-Id: <michaelchan@example.org> X-Virus-Checked: Checked by ClamAV on apache.org Author:
{'source': 'Apache Software Foundation Public Mail Archives'}