Uploaded image for project: 'jclouds'
  1. jclouds
  2. JCLOUDS-840

jclouds-aws-s3 blob signing fails together with jclouds-joda

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments


    • Bug
    • Status: Open
    • Trivial
    • Resolution: Unresolved
    • 1.8.1
    • None
    • jclouds-blobstore
    • Mac OS X 10.9.5, Oracle JDK 1.8.0_25


      Joda-time does not parse symbolic timezone names like 'GMT' due to their non-standardization and ambiguity (e.g. PST is Pacific Standard Time and Pakistan Standard Time).

      The AWSS3BlobRequestSigner uses timeStampProvider.get() (Line 89) to generate a date string and uses dateService.rfc1123DateParse (Line 91) on this string.
      timeStampProvider.get uses dateService.rfc822DateFormat() to generate a timestamp.

      When the JodaDateServiceModule is used this will fail. With the JodaDateServiceModule the timeStampProvider.get() generates a timestamp with GMT timezone indicator.
      But the AWSS3BlobRequestSigner uses rfc1123DateParse which tries to parse the time zone.
      According to RFC1123 a timestamp SHOULD use time offsets instead of symbolic names, so it is not clearly wrong.

      Anyways one fix would be for AWSS3BlobRequestSigner to use rfc822DateParse (it could fallback to rfc1123 for compatibility). The timestamp is used for the HTTP Date header which must be set in GMT anyway and recommended to follow this rfc822 format http://tools.ietf.org/html/rfc7231#section-



          This comment will be Viewable by All Users Viewable by All Users


            Unassigned Unassigned
            squiddle Christian Schröder



              Issue deployment