usefor-article-09 February 2003

[< Prev] [TOC]
13.  Contact Address

Editor

        Charles. H. Lindsey
        5 Clerewood Avenue
        Heald Green
        Cheadle
        Cheshire SK8 3JU
        United Kingdom
        Phone: +44 161 436 6131
        Email: chl@clw.cs.man.ac.uk

[

Working group chair

        Position currently vacant.
]

   Comments on this draft should preferably be sent to the mailing list
   of the Usenet Format Working Group at

        usenet-format@landfield.com.

   This draft expires six months after the date of publication (see Page
   1) (i.e. in Aug 2003).

Appendix A.1 - A-News Article Format

   The obsolete "A News" article format consisted of exactly five lines
   of header information, followed by the body. For example:
      Aeagle.642
      news.misc
      cbosgd!mhuxj!mhuxt!eagle!jerry
      Fri Nov 19 16:14:55 1982
      Usenet Etiquette - Please Read
      body
      body
      body

   The first line consisted of an "A" followed by an article ID
   (analogous to a message ID and used for similar purposes).  The
   second line was the list of newsgroups. The third line was the path.
   The fourth was the date, in the format above (all fields fixed
   width), resembling an Internet date but not quite the same. The fifth
   was the subject.

   This format is documented for archeological purposes only.  Articles
   MUST NOT be generated in this format.

Appendix A.2 - Early B-News Article Format

   The obsolete pseudo-Internet article format, used briefly during the
   transition between the A News format and the modern format, followed
   the general outline of a MAIL message but with some non-standard
   headers. For example:

      From: cbosgd!mhuxj!mhuxt!eagle!jerry (Jerry Schwarz)
      Newsgroups: news.misc
      Title: Usenet Etiquette -- Please Read
      Article-I.D.: eagle.642
      Posted: Fri Nov 19 16:14:55 1982
      Received: Fri Nov 19 16:59:30 1982
      Expires: Mon Jan 1 00:00:00 1990

      body
      body
      body

   The From-header contained the information now found in the Path-
   header, plus possibly the full name now typically found in the From-
   header. The Title-header contained what is now the Subject-content.
   The Posted-header contained what is now the Date-content. The
   Article-I.D.-header contained an article ID, analogous to a message
   ID and used for similar purposes. The Newsgroups- and Expires-headers
   were approximately as now. The Received-header contained the date
   when the latest relaying agent to process the article first saw it.
   All dates were in the above format, with all fields fixed width,
   resembling an Internet date but not quite the same.

   This format is documented for archeological purposes only.  Articles
   MUST NOT be generated in this format.
Appendix A.3 - Obsolete Headers

   Early versions of news software following the modern format sometimes
   generated headers like the following:

      Relay-Version: version B 2.10 2/13/83; site cbosgd.UUCP
      Posting-Version: version B 2.10 2/13/83; site eagle.UUCP
      Date-Received: Friday, 19-Nov-82 16:59:30 EST

   Relay-Version contained version information about the relaying agent
   that last processed the article. Posting-Version contained version
   information about the posting agent that posted the article. Date-
   Received contained the date when the last relaying agent to process
   the article first saw it (in a slightly nonstandard format).

   In addition, this present standard obsoletes certain headers defined
   in [Son-of-1036] (see 6.22):

      Also-Control: cancel <9urrt98y53@site.example>
      See-Also: <i4g587y@site1.example> <kgb2231+ee@site2.example>
      Article-Names: comp.foo:charter
      Article-Updates: <i4g587y@site1.example>

   Also-Control indicated a control message that was also intended to be
   filed as a normal article. See-Also listed related articles, but
   without the specific relationship with followups that pertains to the
   References-header.  Article-Names indicated some special significance
   of that article in relation to the indicated newsgroup. Article-
   Updates indicated that an earlier article was updated, without at the
   same time being superseded.

   These headers are documented for archeological purposes only.
   Articles containing these headers MUST NOT be generated.

