~kirkland/+junk/eucalyptus

« back to all changes in this revision

Viewing changes to clc/modules/wsstack/src/main/java/com/eucalyptus/ws/handlers/QueryTimestampHandler.java

  • Committer: Dustin Kirkland
  • Date: 2010-03-29 17:41:16 UTC
  • mfrom: (444.57.18 1.6.2)
  • Revision ID: kirkland@x200-20100329174116-tq47srpxneynd2gi
* Cherry-pick merge from upstream 1.6.2, now on revision 1217
  - LP: #534877 - fix potential db connection leak when no
    default kernel/ramdisk set
  - LP: #534868 - update expiration deadline
  - LP: #534869 - correct misleading error message
  - LP: #437026 - fix auth failures due to timezone
  - LP: #535335 - fix display of failed volumes
  - LP: #537058 - fix creation of large numbers of volumes
  - LP: #538604 - remember storage stats across sc restarts
  - LP: #547059 - fix euca-describe-snapshots
  - LP: #544992 - fix get-all-keys

Show diffs side-by-side

added added

removed removed

Lines of Context:
67
67
import java.text.SimpleDateFormat;
68
68
import java.util.Calendar;
69
69
import java.util.Map;
 
70
import java.util.TimeZone;
 
71
 
70
72
 
71
73
import org.apache.log4j.Logger;
72
74
import org.jboss.netty.channel.ChannelHandlerContext;
103
105
          } catch ( Exception e ) {
104
106
            expires = HmacUtils.parseTimestamp( URLDecoder.decode( timestamp ) );
105
107
          }
106
 
          expires.add( Calendar.MINUTE, 5 );
 
108
          expires.add( Calendar.MINUTE, 15 );
107
109
        } else {
108
110
          exp = parameters.remove( SecurityParameter.Expires.toString( ) );
109
111
          try {
117
119
        throw new AuthenticationException( "Failure to parse timestamp: Timestamp=" + timestamp + " Expires=" + exp );
118
120
      }
119
121
      if ( now.after( expires ) ) {
120
 
        String expiryTime = String.format( "%4d-%02d-%02d'T'%02d:%02d:%02d", expires.get( Calendar.YEAR ), expires.get( Calendar.MONTH ), expires.get( Calendar.DAY_OF_MONTH ), expires.get( Calendar.HOUR_OF_DAY ), expires.get( Calendar.MINUTE ), expires.get( Calendar.SECOND ) );
121
 
        throw new AuthenticationException( "Message has expired: Timestamp=" + timestamp + " Expires=" + exp + " Deadline=" + expiryTime );
 
122
        expires.setTimeZone( TimeZone.getTimeZone( "GMT" ) );
 
123
        String expiryTime = String.format( "%4d-%02d-%02d'T'%02d:%02d:%02d", expires.get( Calendar.YEAR ), expires.get( Calendar.MONTH ) + 1, expires.get( Calendar.DAY_OF_MONTH ) + 1, expires.get( Calendar.HOUR_OF_DAY ), expires.get( Calendar.MINUTE ), expires.get( Calendar.SECOND ) );
 
124
        throw new AuthenticationException( "Message has expired (times in UTC): Timestamp=" + timestamp + " Expires=" + exp + " Deadline=" + expiryTime );
122
125
      }
123
126
    }
124
127
  }