Subject: [usefor] [Errata Verified] RFC5536 (5116)

From: RFC Errata System <[email-masked]>
Date: Thu, 21 Sep 2017 08:20:27 -0700 (PDT)

The following errata report has been verified for RFC5536,
"Netnews Article Format". 

--------------------------------------
You may review the report below and at:
http://www.rfc-editor.org/errata/eid5116

--------------------------------------
Status: Verified
Type: Technical

Reported by: Paul Kyzivat <[email-masked]>
Date Reported: 2017-09-14
Verified by: Alexey Melnikov (IESG)

Section: 3

Original Text
-------------
   fields          =/ *( approved /
                         archive /
                         control /
                         distribution /
                         expires /
                         followup-to /
                         injection-date /
                         injection-info /
                         lines /
                         newsgroups /
                         organization /
                         path /
                         summary /
                         supersedes /
                         user-agent /
                         xref )

Corrected Text
--------------
   optional-field  = <see RFC 5322 Section 3.6.8>

   news-fields     =  approved /
                      archive /
                      control /
                      distribution /
                      expires /
                      followup-to /
                      injection-date /
                      injection-info /
                      lines /
                      newsgroups /
                      organization /
                      path /
                      summary /
                      supersedes /
                      user-agent /
                      xref

   optional-field  =/    news-fields

Notes
-----
In Section 3 of RFC5536, the ABNF syntax provided does not do what is clearly intended. What is specified is:

    fields          =/ *( approved /
                          archive /
                          control /
                          distribution /
                          expires /
                          followup-to /
                          injection-date /
                          injection-info /
                          lines /
                          newsgroups /
                          organization /
                          path /
                          summary /
                          supersedes /
                          user-agent /
                          xref )

and that extends RFC5322:

    fields          =   *(trace
                          *optional-field /
                          *(resent-date /
                           resent-from /
                           resent-sender /
                           resent-to /
                           resent-cc /
                           resent-bcc /
                           resent-msg-id))
                        *(orig-date /
                        from /
                        sender /
                        reply-to /
                        to /
                        cc /
                        bcc /
                        message-id /
                        in-reply-to /
                        references /
                        subject /
                        comments /
                        keywords /
                        optional-field)

    message         =   (fields / obs-fields)
                        [CRLF body]

The problem is with the way things are grouped. Let me give a simpler example:

    foo = *("a" / "b") / *("c" / "d")

This means the following are valid: ab aabb bab cd ccdd dcd
But the following are not: abcd ac

I think it is clear that the latter is intended to be valid, for which the syntax would be:

    foo = *("a" / "b" / "c" / "d")

The above fix is based on discussion with Pete Resnick (editor of RFC 5322), Julien ÉLIE, Alexey Melnikov and Paul Kyzivat.

--------------------------------------
RFC5536 (draft-ietf-usefor-usefor-12)
--------------------------------------
Title               : Netnews Article Format
Publication Date    : November 2009
Author(s)           : K. Murchison, Ed., C. Lindsey, D. Kohn
Category            : PROPOSED STANDARD
Source              : Usenet Article Standard Update
Area                : Applications
Stream              : IETF
Verifying Party     : IESG