Appendix A.4 - Obsolete Control Messages

   This present standard obsoletes certain control messages defined in
   [RFC 1036] (see 7.5), all of which had the effect of requesting a
   description of a relaying or serving agent's software, or its peering
   arrangements with neighbouring sites, to be emailed to the article's
   reply address. Whilst of some utility when Usenet was much smaller
   than it is now, they had become no more than a tool for the malicious
   sending of mailbombs. Moreover, many organizations now consider
   information about their internal connectivity to be confidential.

      version
      sendsys
      whogets
      senduuname

   "Version" requested details of the transport software in use at a
   site.  "Sendsys" requested the full list of newsgroups taken, and the
   peering arrangements. "Who gets" was similar, but restricted to a
   named newsgroup.  "Senduuname" resembled "sendsys" but restricted to
   the list of peers connected by UUCP.

   Historically, a checkgroups body consisting of one or two lines, the
   first of the form "-n newsgroup", caused check-groups to apply to
   only that single newsgroup.

   Historically, an article posted to a newsgroup whose name had exactly
   three components of which the third was "ctl" signified that article
   was to be taken as a control message.  The Subject-header specified
   the actions, in the same way the Control-header does now.

   These forms are documented for archeological purposes only; they MUST
   NO LONGER be used.

Appendix B - Collected Syntax

Appendix B.1 - Characters, Atoms and Folding

   In the following syntactic rules, numbers in the left hand margin
   indicate rules taken from other documents, specifically:
     2 from  [RFC 2822] with the exception of those elements described
       therein as "obsolete";
     3 from  [RFC 2373];
     4 from  [RFC 2234];
     5 from  [RFC 2045].

   Where the number is followed by an asterisk ('*'), it indicates that
   the rule in question has been modified for the purposes of this
   standard.

4  ALPHA                = %x41-5A /        ; A-Z
                %x61-7A          ; a-z
2  CFWS                 = *([FWS] comment) ( ([FWS] comment) / FWS )
4  CR                   = %x0D             ; carriage return
4  CRLF                 = CR LF
4  DIGIT                = %x30-39          ; 0-9
4  DQUOTE               = %d34             ; quote mark
2  FWS                  = ([*WSP CRLF] 1*WSP); folding whitespace
4  HEXDIG               = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
4  HTAB                 = %x09             ; horizontal tab
4  LF                   = %x0A             ; line feed
2  NO-WS-CTL            = %d1-8 /          ; US-ASCII control characters
                %d11 /           ; which do not include the
                %d12 /           ; carriage return, line feed,
                %d14-31 /        ; and whitespace characters
                %d127
4  SP                   = %x20             ; space
4  WSP                  = SP / HTAB        ; whitespace characters
   UTF8-2               = %xC2-DF UTF8-tail
   UTF8-3               = %xE0 %xA0-BF UTF8-tail /
                %xE1-EC 2(UTF8-tail) /
                %xED %x80-9F UTF8-tail /
                %xEE-EF 2(UTF8-tail)
   UTF8-4               = %xF0 %x90-BF 2(UTF8-tail) /
                %xF1-F7 3(UTF8-tail)
   UTF8-5               = %xF8 %x88-BF 3(UTF8-tail) /
                %xF9-FB 4(UTF8-tail)
   UTF8-6               = %xFC %x84-BF 4(UTF8-tail) /
                %xFD 5(UTF8-tail)
   UTF8-tail            = %x80-BF
   UTF8-xtra-char       = UTF8-2 / UTF8-3 / UTF8-4 / UTF8-5 / UTF8-6
2  atext                = ALPHA / DIGIT /
                "!" / "#" /      ; Any character except
                "$" / "%" /      ; controls, SP, and specials.
                "&" / "'" /      ; Used for atoms
                "*" / "+" /
                "-" / "/" /
                "=" / "?" /
                "^" / "_" /
                "`" / "{" /
                "|" / "}" /
                "~"
2  atom                 = [CFWS] 1*atext [CFWS]
2  ccontent             = ctext / quoted-pair / comment
2  comment              = "(" *([FWS] ccontent) [FWS] ")"
2* ctext                = NO-WS-CTL /      ; all of <text> except
                %d33-39 /        ; SP, HTAB, "(", ")"
                %d42-91 /        ; and "\"
                %d93-126 /
                UTF8-xtra-char
2  dcontent             = dtext / quoted-pair
2  dot-atom             = [CFWS] dot-atom-text [CFWS]
2  dot-atom-text        = 1*atext *( "." 1*atext )
2  dtext                = NO-WS-CTL /      ; Non white space controls
                %d33-90 /        ; The rest of the US-ASCII
                %d94-126         ; characters not including
                                 ; "[", "]", or "
