1SEND-UUCP(8) InterNetNews Documentation SEND-UUCP(8)
2
3
4
6 send-uucp - Send Usenet articles via UUCP
7
9 send-uucp [site ...]
10
12 The send-uucp program processes batch files written by innd(8) to send
13 Usenet articles to UUCP sites. It reads a configuration file to
14 control how it behaves with various sites. Normally, it is run
15 periodically out of cron to put together batches and send them to
16 remote UUCP sites.
17
18 It makes it possible to reduce bandwidth usage and to send news to
19 remote UUCP sites which cannot receive a real-time feed (for instance
20 if they are over dial-up connections).
21
23 Any arguments provided to the program are interpreted as a list of
24 sites specified in send-uucp.cf for which batches should be generated.
25 If no arguments are supplied, then batches will be generated for all
26 sites listed in that configuration file.
27
29 The sites to which articles are to be sent must be configured in the
30 configuration file send-uucp.cf in pathetc as set in inn.conf. Each
31 site is specified with a line of the form:
32
33 site[:host[:funnel]] [compressor [maxsize [batchtime]]]
34
35 site
36 The news site name being configured. This must match a site name
37 from newsfeeds(5).
38
39 host
40 The UUCP host name to which batches should be sent for this site.
41 If omitted, the news site name will be used as the UUCP host name.
42
43 funnel
44 In the case of a site configured as a funnel, send-uucp needs to
45 flush the channel (or exploder) being used as the target of the
46 funnel instead of flushing the site. This is the way to tell send-
47 uucp the name of the channel or exploder to flush for this site.
48 If not specified, default to flushing the site.
49
50 compressor
51 The compression method to use for batches. This should be one of
52 "bzip2", "compress", "gzip" or "none". Arguments for the
53 compression command may be specified by using "_" instead of
54 spaces. For example, "gzip_-9". The default value is "gzip".
55
56 maxsize
57 The maximum size in bytes of a single batch before compression.
58 The default value is 500000 bytes.
59
60 batchtime
61 A comma separated list of hours during which batches should be
62 generated for a given site. When send-uucp runs, a site will only
63 be processed if the current hour matches one of the hours in
64 batchtime. The default is no limitation on when to generate
65 batches.
66
67 Fields are separated by spaces and only the site name needs to be
68 specified, with defaults being used for unspecified values. If the
69 first character on a line is a hash sign ("#") then the rest of the
70 line is ignored.
71
73 Here is an example for the send-uucp.cf configuration file:
74
75 zoetermeer gzip 1048576 5,18,22
76 hoofddorp gzip 1048576 5,18,22
77 pa3ebv gzip 1048576 5,18,22
78 drinkel bzip2 1048576 5,6,18,20,22,0,2
79 manhole compress 1048576 5,18,22
80 owl compress 1048576
81 able
82 pern::MYFUNNEL!
83
84 This defines eight UUCP sites. The first three and the last two use
85 "gzip" compression, the fourth site ("drinkel") uses "bzip2" and the
86 remaining sites ("manhole" and "owl") use "compress". The first six
87 use a batch size of 1 MB, and the two last sites ("able" and "pern")
88 use the default of 500,000 bytes. The "zoetermeer", "hoofddorp",
89 "pa3ebv", and "manhole" sites will only have batches generated for them
90 during the hours of 05:00, 18:00, and 22:00, and the "drinkel" site
91 will only have batches generated during those hours and 06:00, 20:00,
92 00:00, and 02:00. There are no restrictions on when batches will be
93 generated for "owl", "able" and "pern".
94
95 The "pern" site is configured as a funnel into "MYFUNNEL!". send-uucp
96 will issue "ctlinnd flush MYFUNNEL!" instead of "ctlinnd flush pern".
97
98 As for the newsfeeds file, the usual flags used for a UUCP feed are
99 "Tf,Wnb". Here is a typical entry for "zoetermeer", where the batching
100 is kept between 4 KB and 1 KB:
101
102 zoetermeer\
103 :*,!junk,!control,!control.*/!foo\
104 :Tf,Wnb,B4096/1024:
105
107 Here are the steps to follow to set up a UUCP feed over SSH between two
108 news servers, using the UUCP implementation available in Debian as the
109 "uucp" package. The mechanisms described below should be transposed if
110 you use another UUCP implementation. (And if you do, please inform the
111 INN maintainers about how to set up a feed with another UUCP
112 implementation, so that it can be added to this documentation.)
113
114 1. First of all, make sure rnews is correctly installed setuid "news",
115 owned by group "uucp", and mode 4550. This will allow the UUCP
116 subsystem to run rnews to process UUCP batches of news articles.
117 The "configure" flag --enable-uucp-rnews takes care of it when
118 installing INN. Otherwise, you'll have to manually change the
119 permissions on rnews.
120
121 2. Install the "uucp" package. It will notably provide uucico(8) and
122 uux(1).
123
124 3. Configure in /etc/uucp/Poll the remote news servers to poll, and
125 the hours during which they are to be polled. For instance, if you
126 send to "news.server.to.feed" UUCP batches every 4 hours, you can
127 use:
128
129 schedule news.server.to.feed 00
130 poll news.server.to.feed 00 04 08 12 16 20
131
132 If sending is hourly, just list all the hours.
133
134 4. Configure in /etc/uucp/call the credentials (usernames and
135 passwords) to use when authenticating against remote news servers,
136 one per line. For instance:
137
138 news.server.to.feed login password
139
140 5. Configure in /etc/uucp/config the UUCP name of the local news
141 server. For instance:
142
143 nodename my.news.server
144
145 6. Check that /etc/uucp/expire fits your needs as for the number of
146 days batches are retained as well as the configuration of daily
147 reports. Default values are normally fine, though you may want to
148 receive a daily report only if unusual things happen (and in that
149 case, just set $important_only to 1).
150
151 7. Configure in /etc/uucp/passwd the credentials (usernames and
152 passwords separated by a tabulation) remote news servers use when
153 authenticating against the local news server, one per line. For
154 instance:
155
156 login<TAB>password
157
158 8. Configure in /etc/uucp/sys how remote news servers connect to the
159 local news server. A typical entry to set an SSH connection is the
160 following one where pathbin should be changed to the real path to
161 rnews:
162
163 system news.server.to.feed
164 call-login *
165 call-password *
166 commands <pathbin>/rnews
167 time any
168 chat "" \d\d\r\c ogin: \d\L word: \P
169 chat-timeout 120
170 protocol i
171 port ssh.news.server.to.feed
172
173 9. Configure in /etc/uucp/port how to connect to remote news servers.
174 A typical entry to set an SSH connection using a private key is:
175
176 port ssh.news.server.to.feed
177 type pipe
178 command /usr/bin/ssh -a -x -q -i <key_file> -l uucp news.server.to.feed
179 reliable true
180 protocol etyig
181
182 where key_file is the private key to use for the SSH connection,
183 like for instance /var/spool/uucp/.ssh/id_private_key.
184
185 10. Make sure the administrators of remote news servers have added the
186 public key related to id_private_key for connections to the "uucp"
187 user of the remote news servers.
188
189 11. Supposing the home directory of the "uucp" user is /var/spool/uucp,
190 you need to configure the SSH keys in the .ssh subdirectory.
191 First, add the public keys of all remote news servers in
192 authorized_keys. A typical entry is:
193
194 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
195
196 This ensures the SSH connection will not be used for another goal
197 than exchanging UUCP batches.
198
199 12. Make sure id_private_key is correctly present, as set in
200 /etc/uucp/port, and only readable by the "uucp" user.
201
202 13. Manually run as the "uucp" user the command set in /etc/uucp/port
203 so as to create the known_hosts file so as to make sure the SSH
204 setting is fine.
205
206 /usr/bin/ssh -a -x -q -i <key_file> -l uucp news.server.to.feed
207
208 14. Parameter the feed to send to the remote servers. A typical entry
209 in newsfeeds to generate batches in pathoutgoing is:
210
211 news.server.to.feed/pathname:*:Tf,Wnb,B4096/1024:
212
213 15. Set up the compression method, batch sizes and when to generate
214 them in send-uucp.cf located in pathetc, as described earlier in
215 this documentation.
216
217 news.server.to.feed bzip2 1048576 3,7,11,15,19,23
218
219 16. Check that send-uucp is started hourly in crontab by the "news"
220 user. For instance in /etc/cron.d/inn2:
221
222 52 * * * * news <pathbin>/send-uucp
223
224 It can be useful to set up a different launch time than your remote
225 servers. For instance, if you generate batches every hour at
226 minute 52, a remote peer may do the same at minute 22. This way,
227 you may exchange articles more frequently, depending on when each
228 other connects.
229
230 17. Check that UUCP programs are automatically started in crontab
231 (usually, uudemon.hr is called hourly in /etc/cron.d/uucp to poll
232 remote news servers, and uudemon.day daily in
233 /etc/cron.daily/uucp).
234
235 Like for send-uucp, adjust the launch time to maximize the number
236 and the freshness of batches to exchanges.
237
238 18. Check the logs in /var/log/uucp to ensure everything works fine,
239 both polling and sending.
240
241 You will see that send-uucp prepares rnews batches named like
242 D.0I8Y, that are queued by uux. When uucico is afterwards started
243 from cron to transfer these batches, uucico takes available batches
244 from the remote sites at the same time. These received batches are
245 then processed by uuxqt which calls rnews to inject them.
246
247 That's all!
248
250 pathbin/send-uucp
251 The Perl script itself used to create news batches from the
252 outgoing files.
253
254 pathetc/send-uucp.cf
255 The configuration file which specifies a list of sites to be
256 processed.
257
258 pathlog/send-uucp.log
259 The log file used if the syslog facility is not available.
260
262 This program was originally written by Edvard Tuinder <ed@elm.net> and
263 then maintained and extended by Miquel van Smoorenburg
264 <miquels@cistron.nl>. Marco d'Itri <md@linux.it> cleaned up the code
265 for inclusion in INN. This manual page was written by Mark Brown
266 <broonie@sirena.org.uk>.
267
269 innd(8), newsfeeds(5), uucp(8).
270
271
272
273INN 2.6.5 2022-01-23 SEND-UUCP(8)