RFC 5322, "Internet Message Format", October 2008Source of RFC: IETF - NON WORKING GROUP
Area Assignment: app
Errata ID: 3979
Reported By: Peter Occil
Date Reported: 2014-04-30
Verifier Name: Pete Resnick
Date Verified: 2014-04-30
Section 3.6.7; 4.5.7 says:
received = "Received:" *received-token ";" date-time CRLF obs-received = "Received" *WSP ":" *received-token CRLF
It should say:
received = "Received:" [1*received-token / CFWS] ";" date-time CRLF obs-received = "Received" *WSP ":" [1*received-token / CFWS] CRLF
"The 'Received:' field contains a (possibly empty) list of tokens followed by a semicolon and a date-time specification." As it was originally written, though, whitespace and comments are disallowed right after the colon if the list of tokens is empty: for example, the header field "Received: ; Wed, 30 Apr 2014 00:00:00 -0000\r\n" (with a space after the first colon) would be invalid according to the current spec; only "Received:; Wed, 30 Apr 2014 00:00:00 -0000\r\n" (without a space) would be.
Verifier note: The erratum is clearly correct. There are other possible ABNF solutions, but the one above is sufficient to fix the problem.