2  phrase               = 1*word
2  qcontent             = qtext / quoted-pair
2* qtext                = NO-WS-CTL /      ; all of <text> except
                %d33 /           ; SP, HTAB, "\" and DQUOTE
                %d35-91 /
                %d93-126 /
                UTF8-xtra-char
2  quoted-pair          = "\" text
2  quoted-string        = [CFWS] DQUOTE
                   *( [FWS] qcontent ) [FWS]
                   DQUOTE [CFWS]
2  specials             = "(" / ")" /      ; Special characters used in
                "<" / ">" /      ;  other parts of the syntax
                "[" / "]" /
                ":" / ";" /
                "@" / "\" /
                "," / "." /
                DQUOTE
   strict-qcontent      = strict-qtext / strict-quoted-pair
   strict-quoted-pair   = "\" strict-text
   strict-quoted-string
              = [CFWS] DQUOTE
                   *( [FWS] strict-qcontent ) [FWS]
                   DQUOTE [CFWS]
   strict-qtext         = NO-WS-CTL /      ; qtext restricted to
                %d33 /           ; US-ASCII
                %d35-91 /
                %d93-126
   strict-text          = %d1-9 /          ; text restricted to
                %d11-12 /        ; US-ASCII
                %d14-127
2* text                 = %d1-9 /          ; all UTF-8 characters except
                %d11-12 /        ; US-ASCII NUL, CR and LF
                %d14-127 /
                UTF8-xtra-char
5  tspecials            = "(" / ")" / "<" / ">" / "@" /
                "," / ";" / ":" / "\" / DQUOTE /
                "/" / "[" / "]" / "?" / "="
2* unstructured         = 1*( [FWS] utext ) [FWS]
2* utext                = NO-WS-CTL /      ; Non white space controls
                %d33-126 /       ; The rest of US-ASCII
                UTF8-xtra-char
2  word                 = atom / quoted-string

Appendix B.2 - Basic Forms

2  addr-spec            = local-part "@" domain
2  address              = mailbox / group
2  address-list         = address *( "," address )
2  angle-addr           = [CFWS] "<" addr-spec ">" [CFWS]
   article              = 1*( header CRLF ) separator body
5* attribute            = [CFWS] token [CFWS]
   body                 = *( *998text CRLF )
2  display-name         = phrase
2  date                 = day month year
2  date-time            = [ day-of-week "," ] date FWS time [CFWS]
2  day                  = [FWS] 1*2DIGIT
2  day-name             = "Mon" / "Tue" / "Wed" / "Thu" /
                "Fri" / "Sat" / "Sun"
2  day-of-week          = [FWS] day-name
2  domain               = dot-atom / domain-literal
2  domain-literal       = [CFWS] "[" *([FWS] dcontent) [FWS] "]" [CFWS]
2  group                = display-name ":" [ mailbox-list / CFWS ] ";"
                   [CFWS]
   header-name          = 1*name-character *( "-" 1*name-character )
2  hour                 = 2DIGIT
2* local-part           = dot-atom / strict-quoted-string
2  mailbox              = name-addr / addr-spec
2  mailbox-list         = mailbox *( "," mailbox )
2  minute               = 2DIGIT
2  month                = FWS month-name FWS
2  month-name           = "Jan" / "Feb" / "Mar" / "Apr" /
                "May" / "Jun" / "Jul" / "Aug" /
                "Sep" / "Oct" / "Nov" / "Dec"
2  name-addr            = [display-name] angle-addr
   name-character       = ALPHA / DIGIT
   other-header         = header-name ":" 1*SP other-content
   other-content        = <the content of a header defined by some
                   other standard>
   extension-parameter  = <a parameter not defined by this standard>
5  parameter            = attribute "=" value
2  second               = 2DIGIT
   separator            = CRLF
2  time                 = time-of-day FWS zone
2  time-of-day          = hour ":" minute [ ":" second ]
5  token                = 1*<any (US-ASCII) CHAR except SP, CTLs,
                   or tspecials>
5  value                = [CFWS] token [CFWS] / quoted-string
5* x-token              = "x-" token
2  year                 = 4*DIGIT
2* zone                 = (( "+" / "-" ) 4DIGIT) / "UT" / "GMT"

Appendix B.3 - Headers

Appendix B.3.1 - Header outlines

   header               = other-header /
                Date-header /
                From-header /
                Message-ID-header /
                Subject-header /
                Newsgroups-header /
                Path-header /
                Reply-To-header /
                Sender-header /
                Organization-header /
                Keywords-header /
                Summary-header /
                Distribution-header /
                Followup-To-header /
                Mail-Copies-To-header /
                Posted-And-Mailed-header /
                References-header /
                Expires-header /
                Archive-header /
                Control-header /
                Approved-header /
                Supersedes-header /
                Xref-header /
                Lines-header /
                User-Agent-header /
                Injector-Info-header /
                Complaints-To-header

   Approved-content     = From-content
   Approved-header      = "Approved" ":" SP Approved-content
                   *( ";" extension-parameter )
   Archive-content      = [CFWS] ("no" / "yes" ) [CFWS]
   Archive-header       = "Archive" ":" SP Archive-content
                   *( ";" ( Archive-parameter /
                            extension-parameter ) )
   Archive-parameter    = <a parameter with attribute "filename"
                 and any value>
   Complaints-To-content= address-list
   Complaints-To-header = "Complaints-To" ":" SP Complaints-To-content
   Control-content      = [CFWS] control-message [CFWS]
   Control-header       = "Control" ":" SP Control-content
                   *( ";" extension-parameter )
   Date-content         = date-time
   Date-header          = "Date" ":" SP Date-content
   Distribution-content = distribution *( dist-delim distribution )
   Distribution-header  = "Distribution" ":" SP Distribution-content
                   *( ";" extension-parameter )
   Expires-content      = date-time
   Expires-header       = "Expires" ":" SP Expires-content
                   *( ";" extension-parameter )
   Followup-To-content  = Newsgroups-content /
                [FWS] %x70.6F.73.74.65.72 [FWS]
                ; which is a case-sensitive "poster"
   Followup-To-header   = "Followup-To" ":" SP Followup-To-content
                   *( ";" extension-parameter )
   From-content         = mailbox-list
   From-header          = "From" ":" SP From-content
   Injector-Info-content= [CFWS] path-identity [CFWS]
   Injector-Info-header = "Injector-Info" ":" SP Injector-Info-content
                   *( ";" ( Injector-Info-parameter /
                            extension-parameter ) )
   Injector-Info-parameter
              = posting-host-parameter /
                posting-account-parameter /
                posting-sender-parameter /
                posting-logging-parameter /
                posting-date-parameter
   Keywords-content     = phrase *( "," phrase )
   Keywords-header      = "Keywords" ":" SP Keywords-content
   Lines-content        = [CFWS] 1*DIGIT [CFWS]
   Lines-header         = "Lines" ":" SP Lines-content
                   *( ";" extension-parameter )
   Mail-Copies-To-content
              = copy-addr / [CFWS] ( "nobody" /
                            "poster" ) [CFWS]
   Mail-Copies-To-header= "Mail-Copies-To" ":" SP Mail-Copies-To-content
   Message-ID-content   = [FWS] msg-id [FWS]
   Message-ID-header    = "Message-ID" ":" SP Message-ID-content
   Newsgroups-content   = [FWS] newsgroup-name
                   *( [FWS] ng-delim [FWS] newsgroup-name )
                   [FWS]
   Newsgroups-header    = "Newsgroups"  ":" SP Newsgroups-content
                        *( ";" extension-parameter )
   Organization-content = unstructured
   Organization-header  = "Organization" ":" SP Organization-content
   Path-content         = [FWS] *( path-identity [FWS]
                            path-delimiter [FWS]
                       ) tail-entry [FWS]
   Path-header          = "Path" ":" SP Path-content
                   *( ";" extension-parameter )
   Posted-And-Mailed-content
              = [CFWS] ( "yes" / "no" ) [CFWS]
   Posted-And-Mailed-header
              = "Posted-And-Mailed" ":" SP
                   Posted-And-Mailed-content
                   *( ";" extension-parameter )
   References-content   = [CFWS] msg-id *( CFWS msg-id ) [CFWS]
   References-header    = "References" ":" SP References-content
   Reply-To-content     = address-list
   Reply-To-header      = "Reply-To" ":" SP Reply-To-content
   Sender-content       = mailbox
   Sender-header        = "Sender" ":" SP Sender-content
   Subject-content      = [ [FWS] back-reference ] pure-subject
   Subject-header       = "Subject" ":" SP Subject-content
   Summary-content      = unstructured
   Summary-header       = "Summary" ":" SP Summary-content
   Supersedes-content   = [CFWS] msg-id [CFWS]
   Supersedes-header    = "Supersedes" ":" SP Supersedes-content
   User-Agent-content   = product *( CFWS product )
   User-Agent-header    = "User-Agent" ":" SP User-Agent-content
                   *( ";" extension-parameter )
   Xref-content         = [CFWS] server-name 1*( CFWS location ) [CFWS]
   Xref-header          = "Xref" ":" SP Xref-content
                   *( ";" extension-parameter )

