Provided by: inn2_2.7.2~20240212-1build3_amd64 bug

NAME

       send-uucp - Send Usenet articles via UUCP

SYNOPSIS

       send-uucp [site ...]

DESCRIPTION

       The send-uucp program processes batch files written by innd(8) to send Usenet articles to UUCP sites.  It
       reads a configuration file to control how it behaves with various sites.  Normally, it is run
       periodically out of cron to put together batches and send them to remote UUCP sites.

       It makes it possible to reduce bandwidth usage and to send news to remote UUCP sites which cannot receive
       a real-time feed (for instance if they are over dial-up connections).

OPTIONS

       Any arguments provided to the program are interpreted as a list of sites specified in send-uucp.cf for
       which batches should be generated.  If no arguments are supplied, then batches will be generated for all
       sites listed in that configuration file.

CONFIGURATION

       The sites to which articles are to be sent must be configured in the configuration file send-uucp.cf in
       pathetc as set in inn.conf.  Each site is specified with a line of the form:

           site[:host[:funnel]] [compressor [maxsize [batchtime]]]

       site
           The news site name being configured.  This must match a site name from newsfeeds(5).

       host
           The  UUCP  host  name  to which batches should be sent for this site.  If omitted, the news site name
           will be used as the UUCP host name.

       funnel
           In the case of a site configured as a funnel, send-uucp needs to  flush  the  channel  (or  exploder)
           being  used  as the target of the funnel instead of flushing the site.  This is the way to tell send-
           uucp the name of the channel or exploder to flush for  this  site.   If  not  specified,  default  to
           flushing the site.

       compressor
           The  compression  method  to  use  for batches.  This should be one of "bzip2", "compress", "gzip" or
           "none".  Arguments for the compression command may be specified by using "_" instead of spaces.   For
           example, "gzip_-9".  The default value is "gzip".

       maxsize
           The maximum size in bytes of a single batch before compression.  The default value is "500000" bytes.

       batchtime
           A  comma  separated  list  of  hours during which batches should be generated for a given site.  When
           send-uucp runs, a site will only be processed if the  current  hour  matches  one  of  the  hours  in
           batchtime.  The default is no limitation on when to generate batches.

       Fields are separated by spaces and only the site name needs to be specified, with defaults being used for
       unspecified  values.   If the first character on a line is a hash sign ("#") then the rest of the line is
       ignored.

EXAMPLE

       Here is an example for the send-uucp.cf configuration file:

           zoetermeer      gzip            1048576         5,18,22
           hoofddorp       gzip            1048576         5,18,22
           pa3ebv          gzip            1048576         5,18,22
           drinkel         bzip2           1048576         5,6,18,20,22,0,2
           manhole         compress        1048576         5,18,22
           owl             compress        1048576
           able
           pern::MYFUNNEL!

       This defines eight UUCP sites.  The first three and the last two use "gzip" compression, the fourth  site
       ("drinkel") uses "bzip2" and the remaining sites ("manhole" and "owl") use "compress".  The first six use
       a  batch  size of 1 MB, and the two last sites ("able" and "pern") use the default of 500,000 bytes.  The
       "zoetermeer", "hoofddorp", "pa3ebv", and "manhole" sites will only have batches generated for them during
       the hours of 05:00, 18:00, and 22:00, and the "drinkel" site will  only  have  batches  generated  during
       those  hours  and  06:00,  20:00,  00:00,  and  02:00.  There are no restrictions on when batches will be
       generated for "owl", "able" and "pern".

       The "pern" site is configured as  a  funnel  into  "MYFUNNEL!".   send-uucp  will  issue  "ctlinnd  flush
       MYFUNNEL!" instead of "ctlinnd flush pern".

       As  for  the  newsfeeds file, the usual flags used for a UUCP feed are "Tf,Wnb".  Here is a typical entry
       for "zoetermeer", where the batching is kept between 4 KB and 1 KB:

           zoetermeer\
               :*,!junk,!control,!control.*/!foo\
               :Tf,Wnb,B4096/1024:

