RFC 5322, "Internet Message Format", October 2008Source of RFC: IETF - NON WORKING GROUP
Area Assignment: app
Errata ID: 5712
Publication Format(s) : TEXT
Reported By: Victor Shrubowich
Date Reported: 2019-04-29
Rejected by: Barry Leiba
Date Rejected: 2019-04-30
Section 3.2.2 says:
FWS = ([*WSP CRLF] 1*WSP) / obs-FWS ; Folding white space
It should say:
FWS = ([*WSP] CRLF 1*WSP) / obs-FWS ; Folding white space
Both section 2.2.3 and part of section 3.2.2 ("Wherever folding appears in a message (that is, a header field body containing a CRLF followed by any WSP)") describe folding as adding CRLF followed by WSP, so CRLF is required for folding. However, the CRLF in the FWS rule is shown inside the square brackets, which would make it optional. It should not be inside the square brackets.
Square brackets: section 1.2.2 states "This specification uses the Augmented Backus-Naur Form (ABNF) [RFC5234] notation for the formal definitions of the syntax of messages." In RFC 5234, section 3.8 states "Square brackets enclose an optional element sequence".
The FWS construct shows where folding is permitted (where CRLF *can* appear). The mechanism for actual folding is described in the text, and won't happen at each instance of FWS. Having the CRLF be optional is intentional and necessary.