Problems with Daylight saving time in VA Smalltalk

All the requests that Cloudfork-AWS sends to the Amazon web services contain the current date and time in Coordinated Universal Time (UTC). If this timestamp differs more than a few seconds from the current time you get an error. For example the S3 error: RequestTimeTooSkewed – The difference between the request time and the current time is too large. The reason for this time check is security, it prevents “record en playback” attacks.

So systems that make use of AWS must have the correct time and also the timezone must be correct. Otherwise the conversion to UTC will give the wrong result. A few days ago this all worked perfectly in VA Smalltalk, but tonight all AWS calls fail :-( Last night we in The Netherlands switched to Daylight saving time (DST). VA Smalltalk doesn’t seem to handle this very well. A call to “DateAndTime now” still returns an offset from UTC as one hour instead of two. It seems that this is a known problem.

Until this problem is fixed we have to use a less than elegant solution to get things working again. We have added a “DSTMode” flag, when this flag is true we subtract an extra hour when converting to UTC. You can enable this mode by executing:


CFPlatformServiceVASTUtils enableDSTMode: true

Support for the DSTMode was built into Cloudfork version jvds.79.

About these ads
Explore posts in the same categories: Cloudfork

Tags: , , , ,

Both comments and pings are currently closed.

3 Comments on “Problems with Daylight saving time in VA Smalltalk”

  1. James Robertson Says:

    I was getting this kind of problem in the VW version as well…

  2. Ernest Micklei Says:

    The VisualWorks version of Cloudfork has been fixed. See bundle Cloudfork-All (1.4+)

  3. Alan Lovejoy Says:

    This is exactly the sort of problem that Chronos (http://www.chronos-st.org/) was designed to solve…


Comments are closed.


Follow

Get every new post delivered to your Inbox.

%d bloggers like this: