RELAYNEWS(8CN)                                                  RELAYNEWS(8CN)

       relaynews - store and forward netnews articles

       /usr/lib/news/relay/relaynews [ -hsux ] [ -a dupsite ] [ -b xrefsite ]
       [ -c currdir ] [ -d fhlmt ] [ -o days ] [ -n notefile ]

       Relaynews installs locally and broadcasts (network) news articles read
       from its standard input.  Typically the articles will be in a batch
       (see news(5)), which must not be compressed (see compress(1)).
       Articles are usually queued for transmission to one's netnews
       neighbours via newsbatch(8CN) and thence via uux(1) or snntp(1).

       -d turns on debugging of filing, headers, locking, matching,
       transmission.  -h prevents generation of history entries for rejected
       articles; the default behaviour generates larger history files that
       allow NNTP receivers to more efficiently reject offered articles.  -s
       makes discarding an article a serious matter, justifying a non-zero
       exit status (for the benefit of inews).  -c is an optimisation: currdir
       is assumed to be the current directory; in the absence of this option,
       pwd is invoked.  -u unlinks (removes) any filename arguments after
       successful processing; they are assumed to be relative to currdir
       (`pwd` if none).  -o causes articles with dates (in Date: headers) more
       than days old to be dropped (usually to stop accidentally-retransmitted
       old articles).  -n causes the current time (as decimal ASCII) to be
       written into the notefile (which should be an absolute pathname) once
       if relaynews finds it necessary to use symbolic links when filing

       -x prevents generation of Xref: headers in articles filed in exactly
       one newsgroup; use of this option will interfere with generation of
       news overview data and mirroring via -b.  -b causes relaynews to not
       update active and file articles received directly from xrefsite under
       the groups and article numbers found in incoming Xref: headers.  -b
       provides the basis for a news mirroring facility.  -a similarly causes
       active to not be updated and duplicate articles received directly from
       dupsite to be accepted, but filed under the filenames found in their
       existing history entries.  It may be used to recover a news spool,
       given recent active and history files.

       Control messages, recognised by their Control: headers are filed under
       the control pseudo-group only, but are forwarded as usual, by examining
       their Newsgroups: and Distribution: headers.  Note that posting to the
       control pseudo-group will not cause a message to be treated as a
       control message; control is not a real newsgroup.

       An article which contains an Also-Control: header is treated normally
       except that the contents of the header are executed as if they were the
       contents of a Control: header.  Such an article is a form of hybrid
       message since it functions as an ordinary article yet also causes
       control functions to be executed.  The Supersedes: header is a special
       case and is rewritten internally only to Also-Control: cancel.

       Articles which contain no locally-known (to the active file) newsgroups
       yet accepted by the local subscription list are filed exactly once, in
       the junk pseudo-group, and forwarded as usual.  If all newsgroups in
       the article are refused by the local subscription list or are refused
       by an x in active file entries, then the article will be discarded and
       not filed in junk.

       Locally-generated articles need not be permitted by the local
       subscription list but are otherwise processed normally; this is for
       backward compatibility and perhaps to keep the local subscription list
       short by not requiring general and the like to be named.

       cd /var/spool/news/in.coming
       relaynews -uc /var/spool/news/in.coming -o 7 nntp.* >>/var/lib/news/log 2>>/var/lib/news/errlog"
            File and forward articles in batches that arrived by NNTP, and
            remove each batch upon successfully processing it.  Discard any
            articles more than a week old.

       /var/spool/news     netnews article tree
                           example newsgroup directory (for
                           comp.unix.wizards); such directories and their
                           ancestor directories will be created automatically
                           as needed
                           example article file name
                           default sys file F, f, n and I flags batch file
                           name (N.B.: /var/spool/news/out.going/system will
                           not be automatically created as needed)
       /var/lib/news/sys   determines who receives broadcast netnews articles,
                           which ones, and how they are to be sent articles
                           contains locally-legal newsgroups and (un)moderated
                           record of articles received and mapping of message-
                           ids to file names
                           dbm(3Z) index into history by message-ids
                           if present, contains news system's site name,
                           overriding any other host names
       /var/lib/news/log   conventional log of incoming articles
                           conventional log of errors, should be empty
                           article headers of the last relaynews invocation;
                           consumed to generate overview data
       /var/lib/news/bin   system-specific directory of programs to override
                           /usr/lib/news and its subdirectories
       /usr/lib/news/ctl   directory of programs to implement control messages
                           the lean, mean news-relayin' machine
                           generates a return address from article headers
                           /var/lib/news/replyusepath tells newsreply to use
                           the Path header rather than the From header for the
                           return address

       compress(1), snntp(1), uux(1), dbm(3Z), news(5), newsdb(5),
       newsbatch(8CN), rnews(8CN)
       ARPA Internet RFCs 1036 and 850

       Usually found in /var/lib/news/errlog.
       Relaynews's exit status is 0 for successful completion, 1 if at least
       one batch was bad and worth manual inspection, and 2 if the news system
       needs human attention.
       If relaynews cannot establish safe standard file descriptors and
       standardise its environment (notably PATH, SHELL and IFS), probably due
       to failure of malloc(3), it will exit with status of 1 and without
       writing any complaints on standard error (errlog), as a (possibly-
       obsolete) security precaution.

       Written by Geoff Collyer at the University of Toronto as part of the C
       news project.

       A control message which cannot be filed in the control pseudo-group and
       which cannot be filed in the junk pseudo-group because junk is not in
       the active file will generate an error message which refers to the
       groups in its Newsgroups: header instead of referring to the control

       Relaynews could run faster in some circumstances and would be simpler
       if Control: were required to be the first header, if present, and if
       Newsgroups: were required to be the next.

       The whole control message and hybrid message situation is a festering
       bug.  Either control messages should be eliminated, or all forms of
       backward compatibility should be dropped (including Control: and
       Supersedes:) and only Also-Control: should be supported.

                                10 October 1993                 RELAYNEWS(8CN)