Christian Schröder created JCLOUDS-840:
------------------------------------------
Summary: jclouds-aws-s3 blob signing fails together with
jclouds-joda
Key: JCLOUDS-840
URL: https://issues.apache.org/jira/browse/JCLOUDS-840
Project: jclouds
Issue Type: Bug
Components: jclouds-drivers
Affects Versions: 1.8.1
Environment: Mac OS X 10.9.5, Oracle JDK 1.8.0_25
Reporter: Christian Schröder
Priority: Trivial
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
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)