~ubuntu-branches/ubuntu/trusty/uucp/trusty

« back to all changes in this revision

Viewing changes to uucp.info-3

  • Committer: Bazaar Package Importer
  • Author(s): Peter Palfrader
  • Date: 2004-12-30 15:30:22 UTC
  • mfrom: (2.1.1 warty)
  • Revision ID: james.westby@ubuntu.com-20041230153022-mx4cdr9j3u9bldo3
Tags: 1.07-12
Add cs localisation for debconf templates (closes: #287305).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
This is uucp.info, produced by makeinfo version 4.1 from uucp.texi.
 
2
 
 
3
START-INFO-DIR-ENTRY
 
4
* UUCP: (uucp).                 Transfer mail and news across phone lines.
 
5
END-INFO-DIR-ENTRY
 
6
 
 
7
   This file documents Taylor UUCP, version 1.07.
 
8
 
 
9
   Copyright (C) 1992, 1993, 1994, 1995, 2002 Ian Lance Taylor
 
10
 
 
11
   Permission is granted to make and distribute verbatim copies of this
 
12
manual provided the copyright notice and this permission notice are
 
13
preserved on all copies.
 
14
 
 
15
   Permission is granted to copy and distribute modified versions of
 
16
this manual under the conditions for verbatim copying, provided also
 
17
that the section entitled "Copying" are included exactly as in the
 
18
original, and provided that the entire resulting derived work is
 
19
distributed under the terms of a permission notice identical to this
 
20
one.
 
21
 
 
22
   Permission is granted to copy and distribute translations of this
 
23
manual into another language, under the above conditions for modified
 
24
versions, except that the section entitled "Copying" may be included in
 
25
a translation approved by the author instead of in the original English.
 
26
 
 
27
 
 
28
File: uucp.info,  Node: Execution Subdirectories,  Next: Other Spool Subdirectories,  Prev: Status Directory,  Up: The Spool Directory Layout
 
29
 
 
30
Execution Subdirectories
 
31
------------------------
 
32
 
 
33
`.Xqtdir'
 
34
     When `uuxqt' executes a job requested by `uux', it first changes
 
35
     the working directory to the `.Xqtdir' subdirectory.  This permits
 
36
     the job to create any sort of temporary file without worrying
 
37
     about overwriting other files in the spool directory.  Any files
 
38
     left in the `.Xqtdir' subdirectory are removed after each
 
39
     execution is complete.
 
40
 
 
41
`.XqtdirNNNN'
 
42
     When several instances of `uuxqt' are executing simultaneously,
 
43
     each one executes jobs in a separate directory.  The first uses
 
44
     `.Xqtdir', the second uses `.Xqtdir0001', the third uses
 
45
     `.Xqtdir0002', and so forth.
 
46
 
 
47
`.Corrupt'
 
48
     If `uuxqt' encounters an execution file which it is unable to
 
49
     parse, it saves it in the `.Corrupt' directory, and sends mail
 
50
     about it to the UUCP administrator.
 
51
 
 
52
`.Failed'
 
53
     If `uuxqt' executes a job, and the job fails, and there is enough
 
54
     disk space to hold the command file and all the data files, then
 
55
     `uuxqt' saves the files in the `.Failed' directory, and sends mail
 
56
     about it to the UUCP administrator.
 
57
 
 
58
 
 
59
File: uucp.info,  Node: Other Spool Subdirectories,  Next: Spool Lock Files,  Prev: Execution Subdirectories,  Up: The Spool Directory Layout
 
60
 
 
61
Other Spool Subdirectories
 
62
--------------------------
 
63
 
 
64
`.Sequence'
 
65
     This directory holds conversation sequence number files.  These
 
66
     are used if the `sequence' command is used for a system (*note
 
67
     Miscellaneous (sys)::).  The sequence number for the system SYSTEM
 
68
     is stored in the file `.Sequence/SYSTEM'.  It is simply stored as
 
69
     a printable number.
 
70
 
 
71
`.Temp'
 
72
     This directory holds data files as they are being received from a
 
73
     remote system, before they are moved to their final destination.
 
74
     For file send requests which use a valid temporary file name in
 
75
     the TEMP field of the `S' or `E' command (*note The S Command::),
 
76
     `uucico' receives the file into `.Temp/SYSTEM/TEMP', where SYSTEM
 
77
     is the name of the remote system, and TEMP is the temporary file
 
78
     name.  If a conversation fails during a file transfer, these files
 
79
     are used to automatically restart the file transfer from the point
 
80
     of failure.
 
81
 
 
82
     If the `S' or `E' command does not include a temporary file name,
 
83
     automatic restart is not possible.  In this case, the files are
 
84
     received into a randomly named file in the `.Temp' directory
 
85
     itself.
 
86
 
 
87
`.Preserve'
 
88
     This directory holds data files which could not be transferred to a
 
89
     remote system for some reason (for example, the data file might be
 
90
     large, and exceed size restrictions imposed by the remote system).
 
91
     When a locally requested file transfer fails, `uucico' will store
 
92
     the data file in the `.Preserve' directory, and send mail to the
 
93
     requestor describing the failure and naming the saved file.
 
94
 
 
95
`.Received'
 
96
     This directory records which files have been received.  If a
 
97
     conversation fails just after `uucico' acknowledges receipt of a
 
98
     file, it is possible for the acknowledgement to be lost.  If this
 
99
     happens, the remote system will resend the file.  If the file were
 
100
     an execution request, and `uucico' did not keep track of which
 
101
     files it had already received, this could lead to the execution
 
102
     being performed twice.
 
103
 
 
104
     To avoid this problem, when a conversation fails, `uucico' records
 
105
     each file that has been received, but for which the remote system
 
106
     may not have received the acknowledgement.  It records this
 
107
     information by creating an empty file with the name
 
108
     `.Received/SYSTEM/TEMP', where SYSTEM is the name of the remote
 
109
     system, and TEMP is the TEMP field of the `S' or `E' command from
 
110
     the remote system (*note The S Command::).  Then, if the remote
 
111
     system offers the file again in the next conversation, `uucico'
 
112
     refuses the send request and deletes the record in the `.Received'
 
113
     directory.  This approach only works for file sends which use a
 
114
     temporary file name, but this is true of all execution requests.
 
115
 
 
116
 
 
117
File: uucp.info,  Node: Spool Lock Files,  Prev: Other Spool Subdirectories,  Up: The Spool Directory Layout
 
118
 
 
119
Lock Files in the Spool Directory
 
120
---------------------------------
 
121
 
 
122
   Lock files for devices and systems are stored in the lock directory,
 
123
which may or may not be the same as the spool directory.  The lock
 
124
directory is set at compilation time by `LOCKDIR' in `policy.h', which
 
125
may be overridden by the `lockdir' command in the `config' file (*note
 
126
Miscellaneous (config)::).
 
127
 
 
128
   For a description of the names used for device lock files, and the
 
129
format of the contents of a lock file, see *Note UUCP Lock Files::.
 
