Author: ruchithf
Date: Fri Feb 9 16:01:03 2007
New Revision: 505574
URL: http://svn.apache.org/viewvc?view=rev&rev=505574
Log:
Applied the patch from Hans to fix
https://issues.apache.org/jira/browse/RAMPART-4
Thanks Hans!
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java?view=diff&rev=505574&r1=505573&r2=505574
==============================================================================
---
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
(original)
+++
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
Fri Feb 9 16:01:03 2007
@@ -109,9 +109,9 @@
/*
* Perform further checks on the timestamp that was transmitted in the
- * header. In the following implementation the timestamp is valid if it
- * was created after (now-ttl), where ttl is set on server side, not by
- * the client.
+ * header.
+ * In the following implementation the timestamp is valid if :
+ * Timestamp->Created < 'now' < Timestamp->Expires (Last test already
handled by WSS4J)
*
* Note: the method verifyTimestamp(Timestamp) allows custom
* implementations with other validation algorithms for subclasses.
@@ -381,18 +381,16 @@
private boolean verifyTimestamp(Timestamp timestamp, int timeToLive)
throws RampartException {
- // Calculate the time that is allowed for the message to travel
- Calendar validCreation = Calendar.getInstance();
- long currentTime = validCreation.getTime().getTime();
- currentTime -= timeToLive * 1000;
- validCreation.setTime(new Date(currentTime));
-
- // Validate the time it took the message to travel
- // if (timestamp.getCreated().before(validCreation) ||
- // !timestamp.getCreated().equals(validCreation)) {
+ // 'now' must be between ts->Created and ts->Expires
+ // here we test that now is after ts->Created
+ // test that now is before ts->Expires is handled earlier by WSS4J
+
Calendar cre = timestamp.getCreated();
- if (cre != null && !cre.after(validCreation)) {
- return false;
+ if (cre != null) {
+ Calendar now = Calendar.getInstance();
+ if( now.before( cre ) ) {
+ return false;
+ }
}
return true;
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java?view=diff&rev=505574&r1=505573&r2=505574
==============================================================================
---
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java
(original)
+++
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/builders/RampartConfigBuilder.java
Fri Feb 9 16:01:03 2007
@@ -58,6 +58,12 @@
.build(childElement.getFirstElement()));
}
+ childElement = element.getFirstChildWithName(new QName(
+ RampartConfig.NS, RampartConfig.TS_TTL_LN));
+ if (childElement != null) {
+ rampartConfig.setTimestampTTL(childElement.getText().trim());
+ }
+
return rampartConfig;
}
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java?view=diff&rev=505574&r1=505573&r2=505574
==============================================================================
---
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java
(original)
+++
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/policy/model/RampartConfig.java
Fri Feb 9 16:01:03 2007
@@ -58,7 +58,7 @@
*/
public class RampartConfig implements Assertion {
- public static final int DEFAULT_TIMESTAMP_TTL = 300000;
+ public static final int DEFAULT_TIMESTAMP_TTL = 300;
public final static String NS = "http://ws.apache.org/rampart/policy";