In ABNF (RFC4234) concatenation binds more tightly than alternation so
the following two productions from RFC2821 (and rfc2821bis-01) need
extra brackets.
In 4.1.2
address-literal = "[" IPv4-address-literal /
IPv6-address-literal /
General-address-literal "]"
Should read
address-literal = "[" (IPv4-address-literal /
IPv6-address-literal /
General-address-literal) "]"
and in 4.4
ID = "ID" FWS String / msg-id CFWS
Should read
ID = "ID" FWS (String / msg-id) CFWS
Regards
--
Paul Overell Internet Platform Development Manager, Thus plc