130
 
 
131
`LCK..SYS'
 
132
     A lock file for a system, where SYS is the system name.  As noted
 
133
     above, these lock files are kept in the lock directory, which may
 
134
     not be the spool directory.  These lock files are created by
 
135
     `uucico' while talking to a remote system, and are used to prevent
 
136
     multiple simultaneous conversations with a system.
 
137
 
 
138
     On systems which limit file names to 14 characters, only the first
 
139
     eight characters of the system name are used in the lock file
 
140
     name.  This requires that the names of each directly connected
 
141
     remote system be unique in the first eight characters.
 
142
 
 
143
`LCK.XQT.NN'
 
144
     When `uuxqt' starts up, it uses lock files to determine how many
 
145
     other `uuxqt' daemons are currently running.  It first tries to
 
146
     lock `LCK.XQT.0', then `LCK.XQT.1', and so forth.  This is used to
 
147
     implement the `max-uuxqts' command (*note Miscellaneous
 
148
     (config)::).  It is also used to parcel out the `.Xqtdir'
 
149
     subdirectories (*note Execution Subdirectories::).
 
150
 
 
151
`LXQ.CMD'
 
152
     When `uuxqt' is invoked with the `-c' or `--command' option (*note
 
153
     Invoking uuxqt::), it creates a lock file named after the command
 
154
     it is executing.  For example, `uuxqt -c rmail' will create the
 
155
     lock file `LXQ.rmail'.  This prevents other `uuxqt' daemons from
 
156
     executing jobs of the specified type.
 
157
 
 
158
`SYSTEM/X./L.XXX'
 
159
     While `uuxqt' is executing a particular job, it creates a lock file
 
160
     with the same name as the `X.' file describing the job, but
 
161
     replacing the initial `X' with `L'.  This ensures that if multiple
 
162
     `uuxqt' daemons are running, they do not simultaneously execute
 
163
     the same job.
 
164
 
 
165
`LCK..SEQ'
 
166
     This lock file is used to control access to the sequence files for
 
167
     each system (*note System Spool Directories::).  It is only used
 
168
     on systems which do not support POSIX file locking using the
 
169
     `fcntl' system call.
 
170
 
 
171
 
 
172
File: uucp.info,  Node: Spool Directory Cleaning,  Prev: The Spool Directory Layout,  Up: Using Taylor UUCP
 
173
 
 
174
Cleaning the Spool Directory
 
175
============================
 
176
 
 
177
   The spool directory may need to be cleaned up periodically.  Under
 
178
some circumstances, files may accumulate in various subdirectories,
 
179
such as `.Preserve' (*note Other Spool Subdirectories::) or `.Corrupt'
 
180
(*note Execution Subdirectories::).
 
181
 
 
182
   Also, if a remote system stops calling in, you may want to arrange
 
183
for any queued up mail to be returned to the sender.  This can be done
 
184
using the `uustat' command (*note Invoking uustat::).
 
185
 
 
186
   The `contrib' directory includes a simple `uuclean' script which may
 
187
be used as an example of a clean up script.  It can be run daily out of
 
188
`crontab'.
 
189
 
 
190
   You should periodically trim the UUCP log files, as they will
 
191
otherwise grow without limit.  The names of the log files are set in
 
192
`policy.h', and may be overridden in the configuration file (*note
 
193
config File::).  By default they are are `/usr/spool/uucp/Log' and
 
194
`/usr/spool/uucp/Stats'.  You may find the `savelog' program in the
 
195
`contrib' directory to be of use.  There is a manual page for it in
 
196
`contrib' as well.
 
197
 
 
198
 
 
199
File: uucp.info,  Node: Configuration Files,  Next: Protocols,  Prev: Using Taylor UUCP,  Up: Top
 
200
 
 
201
Taylor UUCP Configuration Files
 
202
*******************************
 
203
 
 
204
   This chapter describes the configuration files accepted by the Taylor
 
205
UUCP package if compiled with `HAVE_TAYLOR_CONFIG' set to 1 in
 
206
`policy.h'.
 
207
 
 
208
   The configuration files are normally found in the directory
 
209
NEWCONFIGDIR, which is defined by the `configure' option
 
210
`--with-newconfigdir'; by default NEWCONFIGDIR is
 
211
`/usr/local/conf/uucp'.  However, the main configuration file,
 
212
`config', is the only one which must be in that directory, since it may
 
213
specify a different location for any or all of the other files.  You
 
214
may run any of the UUCP programs with a different main configuration
 
215
file by using the `-I' or `--config' option; this can be useful when
 
216
testing a new configuration.  When you use the `-I' option the programs
 
217
will revoke any setuid privileges.
 
218
 
 
219
* Menu:
 
220
 
 
221
* Configuration Overview::      Configuration File Overview
 
222
* Configuration File Format::   Configuration File Format
 
223
* Configuration Examples::      Examples of Configuration Files
 
224
* Time Strings::                How to Write Time Strings
 
225
* Chat Scripts::                How to Write Chat Scripts
 
226
* config File::                 The Main Configuration File
 
227
* sys File::                    The System Configuration File
 
228
* port File::                   The Port Configuration Files
 
229
* dial File::                   The Dialer Configuration Files
 
230
* UUCP Over TCP::               UUCP Over TCP
 
231
* Security::                    Security Issues
 
232
 
 
233
 
 
234
File: uucp.info,  Node: Configuration Overview,  Next: Configuration File Format,  Prev: Configuration Files,  Up: Configuration Files
 
235
 
 
236
Configuration File Overview
 
237
===========================
 
238
 
 
239
   UUCP uses several different types of configuration files, each
 
240
describing a different kind of information.  The commands permitted in
 
241
each file are described in detail below.  This section is a brief
 
242
description of some of the different types of files.
 
243
 
 
244
   The `config' file is the main configuration file.  It describes
 
245
general information not associated with a particular remote system, such
 
246
as the location of various log files.  There are reasonable defaults for
 
247
everything that may be specified in the `config' file, so you may not
 
248
actually need one on your system.
 
249
 
 
250
   There may be only one `config' file, but there may be one or more of
 
251
each other type of file.  The default is one file for each type, but
 
252
more may be listed in the `config' file.
 
253
 
 
254
   The `sys' files are used to describe remote systems.  Each remote
 
255
system to which you connect must be listed in a `sys' file.  A `sys'
 
256
file will include information for a system, such as the speed (baud
 
257
rate) to use, or when to place calls.
 
258
 
 
259
   For each system you wish to call, you must describe one or more
 
260
ports; these ports may be defined directly in the `sys' file, or they
 
261
may be defined in a `port' file.
 
262
 
 
263
   The `port' files are used to describe ports.  A port is a particular
 
264
hardware connection on your computer.  You would normally define as
 
265
many ports as there are modems attached to your computer.  A TCP
 
266
connection is also described using a port.
 
267
 
 
268
   The `dial' files are used to describe dialers.  Dialer is
 