Appendix B.3.2 - Control-message outlines

   control-message      = <empty> /
                Newgroup-message /
                Rmgroup-message /
                Mvgroup-message /
                Checkgroup-message /
                Cancel-message /
                Ihave-message /
                Sendme-message

   Cancel-arguments     = CFWS msg-id [CFWS]
   Cancel-message       = "cancel" Cancel-arguments
   Checkgroup-arguments = [ chkscope ] [ chksernr ]
   Checkgroup-message   = "checkgroups" Checkgroup-arguments
   Ihave-arguments      = relayer-name
   Ihave-message        = "ihave" Ihave-arguments
   Mvgroup-arguments    = CFWS newsgroup-name CFWS newsgroup-name
                   [ CFWS newgroup-flag ]
   Mvgroup-message      = "mvgroup" Mvgroup-arguments
   Newgroup-arguments   = CFWS newsgroup-name [ CFWS newgroup-flag ]
   Newgroup-message     = "newgroup" Newgroup-arguments
   Rmgroup-arguments    = CFWS newsgroup-name
   Rmgroup-message      = "rmgroup" Rmgroup-arguments
   Sendme-arguments     = Ihave-arguments
   Sendme-message       = "sendme" Sendme-arguments

Appendix B.3.3 - Other header rules

   article-locator      = 1*( %x21-27 / %x29-3A / %x3C-7E )
                        ; US-ASCII printable characters
                        ; except'(' and ';'
   article-size         = 1*DIGIT
   back-reference       = %x52.65.3A.20
                        ; which is a case-sensitive "Re: "
   batch                = 1*( batch-header article )
   batch-header         = "#!" SP rnews SP article-size CRLF
   checkgroups-body     = *( valid-group CRLF )
   chkscope             = 1*( CFWS ["!"] newsgroup-name )
   chksernr             = CFWS "#" 1*DIGIT
   combiner-ASCII       = DIGIT / ALPHA / "+" / "-" / "_"
   combiner-base        = combiner-ASCII / combiner-extended
   combiner-extended    = <any character with a Unicode code value of
                 0080 or greater but excluding any character
                 in Unicode categories Cc, Cf, Cs, M* and Z*>
   combiner-mark        = <any character with a Unicode code value of
                 0080 or greater and in Unicode category M*>
   component            = 1*component-grapheme
   component-grapheme   = combiner-base *combiner-mark
   copy-addr            = address-list
   dist-delim           = ","
   distribution         = [FWS] distribution-name [FWS]
   distribution-name    = ALPHA 1*distribution-rest
   distribution-rest    = ALPHA / "+" / "-" / "_"
   groupinfo-body       = [ newsgroups-tag CRLF ]
                   newsgroups-line CRLF
3  hex4                 = 1*4HEXDIG
3  hexpart              = hexseq / hexseq "::" [ hexseq ] /
                "::" [ hexseq ]
3  hexseq               = hex4 *( ":" hex4 )
   host-value           = dot-atom /
                [ dot-atom ":" ]
                  ( IPv4address / IPv6address )
                  ; see  [RFC 2373]
2  id-left              = dot-atom-text / no-fold-quote
2  id-right             = dot-atom-text / no-fold-literal
   ihave-body           = *( msg-id CRLF )
3  IPv4address          = 1*3DIGIT "." 1*3DIGIT "."
                   1*3DIGIT "." 1*3DIGIT
3  IPv6address          = hexpart [ ":" IPv4address ]
   location             = newsgroup-name ":" article-locator
   moderation-flag      = %x28.4D.6F.64.65.72.61.74.65.64.29
                   ; case sensitive "(Moderated)"
2* msg-id               = "<" id-left "@" id-right ">"
   newgroup-flag        = "moderated"
   newsgroup-description
              = utext *( *WSP utext )
   newsgroup-name       = component *( "." component )
   newsgroups-line      = newsgroup-name
                   [ 1*HTAB newsgroup-description ]
                   [ 1*WSP moderation-flag ]
   newsgroups-tag       = %x46.6F.72 SP %x79.6F.75.72 SP
                   %x6E.65.77.73.67.72.6F.75.70.73 SP
                   %x66.69.6C.65.3A
                   ; case sensitive
                   ; "For your newsgroups file:"
   ng-delim             = ","
