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
    XMLWordPrintableJSON

Details

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

    Description

      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-7.1.1.2

      Attachments

        Activity

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

          People

            Unassigned Unassigned
            squiddle Christian Schröder

            Dates

              Created:
              Updated:

              Issue deployment