NEWSSYS(5) NEWSSYS(5)
9 Sept 1994
NAME
newssys - USENET network news sys (neighbours) file
DESCRIPTION
The file /opt/c_news/etc/sys describes which news groups this site is
willing to receive and which groups it is willing to transmit to each
netnews neighbour. It is public information and is sent automatically
to any site that sends a sendsys control message. A sys line has four
fields, separated by colons: system-
name/exclusion1,exclusion2...:subscriptions/distributions:flags:transmission
command
A # as the first character in a line denotes a comment. Empty lines
are ignored. A (non-comment) sys entry may be continued to the next
line by putting a \ at the end of the current line. Spaces are
permitted in sys only in comments, transmission command when it really
is a command and not a filename, and, for B news compatibility, at the
start of a continuation line (after a \ and a newline).
Of the sys fields, only the system-name need be present. If a field
and all the fields after it are omitted, the colon immediately before
that field and all the colons after it may be omitted too. The
optional subfields (exclusions and distributions) and their leading
slashes may be omitted.
The system name is the name of the system being sent to, and is
checked against site names in Path: headers to avoid sending an
article back to a site that has seen it. The exclusions are also
checked against the Path: header and articles are not sent to system
name if they have visited any of the exclusions.
(The special system name ME stands for the name of the machine news is
running on, as determined from /opt/c_news/etc/whoami. The ME line,
or a line whose system name is explicitly that of the machine news is
running on, has a rather different meaning from that of the other sys
file lines: its subscriptions subfield identifies the newsgroups that
this site subscribes to (i.e. is willing to receive), and its other
fields and subfields are ignored. There should be one such line in
the file.)
subscriptions is a comma-separated list of newsgroup patterns
specifying the newsgroups to be transmitted to the system; each
newsgroup from the Newsgroups: header of each article is matched
against the pattern list, and if any newsgroup matches the pattern
list, the article is transmitted. The rules for matching a newsgroup
against a single pattern are:
+ words in a newsgroup or a pattern are delimited by periods;
+ words of a pattern and a newsgroup match only if they are
identical, except that the word all in a pattern matches any
- 1 - Formatted: October 24, 2025
NEWSSYS(5) NEWSSYS(5)
9 Sept 1994
newsgroup word;
+ a newsgroup is matched against a pattern word by word, and all
words must match for the newsgroup to match that pattern;
+ if the pattern has fewer words than the newsgroup, the pattern is
implicitly extended to the same number of words by appending .all
as many times as necessary;
+ if the newsgroup has fewer words than the pattern, the newsgroup
does not match the pattern;
+ if pattern matches a newsgroup, !pattern mismatches that newsgroup.
A newsgroup matches a pattern list if, and only if, it matches at
least one of the patterns and:
+ the newsgroup does not mismatch any of the patterns, or
+ the longest matched pattern is longer than the longest mismatched
pattern (length is measured in number of words, with each explicit
occurrence of all counted as slightly less than one word, and does
not include the implicit extension of patterns with .all). Note
that order in the lists is not significant, and that ties are
broken in favor of not matching. An example:
comp,comp.sys.sun,!comp.sys matches all the comp groups, except the
comp.sys groups but including comp.sys.sun.
The distributions in the Distribution: header are similarly matched
against the distributions subfield, if any. If no distributions are
supplied, Distribution: will be matched against the subscriptions
instead. (The Distribution: header is ignored when receiving news; it
is only significant when sending.)
Note that some older news software reportedly attached magical
significance to the distributions ``world'' and ``local''; C News
treats them as ordinary distribution names with no special properties
(except that ``world'' is the default distribution of an article if
none appears explicitly). For example, a distributions list like
all,!local will not prevent local articles from being sent unless they
contain explicit Distribution: local lines. Note too that the
distribution ``world'' must be permitted (perhaps by the distribution
``all'') in order to feed Distribution:-less articles (the common
case) to a site.
The flags are a set of letters describing how the article should be
transmitted. Valid flags include f (interpret transmission command as
a file name and write the article's file name relative to
/opt/c_news/var and size in bytes on the end of it), F (like f but
omit the size), I (like F but write Message-ID:s instead of
filenames), n (like F but write a Message-ID: after each filename), Ln
(only send articles generated within n hops of here; 0 is the default
- 2 - Formatted: October 24, 2025
NEWSSYS(5) NEWSSYS(5)
9 Sept 1994
value for n), m (transmit only moderated groups), u (transmit only
unmoderated groups). There are other obsolete ones. The transmission
command is executed by the shell with the article to be transmitted as
the standard input. The substring `%s' will be replaced at most once
per command with the name of a file containing the article, relative
to /opt/c_news/var (`%%' is replaced by `%'). The default is `uux -
-z -r sysname!rnews' for a command; the PATH searched includes
/opt/c_news/bin/relay, so that the commands described in newsmail(8)
are available as alternatives to uux. If one of the flags has caused
this field to be taken as a filename, the default is
/opt/c_news/var/out.going/sysname/togo; if a filename is given but it
does not start with `/', it is assumed to be relative to the
/opt/c_news/var/out.going directory.
EXAMPLES
A complex sys file.
# line indicating what we are willing to receive; note local groups near end
ME:comp,news,sci,rec,misc,soc,talk,can,ont,tor,ut,to
# sample insignificant feed not using batching (for special situations only)
huey:news.config,to.huey/all::uux - -r -gd huey!rnews
# sample of mailing newsgroups to someone (note distribution)
daisy:soc.women,soc.couples/all::mail daisy@duck
# sample small feed using batching
gladstone:comp.protocols.tcp-ip,rec.aviation/all:f:
# sample major batched feed, including assorted regional newsgroups, with
# (unnecessary) explicit file name
dewey:comp,news,sci,rec,misc,soc,talk,can,ont,tor,ut,to.dewey/all:f:dewey/togo
# sample long-haul feed; note no regional groups, exclusion of a local
# distribution, and exclusion of anything that passed through him under
# another name (needed because he puts that form, not just "donald", in
# his Path lines)
donald/donald.angry.duck:comp,news,sci,rec,misc,soc,talk,to.donald/all,!ut:f:
# sample local-postings-only feed direct to major site (gets them out fast)
scrooge:comp,news,sci,rec,misc,soc,talk,to.scrooge/all:Lf:
# sample ihave/sendme link
# NOTE, this is uucp ihave/sendme, not related to NNTP in any way.
# Send ihave telling louie what we have -- batcher turns the batch into a
# giant control message and posts it to "to.louie".
louie.wehave/louie:comp,news,sci,rec,misc,soc,talk,!to/all:I:
# Send the actual control messages
louie:to.louie/all:f:
# Also, since ihave/sendme is slow, send local postings to louie without
# waiting for ihave/sendme
louie:comp,news,sci,rec,misc,soc,talk,!to/all:Lf:
# for a site we feed with snntp
zaphod.mps.ohio-state.edu:all:n:/opt/c_news/var/out.nntp/zaphod.mps.ohio-state.edu
- 3 - Formatted: October 24, 2025
NEWSSYS(5) NEWSSYS(5)
9 Sept 1994
(The ``to.sysname'' groups are normal newsgroups used for testing
individual news feeds and conveying ihave/sendme messages.)
FILES
/opt/c_news/etc/sys
SEE ALSO
newsbatch(8CN), relaynews(8CN)
HISTORY
Written by Geoff Collyer and Henry Spencer for the C News project.
BUGS
The flags field is a bit of mess: there are too many formatting flags
and they aren't orthogonal.
- 4 - Formatted: October 24, 2025