SETTING UP UUCP FEEDS

       Here are the steps to follow to set up a UUCP feed over SSH between two  news  servers,  using  the  UUCP
       implementation  available  in  Debian  as  the  "uucp" package.  The mechanisms described below should be
       transposed if you use another UUCP implementation.  (And if you do, please  inform  the  INN  maintainers
       about  how  to  set  up  a  feed  with  another  UUCP  implementation,  so  that  it can be added to this
       documentation.)

       1.  First of all, make sure rnews is correctly installed setuid "news", owned by group "uucp",  and  mode
           "4550".   This  will  allow the UUCP subsystem to run rnews to process UUCP batches of news articles.
           The "configure" flag --enable-uucp-rnews takes care of it when  installing  INN.   Otherwise,  you'll
           have to manually change the permissions on rnews.

       2.  Install the "uucp" package.  It will notably provide uucico(8) and uux(1).

       3.  Configure  in  /etc/uucp/Poll the remote news servers to poll, and the hours during which they are to
           be polled.  For instance, if you send to "news.server.to.feed" UUCP batches every 4  hours,  you  can
           use:

               schedule news.server.to.feed 00
               poll news.server.to.feed 00 04 08 12 16 20

           If sending is hourly, just list all the hours.

       4.  Configure  in  /etc/uucp/call  the  credentials  (usernames and passwords) to use when authenticating
           against remote news servers, one per line.  For instance:

               news.server.to.feed login password

       5.  Configure in /etc/uucp/config the UUCP name of the local news server.  For instance:

               nodename my.news.server

       6.  Check that /etc/uucp/expire fits your needs as for the number of days batches are retained as well as
           the configuration of daily reports.  Default values are normally fine, though you may want to receive
           a daily report only if unusual things happen (and in that case, just set "$important_only" to "1").

       7.  Configure in /etc/uucp/passwd the credentials (usernames and passwords  separated  by  a  tabulation)
           remote  news  servers  use  when  authenticating  against  the  local news server, one per line.  For
           instance:

               login<TAB>password

       8.  Configure in /etc/uucp/sys how remote news servers connect to the local news server.  A typical entry
           to set an SSH connection is the following one where pathbin should be changed to  the  real  path  to
           rnews:

               system news.server.to.feed
               call-login *
               call-password *
               commands <pathbin>/rnews
               time any
               chat "" \d\d\r\c ogin: \d\L word: \P
               chat-timeout 120
               protocol i
               port ssh.news.server.to.feed

       9.  Configure  in  /etc/uucp/port  how  to connect to remote news servers.  A typical entry to set an SSH
           connection using a private key is:

               port ssh.news.server.to.feed
               type pipe
               command /bin/ssh -a -x -q -i <key> -l uucp news.server.to.feed
               reliable true
               protocol etyig

           where key is the path to  the  private  key  to  use  for  the  SSH  connection,  like  for  instance
           /var/spool/uucp/.ssh/id_private_key.

       10. Make  sure  the  administrators  of  remote  news  servers  have  added  the  public  key  related to
           id_private_key for connections to the "uucp" user of the remote news servers.

       11. Supposing the home directory of the "uucp" user is /var/spool/uucp, you need  to  configure  the  SSH
           keys  in  the  .ssh  subdirectory.   First,  add  the  public  keys  of  all  remote  news servers in
           authorized_keys.  A typical entry is the following one, which should be in 1 line (it is wrapped here
           for a proper display in man page):

               no-port-forwarding,no-X11-forwarding,no-agent-forwarding,
               command="/usr/sbin/uucico -l",from="news.server.to.feed"
               ssh-rsa xxxyyyzzz uucp@news.server.to.feed

           This ensures the SSH connection will not be used for another goal than exchanging UUCP batches.

       12. Make sure id_private_key is correctly present, as set in /etc/uucp/port, and  only  readable  by  the
           "uucp" user.

       13. Manually  run  as  the  "uucp" user the command set in /etc/uucp/port so as to create the known_hosts
           file to make sure the SSH setting is fine.

              /bin/ssh -a -x -q -i <key> -l uucp news.server.to.feed

       14. Parameterize the feed to send to the remote servers.   A  typical  entry  in  newsfeeds  to  generate
           batches in pathoutgoing is:

               news.server.to.feed/pathname:*:Tf,Wnb,B4096/1024:

       15. Set  up  the  compression  method,  batch  sizes and when to generate them in send-uucp.cf located in
           pathetc, as described earlier in this documentation.

               news.server.to.feed   bzip2      1048576   3,7,11,15,19,23

       16. Check  that  send-uucp  is  started  hourly  in  crontab  by  the  "news"  user.   For  instance   in
           /etc/cron.d/inn2:

               52 * * * * news <pathbin>/send-uucp

           It  can  be  useful to set up a different launch time than your remote servers.  For instance, if you
           generate batches every hour at minute 52, a remote peer may do the same at minute 22.  This way,  you
           may exchange articles more frequently, depending on when each other connects.

       17. Check  that  UUCP programs are automatically started in crontab (usually, uudemon.hr is called hourly
           in /etc/cron.d/uucp to poll remote news servers, and uudemon.day daily in /etc/cron.daily/uucp).

           Like for send-uucp, adjust the launch time to maximize the number and the  freshness  of  batches  to
           exchanges.

       18. Check the logs in /var/log/uucp to ensure everything works fine, both polling and sending.

           You  will  see that send-uucp prepares rnews batches named like D.0I8Y, that are queued by uux.  When
           uucico is afterwards started from cron to transfer these batches, uucico takes available batches from
           the remote sites at the same time.  These received batches are then processed by  uuxqt  which  calls
           rnews to inject them.

           That's all!

FILES

       pathbin/send-uucp
           The Perl script itself used to create news batches from the outgoing files.

       pathetc/send-uucp.cf
           The configuration file which specifies a list of sites to be processed.

       pathlog/send-uucp.log
           The log file used if the syslog facility is not available.

HISTORY

       This  program  was  originally written by Edvard Tuinder <ed@elm.net> and then maintained and extended by
       Miquel van Smoorenburg  <miquels@cistron.nl>.   Marco  d'Itri  <md@linux.it>  cleaned  up  the  code  for
       inclusion in INN.  This manual page was written by Mark Brown <broonie@sirena.org.uk>.

SEE ALSO

       innd(8), newsfeeds(5), uucp(8).

INN 2.7.2                                          2024-03-31                                       SEND-UUCP(8)