Provided by: sn_0.3.8-4_i386 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)