From: mathew@mantis.co.uk (mathew)
Newsgroups: comp.bbs.waffle
Subject: Re: Found the Wafmail 1.00r bug
Date: 25 Sep 92 08:51:13 GMT
Organization: Mantis Consultants, Cambridge. UK.

N. Richard Caldwell <nrc@bsbbs.columbus.oh.us> writes:
> andyross@infopls.chi.il.us (Andrew Rossmann) in
>   <281iRB2w165w@infopls.chi.il.us> writes:
> >   First: Do the RFC's specify that a timezone must be included? What
> > formats is the Date: line allowed?
> 
> Good question, do the RFC's even require a specific format for the 
> Date: header?

Yes.

RFC1036 (format of News articles):
#
# 2.1.2.  Date
# 
#     The "Date" line (formerly "Posted") is the date that the message was
#     originally posted to the network.  Its format must be acceptable
#     both in RFC-822 and to the getdate(3) routine that is provided with
#     the Usenet software.  This date remains unchanged as the message is
#     propagated throughout the network.  One format that is acceptable to
#     both is:
# 
#                       Wdy, DD Mon YY HH:MM:SS TIMEZONE
# 
#     Several examples of valid dates appear in the sample message above.
#     Note in particular that ctime(3) format:
# 
#                           Wdy Mon DD HH:MM:SS YYYY
# 
#     is not acceptable because it is not a valid RFC-822 date.  However,
#     since older software still generates this format, news
#     implementations are encouraged to accept this format and translate
#     it into an acceptable format.

RFC822 (format of E-mail):
#
#      orig-date   =  "Date"        ":"   date-time
[...]
#      date-time   =  [ day "," ] date time        ; dd mm yy
#                                                  ;  hh:mm:ss zzz
# 
#      day         =  "Mon"  / "Tue" /  "Wed"  / "Thu"
#                  /  "Fri"  / "Sat" /  "Sun"
# 
#      date        =  1*2DIGIT month 2DIGIT        ; day month year
#                                                  ;  e.g. 20 Jun 82
# 
#      month       =  "Jan"  /  "Feb" /  "Mar"  /  "Apr"
#                  /  "May"  /  "Jun" /  "Jul"  /  "Aug"
#                  /  "Sep"  /  "Oct" /  "Nov"  /  "Dec"
# 
#      time        =  hour zone                    ; ANSI and Military
# 
#      hour        =  2DIGIT ":" 2DIGIT [":" 2DIGIT]
#                                                  ; 00:00:00 - 23:59:59
# 
#      zone        =  "UT"  / "GMT"                ; Universal Time
#                                                  ; North American : UT
#                  /  "EST" / "EDT"                ;  Eastern:  - 5/ - 4
#                  /  "CST" / "CDT"                ;  Central:  - 6/ - 5
#                  /  "MST" / "MDT"                ;  Mountain: - 7/ - 6
#                  /  "PST" / "PDT"                ;  Pacific:  - 8/ - 7
#                  /  1ALPHA                       ; Military: Z = UT;
#                                                  ;  A:-1; (J not used)
#                                                  ;  M:-12; N:+1; Y:+12
#                  / ( ("+" / "-") 4DIGIT )        ; Local differential
#                                                  ;  hours+min. (HHMM)

So in short, the timezone is MANDATORY.  Wafmail is quite right to barf on
Date: headers without a timezone.

Note also RFC1123:
#
#         The syntax for the date is hereby changed to:
# 
#             date = 1*2DIGIT month 2*4DIGIT
# 
#          All mail software SHOULD use 4-digit years in dates, to ease
#          the transition to the next century.
# 
#          There is a strong trend towards the use of numeric timezone
#          indicators, and implementations SHOULD use numeric timezones
#          instead of timezone names.  However, all implementations MUST
#          accept either notation.  If timezone names are used, they MUST
#          be exactly as defined in RFC-822.
# 
#          The military time zones are specified incorrectly in RFC-822:
#          they count the wrong way from UT (the signs are reversed).  As
#          a result, military time zones in RFC-822 headers carry no
#          information.

You can get the RFCs (and lots of other stuff) from
archive-server@mantis.co.uk.  Ask it for "help".


mathew