2* no-fold-literal      = "[" *( dtext / "\[" / "\]" / "\\" ) "]"
2* no-fold-quote        = DQUOTE
                   *( strict-qtext / "\\" / "\" DQUOTE )
                   qspecial
                   *( strict-qtext / "\\" / "\" DQUOTE )
                   DQUOTE
   path-delimiter       = "/" / "?" / "%" / "," / "!"
   path-identity        = ( ALPHA / DIGIT )
                   *( ALPHA / DIGIT / "-" / "." / ":" / "_" )
   posting-account-parameter
              = <a parameter with attribute "posting-account"
                 and any value>
   posting-date-parameter
              = <a parameter with attribute "posting-date"
                 and value some date-time>
   posting-host-parameter
              = <a parameter with attribute "posting-host"
                 and value some host-value>
   posting-logging-parameter
              = <a parameter with attribute "logging-data"
                 and any value>
   posting-sender-parameter
              = <a parameter with attribute "sender"
                 and value some sender-value>
   product              = [CFWS] token [CFWS] [ "/" product-version ]
   product-version      = [CFWS] token [CFWS]
   pure-subject         = unstructured
   qspecial             = "(" / ")" /        ; same as specials except
                "<" / ">" /        ; "\" and DQUOTE quoted
                "[" / "]" /
                ":" / ";" /
                "@" / "\\" /
                "," / "." /
                "\" DQUOTE
   relayer-name         = path-identity
   rnews                = %x72.6E.65.77.73 ; case sensitive "rnews"
   sender-value         = mailbox / "verified"
   sendme-body          = ihave-body
   server-name          = path-identity
   tail-entry           = path-identity
   valid-group          = newsgroups-line

Appendix C - Notices

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.

Full Copyright Statement

   Copyright (C) The Internet Society (2002). All Rights Reserved

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the  purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
[< Prev] [TOC]
#Diff to first older
NewerOlder
usefor-usepro February 2005
usefor-usepro December 2004
usefor-usepro September 2004
usefor-usepro August 2004
News Article Format and Transmission May 2004
News Article Format and Transmission November 2003
News Article Format June 2003
News Article Format April 2003
News Article Format August 2002
News Article Format May 2002

--- ../usefor-article-08/Contact_Address.out          August 2002
+++ ../usefor-article-09/Contact_Address.out          February 2003
@@ -15,9 +15,7 @@
 
 Working group chair
 
-        David Barr
-        Digital Island
-        Email: barr@visi.com
+        Position currently vacant.
 ]
 
    Comments on this draft should preferably be sent to the mailing list
@@ -26,13 +24,12 @@
         usenet-format@landfield.com.
 
    This draft expires six months after the date of publication (see Page
-   1) (i.e. in Feb 2003).
+   1) (i.e. in Aug 2003).
 
 Appendix A.1 - A-News Article Format
 
    The obsolete "A News" article format consisted of exactly five lines
    of header information, followed by the body. For example:
-
       Aeagle.642
       news.misc
       cbosgd!mhuxj!mhuxt!eagle!jerry
@@ -84,7 +81,6 @@
 
    This format is documented for archeological purposes only.  Articles
    MUST NOT be generated in this format.
-
 Appendix A.3 - Obsolete Headers
 
    Early versions of news software following the modern format sometimes
@@ -99,6 +95,7 @@
    information about the posting agent that posted the article. Date-
    Received contained the date when the last relaying agent to process
    the article first saw it (in a slightly nonstandard format).
+
    In addition, this present standard obsoletes certain headers defined
    in [Son-of-1036] (see 6.22):
 
@@ -151,6 +148,7 @@
 
    These forms are documented for archeological purposes only; they MUST
    NO LONGER be used.
+
 Appendix B - Collected Syntax
 
 Appendix B.1 - Characters, Atoms and Folding
@@ -185,18 +183,19 @@
                 %d127
 4  SP                   = %x20             ; space
 4  WSP                  = SP / HTAB        ; whitespace characters