269
essentially another word for modem.  The `dial' file describes the
 
270
commands UUCP should use to dial out on a particular type of modem.  You
 
271
would normally define as many dialers as there are types of modems
 
272
attached to your computer.  For example, if you have three Telebit
 
273
modems used for UUCP, you would probably define three ports and one
 
274
dialer.
 
275
 
 
276
   There are other types of configuration files, but these are the
 
277
important ones.  The other types are described below.
 
278
 
 
279
 
 
280
File: uucp.info,  Node: Configuration File Format,  Next: Configuration Examples,  Prev: Configuration Overview,  Up: Configuration Files
 
281
 
 
282
Configuration File Format
 
283
=========================
 
284
 
 
285
   All the configuration files follow a simple line-oriented `KEYWORD
 
286
VALUE' format.  Empty lines are ignored, as are leading spaces; unlike
 
287
HDB, lines with leading spaces are read.  The first word on each line
 
288
is a keyword.  The rest of the line is interpreted according to the
 
289
keyword.  Most keywords are followed by numbers, boolean values or
 
290
simple strings with no embedded spaces.
 
291
 
 
292
   The `#' character is used for comments.  Everything from a `#' to
 
293
the end of the line is ignored unless the `#' is preceded by a `\'
 
294
(backslash); if the `#' is preceeded by a `\', the `\' is removed but
 
295
the `#' remains in the line.  This can be useful for a phone number
 
296
containing a `#'.  To enter the sequence `\#', use `\\#'.
 
297
 
 
298
   The backslash character may be used to continue lines.  If the last
 
299
character in a line is a backslash, the backslash is removed and the
 
300
line is continued by the next line.  The second line is attached to the
 
301
first with no intervening characters; if you want any whitespace between
 
302
the end of the first line and the start of the second line, you must
 
303
insert it yourself.
 
304
 
 
305
   However, the backslash is not a general quoting character.  For
 
306
example, you cannot use it to get an embedded space in a string
 
307
argument.
 
308
 
 
309
   Everything after the keyword must be on the same line.  A BOOLEAN
 
310
may be specified as `y', `Y', `t', or `T' for true and `n', `N', `f',
 
311
or `F' for false; any trailing characters are ignored, so `true',
 
312
`false', etc., are also acceptable.
 
313
 
 
314
 
 
315
File: uucp.info,  Node: Configuration Examples,  Next: Time Strings,  Prev: Configuration File Format,  Up: Configuration Files
 
316
 
 
317
Examples of Configuration Files
 
318
===============================
 
319
 
 
320
   This section provides few typical examples of configuration files.
 
321
There are also sample configuration files in the `sample' subdirectory
 
322
of the distribution.
 
323
 
 
324
* Menu:
 
325
 
 
326
* config File Examples::        Examples of the Main Configuration File
 
327
* Leaf Example::                Call a Single Remote Site
 
328
* Gateway Example::             The Gateway for Several Local Systems
 
329
 
 
330
 
 
331
File: uucp.info,  Node: config File Examples,  Next: Leaf Example,  Prev: Configuration Examples,  Up: Configuration Examples
 
332
 
 
333
config File Examples
 
334
--------------------
 
335
 
 
336
   To start with, here are some examples of uses of the main
 
337
configuration file, `config'.  For a complete description of the
 
338
commands that are permitted in `config', see *Note config File::.
 
339
 
 
340
   In many cases you will not need to create a `config' file at all.
 
341
The most common reason to create one is to give your machine a special
 
342
UUCP name.  Other reasons might be to change the UUCP spool directory,
 
343
or to permit any remote system to call in.
 
344
 
 
345
   If you have an internal network of machines, then it is likely that
 
346
the internal name of your UUCP machine is not the name you want to use
 
347
when calling other systems.  For example, here at `airs.com' our
 
348
mail/news gateway machine is named `elmer.airs.com' (it is one of
 
349
several machines all named `LOCALNAME.airs.com').  If we did not
 
350
provide a `config' file, then our UUCP name would be `elmer'; however,
 
351
we actually want it to be `airs'.  Therefore, we use the following line
 
352
in `config':
 
353
 
 
354
     nodename airs
 
355
 
 
356
   The UUCP spool directory name is set in `policy.h' when the code is
 
357
compiled.  You might at some point decide that it is appropriate to move
 
358
the spool directory, perhaps to put it on a different disk partition.
 
359
You would use the following commands in `config' to change to
 
360
directories on the partition `/uucp':
 
361
 
 
362
     spool /uucp/spool
 
363
     pubdir /uucp/uucppublic
 
364
     logfile /uucp/spool/Log
 
365
     debugfile /uucp/spool/Debug
 
366
 
 
367
   You would then move the contents of the current spool directory to
 
368
`/uucp/spool'.  If you do this, make sure that no UUCP processes are
 
369
running while you change `config' and move the spool directory.
 
370
 
 
371
   Suppose you wanted to permit any system to call in to your system and
 
372
request files.  This is generally known as "anonymous UUCP", since the
 
373
systems which call in are effectively anonymous.  By default, unknown
 
374
systems are not permitted to call in.  To permit this you must use the
 
375
`unknown' command in `config'.  The `unknown' command is followed by
 
376
any command that may appear in the system file; for full details, see
 
377
*Note sys File::.
 
378
 
 
379
   I will show two possible anonymous UUCP configurations.  The first
 
380
will let any system call in and download files, but will not permit
 
381
them to upload files to your system.
 
382
 
 
383
     # No files may be transferred to this system
 
384
     unknown receive-request no
 
385
     # The public directory is /usr/spool/anonymous
 
386
     unknown pubdir /usr/spool/anonymous
 
387
     # Only files in the public directory may be sent (the default anyhow)
 
388
     unknown remote-send ~
 
389
 
 
390
Setting the public directory is convenient for the systems which call
 
391
in.  It permits to request a file by prefixing it with `~/'.  For
 
392
example, assuming your system is known as `server', then to retrieve
 
393
the file `/usr/spool/anonymous/INDEX' a user on a remote site could
 
394
just enter `uucp server!~/INDEX ~'; this would transfer `INDEX' from
 
395
`server''s public directory to the user's local public directory.  Note
 
396
that when using `csh' or `bash' the `!' and the second `~' must be
 
397
quoted.
 
398
 
 
399
   The next example will permit remote systems to upload files to a
 
400
special directory named `/usr/spool/anonymous/upload'.  Permitting a
 
401
remote system to upload files permits it to send work requests as well;
 
402
this example is careful to prohibit commands from unknown systems.
 
403
 
 
404
     # No commands may be executed (the list of permitted commands is empty)
 
405
     unknown commands
 
406
     # The public directory is /usr/spool/anonymous
 
407
     unknown pubdir /usr/spool/anonymous
 
408
     # Only files in the public directory may be sent; users may not download
 
409
     # files from the upload directory
 
410
     unknown remote-send ~ !~/upload
 
411
     # May only upload files into /usr/spool/anonymous/upload
 
412
     unknown remote-receive ~/upload
 
413
 
 
414
 
 
415
File: uucp.info,  Node: Leaf Example,  Next: Gateway Example,  Prev: config File Examples,  Up: Configuration Examples
 
416
 
 
417
Leaf Example
 
418
------------
 
419
 
 
420
   A relatively common simple case is a "leaf site", a system which
 
421
only calls or is called by a single remote site.  Here is a typical
 
422
`sys' file that might be used in such a case.  For full details on what
 
