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 the following one, which
193 should be in 1 line (it is wrapped here for a proper display in man
194 page):
195
196 no-port-forwarding,no-X11-forwarding,no-agent-forwarding,
197 command="/usr/sbin/uucico -l",from="news.server.to.feed"
198 ssh-rsa xxxyyyzzz uucp@news.server.to.feed
199
200 This ensures the SSH connection will not be used for another goal
201 than exchanging UUCP batches.
202
203 12. Make sure id_private_key is correctly present, as set in
204 /etc/uucp/port, and only readable by the "uucp" user.
205
206 13. Manually run as the "uucp" user the command set in /etc/uucp/port
207 so as to create the known_hosts file so as to make sure the SSH
208 setting is fine.
209
210 /usr/bin/ssh -a -x -q -i <key_file> -l uucp news.server.to.feed
211
212 14. Parameter the feed to send to the remote servers. A typical entry
213 in newsfeeds to generate batches in pathoutgoing is:
214
215 news.server.to.feed/pathname:*:Tf,Wnb,B4096/1024:
216
217 15. Set up the compression method, batch sizes and when to generate
218 them in send-uucp.cf located in pathetc, as described earlier in
219 this documentation.
220
221 news.server.to.feed bzip2 1048576 3,7,11,15,19,23
222
223 16. Check that send-uucp is started hourly in crontab by the "news"
224 user. For instance in /etc/cron.d/inn2:
225
226 52 * * * * news <pathbin>/send-uucp
227
228 It can be useful to set up a different launch time than your remote
229 servers. For instance, if you generate batches every hour at
230 minute 52, a remote peer may do the same at minute 22. This way,
231 you may exchange articles more frequently, depending on when each
232 other connects.
233
234 17. Check that UUCP programs are automatically started in crontab
235 (usually, uudemon.hr is called hourly in /etc/cron.d/uucp to poll
236 remote news servers, and uudemon.day daily in
237 /etc/cron.daily/uucp).
238
239 Like for send-uucp, adjust the launch time to maximize the number
240 and the freshness of batches to exchanges.
241
242 18. Check the logs in /var/log/uucp to ensure everything works fine,
243 both polling and sending.
244
245 You will see that send-uucp prepares rnews batches named like
246 D.0I8Y, that are queued by uux. When uucico is afterwards started
247 from cron to transfer these batches, uucico takes available batches
248 from the remote sites at the same time. These received batches are
249 then processed by uuxqt which calls rnews to inject them.
250
251 That's all!
252
254 pathbin/send-uucp
255 The Perl script itself used to create news batches from the
256 outgoing files.
257
258 pathetc/send-uucp.cf
259 The configuration file which specifies a list of sites to be
260 processed.
261
262 pathlog/send-uucp.log
263 The log file used if the syslog facility is not available.
264
266 This program was originally written by Edvard Tuinder <ed@elm.net> and
267 then maintained and extended by Miquel van Smoorenburg
268 <miquels@cistron.nl>. Marco d'Itri <md@linux.it> cleaned up the code
269 for inclusion in INN. This manual page was written by Mark Brown
270 <broonie@sirena.org.uk>.
271
273 innd(8), newsfeeds(5), uucp(8).
274
275
276
277INN 2.7.0 2022-07-10 SEND-UUCP(8)