snntpd - small news server
snntpd [-t timeout] [-P] [-S]
[logger...]
snntpd is a small news server. It needs to be run under
inetd or tcpserver, as root or as the owner of /var/spool/sn. snntpd
does not fork into the background. It expects to read and write from and to
the network on descriptors 0 and 1.
logger... (usually /usr/bin/logger) is taken to be a
logging program, and all log output is piped to it. If logger... is
not specified, log messages are directed to descriptor 2.
- -t timeout
- specifies how long snntpd should wait for input before it gives up
and exits. timeout is in seconds and defaults to 600.
- -P
- snntpd includes it's pid in log output.
- -S
- Suppress NNTP greeting on startup. This is useful if you want to perform
authentication before running snntpd, or want to provide your own
greeting, from a wrapper.
Posts are usually handled externally by the
/usr/sbin/SNPOST script, which is responsible for fine-grain posting
control; handling of control messages; and the ultimate distribution of the
posted article.
snntpd permits or denies posting in a very simple
manner:
If /var/spool/sn/.nopost exists, posting is not
allowed.
Otherwise, if the environment variable POSTING_OK is not
set, posting is not allowed.
Otherwise if POSTING_OK is set (to the empty string),
posting is generally allowed, and all POSTed articles are piped to the
SNPOST script, which has the final say in the matter. The value of
$POSTING_OK is not currently used, but is reserved.
- /var/spool/sn/.fifo
- If this file exists, and is a fifo, snntpd will write the name of a
newsgroup into it as that newsgroup becomes the current one. If the fifo
does not exist snntpd will not create it.
- /var/spool/sn/.noservice
- If this file exists, snntpd will display its first line and exit.
If the file can't be read or is empty, a default message is displayed.
This is useful for temporarily disabling the news server while you perform
any maintenance.
- /var/spool/sn/.nopost
- See POSTING PERMISSIONS above.
- /var/spool/sn/.SNPOST
- If this script or program exists, it is invoked instead of SNPOST
to accept a posted article.
- /var/spool/sn/news.group.name/.nopost
- These files really belong to SNPOST, and it is unfortunate that
snntpd has to check for their existence to determine the posting
flag for the LIST command. See /usr/sbin/SNPOST.
- /var/spool/sn/news.group.name/.info
- If this file exists, its first line is taken as the description of that
group for use with the LIST NEWSGROUPS command.
- /var/spool/sn/news.group.name/.times
- is a binary file containing entry times, to support the NEWNEWS
command.
- /var/spool/sn/news.group.name/.created
- is an empty file retained for it's timestamp, to support the
NEWGROUPS command.
If snntpd catches SIGHUP, the files
/var/spool/sn/{.fifo,.noservice,.nopost} (see below)
are checked again, as they are during startup. Other signals have default
behaviour.
See also /usr/sbin/SNPOST for a list of environment
variables exported by snntpd.
- PATH
- The PATH must be set such that snntpd can find SNPOST in
order to accept postings. If PATH does not include /usr/sbin,
/usr/sbin will be appended to it.
- POSTING_OK
- This variable helps determine the site-wide posting policy. See POSTING
PERMISSIONS above.
- TCPREMOTEIP
- If this value is set, it is taken to be the dotted-quad IP address of the
connecting client. If it is not set, snntpd attempts to derive it
for itself, and then set its value.
- TCPLOCALIP
- as above, but for the server's dotted-quad IP.
- SNROOT
- If this is set and is not empty, the value is used everywhere in place of
/var/spool/sn, the default news spool directory.