423
commands can appear in the `sys' file, see *Note sys File::.
 
424
 
 
425
   This is the `sys' file that is used at `airs.com'.  We use a single
 
426
modem to dial out to `uunet'.  This example shows how you can specify
 
427
the port and dialer information directly in the `sys' file for simple
 
428
cases.  It also shows the use of the following:
 
429
 
 
430
`call-login'
 
431
     Using `call-login' and `call-password' allows the default login
 
432
     chat script to be used.  In this case, the login name is specified
 
433
     in the call-out login file (*note Configuration File Names::).
 
434
 
 
435
`call-timegrade'
 
436
     `uunet' is requested to not send us news during the daytime.
 
437
 
 
438
`chat-fail'
 
439
     If the modem returns `BUSY' or `NO CARRIER' the call is
 
440
     immediately aborted.
 
441
 
 
442
`protocol-parameter'
 
443
     Since `uunet' tends to be slow, the default timeout has been
 
444
     increased.
 
445
 
 
446
   This `sys' file relies on certain defaults.  It will allow `uunet'
 
447
to queue up `rmail' and `rnews' commands.  It will allow users to
 
448
request files from `uunet' into the UUCP public directory.  It will
 
449
also allow `uunet' to request files from the UUCP public directory; in
 
450
fact `uunet' never requests files, but for additional security we could
 
451
add the line `request false'.
 
452
 
 
453
     # The following information is for uunet
 
454
     system uunet
 
455
     
 
456
     # The login name and password are kept in the callout password file
 
457
     call-login *
 
458
     call-password *
 
459
     
 
460
     # We can send anything at any time.
 
461
     time any
 
462
     
 
463
     # During the day we only accept grade `Z' or above; at other times
 
464
     # (not mentioned here) we accept all grades.  uunet queues up news
 
465
     # at grade `d', which is lower than `Z'.
 
466
     call-timegrade Z Wk0755-2305,Su1655-2305
 
467
     
 
468
     # The phone number.
 
469
     phone 7389449
 
470
     
 
471
     # uunet tends to be slow, so we increase the timeout
 
472
     chat-timeout 120
 
473
     
 
474
     # We are using a preconfigured Telebit 2500.
 
475
     port type modem
 
476
     port device /dev/ttyd0
 
477
     port speed 19200
 
478
     port carrier true
 
479
     port dialer chat "" ATZ\r\d\c OK ATDT\D CONNECT
 
480
     port dialer chat-fail BUSY
 
481
     port dialer chat-fail NO\sCARRIER
 
482
     port dialer complete \d\d+++\d\dATH\r\c
 
483
     port dialer abort \d\d+++\d\dATH\r\c
 
484
     
 
485
     # Increase the timeout and the number of retries.
 
486
     protocol-parameter g timeout 20
 
487
     protocol-parameter g retries 10
 
488
 
 
489
 
 
490
File: uucp.info,  Node: Gateway Example,  Prev: Leaf Example,  Up: Configuration Examples
 
491
 
 
492
Gateway Example
 
493
---------------
 
494
 
 
495
   Many organizations have several local machines which are connected by
 
496
UUCP, and a single machine which connects to the outside world.  This
 
497
single machine is often referred to as a "gateway" machine.
 
498
 
 
499
   For this example I will assume a fairly simple case.  It should still
 
500
provide a good general example.  There are three machines, `elmer',
 
501
`comton' and `bugs'.  `elmer' is the gateway machine for which I will
 
502
show the configuration file.  `elmer' calls out to `uupsi'.  As an
 
503
additional complication, `uupsi' knows `elmer' as `airs'; this will
 
504
show how a machine can have one name on an internal network but a
 
505
different name to the external world.  `elmer' has two modems.  It also
 
506
has an TCP connection to `uupsi', but since that is supposed to be
 
507
reserved for interactive work (it is, perhaps, only a 9600 baud SLIP
 
508
line) it will only use it if the modems are not available.
 
509
 
 
510
   A network this small would normally use a single `sys' file.
 
511
However, for pedagogical purposes I will show two separate `sys' files,
 
512
one for the local systems and one for `uupsi'.  This is done with the
 
513
`sysfile' command in the `config' file.  Here is the `config' file.
 
514
 
 
515
     # This is config
 
516
     # The local sys file
 
517
     sysfile /usr/local/lib/uucp/sys.local
 
518
     # The remote sys file
 
519
     sysfile /usr/local/lib/uucp/sys.remote
 
520
 
 
521
   Using the defaults feature of the `sys' file can greatly simplify
 
522
the listing of local systems.  Here is `sys.local'.  Note that this
 
523
assumes that the local systems are trusted; they are permited to request
 
524
any world readable file and to write files into any world writable
 
525
directory.
 
526
 
 
527
     # This is sys.local
 
528
     # Get the login name and password to use from the call-out file
 
529
     call-login *
 
530
     call-password *
 
531
     
 
532
     # The systems must use a particular login
 
533
     called-login Ulocal
 
534
     
 
535
     # Permit sending any world readable file
 
536
     local-send /
 
537
     remote-send /
 
538
     
 
539
     # Permit receiving into any world writable directory
 
540
     local-receive /
 
541
     remote-receive /
 
542
     
 
543
     # Call at any time
 
544
     time any
 
545
     
 
546
     # Use port1, then port2
 
547
     port port1
 
548
     
 
549
     alternate
 
550
     
 
551
     port port2
 
552
     
 
553
     # Now define the systems themselves.  Because of all the defaults we
 
554
     # used, there is very little to specify for the systems themselves.
 
555
     
 
556
     system comton
 
557
     phone 5551212
 
558
     
 
559
     system bugs
 
560
     phone 5552424
 
561
 
 
562
   The `sys.remote' file describes the `uupsi' connection.  The
 
563
`myname' command is used to change the UUCP name to `airs' when talking
 
564
to `uupsi'.
 
565
 
 
566
     # This is sys.remote
 
567
     # Define uupsi
 
568
     system uupsi
 
569
     
 
570
     # The login name and password are in the call-out file
 
571
     call-login *
 
572
     call-password *
 
573
     
 
574
     # We can call out at any time
 
575
     time any
 
576
     
 
577
     # uupsi uses a special login name
 
578
     called-login Uuupsi
 
579
     
 
580
     # uuspi thinks of us as `airs'
 
581
     myname airs
 
582
     
 
583
     # The phone number
 
584
     phone 5554848
 
585
     
 
586
     # We use port2 first, then port1, then TCP
 