-   UTF8-xtra-2-head     = %xC2-DF
-   UTF8-xtra-3-head     = %xE0 %xA0-BF / %xE1-EC %x80-BF /
-                %xED %x80-9F / %xEE-EF %x80-BF
-   UTF8-xtra-4-head     = %xF0 %x90-BF / %xF1-F7 %x80-BF
-   UTF8-xtra-5-head     = %xF8 %x88-BF / %xF9-FB %x80-BF
-   UTF8-xtra-6-head     = %xFC %x84-BF / %xFD    %x80-BF
-   UTF8-xtra-char       = UTF8-xtra-2-head 1( UTF8-xtra-tail ) /
-                UTF8-xtra-3-head 1( UTF8-xtra-tail ) /
-                UTF8-xtra-4-head 2( UTF8-xtra-tail ) /
-                UTF8-xtra-5-head 3( UTF8-xtra-tail ) /
-                UTF8-xtra-6-head 4( UTF8-xtra-tail )
-   UTF8-xtra-tail       = %x80-BF
+   UTF8-2               = %xC2-DF UTF8-tail
+   UTF8-3               = %xE0 %xA0-BF UTF8-tail /
+                %xE1-EC 2(UTF8-tail) /
+                %xED %x80-9F UTF8-tail /
+                %xEE-EF 2(UTF8-tail)
+   UTF8-4               = %xF0 %x90-BF 2(UTF8-tail) /
+                %xF1-F7 3(UTF8-tail)
+   UTF8-5               = %xF8 %x88-BF 3(UTF8-tail) /
+                %xF9-FB 4(UTF8-tail)
+   UTF8-6               = %xFC %x84-BF 4(UTF8-tail) /
+                %xFD 5(UTF8-tail)
+   UTF8-tail            = %x80-BF
+   UTF8-xtra-char       = UTF8-2 / UTF8-3 / UTF8-4 / UTF8-5 / UTF8-6
 2  atext                = ALPHA / DIGIT /
                 "!" / "#" /      ; Any character except
                 "$" / "%" /      ; controls, SP, and specials.
@@ -302,7 +301,7 @@
    other-header         = header-name ":" 1*SP other-content
    other-content        = <the content of a header defined by some
                    other standard>
-   other-parameter      = <a parameter not defined by this standard>
+   extension-parameter  = <a parameter not defined by this standard>
 5  parameter            = attribute "=" value
 2  second               = 2DIGIT
    separator            = CRLF
@@ -349,36 +348,37 @@
 
    Approved-content     = From-content
    Approved-header      = "Approved" ":" SP Approved-content
-                   *( ";" other-parameter )
+                   *( ";" extension-parameter )
    Archive-content      = [CFWS] ("no" / "yes" ) [CFWS]
    Archive-header       = "Archive" ":" SP Archive-content
                    *( ";" ( Archive-parameter /
-                            other-parameter ) )
+                            extension-parameter ) )
    Archive-parameter    = <a parameter with attribute "filename"
                  and any value>
    Complaints-To-content= address-list
    Complaints-To-header = "Complaints-To" ":" SP Complaints-To-content
    Control-content      = [CFWS] control-message [CFWS]
    Control-header       = "Control" ":" SP Control-content
-                   *( ";" other-parameter )
+                   *( ";" extension-parameter )
    Date-content         = date-time
    Date-header          = "Date" ":" SP Date-content
-                   *( ";" other-parameter )
    Distribution-content = distribution *( dist-delim distribution )
    Distribution-header  = "Distribution" ":" SP Distribution-content
-                   *( ";" other-parameter )
+                   *( ";" extension-parameter )
    Expires-content      = date-time
    Expires-header       = "Expires" ":" SP Expires-content
-                   *( ";" other-parameter )
-   Followup-To-content  = Newsgroups-content / [FWS] "poster" [FWS]
+                   *( ";" extension-parameter )
+   Followup-To-content  = Newsgroups-content /
+                [FWS] %x70.6F.73.74.65.72 [FWS]
+                ; which is a case-sensitive "poster"
    Followup-To-header   = "Followup-To" ":" SP Followup-To-content
-                   *( ";" other-parameter )
+                   *( ";" extension-parameter )
    From-content         = mailbox-list
    From-header          = "From" ":" SP From-content
    Injector-Info-content= [CFWS] path-identity [CFWS]
    Injector-Info-header = "Injector-Info" ":" SP Injector-Info-content
                    *( ";" ( Injector-Info-parameter /
-                            other-parameter ) )
+                            extension-parameter ) )
    Injector-Info-parameter
               = posting-host-parameter /
                 posting-account-parameter /
