Provided by: sn_0.3.8-12_amd64 bug

NAME

       snsend - distribute articles
       snstore - store articles locally

SYNOPSIS

       snsend [-rvcna]
       snstore [-rvcna]

DESCRIPTION

       snsend  reads articles from descriptor 0 and distributes each one into each newsgroup they
       are posted to, like inews.  snstore does the same but stores them all locally.  The  input
       articles are expected to be in wire format (lines end with CRLF, leading dots are doubled,
       and articles are terminated with a lone dot).

       Control messages are not treated specially.

       The newsgroups list is taken from the X-sn-Newsgroups field if it exists; otherwise it  is
       taken  from  the  Newsgroups  field,  which must exist or the article will be junked.  All
       fields whose names begin with X-sn- (case insensitive) are always removed.

       If Date or Message-ID are not present,  these  are  created.   The  local  hosts  name  is
       prepended to the Path field.

       If an article is to be junked, it is sent to the junk newsgroup if it exists, otherwise it
       is discarded.

ROUTING

       This applies only to snsend.  snstore does not route; it treats all news.groups as  though
       they  were  local  (see  Nonexistent  newsgroup and Local newsgroup below).  If any of the
       following fails, snsend aborts:

       For each news.group an article is  (cross-)  posted  to,  snsend  routes  the  article  as
       follows, aborting if any action fails:

       Nonexistent newsgroup
              If /var/spool/sn/news.group is not a directory, snsend ignores this news.group.  If
              all news.groups are thus ignored, the article is junked.

       Global newsgroup
              If /var/spool/sn/news.group/.outgoing is a (symlink to a) directory, snsend  stores
              the  article  into  a  file in that directory, if the same article does not already
              exist there (so news.group's upstream feed doesn't get multiple copies of the  same
              article.)  Such in-transit article files are given names that begin with a $ sign.

       Local processing via script
              Otherwise  if  /var/spool/sn/news.group/.outgoing is a regular file, it is taken to
              be a script or program and is run with the article available  on  its  input.   See
              /var/spool/sn/dot-outgoing.ex.

       Local processing via fifo
              Otherwise  if  /var/spool/sn/news.group/.outgoing is a fifo, the article is written
              into it.  It is an error if nothing is reading the fifo.

       Local newsgroup
              Otherwise if /var/spool/sn/news.group/.outgoing does  not  exist,  the  article  is
              stored into news.group.

OPTIONS

       Options apply to snsend and snstore equally.

       -r     The  article stream is in rnews batch format, rather than wire format.  Only the #!
              rnews form is understood.

       -c     If an article already exists in the local newsgroup it is destined for, don't store
              it there.  For snsend, this option has no effect on newsgroups that are not local.

       -a     (Aliases  not  allowed.)   When  storing to multiple local newsgroups, do not alias
              subsequent copies to the first, instead, make a copy.  Aliasing saves  disk  space,
              but  when the original expires, so do all aliases to it.  This option has no effect
              on newsgroups that are not local.

       -n     Don't actually do anything with the article, just dump it back onto descriptor 1.

       -v     For each article stored in each newsgroup, output a line to descriptor 1 similar to
              what snscan would emit, except that for non-local newsgroups the serial number will
              always be 0.

FILES

       /var/spool/sn/news.group.name/
              This includes /var/spool/sn/=junk newsgroup if  it  exists.   Each  such  directory
              represents  the  newsgroup of the same name, and articles are stored in files 1, 2,
              3, etc. beneath it.  Each such file contains 1 or more articles.  This is  contrary
              to the traditional form of /var/spool/sn/news/group/name.  news.group.name.

       /var/spool/sn/news.group/.outgoing
              See  also  ROUTING above.  The presence of this directory indicates that news.group
              is global, and articles posted to news.group end up here in files named $*.   These
              files are linked in already complete, so all such files are ready to be uploaded.

       /var/spool/sn/news.group/.compress
              If  this file exists, articles stored in news.group are candidates for compression.
              The content of the file is a number representing a minimum article body size  below
              which  compression  won't be applied.  If the file is empty this threshold defaults
              to 1024 bytes.

       /var/spool/sn/.me
              If this file exists, it's contents are  taken  to  be  the  local  hosts  name  for
              purposes of the Path field.  Otherwise the name is obtained from gethostname(2).

ENVIRONMENT VARIABLES

       See  also  /usr/sbin/dot-outgoing.ex  for  other  variables exported when snsend invokes a
       .outgoing program.

       SNROOT If this is set, its value is used in place of /var/spool/sn.

EXIT CODES

       snsend and snstore exit 0 on success, 1 on usage error, 2 on system error,  3  on  article
       format  error,  and 9 if /var/spool/sn/news.group/.outgoing (snsend only) exits with other
       than 0.

SEE ALSO

       /usr/sbin/dot-outgoing.ex, snscan(1)