587
     
 
588
     port port2
 
589
     
 
590
     alternate
 
591
     
 
592
     port port1
 
593
     
 
594
     alternate
 
595
     
 
596
     # We don't bother to make a special entry in the port file for TCP, we
 
597
     # just describe the entire port right here.  We use a special chat
 
598
     # script over TCP because the usual one confuses some TCP servers.
 
599
     port type TCP
 
600
     address uu.psi.com
 
601
     chat ogin: \L word: \P
 
602
 
 
603
   The ports are defined in the file `port' (*note port File::).  For
 
604
this example they are both connected to the same type of 2400 baud
 
605
Hayes-compatible modem.
 
606
 
 
607
     # This is port
 
608
     
 
609
     port port1
 
610
     type modem
 
611
     device /dev/ttyd0
 
612
     dialer hayes
 
613
     speed 2400
 
614
     
 
615
     port port2
 
616
     type modem
 
617
     device /dev/ttyd1
 
618
     dialer hayes
 
619
     speed 2400
 
620
 
 
621
   Dialers are described in the `dial' file (*note dial File::).
 
622
 
 
623
     # This is dial
 
624
     
 
625
     dialer hayes
 
626
     
 
627
     # The chat script used to dial the phone.  \D is the phone number.
 
628
     chat "" ATZ\r\d\c OK ATDT\D CONNECT
 
629
     
 
630
     # If we get BUSY or NO CARRIER we abort the dial immediately
 
631
     chat-fail BUSY
 
632
     chat-fail NO\sCARRIER
 
633
     
 
634
     # When the call is over we make sure we hangup the modem.
 
635
     complete \d\d+++\d\dATH\r\c
 
636
     abort \d\d+++\d\dATH\r\c
 
637
 
 
638
 
 
639
File: uucp.info,  Node: Time Strings,  Next: Chat Scripts,  Prev: Configuration Examples,  Up: Configuration Files
 
640
 
 
641
Time Strings
 
642
============
 
643
 
 
644
   Several commands use time strings to specify a range of times.  This
 
645
section describes how to write time strings.
 
646
 
 
647
   A time string may be a list of simple time strings separated with a
 
648
vertical bar `|' or a comma `,'.
 
649
 
 
650
   Each simple time string must begin with `Su', `Mo', `Tu', `We',
 
651
`Th', `Fr', or `Sa', or `Wk' for any weekday, or `Any' for any day.
 
652
 
 
653
   Following the day may be a range of hours separated with a hyphen
 
654
using 24 hour time.  The range of hours may cross 0; for example
 
655
`2300-0700' means any time except 7 AM to 11 PM.  If no time is given,
 
656
calls may be made at any time on the specified day(s).
 
657
 
 
658
   The time string may also be the single word `Never', which does not
 
659
match any time.  The time string may also be a single word with a name
 
660
defined in a previous `timetable' command (*note Miscellaneous
 
661
(config)::).
 
662
 
 
663
   Here are a few sample time strings with an explanation of what they
 
664
mean.
 
665
 
 
666
`Wk2305-0855,Sa,Su2305-1655'
 
667
     This means weekdays before 8:55 AM or after 11:05 PM, any time
 
668
     Saturday, or Sunday before 4:55 PM or after 11:05 PM.  These are
 
669
     approximately the times during which night rates apply to phone
 
670
     calls in the U.S.A.  Note that this time string uses, for example,
 
671
     `2305' rather than `2300'; this will ensure a cheap rate phone
 
672
     call even if the computer clock is running up to five minutes
 
673
     ahead of the real time.
 
674
 
 
675
`Wk0905-2255,Su1705-2255'
 
676
     This means weekdays from 9:05 AM to 10:55 PM, or Sunday from 5:05
 
677
     PM to 10:55 PM.  This is approximately the opposite of the
 
678
     previous example.
 
679
 
 
680
`Any'
 
681
     This means any day.  Since no time is specified, it means any time
 
682
     on any day.
 
683
 
 
684
 
 
685
File: uucp.info,  Node: Chat Scripts,  Next: config File,  Prev: Time Strings,  Up: Configuration Files
 
686
 
 
687
Chat Scripts
 
688
============
 
689
 
 
690
   Chat scripts are used in several different places, such as dialing
 
691
out on modems or logging in to remote systems.  Chat scripts are made
 
692
up of pairs of strings.  The program waits until it sees the first
 
693
string, known as the "expect" string, and then sends out the second
 
694
string, the "send" string.
 
695
 
 
696
   Each chat script is defined using a set of commands.  These commands
 
697
always end in a string beginning with `chat', but may start with
 
698
different strings.  For example, in the `sys' file there is one set of
 
699
commands beginning with `chat' and another set beginning with
 
700
`called-chat'.  The prefixes are only used to disambiguate different
 
701
types of chat scripts, and this section ignores the prefixes when
 
702
describing the commands.
 
703
 
 
704
`chat STRINGS'
 
705
     Specify a chat script.  The arguments to the `chat' command are
 
706
     pairs of strings separated by whitespace.  The first string of
 
707
     each pair is an expect string, the second is a send string.  The
 
708
     program will wait for the expect string to appear; when it does,
 
709
     the program will send the send string.  If the expect string does
 