@@ -387,56 +387,51 @@
                 posting-date-parameter
    Keywords-content     = phrase *( "," phrase )
    Keywords-header      = "Keywords" ":" SP Keywords-content
-                   *( ";" other-parameter )
    Lines-content        = [CFWS] 1*DIGIT [CFWS]
    Lines-header         = "Lines" ":" SP Lines-content
-                   *( ";" other-parameter )
+                   *( ";" extension-parameter )
    Mail-Copies-To-content
               = copy-addr / [CFWS] ( "nobody" /
                             "poster" ) [CFWS]
    Mail-Copies-To-header= "Mail-Copies-To" ":" SP Mail-Copies-To-content
    Message-ID-content   = [FWS] msg-id [FWS]
    Message-ID-header    = "Message-ID" ":" SP Message-ID-content
-                   *( ";" other-parameter )
    Newsgroups-content   = [FWS] newsgroup-name
                    *( [FWS] ng-delim [FWS] newsgroup-name )
                    [FWS]
    Newsgroups-header    = "Newsgroups"  ":" SP Newsgroups-content
-                        *( ";" other-parameter )
+                        *( ";" extension-parameter )
    Organization-content = unstructured
    Organization-header  = "Organization" ":" SP Organization-content
    Path-content         = [FWS] *( path-identity [FWS]
                             path-delimiter [FWS]
                        ) tail-entry [FWS]
    Path-header          = "Path" ":" SP Path-content
-                   *( ";" other-parameter )
+                   *( ";" extension-parameter )
    Posted-And-Mailed-content
               = [CFWS] ( "yes" / "no" ) [CFWS]
    Posted-And-Mailed-header
               = "Posted-And-Mailed" ":" SP
                    Posted-And-Mailed-content
-                   *( ";" other-parameter )
+                   *( ";" extension-parameter )
    References-content   = [CFWS] msg-id *( CFWS msg-id ) [CFWS]
    References-header    = "References" ":" SP References-content
-                   *( ";" other-parameter )
    Reply-To-content     = address-list
    Reply-To-header      = "Reply-To" ":" SP Reply-To-content
    Sender-content       = mailbox
    Sender-header        = "Sender" ":" SP Sender-content
-                   *( ";" other-parameter )
    Subject-content      = [ [FWS] back-reference ] pure-subject
    Subject-header       = "Subject" ":" SP Subject-content
    Summary-content      = unstructured
    Summary-header       = "Summary" ":" SP Summary-content
    Supersedes-content   = [CFWS] msg-id [CFWS]
    Supersedes-header    = "Supersedes" ":" SP Supersedes-content
-                   *( ";" other-parameter )
-   User-Agent-content   = product-token *( CFWS product-token )
+   User-Agent-content   = product *( CFWS product )
    User-Agent-header    = "User-Agent" ":" SP User-Agent-content
-                   *( ";" other-parameter )
+                   *( ";" extension-parameter )
    Xref-content         = [CFWS] server-name 1*( CFWS location ) [CFWS]
    Xref-header          = "Xref" ":" SP Xref-content
-                   *( ";" other-parameter )
+                   *( ";" extension-parameter )
 
 Appendix B.3.2 - Control-message outlines
 
@@ -464,6 +459,7 @@
    Rmgroup-message      = "rmgroup" Rmgroup-arguments
    Sendme-arguments     = Ihave-arguments
    Sendme-message       = "sendme" Sendme-arguments
+
 Appendix B.3.3 - Other header rules
 
    article-locator      = 1*( %x21-27 / %x29-3A / %x3C-7E )
@@ -548,8 +544,8 @@
    posting-sender-parameter
               = <a parameter with attribute "sender"
                  and value some sender-value>
-   product-token        = value [ "/" product-version ]
-   product-version      = value
+   product              = [CFWS] token [CFWS] [ "/" product-version ]
+   product-version      = [CFWS] token [CFWS]
    pure-subject         = unstructured
    qspecial             = "(" / ")" /        ; same as specials except
                 "<" / ">" /        ; "\" and DQUOTE quoted
@@ -567,6 +563,7 @@
    valid-group          = newsgroups-line
 
 Appendix C - Notices
+
 Intellectual Property
 
    The IETF takes no position regarding the validity or scope of any


Documents were processed to this format by Forrest J. Cavalier III