Tony Hansen wrote:
Diffs between -06 and -07 can be viewed here.
| ehlo-greet = 1*(%d0-9 / %d11-12 / %d14-127)
RFC.klensin-net-utf8 (almost RFC, 8:0:0 of 15)
proposes to avoid control codes. Allowing NUL
could be problematic (= without tests showing
that it's okay).
| ehlo-param = 1*(%d33-127)
| ; any CHAR excluding <SP> and all
| ; control characters (US-ASCII 0-31 inclusive)
Just using 1*VCHAR would be clearer. Defining
that DEL is no control character in a comment
is IMO an unnecessary exercise.
| esmtp-value = 1*(%d33-60 / %d62-127)
Similar, s/127/126/ would be clearer if there is
no plausible reason why DEL has to be permitted.
If <esmtp-value> could somehow end up in 2822upd
header fields (example), where DEL isn't allowed,
it could mean trouble.
The prose definition of "control character" in
section 4.1.2 includes DEL, two syntax comments
exclude DEL. Please fix the "127"-syntax for a
consistent story - unless it's some magic where
I just don't see what the DEL is supposed to do.
188.8.131.52: The postmaster note got an extra-wide
indent, if it's actually a part of the syntax the
semicolons are missing. [[The RFC editor has no
good chance to catch this, it is in a piece of
RCPT-TO syntax needing manual interventions to
check the ABNF.]]
Domain, sub-domain, Let-dig, and Ldh-str are all
okay, justifying an "updates 3696" (in theory -
in practice I guess all interested parties can
already sing it ;-)
| quoted-pairSMTP = %d92 %d32-126
| ; i.e., backslash followed by any ASCII
| ; graphic (including itself) or SPace
Note that 2822upd-06 allows HTAB in <quoted-pair>:
| quoted-pair = ("\" (VCHAR / WSP)) / obs-qp
My gut feeling is that this should be in sync, i.e.
| quoted-pairSMTP = "\" ( WSP / VCHAR )
Note that <dcontent> is NOT defined in 2822upd-06:
| General-address-literal = Standardized-tag ":" 1*dcontent
You certainly don't want <obs-dtext>, maybe copy
<dtext> minus <obs-dtext> and says it's <dcontent>:
| dcontent = %d33-90 / ; Printable US-ASCII
| %d94-126 ; excl. "[", "\", "]"
The following clause is no valid ABNF:
| Standardized-tag ; MUST be specified in a standards-track RFC
| ; and registered with IANA
Maybe say Standardized-Tag = 1*ALPHA or use a prose
definition within angle brackets. I'm not going to
explain again why I think that the STD 66 definition
for <IPv6address> is better than 2821bis <IPv6-addr>.
| A mail transaction may be aborted by the RSET, a new
| EHLO, or the QUIT command. there may be zero or more
| transactions in a session.
In the section 4.2 ABNF <text> is apparently undefined,
it is not the 2822upd <text>. Sorry, I missed that in
the Last Call... :-(
In section 4.5.2 please join 251 and 551 in one group.
This was no review or ABNF check, I looked only at the
diff and some known Last Call rat-holes.