710
     not appear within a certain number of seconds (as set by the
 
711
     `chat-timeout' command), the chat script fails and, typically, the
 
712
     call is aborted.  If the final expect string is seen (and the
 
713
     optional final send string has been sent), the chat script is
 
714
     successful.
 
715
 
 
716
     An expect string may contain additional subsend and subexpect
 
717
     strings, separated by hyphens.  If the expect string is not seen,
 
718
     the subsend string is sent and the chat script continues by
 
719
     waiting for the subexpect string.  This means that a hyphen may
 
720
     not appear in an expect string; on an ASCII system, use `\055'
 
721
     instead.
 
722
 
 
723
     An expect string may simply be `""', meaning to skip the expect
 
724
     phase.  Otherwise, the following escape characters may appear in
 
725
     expect strings:
 
726
 
 
727
    `\b'
 
728
          a backspace character
 
729
 
 
730
    `\n'
 
731
          a newline or line feed character
 
732
 
 
733
    `\N'
 
734
          a null character (for HDB compatibility)
 
735
 
 
736
    `\r'
 
737
          a carriage return character
 
738
 
 
739
    `\s'
 
740
          a space character
 
741
 
 
742
    `\t'
 
743
          a tab character
 
744
 
 
745
    `\\'
 
746
          a backslash character
 
747
 
 
748
    `\DDD'
 
749
          character DDD, where DDD are up to three octal digits
 
750
 
 
751
    `\xDDD'
 
752
          character DDD, where DDD are hexadecimal digits.
 
753
 
 
754
     As in C, there may be up to three octal digits following a
 
755
     backslash, but the hexadecimal escape sequence continues as far as
 
756
     possible.  To follow a hexadecimal escape sequence with a hex
 
757
     digit, interpose a send string of `""'.
 
758
 
 
759
     A chat script expect string may also specify a timeout.  This is
 
760
     done by using the escape sequence `\WSECONDS'.  This escape
 
761
     sequence may only appear at the very end of the expect string.  It
 
762
     temporarily overrides the timeout set by `chat-timeout' (described
 
763
     below) only for the expect string to which it is attached.
 
764
 
 
765
     A send string may simply be `""' to skip the send phase.
 
766
     Otherwise, all of the escape characters legal for expect strings
 
767
     may be used, and the following escape characters are also
 
768
     permitted:
 
769
 
 
770
    `EOT'
 
771
          send an end of transmission character (`^D')
 
772
 
 
773
    `BREAK'
 
774
          send a break character (may not work on all systems)
 
775
 
 
776
    `\c'
 
777
          suppress trailing carriage return at end of send string
 
778
 
 
779
    `\d'
 
780
          delay sending for 1 or 2 seconds
 
781
 
 
782
    `\e'
 
783
          disable echo checking
 
784
 
 
785
    `\E'
 
786
          enable echo checking
 
787
 
 
788
    `\K'
 
789
          same as `BREAK'
 
790
 
 
791
    `\p'
 
792
          pause sending for a fraction of a second
 
793
 
 
794
    `\M'
 
795
          do not require carrier signal
 
796
 
 
797
    `\m'
 
798
          require carrier signal (fail if not present)
 
799
 
 
800
     Some specific types of chat scripts also define additional escape
 
801
     sequences that may appear in the send string.  For example, the
 
802
     login chat script defines `\L' and `\P' to send the login name and
 
803
     password, respectively.
 
804
 
 
805
     A carriage return will be sent at the end of each send string,
 
806
     unless the `\c' escape sequence appears in the string.  Note that
 
807
     some UUCP packages use `\b' for break, but here it means backspace.
 
808
 
 
809
     Echo checking means that after writing each character the program
 
810
     will wait until the character is echoed.  Echo checking must be
 
811
     turned on separately for each send string for which it is desired;
 
812
     it will be turned on for characters following `\E' and turned off
 
813
     for characters following `\e'.
 
814
 
 
815
     When used with a port which does not support the carrier signal,
 
816
     as set by the `carrier' command in the port file, `\M' and `\m'
 
817
     are ignored.  Similarly, when used in a dialer chat script with a
 
818
     dialer which does not support the carrier signal, as set by the
 
819
     `carrier' command in the dial file, `\M' and `\m' are ignored.
 
820
 
 
821
`chat-timeout NUMBER'
 
822
     The number of seconds to wait for an expect string in the chat
 
823
     script, before timing out and sending the next subsend, or failing
 
824
     the chat script entirely.  The default value is 10 for a login
 
825
     chat or 60 for any other type of chat.
 
826
 
 
827
`chat-fail STRING'
 
828
     If the STRING is seen at any time during a chat script, the chat
 
829
     script is aborted.  The string may not contain any whitespace
 
830
     characters: escape sequences must be used for them.  Multiple
 
831
     `chat-fail' commands may appear in a single chat script.  The
 
832
     default is to have none.
 
833
 
 
834
     This permits a chat script to be quickly aborted if an error
 
835
     string is seen.  For example, a script used to dial out on a modem
 
836
     might use the command `chat-fail BUSY' to stop the chat script
 
837
     immediately if the string `BUSY' was seen.
 
838
 
 
839
     The `chat-fail' strings are considered in the order they are
 
840
     listed, so if one string is a suffix of another the longer one
 
841
     should be listed first.  This affects the error message which will
 
842
     be logged.  Of course, if one string is contained within another,
 
843
     but is not a suffix, the smaller string will always be found
 
844
     before the larger string could match.
 
845
 
 
846
`chat-seven-bit BOOLEAN'
 
847
     If the argument is true, all incoming characters are stripped to
 
848
     seven bits when being compared to the expect string.  Otherwise
 
849
     all eight bits are used in the comparison.  The default is true,
 
850
     because some Unix systems generate parity bits during the login
 
851
     prompt which must be ignored while running a chat script.  This
 
852
     has no effect on any `chat-program', which must ignore parity by
 
853
     itself if necessary.
 
854
 
 
855
`chat-program STRINGS'
 
856
     Specify a program to run before executing the chat script.  This
 
857
     program could run its own version of a chat script, or it could do
 
858
     whatever it wants.  If both `chat-program' and `chat' are
 
859
     specified, the program is executed first followed by the chat
 
860
     script.
 
861
 
 
862
     The first argument to the `chat-program' command is the program
 
863
     name to run.  The remaining arguments are passed to the program.
 
864
     The following escape sequences are recognized in the arguments:
 
865
 
 
866
    `\Y'
 
867
          port device name
 
868
 
 
869
    `\S'
 
870
          port speed
 
871
 
 
872
    `\\'
 
873
          backslash
 
874
 
 
875
     Some specific uses of `chat-program' define additional escape
 
876
     sequences.
 
877
 
 
878
     Arguments other than escape sequences are passed exactly as they
 
879
     appear in the configuration file, except that sequences of
 
880
     whitespace are compressed to a single space character (this
 
881
     exception may be removed in the future).
 
882
 
 
883
     If the `chat-program' command is not used, no program is run.
 
884
 
 
885
     On Unix, the standard input and standard output of the program
 
886
     will be attached to the port in use.  Anything the program writes
 
887
     to standard error will be written to the UUCP log file.  No other
 
888
     file descriptors will be open.  If the program does not exit with
 
889
     a status of 0, it will be assumed to have failed.  This means that
 
890
     the dialing programs used by some versions of HDB may not be used
 
891
     directly, but you may be able to run them via the `dialHDB'
 
892
     program in the `contrib' directory.
 
893
 
 
894
     The program will be run as the `uucp' user, and the environment
 
895
     will be that of the process that started `uucico', so care must be
 
896
     taken to maintain security.
 
897
 
 
898
     No search path is used to find the program; a full file name must
 
899
     be given.  If the program is an executable shell script, it will
 
900
     be passed to `/bin/sh' even on systems which are unable to execute
 
901
     shell scripts.
 
902
 
 
903
   Here is a simple example of a chat script that might be used to
 
904
reset a Hayes compatible modem.
 
905
 
 
906
     chat "" ATZ OK-ATZ-OK
 
907
 
 
908
   The first expect string is `""', so it is ignored.  The chat script
 
909
then sends `ATZ'.  If the modem responds with `OK', the chat script
 
910
finishes.  If 60 seconds (the default timeout) pass before seeing `OK',
 
911
the chat script sends another `ATZ'.  If it then sees `OK', the chat
 
912
script succeeds.  Otherwise, the chat script fails.
 
913
 
 
914
   For a more complex chat script example, see *Note Logging In::.
 
915
 
 
916
 
 
917
File: uucp.info,  Node: config File,  Next: sys File,  Prev: Chat Scripts,  Up: Configuration Files
 
918
 
 
919
The Main Configuration File
 
920
===========================
 
921
 
 
922
   The main configuration file is named `config'.
 
923
 
 
924
   Since all the values that may be specified in the main configuration
 
925
file also have defaults, there need not be a main configuration file at
 
926
all.
 
927
 
 
928
   Each command in `config' may have a program prefix, which is a
 
929
separate word appearing at the beginning of the line.  The currently
 
930
supported prefixes are `uucp' and `cu'.  Any command prefixed by `uucp'
 
931
will not be read by the `cu' program.  Any command prefixed by `cu'
 
932
will only be read by the `cu' program.  For example, to use a list of
 
933
systems known only to `cu', list them in a separate file `FILE' and put
 
934
`cu sysfile `FILE'' in `config'.
 
935
 
 
936
* Menu:
 
937
 
 
938
* Miscellaneous (config)::      Miscellaneous config File Commands
 
939
* Configuration File Names::    Using Different Configuration Files
 
940
* Log File Names::              Using Different Log Files
 
941
* Debugging Levels::            Debugging Levels
 
942
 
 
943
 
 
944
File: uucp.info,  Node: Miscellaneous (config),  Next: Configuration File Names,  Prev: config File,  Up: config File
 
945
 
 
946
Miscellaneous config File Commands
 
947
----------------------------------
 
948
 
 
949
`nodename STRING'
 
950
`hostname STRING'
 
951
`uuname STRING'
 
952
     These keywords are equivalent.  They specify the UUCP name of the
 
953
     local host.  If there is no configuration file, an appropriate
 
954
     system function will be used to get the host name, if possible.
 
955
 
 
956
`spool STRING'
 
957
     Specify the spool directory.  The default is from `policy.h'.  This
 
958
     is where UUCP files are queued.  Status files and various sorts of
 
959
     temporary files are also stored in this directory and
 
960
     subdirectories of it.
 
961
 
 
962
`pubdir STRING'
 
963
     Specify the public directory.  The default is from `policy.h'.
 
964
     When a file is named using a leading `~/', it is taken from or to
 
965
     the public directory.  Each system may use a separate public
 
966
     directory by using the `pubdir' command in the system
 
967
     configuration file; see *Note Miscellaneous (sys)::.
 
968
 
 
969
`lockdir STRING'
 
970
     Specify the directory to place lock files in.  The default is from
 
971
     `policy.h'; see the information in that file.  Normally the lock
 
972
     directory should be set correctly in `policy.h', and not changed
 
973
     here.  However, changing the lock directory is sometimes useful for
 
974
     testing purposes.  This only affects lock files for devices and
 
975
     systems; it does not affect certain internal lock files which are
 
976
     stored in the spool directory (*note Spool Lock Files::).
 
977
 
 
978
`unknown STRING ...'
 
979
     The STRING and subsequent arguments are treated as though they
 
980
     appeared in the system file (*note sys File::).  They are used to
 
981
     apply to any unknown systems that may call in, probably to set
 
982
     file transfer permissions and the like.  If the `unknown' command
 
983
     is not used, unknown systems are not permitted to call in.
 
984
 
 
985
`strip-login BOOLEAN'
 
986
     If the argument is true, then, when `uucico' is doing its own
 
987
     login prompting with the `-e', `-l', or `-w' switches, it will
 
988
     strip the parity bit when it reads the login name and password.
 
989
     Otherwise all eight bits will be used when checking the strings
 
990
     against the UUCP password file.  The default is true, since some
 
991
     other UUCP packages send parity bits with the login name and
 
992
     password, and few systems use eight bit characters in the password
 
993
     file.
 
994
 
 
995
`strip-proto BOOLEAN'
 
996
     If the argument is true, then `uucico' will strip the parity bit
 
997
     from incoming UUCP protocol commands.  Otherwise all eight bits
 
998
     will be used.  This only applies to commands which are not
 
999
     encapsulated in a link layer protocol.  The default is true, which
 
1000
     should always be correct unless your UUCP system names use eight
 
1001
     bit characters.
 
1002
 
 
1003
`max-uuxqts NUMBER'
 
1004
     Specify the maximum number of `uuxqt' processes which may run at
 
1005
     the same time.  Having several `uuxqt' processes running at once
 
1006
     can significantly slow down a system, but, since `uuxqt' is
 
1007
     automatically started by `uucico', it can happen quite easily.  The
 
1008
     default for `max-uuxqts' is 0, which means that there is no limit.
 
1009
     If HDB configuration files are being read and the code was compiled
 
1010
     without `HAVE_TAYLOR_CONFIG', then, if the file `Maxuuxqts' in the
 
1011
     configuration directory contains a readable number, it will be used
 
1012
     as the value for `max-uuxqts'.
 
1013
 
 
1014
`run-uuxqt STRING or NUMBER'
 
1015
     Specify when `uuxqt' should be run by `uucico'.  This may be a
 
1016
     positive number, in which case `uucico' will start a `uuxqt'
 
1017
     process whenever it receives the given number of execution files
 
1018
     from the remote system, and, if necessary, at the end of the call.
 
1019
     The argument may also be one of the strings `once', `percall', or
 
1020
     `never'.  The string `once' means that `uucico' will start `uuxqt'
 
1021
     once at the end of execution.  The string `percall' means that
 
1022
     `uucico' will start `uuxqt' once per call that it makes (this is
 
1023
     only different from `once' when `uucico' is invoked in a way that
 
1024
     causes it to make multiple calls, such as when the `-r1' option is
 
1025
     used without the `-s' option).  The string `never' means that
 
1026
     `uucico' will never start `uuxqt', in which case `uuxqt' should be
 
1027
     periodically run via some other mechanism.  The default depends
 
1028
     upon which type of configuration files are being used; if
 
1029
     `HAVE_TAYLOR_CONFIG' is used the default is `once', otherwise if
 
1030
     `HAVE_HDB_CONFIG' is used the default is `percall', and otherwise,
 
1031
     for `HAVE_V2_CONFIG', the default is `10'.
 
1032
 
 
1033
`timetable STRING STRING'
 
1034
     The `timetable' defines a timetable that may be used in
 
1035
     subsequently appearing time strings; see *Note Time Strings::.
 
1036
     The first string names the timetable entry; the second is a time
 
1037
     string.
 
1038
 
 
1039
     The following `timetable' commands are predefined.  The NonPeak
 
1040
     timetable is included for compatibility.  It originally described
 
1041
     the offpeak hours of Tymnet and Telenet, but both have since
 
1042
     changed their schedules.
 
1043
 
 
1044
          timetable Evening Wk1705-0755,Sa,Su
 
1045
          timetable Night Wk2305-0755,Sa,Su2305-1655
 
1046
          timetable NonPeak Wk1805-0655,Sa,Su
 
1047
 
 
1048
     If this command does not appear, then, obviously, no additional
 
1049
     timetables will be defined.
 
1050
 
 
1051
`v2-files BOOLEAN'
 
1052
     If the code was compiled to be able to read V2 configuration
 
1053
     files, a false argument to this command will prevent them from
 
1054
     being read.  This can be useful while testing.  The default is
 
1055
     true.
 
1056
 
 
1057
`hdb-files BOOLEAN'
 
1058
     If the code was compiled to be able to read HDB configuration
 
1059
     files, a false argument to this command will prevent them from
 
1060
     being read.  This can be useful while testing.  The default is
 
1061
     true.
 
1062
 
 
1063
 
 
1064
File: uucp.info,  Node: Configuration File Names,  Next: Log File Names,  Prev: Miscellaneous (config),  Up: config File
 
1065
 
 
1066
Configuration File Names
 
1067
------------------------
 
1068
 
 
1069
`sysfile STRINGS'
 
1070
     Specify the system file(s).  The default is the file `sys' in the
 
1071
     directory NEWCONFIGDIR.  These files hold information about other
 
1072
     systems with which this system communicates; see *Note sys File::.
 
1073
     Multiple system files may be given on the line, and the `sysfile'
 
1074
     command may be repeated; each system file has its own set of
 
1075
     defaults.
 
1076
 
 
1077
`portfile STRINGS'
 
1078
     Specify the port file(s).  The default is the file `port' in the
 
1079
     directory NEWCONFIGDIR.  These files describe ports which are used
 
1080
     to call other systems and accept calls from other systems; see
 
1081
     *Note port File::.  No port files need be named at all.  Multiple
 
1082
     port files may be given on the line, and the `portfile' command
 
1083
     may be repeated.
 
1084
 
 
1085
`dialfile STRINGS'
 
1086
     Specify the dial file(s).  The default is the file `dial' in the
 
1087
     directory NEWCONFIGDIR.  These files describe dialing devices
 
1088
     (modems); see *Note dial File::.  No dial files need be named at
 
1089
     all.  Multiple dial files may be given on the line, and the
 
1090
     `dialfile' command may be repeated.
 
1091
 
 
1092
`dialcodefile STRINGS'
 
1093
     Specify the dialcode file(s).  The default is the file `dialcode'
 
1094
     in the directory NEWCONFIGDIR.  These files specify dialcodes that
 
1095
     may be used when sending phone numbers to a modem.  This permits
 
1096
     using the same set of phone numbers in different area-codes or
 
1097
     with different phone systems, by using dialcodes to specify the
 
1098
     calling sequence.  When a phone number goes through dialcode
 
1099
     translation, the leading alphabetic characters are stripped off.
 
1100
     The dialcode files are read line by line, just like any other
 
1101
     configuration file, and when a line is found whose first word is
 
1102
     the same as the leading characters from the phone number, the
 
1103
     second word on the line (which would normally consist of numbers)
 
1104
     replaces the dialcode in the phone number.  No dialcode file need
 
1105
     be used.  Multiple dialcode files may be specified on the line,
 
1106
     and the `dialcodefile' command may be repeated; all the dialcode
 
1107
     files will be read in turn until a dialcode is located.
 
1108
 
 
1109
`callfile STRINGS'
 
1110
     Specify the call out login name and password file(s).  The default
 
1111
     is the file `call' in the directory NEWCONFIGDIR.  If the call out
 
1112
     login name or password for a system are given as `*' (*note
 
1113
     Logging In::), these files are read to get the real login name or
 
