ietf-smtp
[Top] [All Lists]

Re: Missing ABNF terms in 2821bis?

2007-10-16 11:20:13


On Oct 15, 2007, at 7:59 PM, John C Klensin wrote:
--On Monday, 15 October, 2007 16:32 -0700 Douglas Otis
<dotis(_at_)mail-abuse(_dot_)org> wrote:

John,

Is there a reason for including obsolete definitions for General- address-literal?

Is there any particularly reason why you think they are obsolete?

It seems that the RFC2821bis draft might wish to decide whether text means 0-127 decimal, or means 1-9, 11-12, 14-127 for General-address- literal.

Unless there is a reason to include obsolete definitions for General- address-literal, it seems better to restate definitions for dcontent and exclude obsolete definitions for text and quoted-pair.


Per RFC2822:

In some of the definitions, there will be nonterminals whose names
start with "obs-".  These "obs-" elements refer to tokens defined in
the obsolete syntax in section 4.  In all cases, these productions
are to be ignored for the purposes of generating legal Internet
messages and MUST NOT be used as part of such a message.  However,
when interpreting messages, these tokens MUST be honored as part of
the legal syntax.  In this sense, section 3 defines a grammar for
generation of messages, with "obs-" elements that are to be ignored,
while section 4 adds grammar for interpretation of messages.


quoted-pair     =       ("\" text) / obs-qp

obs-qp          =       "\" (%d0-127)

text            =       %d1-9 /         ; Characters excluding CR and LF
                        %d11 /
                        %d12 /
                        %d14-127 /
                        obs-text

obs-text        =       *LF *CR *(obs-char *LF *CR)

obs-char        =       %d0-9 / %d11 /          ; %d0-127 except CR and
                        %d12 / %d14-127         ;  LF


dtext           =       NO-WS-CTL /     ; Non white space controls
                        %d33-90 /       ; The rest of the US-ASCII
%d94-126 ; characters not including "[",
                                        ;  "]", or "\"

NO-WS-CTL       =       %d1-8 /         ; US-ASCII control characters
                        %d11 /          ;  that do not include the
                        %d12 /          ;  carriage return, line feed,
                        %d14-31 /       ;  and white space characters
                        %d127

dcontent        =       dtext / quoted-pair

Let-dig = ALPHA / DIGIT
Ldh-str = *( ALPHA / DIGIT / "-" ) Let-dig

General-address-literal  = Standardized-tag ":" 1*dcontent

Standardized-tag  = Ldh-str

                     ; MUST be specified in a standards-track RFC
                     ; and registered with IANA



 The 2821bis declares dcontent only defined in RFC2822?

I can't parse this sentence sufficiently to figure out what you are asking

Sorry. "dcontent" is only used for "General-address-literal" and were once included in RFC2821. Is there current use of General- address-literal? Does this allow some type of tagging per RFC3464 as defined in RFC3461?

In other words, is there a definition for this term or terms found somewhere else other than RFC2822 that requires the use of these obsolete terms?

Perhaps something like this could be added to RFC2821bis:

text-no-eol     =       %d1-9 /         ; Characters excluding CR and LF
                        %d11 /
                        %d12 /
                        %d14-127

dtext           =       NO-WS-CTL /     ; Non white space controls
                        %d33-90 /       ; The rest of the US-ASCII
%d94-126 ; characters not including "[",
                                        ;  "]", or "\"

NO-WS-CTL       =       %d1-8 /         ; US-ASCII control characters
                        %d11 /          ;  that do not include the
                        %d12 /          ;  carriage return, line feed,
                        %d14-31 /       ;  and white space characters
                        %d127

Let-dig         =       ALPHA / DIGIT
Ldh-str         =       *( ALPHA / DIGIT / "-" ) Let-dig
Standardized-tag  =     Ldh-str

q-pair-no-eol   =       ("\" text-no-eol)

dcontent-xeol   =       dtext / q-pair-no-eol

General-address-literal  = Standardized-tag ":" 1*dcontent-no-eol

-Doug