Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SEND-UUCP(8)		  InterNetNews Documentation		  SEND-UUCP(8)

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 originally written by  Mark
       Brown  <broonie@sirena.org.uk>,	and the	detailed procedure to set up a
       UUCP feed added by Julien Elie.

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

INN 2.8.0			  2024-12-27			  SEND-UUCP(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=send-uucp&sektion=8&manpath=FreeBSD+Ports+14.3.quarterly>

home | help