1114
     password.  Each line in the file(s) has three words: the system
 
1115
     name, the login name, and the password.  The login name and
 
1116
     password may contain escape sequences like those in a chat script
 
1117
     expect string (*note Chat Scripts::).  This file is only used when
 
1118
     placing calls to remote systems; the password file described under
 
1119
     `passwdfile' below is used for incoming calls.  The intention of
 
1120
     the call out file is to permit the system file to be publically
 
1121
     readable; the call out files must obviously be kept secure.  These
 
1122
     files need not be used.  Multiple call out files may be specified
 
1123
     on the line, and the `callfile' command may be repeated; all the
 
1124
     files will be read in turn until the system is found.
 
1125
 
 
1126
`passwdfile STRINGS'
 
1127
     Specify the password file(s) to use for login names when `uucico'
 
1128
     is doing its own login prompting, which it does when given the
 
1129
     `-e', `-l' or `-w' switches.  The default is the file `passwd' in
 
1130
     the directory NEWCONFIGDIR.  Each line in the file(s) has two
 
1131
     words: the login name and the password (e.g., `Ufoo foopas').
 
1132
     They may contain escape sequences like those in a chat script
 
1133
     expect string (*note Chat Scripts::).  The login name is accepted
 
1134
     before the system name is known, so these are independent of which
 
