Subject: bug#44566: 27.1; time bug at Gnus

From: Adam Sjøgren <[email-masked]>
Date: Wed, 11 Nov 2020 14:28:49 +0100

Adam writes:

> the nntp-server in question is one I have implemented, and I think
> it's more likely that my nntp-server doesn't handle timezones/follow
> the spec correctly than Gnus being at fault.

Specifically my code is using Data.Time.Format¹s defaultTimeLocale and
rfc822DateFormat, which doesn't seem to use the restricted list of
timezones defined in rfc(2)822:

  $ ghci
  GHCi, version 8.8.4: https://www.haskell.org/ghc/  :? for help
  Prelude> import Data.Time.LocalTime
  Prelude Data.Time.LocalTime> import Data.Time.Format
  Prelude Data.Time.LocalTime Data.Time.Format> now <- getZonedTime
  Prelude Data.Time.LocalTime Data.Time.Format> formatTime defaultTimeLocale rfc822DateFormat now
  "Wed, 11 Nov 2020 14:23:39 CET"

Despite the documentation saying:

   defaultTimeLocale :: TimeLocale

     Locale representing American usage.

     knownTimeZones contains only the ten time-zones mentioned in RFC 802
     sec. 5: "UT", "GMT", "EST", "EDT", "CST", "CDT", "MST", "MDT", "PST",
     "PDT". Note that the parsing functions will regardless parse "UTC",
     single-letter military time-zones, and +HHMM format.

¹ https://hackage.haskell.org/package/time-1.9.3/docs/Data-Time-Format.html#g:3