1135
     system is calling in; a particular login may be required for a
 
1136
     system by using the `called-login' command in the system file
 
1137
     (*note Accepting a Call::).  These password files are optional,
 
1138
     although one must exist if `uucico' is to present its own login
 
1139
     prompts.
 
1140
 
 
1141
     As a special exception, a colon may be used to separate the login
 
1142
     name from the password, and a colon may be used to terminate the
 
1143
     password.  This means that the login name and password may not
 
1144
     contain a colon.  This feature, in conjunction with the
 
1145
     `HAVE_ENCRYPTED_PASSWORDS' macro in `policy.h', permits using a
 
1146
     standard Unix `/etc/passwd' as a UUCP password file, providing the
 
1147
     same set of login names and passwords for both `getty' and
 
1148
     `uucico'.
 
1149
 
 
1150
     Multiple password files may be specified on the line, and the
 
1151
     `passwdfile' command may be repeated; all the files will be read in
 
1152
     turn until the login name is found.
 
1153
 
 
1154
 
 
1155
File: uucp.info,  Node: Log File Names,  Next: Debugging Levels,  Prev: Configuration File Names,  Up: config File
 
1156
 
 
1157
Log File Names
 
1158
--------------
 
1159
 
 
1160
`logfile STRING'
 
1161
     Name the log file.  The default is from `policy.h'.  Logging
 
1162
     information is written to this file.  If `HAVE_HDB_LOGGING' is
 
1163
     defined in `policy.h', then by default a separate log file is used
 
1164
     for each system; using this command to name a log file will cause
 
1165
     all the systems to use it.
 
1166
 
 
1167
`statfile STRING'
 
1168
     Name the statistics file.  The default is from `policy.h'.
 
1169
     Statistical information about file transfers is written to this
 
1170
     file.
 
1171
 
 
1172
`debugfile STRING'
 
1173
     Name the file to which all debugging information is written.  The
 
1174
     default is from `policy.h'.  This command is only effective if the
 
1175
     code has been compiled to include debugging (this is controlled by
 
1176
     the `DEBUG' macro in `policy.h').  If debugging is on, messages
 
1177
     written to the log file are also written to the debugging file to
 
1178
     make it easier to keep the order of actions straight.  The
 
1179
     debugging file is different from the log file because information
 
1180
     such as passwords can appear in it, so it must be not be
 
1181
     publically readable.
 
1182