|
|
1.1 ! root 1: .so ../ADM/mac ! 2: .XX uucp 563 "Uucp Administration" ! 3: .ds ut \(<-\h'-3p'\v'-3p'\(sp\v'+3p' ! 4: ." constant width bold, revert to previous font for second arg, if any ! 5: ." ! 6: .de cB ! 7: \&\f(CB\\$1\fP\\$2 ! 8: .. ! 9: ." ! 10: ." constant width, revert to previous font for second arg, if any ! 11: ." ! 12: .de cW ! 13: \&\f(CW\\$1\fP\\$2 ! 14: .. ! 15: ." ! 16: ." constant width in quotes, revert to previous font for second arg, if any ! 17: ." ! 18: .de qC ! 19: \&``\f(CW\\$1\fP''\\$2 ! 20: .. ! 21: ." ! 22: ." how do you spell UUCP? ! 23: ." ! 24: .ds uU \&\fIuucp\fP ! 25: .ds uU \&\fIUucp\fP ! 26: ." ! 27: ." how do you spell ASCII? ! 28: ." ! 29: .ds aS \&\fR\s-1ASCII\s0\fP ! 30: ." ! 31: ." ! 32: ." Command name in text, revert to previous font for second arg, if any ! 33: ." ! 34: .de cN ! 35: \&\f2\\$1\fP\\$2 ! 36: .. ! 37: ." ! 38: ." Option letter in text, revert to previous font for second arg, if any ! 39: ." ! 40: .de oP ! 41: \&\f(CW\\$1\fP\\$2 ! 42: .. ! 43: ." ! 44: ." File name in text, revert to previous font for second arg, if any ! 45: ." ! 46: .de fN ! 47: \&\f(CW\s-1\\$1\s0\fP\\$2 ! 48: .. ! 49: .de FG ! 50: .ce ! 51: \fBFigure\ \\$1.\fP \\$2 ! 52: .. ! 53: .de TB ! 54: .ce ! 55: \fBTable\ \\$1.\fP \\$2 ! 56: .. ! 57: .nr dP 2 ! 58: .nr dV 3p ! 59: .TL ! 60: Uucp Administration ! 61: .AU ! 62: David A. Nowitz ! 63: .AI ! 64: .MH ! 65: .AB ! 66: This describes the setup and administration of the \*(uU system ! 67: shipped with System V ! 68: (also known as Honey Danber). ! 69: .AE ! 70: .2C ! 71: .NH 1 ! 72: Introduction ! 73: .PP ! 74: This document describes the administration of the \*(uU system. ! 75: Administrators should be familiar with the ! 76: manual pages for each of the \*(uU related commands. ! 77: .NH 2 ! 78: Extent of the Network ! 79: .PP ! 80: Some basic decisions about ! 81: access ! 82: to processors in the network must be made ! 83: before attempting to set up the configuration files. ! 84: If an administrator has control over only one processor ! 85: and an existing ! 86: network is being joined, ! 87: then the administrator must decide what level of access should ! 88: be granted to other systems. ! 89: The other members of the network must make similar decisions for the new system. ! 90: The ! 91: .UX ! 92: system's ! 93: .I password ! 94: mechanism is ! 95: used to grant access to other systems. ! 96: The file ! 97: .fN /usr/lib/uucp/Permissions ! 98: provides various permissions and restrictions for file system access ! 99: and command execution from remote machines, ! 100: and the file ! 101: .fN /usr/lib/uucp/Systems ! 102: on the local processor determines the ! 103: systems on the network that can be reached directly. ! 104: .PP ! 105: When setting up more than one processor, ! 106: the administrator has control of a larger portion ! 107: of the network and can make more decisions about the ! 108: setup. ! 109: For example, the network can be set up as a ! 110: private ! 111: network ! 112: where only those machines under the direct control of the administrator ! 113: can access each other. ! 114: Granting ! 115: no ! 116: access to machines outside the network can be done if security ! 117: is paramount; ! 118: however, this is usually impractical. ! 119: Limited access can be granted to outside machines by each ! 120: of the systems ! 121: on the ! 122: private ! 123: network. ! 124: Alternatively, access to/from the outside ! 125: world can be confined to only one processor. ! 126: This is frequently done to minimize the effort in keeping ! 127: access information (passwords, phone numbers, etc.) ! 128: updated and to localize the security holes ! 129: for the private network. ! 130: .NH 2 ! 131: Hardware ! 132: .PP ! 133: There are several networks that are supported ! 134: with internal interface routines: ! 135: .IP 1. 3 ! 136: Direct connection using a null modem. ! 137: .IP 2. ! 138: Connection over the Direct Distance Dialing (DDD) network ! 139: using various dialers (e.g. AT&T, Hayes, Ventel). ! 140: .IP 3. ! 141: Connection using a DATAKIT\*(tm VCS. ! 142: .IP 4. ! 143: UNET\(em3COM Ethernet\*(tm network. ! 144: .IP 5. ! 145: TCP ! 146: .IP 6. ! 147: Sytek ! 148: .IP 7. ! 149: AT&T Transport Layer Interface networks ! 150: .PP ! 151: Networks that require only a single line, asynchronous connection can ! 152: be set up using the ! 153: .fN Dialers ! 154: file. ! 155: .1C ! 156: .KF ! 157: .TS ! 158: center ; ! 159: |c| c| ! 160: |lfCW| l| . ! 161: _ ! 162: program description ! 163: = ! 164: uucp File transfer command ! 165: uux Remote execution command ! 166: uucico The \*(uU file transfer program ! 167: uustat Network status command ! 168: uusched File transfer daemon scheduler ! 169: uucheck \*(uU system files, directories, and Permissions file checker ! 170: uucleanup Spool directories cleanup program ! 171: uuxqt Remote execution program ! 172: uugetty T{ ! 173: .fi ! 174: .ll 4i ! 175: \f(CWgetty\fP that can be used for lines/modems that are to ! 176: work as dialin and dialout ports ! 177: T} ! 178: uulog Shell program for looking at the log files ! 179: Uutry T{ ! 180: .fi ! 181: .ll 4i ! 182: Shell program used to try a remote ! 183: system with debugging options ! 184: T} ! 185: uudemon.cleanup T{ ! 186: .fi ! 187: .ll 4i ! 188: Shell program started by ! 189: .cN cron ! 190: to clean up \*(uU directories. ! 191: T} ! 192: uudemon.hour T{ ! 193: .fi ! 194: .ll 4i ! 195: Shell program, started by ! 196: .cN cron ! 197: used to start the file transfer scheduler and ! 198: the command execution program ! 199: T} ! 200: uudemon.admin T{ ! 201: .fi ! 202: .ll 4i ! 203: Shell program, started by ! 204: .cN cron ! 205: that sends data to the uucp administrator ! 206: giving information about the status of the \*(uU system ! 207: T} ! 208: uudemon.poll T{ ! 209: .fi ! 210: .ll 4i ! 211: Shell program, started by ! 212: .cN cron ! 213: is used for periodic polling of remote systems ! 214: T} ! 215: _ ! 216: .TE ! 217: .SP 1 ! 218: ....... ! 219: .ce ! 220: .TB 1 "Uucp System Programs" ! 221: .SP 1 ! 222: .KE ! 223: .KF bottom ! 224: .PS ! 225: scale=100 ! 226: define m0 | ! 227: [ box invis ht 24 wid 80 with .sw at 0,0 ! 228: arc from 0,18 to 80,18 at 40,58 ! 229: ] | ! 230: ! 231: define m1 | ! 232: [ box invis ht 106 wid 80 with .sw at 0,0 ! 233: ellipse ht 48 wid 80 at 40,82 ! 234: m0 with .nw at 0,24 ! 235: line from 0,82 to 0,18 ! 236: line from 80,82 to 80,18 ! 237: ] | ! 238: ! 239: define m2 | ! 240: [ box invis ht 48 wid 88 with .sw at 0,0 ! 241: box ht 48 wid 88 with .nw at 0,48 ! 242: "\fR\s18\&uucico\f1\s0" at 48,19 ! 243: ] | ! 244: ! 245: define m3 | ! 246: [ box invis ht 48 wid 88 with .sw at 0,0 ! 247: box ht 48 wid 88 with .nw at 0,48 ! 248: "\fR\s18\&uuxqt\f1\s0" at 44,19 ! 249: ] | ! 250: ! 251: define m4 | ! 252: [ box invis ht 48 wid 88 with .sw at 0,0 ! 253: box ht 48 wid 88 with .nw at 0,48 ! 254: "\fR\s18\&uux\f1\s0" at 40,23 ! 255: ] | ! 256: ! 257: define m5 | ! 258: [ box invis ht 48 wid 88 with .sw at 0,0 ! 259: "\fR\s18\&uucp\f1\s0" at 44,23 ! 260: box ht 48 wid 88 with .nw at 0,48 ! 261: ] | ! 262: ! 263: box invis ht 240 wid 504 with .sw at 0,0 ! 264: box ht 240 wid 504 with .nw at 0,240 ! 265: line -> from 256,128 to 328,72 ! 266: line <-> from 256,144 to 296,184 ! 267: "\fR\s12\&file transfer\f1\s0" at 444,133 ! 268: line -> from 112,88 to 176,120 ! 269: line -> from 112,176 to 176,136 ! 270: line -> from 360,136 to 448,112 ! 271: line from 392,136 to 360,136 ! 272: line from 336,160 to 392,136 ! 273: "\fR\s18\&spool\f1\s0" at 216,115 ! 274: m5 with .nw at 24,200 ! 275: m4 with .nw at 24,112 ! 276: m1 with .nw at 176,192 ! 277: m3 with .nw at 312,72 ! 278: m2 with .nw at 296,208 ! 279: .PE ! 280: .FG 1 "\*(UU transfer and remote execution programs" ! 281: .KE ! 282: .2C ! 283: .NH 1 ! 284: Uucp Software ! 285: .PP ! 286: Table 1 is a summary of the \*(uU System Program. ! 287: Figure 1 ! 288: illustrates the programs that are ! 289: used to process user requests. ! 290: The ! 291: .cN uucp ! 292: and ! 293: .cN uux ! 294: commands queue users' requests: ! 295: .cN uucp ! 296: for file transfers, ! 297: and ! 298: .cN uux ! 299: for requests for remote execution. ! 300: (\c ! 301: .cN Uux ! 302: is most often invoked from within the ! 303: .cN mail ! 304: command.) ! 305: .cN Uucico ! 306: takes care of the file transfers between machines. ! 307: Remote execution jobs are transferred by ! 308: .cN uucico ! 309: and executed by the ! 310: .cN uuxqt ! 311: program. ! 312: .1C ! 313: .KF ! 314: .PS ! 315: scale=100 ! 316: define t169 | ! 317: [ box invis ht 38 wid 66 with .sw at 0,0 ! 318: "\s12\&Scan for\f1\s0" at 33,29 ! 319: "\fR\s12\&Work\f1\s0" at 33,10 ! 320: ] | ! 321: ! 322: define t166 | ! 323: [ box invis ht 38 wid 130 with .sw at 0,0 ! 324: "\fR\s12\&Connect to\f1\s0" at 65,29 ! 325: "\fR\s12\&Remote Machine\f1\s0" at 65,10 ! 326: ] | ! 327: ! 328: define t170 | ! 329: [ box invis ht 38 wid 62 with .sw at 0,0 ! 330: "\fR\s12\&Start\f1\s0" at 31,29 ! 331: "\fR\s12\&Protocol\f1\s0" at 31,10 ! 332: ] | ! 333: ! 334: define t171 | ! 335: [ box invis ht 38 wid 66 with .sw at 0,0 ! 336: "\fR\s12\&File\f1\s0" at 33,29 ! 337: "\fR\s12\&Transfer\f1\s0" at 33,10 ! 338: ] | ! 339: ! 340: define t184 | ! 341: [ box invis ht 56 wid 112 with .sw at 0,0 ! 342: "\fR\s12\&establish\f1\s0" at 56,47 ! 343: "\fR\s12\&communication\f1\s0" at 56,28 ! 344: "\fR\s12\&channel\f1\s0" at 56,9 ! 345: ] | ! 346: ! 347: define t170 | ! 348: [ box invis ht 38 wid 62 with .sw at 0,0 ! 349: "\fR\s12\&Start\f1\s0" at 31,29 ! 350: "\fR\s12\&Protocol\f1\s0" at 31,10 ! 351: ] | ! 352: ! 353: define t171 | ! 354: [ box invis ht 38 wid 66 with .sw at 0,0 ! 355: "\fR\s12\&File\f1\s0" at 33,29 ! 356: "\fR\s12\&Transfer\f1\s0" at 33,10 ! 357: ] | ! 358: ! 359: define t169 | ! 360: [ box invis ht 38 wid 66 with .sw at 0,0 ! 361: "\fR\s12\&Scan for\f1\s0" at 33,29 ! 362: "\fR\s12\&Work\f1\s0" at 33,10 ! 363: ] | ! 364: ! 365: define m0 | ! 366: [ box invis ht 48 wid 160 with .sw at 0,0 ! 367: box ht 48 wid 160 with .nw at 0,48 ! 368: t169 with .nw at 47,40 ! 369: ] | ! 370: ! 371: define m1 | ! 372: [ box invis ht 48 wid 160 with .sw at 0,0 ! 373: box ht 48 wid 160 with .nw at 0,48 ! 374: t166 with .nw at 15,40 ! 375: ] | ! 376: ! 377: define m2 | ! 378: [ box invis ht 48 wid 160 with .sw at 0,0 ! 379: box ht 48 wid 160 with .nw at 0,48 ! 380: t170 with .nw at 45,40 ! 381: ] | ! 382: ! 383: define m3 | ! 384: [ box invis ht 48 wid 160 with .sw at 0,0 ! 385: t171 with .nw at 47,40 ! 386: box ht 48 wid 160 with .nw at 0,48 ! 387: ] | ! 388: ! 389: define m4 | ! 390: [ box invis ht 240 wid 160 with .sw at 0,0 ! 391: m0 with .nw at 0,240 ! 392: m1 with .nw at 0,176 ! 393: m2 with .nw at 0,112 ! 394: m3 with .nw at 0,48 ! 395: ] | ! 396: ! 397: define m5 | ! 398: [ box invis ht 240 wid 160 with .sw at 0,0 ! 399: box ht 48 wid 160 with .nw at 0,176 ! 400: m2 with .nw at 0,112 ! 401: m3 with .nw at 0,48 ! 402: m0 with .nw at 0,240 ! 403: ] | ! 404: ! 405: box invis ht 368 wid 576 with .sw at 0,0 ! 406: box ht 368 wid 576 with .nw at 0,368 ! 407: box ht 272 wid 192 with .nw at 32,336 dashed ! 408: m4 with .nw at 48,320 ! 409: t184 with .nw at 232,289 ! 410: line from 240,224 to 352,208 ! 411: line from 256,232 to 240,224 ! 412: line from 208,240 to 256,232 ! 413: line <-> from 208,104 to 368,104 ! 414: "\fR\s14\&UUCICO\f1\s0" at 132,31 ! 415: "\fR\s14\&UUCICO\f1\s0" at 448,31 ! 416: box ht 272 wid 192 with .nw at 352,336 dashed ! 417: m5 with .nw at 368,320 ! 418: .PE ! 419: .FG 2 "\*(uU file transfer functions" ! 420: .KE ! 421: .2C ! 422: .PP ! 423: Figure 2 ! 424: illustrates the structure of ! 425: .cN uucico , ! 426: the program that performs the communication with remote systems. ! 427: .NH 1 ! 428: \f(CB/etc/passwd\fP ! 429: .PP ! 430: To allow remote systems to call ! 431: the local system, password entries must be made ! 432: for any \*(uU ! 433: logins. ! 434: An example follows. ! 435: (In this and other examples to come, ! 436: the text must be on one physical line but is too long ! 437: for our column width. ! 438: A line break marked by \*(cr is only for readability.) ! 439: .P1 0 ! 440: nuucp:zaaAAaaa:6:1:Admin: \*(cr ! 441: /usr/spool/uucppublic: \*(cr ! 442: /usr/lib/uucp/uucico ! 443: .P2 ! 444: Note that the ! 445: .cN uucico ! 446: program is used for the ! 447: shell, ! 448: and the \*(uU public directory ! 449: is used as the working directory. ! 450: .PP ! 451: There must also be an entry in the ! 452: .fN /etc/passwd ! 453: file for a \*(uU ! 454: administrative ! 455: login. ! 456: This login is the owner of all the \*(uU ! 457: object and spooled data files and is usually ``uucp''. ! 458: For example, the following is a entry in ! 459: .fN /etc/passwd ! 460: for this administrative login: ! 461: .P1 0 ! 462: uucp:zAvLCKp:5:1:UUCP.Admin:/usr/lib/uucp: ! 463: .P2 ! 464: ........ ! 465: .NH 1 ! 466: \f(CB/etc/inittab\fP ! 467: .PP ! 468: After the ports are set up, entries should be put into ! 469: .fN /etc/inittab ! 470: corresponding to the devices. ! 471: Ports can ! 472: configured for outgoing traffic only, in which case, the action field of ! 473: the ! 474: .fN /etc/inittab ! 475: entry should be ``off''. ! 476: .P1 0 ! 477: 10:off:/etc/getty tty10 1200 ! 478: # outgoing ACU entry ! 479: .P2 ! 480: .PP ! 481: Bi-directional traffic can be set up using the ! 482: .CW /usr/lib/uucp/uugetty ! 483: command. ! 484: .P1 0 ! 485: 10:respawn:/usr/lib/uucp/uugetty -r -t60 \*(cr ! 486: tty10 1200H # bidirectional ! 487: .P2 ! 488: Note here that in the speed field there is an H after the speed. ! 489: This ! 490: corresponds to the 1200H ! 491: .fN /etc/gettydefs ! 492: entry that does not ! 493: set HUPCL in the initial flags for the line. ! 494: If the HUPCL flag was set, some modems would drop DTR ! 495: causing the ! 496: .cN uugetty ! 497: to exit. ! 498: Here are two typical ! 499: .fN /etc/gettydefs ! 500: entries for the 1200H and 1200: ! 501: .P1 0 ! 502: 1200H# B1200 # B1200 SANE IXANY TAB3 \*(cr ! 503: HUPCL #login: #300H ! 504: 1200# B1200 HUPCL # B1200 SANE IXANY \*(cr ! 505: TAB3 #login: #300 ! 506: .P2 ! 507: In addition, the ! 508: .oP \-r ! 509: option is needed on the ! 510: .cN uugetty ! 511: command to inhibit the echo of the ! 512: .cW login ! 513: prompt until a character is read; ! 514: this is because many modems bring up ! 515: DTR as soon as the ! 516: .cN open ! 517: is executed and the ! 518: .cN uugetty ! 519: would not be able to determine ! 520: whether the calling incoming or outgoing. ! 521: Also, if there is a direct line with ! 522: .cN uugetty 's ! 523: running ! 524: on both sides, the ! 525: .cW login ! 526: prompt would be read by both sides as ! 527: a user attempting to login and would get into a loop. ! 528: .NH 1 ! 529: Setting Up ACU Devices ! 530: .PP ! 531: Create a device in the ! 532: .fN /dev ! 533: directory corresponding to the ! 534: port of the ACU. ! 535: .P1 0 ! 536: mknod /dev/tty10 c 1 6 ! 537: .P2 ! 538: will create the ACU device on ! 539: .fN tty10 ! 540: that has major and minor ! 541: device numbers 1 and 6. ! 542: This will correspond to the following entry ! 543: in ! 544: .fN /usr/lib/uucp/Devices ! 545: .P1 0 ! 546: ACU tty10 - 1200 att4024 ! 547: .P2 ! 548: for an AT&T 4024 modem on tty10. ! 549: .PP ! 550: Next, the access modes and ownership of the device should be changed. ! 551: .P1 0 ! 552: chown uucp /dev/tty10 ! 553: chmod 644 /dev/tty10 ! 554: .P2 ! 555: .PP ! 556: For old Western Electric 212/801 type modems, ! 557: an additional device is required\(emthe 801 ! 558: device. ! 559: Create a device for the 212 modem line. ! 560: .P1 0 ! 561: mknod /dev/cul1 c 1 6 ! 562: chown uucp /dev/cul1 ! 563: chmod 644 /dev/cul1 ! 564: .P2 ! 565: Next, create a separate device for the 801 dialer. ! 566: .P1 0 ! 567: mknod /dev/cua1 c 7 1 ! 568: chown uucp /dev/cul1 ! 569: chmod 644 /dev/cua1 ! 570: .P2 ! 571: The corresponding ! 572: .fN /usr/lib/uucp/Devices ! 573: entry for this ACU would be ! 574: .P1 0 ! 575: ACU cul1 cua1 1200 801 ! 576: .P2 ! 577: Note that for 801/212 type modems, only one speed is allowed; ! 578: it can not be configured to work at both speeds when calling out. ! 579: .NH 1 ! 580: \f(CBDevices\fP File ! 581: .PP ! 582: The file ! 583: .fN /usr/lib/uucp/Devices ! 584: contains the device information needed ! 585: for calling other systems. ! 586: The format of the file is ! 587: .ce ! 588: \fICaller Line Line2 Class Token-Pairs\fP ! 589: .PP ! 590: The ! 591: .I Token-Pairs ! 592: field contains dialer names and ! 593: arguments that are passed to these dialer ! 594: routines. ! 595: Dialers can either be built-in or defined in the ! 596: .fN /usr/lib/uucp/Dialers ! 597: file. ! 598: .PP ! 599: .I Caller : ! 600: The keywords available in this field are shown below. ! 601: .KF ! 602: .TS ! 603: center; ! 604: |c| c| ! 605: |lFCW| lw(1.7i)|. ! 606: _ ! 607: keyword meaning ! 608: = ! 609: Direct T{ ! 610: hard-wired line used by cu for direct connections ! 611: T} ! 612: ACU T{ ! 613: make the connection through an autodialer ! 614: T} ! 615: \fINETWORK\fP T{ ! 616: .fi ! 617: \fRmake the connection through a switch or network ! 618: such as ! 619: Sytek, TCP, DK ! 620: T} ! 621: \fISYSTEM-NAME\fP T{ ! 622: .fi ! 623: for hard-wired connections to a particular system where ! 624: \fISYSTEM-NAME\fP is replaced by the name of the system ! 625: T} ! 626: \fIOTHER\fP T{ ! 627: .fi ! 628: other names that you define ! 629: (e.g. ! 630: .cW DKACU ! 631: can be set up as an ! 632: .cW ACU ! 633: on a Datakit network). ! 634: T} ! 635: _ ! 636: .TE ! 637: .KE ! 638: .PP ! 639: .I Line : ! 640: This data transmission device ! 641: (.e.g. ! 642: .fN tty10 ! 643: for device ! 644: .fN /dev/tty10 ). ! 645: .PP ! 646: .I Line2 : ! 647: If the ACU keyword is specified and the device type is 801, ! 648: this field contains the ! 649: device name of the 801 dialing device ACU. ! 650: Otherwise, the field is ignored; however, a place-holder must be ! 651: used in this field (use ! 652: .qC - ! 653: character for the place-holder). ! 654: .PP ! 655: .I Class : ! 656: For ACU, this can be just the speed, ! 657: or it can contain a letter and speed (e.g. D1200, C1200 ! 658: to differentiate between classes of dialers: Centrex, Dimension. ! 659: These names can be used in the ! 660: .fN Systems ! 661: file to select specific types of ! 662: .cW ACU s ! 663: for connections to some systems). ! 664: Some devices can be used at any speed, so the keyword ! 665: .qC Any ! 666: is used\(emthis line will match any speed requested in Systems. ! 667: Note: ! 668: If this field is ! 669: .qC Any ! 670: and the Systems class field is ! 671: .qC Any ! 672: then the speed is taken from the default set in ! 673: .fN parms.h ! 674: by the ! 675: .CW DEFAULT_BAUDRATE ! 676: constant. ! 677: .PP ! 678: .I Token-Pairs : ! 679: The rest of the line contains pairs of ! 680: .I dialers ! 681: and ! 682: .I tokens . ! 683: Each pair represents a ! 684: .I dialer ! 685: function and an argument to ! 686: pass to that function. ! 687: .KF ! 688: .TS ! 689: center; ! 690: |c| c| ! 691: |l| lw(2i)|. ! 692: _ ! 693: dialer function ! 694: = ! 695: 801 T{ ! 696: Western Electric 801/212 or 801/103 combinations ! 697: T} ! 698: 212 T{ ! 699: Western Electric 801/212 or 801/103 combinations ! 700: T} ! 701: Dialout T{ ! 702: Dialing using the dialout(3) routine ! 703: T} ! 704: TCP TCP Network ! 705: Unetserver 3COM Ethernet\*(tm network ! 706: DK T{ ! 707: Datakit with Multiplex Interface ! 708: T} ! 709: Sytek Sytek Network ! 710: TLI T{ ! 711: AT&T Transport Layer Network without Streams ! 712: T} ! 713: TLIS T{ ! 714: AT&T Transport Layer Network with Streams ! 715: T} ! 716: _ ! 717: .TE ! 718: .TB 2 "Built-in Dialers" ! 719: .KE ! 720: .PP ! 721: Table 2 provides the names of the built-in ! 722: .I dialer ! 723: routines. ! 724: All other ! 725: .I dialer ! 726: functions are defined in the ! 727: .fN /usr/lib/uucp/Dialers ! 728: file. ! 729: .PP ! 730: The second field in the ! 731: .cW Token-pair ! 732: is the argument to be passed to the ! 733: .I dialer ! 734: function\(emthis is typically the destination phone number. ! 735: Two special tokens are used to represent the phone number ! 736: field from the ! 737: .fN Systems ! 738: file: ! 739: .qC \eD ! 740: is the phone number field as it appears in the ! 741: .fN Systems ! 742: file while ! 743: .qC \eT ! 744: is the phone number after being processed using the ! 745: .fN Dialcodes ! 746: file to expand the phone number prefix. ! 747: If the last token on the ! 748: .fN Devices ! 749: file line is the phone number, ! 750: it can be omitted; ! 751: .qC \eD ! 752: is assumed, since routines defined in the ! 753: .fN Dialers ! 754: file ! 755: can use ! 756: .qC \eT ! 757: to do the expansion ! 758: and all internal routines will ! 759: do the expansion. ! 760: .PP ! 761: For cases where dialout modems are on a networks, ! 762: the ! 763: .cW Caller ! 764: will be ! 765: .cW ACU ! 766: and the ! 767: .cW Token-Pairs ! 768: will be the token given to the ! 769: network routine to attach to the dialout modem. ! 770: These two fields will be followed by another ! 771: .cW Token-Pair , ! 772: the dialer routine name (e.g. ! 773: .cW ventel ) ! 774: and the phone number ! 775: (e.g. ! 776: .qC \eD ! 777: or ! 778: .qC \eT ). ! 779: If the last token on the line is ! 780: .qC \eD ! 781: it may be omitted. ! 782: .PP ! 783: The following examples ! 784: illustrate various types of connections: ! 785: .P1 0 ! 786: ACU cul0 cua0 1200 801 ! 787: ACU cul1 cua1 300 801 ! 788: ACU vn0 - 1200 ventel ! 789: ACU vn0 - 300 ventel ! 790: ACU vd0 - 1200 vadic ! 791: ACU vd0 - V1200 vadic ! 792: ACU at1 - 2400 att4024 ! 793: ACU at1 - 1200 att4024 ! 794: Direct at1 - 1200 att4024 ! 795: .P2 ! 796: .PP ! 797: .fN /dev/cul0 ! 798: and ! 799: .fN /dev/cul1 ! 800: are 212 modems (\c ! 801: .fN /dev/cul1 ! 802: may be a 103 type), ! 803: with 801s at ! 804: .fN /dev/cua0 ! 805: and ! 806: .fN /dev/cua1 ! 807: respectively; ! 808: .fN /dev/vn0 ! 809: is hooked to a ventel and can be used ! 810: at 1200 or 300 baud, and ! 811: .fN /dev/vd0 ! 812: is hooked to a vadic. ! 813: There is also a att4024 dialer on ! 814: .fN /dev/at1 ; ! 815: it can be used at either 2400 or 1200 baud. ! 816: The ! 817: .I Direct ! 818: line is present for ! 819: .cN cu ! 820: to have direct access to the modem on ! 821: .fN /dev/at1 . ! 822: .PP ! 823: .P1 0 ! 824: ACU culd0 - Any datakit dial att4024 ! 825: ACU culd1 - Any datakit dial att4024 ! 826: ACU - 0 Any DK dial.\eT ! 827: .P2 ! 828: .PP ! 829: There are two RS-232 Datakit ports available and at least ! 830: two ! 831: AT&T 4024 modems attached to the network. ! 832: The ! 833: .I datakit ! 834: .fN Dialers ! 835: line will be accessed with the argument ! 836: .cW dial . ! 837: The ! 838: .I att4024 ! 839: .fN Dialers ! 840: line will be used with the ! 841: telephone number ! 842: from the ! 843: .fN Systems ! 844: file after it is processed using the ! 845: .fN Dialcodes ! 846: file prefix processing. ! 847: The last line in the above example uses the ! 848: internal, Datakit multiplexed interface routine. ! 849: Here, the ! 850: telephone number must be translated, ! 851: using the ! 852: .qW \eT ! 853: token, before ! 854: being passed to the ! 855: .cW DK ! 856: routine. ! 857: .PP ! 858: .P1 0 ! 859: raven ttyab - 9600 direct ! 860: Direct ttyab - 9600 direct ! 861: .P2 ! 862: .PP ! 863: There is a direct line\(em\c ! 864: .fN ttyab ! 865: has a null-modem connection to ! 866: system ! 867: .I raven . ! 868: The ! 869: .I Direct ! 870: line is for ! 871: .cN cu ! 872: access to the line. ! 873: .NH 1 ! 874: \f(CBDialers\fP File ! 875: .PP ! 876: Each line in the ! 877: .fN Dialers ! 878: file ! 879: is used to specify ! 880: the handshaking that should occur before it ! 881: is made available for user data. ! 882: Each line contains the following fields: ! 883: .ce ! 884: \fIDialer Translate Handshake\fP ! 885: .PP ! 886: .I Dialer : ! 887: Identifies the dialer, and is used ! 888: to match the first token of the ! 889: .cW Token-pairs ! 890: field in the ! 891: .fN Devices ! 892: file ! 893: for those dialers that are not built-in functions ! 894: specified in Table 2. ! 895: .PP ! 896: .I Translate : ! 897: Specifies the ``wait-for-dialtone'' and ``pause'' characters ! 898: that are used for the particular dialer. ! 899: (For the phone number in the ! 900: .fN Systems ! 901: file, the ! 902: .CW = ! 903: is used for ! 904: ``wait-for-dialtone'' and ! 905: .CW - ! 906: is used for ! 907: ``pause''.) ! 908: The string contains four characters, two pairs. ! 909: The first pair starts with ! 910: .CW = ! 911: and specifies the ``wait-for-dialtone'' character; ! 912: the second pair starts with ! 913: .CW - ! 914: and specifies the ! 915: ``pause'' character. ! 916: The second character of each pair is the corresponding ! 917: character for the dialer. ! 918: If no translation is required, a pair of double quotes ! 919: is used for a place-holder. ! 920: .PP ! 921: .I Handshaking : ! 922: The sequence of \*(aS strings ! 923: that are transmitted and expected, ! 924: and is used to dial a phone number using an \*(aS dialer ! 925: (such as an AT&T 4024) or connect via a dataswitch to ! 926: another system on the dataswitch. ! 927: (See the ``Login-script'' part of the ! 928: ``Systems'' section below for an explanation of expect-send fields.) ! 929: Figure 3 shows some sample lines. ! 930: .1C ! 931: .KF ! 932: .P1 20n ! 933: att4024 =+-, "" atzod,o12=y,o4=n\er\ec \e006 atT\eT\er\ec ed ! 934: ventel =&-% "" \er\ep\er\ec $ K call: \eT%% Online! ! 935: direct ! 936: datakit "" "" \er TION: \eD ! 937: hayes =,-, "" \edAT\er\ec OK\er \eEATDT\eT\er\ec CONNECT ! 938: .P2 ! 939: .FG 3 "Sample Dialer Lines" ! 940: .KE ! 941: .2C ! 942: .PP ! 943: The escape characters, those beginning with ! 944: .qC \e , ! 945: have the same ! 946: meaning as specified in the ``Login-script'' part of the ! 947: ``Systems'' file section below. ! 948: In addition to those mentioned in that section, ! 949: the ! 950: .qC \eT ! 951: and ! 952: .qC \eD ! 953: are used to substitute the phone number ! 954: string passed to the dialing function. ! 955: .NH 1 ! 956: \f(CBSystems\fP File ! 957: .PP ! 958: Lines in the ! 959: .fN /usr/lib/uucp/Systems ! 960: file represent systems ! 961: that can be called by the local \*(uU programs. ! 962: More than one line may be present for a particular system; ! 963: the additional lines represent alternative ! 964: communication paths that will be tried in sequential order. ! 965: In addition, remote systems that don't appear in the ! 966: .fN Systems ! 967: file can be prevented from communicating. ! 968: (This is the default configuration; ! 969: it can be modified by changing ! 970: .fN parms.h ! 971: before ! 972: compilation.) ! 973: Each line contains the following fields: ! 974: .ce ! 975: \fISystem Time Caller Class Phone Login-script\fP ! 976: .PP ! 977: .I System : ! 978: Name of the remote system. ! 979: .PP ! 980: .I Time : ! 981: This is a string that indicates the days-of-week ! 982: and times-of-day when the system should ! 983: be called ! 984: (e.g., ! 985: .cW MoTuTh0800\-1730 ). ! 986: .PP ! 987: The day portion may be a list containing ! 988: \f(CWSu\fP, ! 989: \f(CWMo\fP, ! 990: \f(CWTu\fP, ! 991: \f(CWWe\fP, ! 992: \f(CWTh\fP, ! 993: \f(CWFr\fP, ! 994: \f(CWSa\fP; ! 995: or it may be ! 996: \f(CWWk\fP ! 997: for any week-day or ! 998: \f(CWAny\fP ! 999: for any day. ! 1000: The time should be a range of times (e.g., ! 1001: .cW 0800\-1230 ). ! 1002: If no time portion is specified, any time ! 1003: of day is assumed to be allowed for the call. ! 1004: Note that a time range that spans 0000 is permitted; ! 1005: \f(CW0800-0600\fP means all times are allowed \fIexcept\fP ! 1006: times between 6 and 8 am. ! 1007: Multiple time fields may be include using a ! 1008: .qC , ! 1009: separator ! 1010: (e.g. ! 1011: .cW "Wk1800-0600,Sa,Su" ). ! 1012: An optional subfield is available to specify the minimum time (minutes) ! 1013: before a retry following a failed attempt. ! 1014: (Note that if this subfield is used, it will override the normal ! 1015: exponential backoff algorithm for retry upon failure.) ! 1016: This subfield is separated by a ! 1017: .qC ; ! 1018: character. ! 1019: .PP ! 1020: .I Caller : ! 1021: These are names that appear in the ! 1022: first field of the ! 1023: .fN Devices ! 1024: file. ! 1025: (e.g. ! 1026: .cW ACU , ! 1027: .cWDK , ! 1028: .cW Sytek , ! 1029: .cWTCP ). ! 1030: .PP ! 1031: .I Class : ! 1032: This is usually the line speed for the call (e.g., ! 1033: .cW 300 , ! 1034: .cW 1200 , ! 1035: .cW Any ). ! 1036: If the field is not used for a particular entry, a ! 1037: .qC - ! 1038: can be used ! 1039: as the place-holder. ! 1040: When the value is ! 1041: .qC Any , ! 1042: it means match any speed found for the particular caller. ! 1043: If both the ! 1044: .fN Systems ! 1045: and ! 1046: .fN Devices ! 1047: files value is ! 1048: .qC Any , ! 1049: then the value is ! 1050: taken from the ! 1051: .cW DEFAULT_BAUDRATE ! 1052: constant defined in ! 1053: .fN parms.h . ! 1054: .PP ! 1055: .I Phone : ! 1056: For autodialers, the phone number is made up of an optional ! 1057: alphabetic abbreviation (dialing prefix) and a numeric part. ! 1058: The abbreviation should be one that appears in the ! 1059: .fN Dialcodes ! 1060: file (e.g., ! 1061: .cW mh1212 , ! 1062: .cW boston555\-1212 ). ! 1063: For direct connections, the phone field is ignored. ! 1064: (A ! 1065: .qC - ! 1066: should be used as a place-holder). ! 1067: .PP ! 1068: For ! 1069: .I NETWORK ! 1070: access, ! 1071: the phone field is the token the switch ! 1072: or network routine needs to get to the ! 1073: particular system\(emit is used by the caller functions specified ! 1074: in the ! 1075: .fN Devices ! 1076: file. ! 1077: .PP ! 1078: .I Login-script : ! 1079: The login information is given as a series of ! 1080: fields and subfields in the format ! 1081: .P1 0 ! 1082: [ expect send ] .\|.\|. ! 1083: .P2 ! 1084: where ! 1085: .cW expect ! 1086: is the string expected to be read and ! 1087: .cW send ! 1088: is the string to be sent when the ! 1089: .cW expect ! 1090: string is received. ! 1091: Each ! 1092: .cW expect ! 1093: field may be made up of subfields ! 1094: of the form ! 1095: .P1 0 ! 1096: expect[\-send\-expect] .\|.\|. ! 1097: .P2 ! 1098: where the ! 1099: .cW send ! 1100: is sent if the prior ! 1101: .cW expect ! 1102: is ! 1103: .I not ! 1104: successfully read ! 1105: and the ! 1106: .cW expect ! 1107: following the ! 1108: .cW send ! 1109: is the next expected string. ! 1110: (For example, ! 1111: .cW "login--login" ! 1112: will expect ! 1113: .cW login ; ! 1114: if it gets it, the program will go on to the next field; ! 1115: if it does not get ! 1116: .cW login , ! 1117: it will send ! 1118: .I null ! 1119: followed by a new line, ! 1120: then expect ! 1121: .cW login ! 1122: again.) ! 1123: If no characters are initially expected from the remote ! 1124: machine, the string ! 1125: \&``\f(CW""\fP'' ! 1126: (a ! 1127: .I null ! 1128: string) should be used in the ! 1129: first expect field. ! 1130: Note that all ! 1131: .cW send ! 1132: fields will be sent followed by a new-line unless ! 1133: the ! 1134: .cW send ! 1135: string is terminated with a ! 1136: .qC \ec . ! 1137: .1C ! 1138: .KF ! 1139: .TS ! 1140: center; ! 1141: |c| c| ! 1142: |lfCW| l|. ! 1143: _ ! 1144: character meaning ! 1145: = ! 1146: \eb send a backspace character. ! 1147: \ec T{ ! 1148: .ll 4i ! 1149: .fi ! 1150: \fRif at the end of a string, suppress the new-line that ! 1151: is normally sent, ! 1152: Ignored otherwise ! 1153: T} ! 1154: \ed delay two seconds before sending or reading more characters ! 1155: \eE turn on echo checking (for slow devices) ! 1156: \ee turn off echo checking ! 1157: \eK insert a BREAK ! 1158: \eN send a null character. ! 1159: \en send a new-line character. ! 1160: \ep insert a pause (approximately \(14\-\(12 second). ! 1161: \er send a carriage-return. ! 1162: \es send a space character. ! 1163: \et send a tab character. ! 1164: \e\e send a \e character. ! 1165: EOT T{ ! 1166: .fi ! 1167: \fRsend an EOT character (EOT new-line is sent twice) ! 1168: T} ! 1169: BREAK send a break character ! 1170: \e\fIddd\fP T{ ! 1171: .fi ! 1172: collapse the octal digits (\fIddd\fP) into ! 1173: a single character and send that character. ! 1174: T} ! 1175: _ ! 1176: .TE ! 1177: .TB 3 "Special Strings" ! 1178: .KE ! 1179: .2C ! 1180: .PP ! 1181: Table 3 gives the special characters that are used in the ! 1182: .cW Login-script ! 1183: field. ! 1184: .PP ! 1185: A typical entry in the ! 1186: .fN Systems ! 1187: file for a system that is reached by dialing out on ! 1188: a modem is be ! 1189: .P1 0 ! 1190: sys Any ACU 1200 mh7654 login--login uucp \*(cr ! 1191: ssword: word ! 1192: .P2 ! 1193: A ! 1194: .fN Systems ! 1195: file entry for a direct connection would be ! 1196: .P1 0 ! 1197: hawk Any hawk 9600 - login--login uucp \*(cr ! 1198: ssword: word ! 1199: .P2 ! 1200: The corresponding ! 1201: .fN Device ! 1202: file entry would be ! 1203: .P1 0 ! 1204: hawk ttyhh - 9600 direct ! 1205: .P2 ! 1206: Note that the ! 1207: .I expect ! 1208: algorithm matches all or part of the input ! 1209: string as illustrated in the password field above. ! 1210: .NH 1 ! 1211: \f(CBDialcodes\fP File ! 1212: .PP ! 1213: The ! 1214: .fN Dialcodes ! 1215: file contains the dial-code abbreviations used ! 1216: in the ! 1217: .fN Systems ! 1218: file (e.g., py, mh, boston). ! 1219: The entry format is ! 1220: .P1 0 ! 1221: abb dial-sequence ! 1222: .P2 ! 1223: where ! 1224: .cW abb ! 1225: is the abbreviation and ! 1226: .cW "dial-sequence" ! 1227: is the dial sequence to call that location. ! 1228: .PP ! 1229: The line ! 1230: .P1 0 ! 1231: mh 132- ! 1232: .P2 ! 1233: would be set up so that entry ! 1234: .cW mh7777 ! 1235: would ! 1236: send ! 1237: .cW 132-7777 ! 1238: to the dial unit. ! 1239: ...... ! 1240: .NH 1 ! 1241: \f(CBSysfiles\fB \(em alternate \f(CBSystems, Devices, Dialers\fR files ! 1242: .PP ! 1243: It is sometimes useful to have more than one ! 1244: .fN Systems , ! 1245: .fN Devices , ! 1246: and ! 1247: .fN Dialers ! 1248: files. ! 1249: The ! 1250: .fN Systems ! 1251: file can be split into smaller, more manageable files\(emone ! 1252: containing local and one global data. ! 1253: In addition, ! 1254: .cN uucico ! 1255: and ! 1256: .cN cu ! 1257: may need different ! 1258: .fN Systems ! 1259: files. ! 1260: The ! 1261: .fN Sysfiles ! 1262: file provides a mechanism for specifying different ! 1263: resource files. ! 1264: The general form of the file is name-value pairs similar to the ! 1265: .fN Permissions ! 1266: file. ! 1267: .cW "File-lists" ! 1268: are colon separated lists of file names ! 1269: that are in the ! 1270: .fN /usr/lib/uucp ! 1271: directory. ! 1272: .P1 0 ! 1273: service=<service name> \e ! 1274: systems=<systems file-list> \e ! 1275: devices=<devices file-list> \e ! 1276: dialers=<dialers file-list> ! 1277: .P2 ! 1278: Each entry is a single logical line where the trailing ``\e'' ! 1279: character is used to indicate continuation. ! 1280: .P1 0 ! 1281: service=uucico \e ! 1282: systems=Systems.cico:Systems \e ! 1283: dialers=Dialers.cico:Dialers ! 1284: ! 1285: service=cu \e ! 1286: systems=Systems.cu:Systems \e ! 1287: dialers=Dialers.cu:Dialers ! 1288: .P2 ! 1289: .PP ! 1290: In the example, ! 1291: .cN uucico ! 1292: will use the ! 1293: .fN Systems.cico ! 1294: file ! 1295: followed by the ! 1296: .fN Systems ! 1297: file for remote systems information. ! 1298: It also specifies two ! 1299: .fN Dialers ! 1300: files. ! 1301: The ! 1302: .cN cu ! 1303: program will use ! 1304: .fN Systems.cu ! 1305: and the ! 1306: .fN Systems ! 1307: file. ! 1308: It also has two ! 1309: .fN Dialers ! 1310: files. ! 1311: Any options not specified in ! 1312: .fN Sysfiles ! 1313: will have the default of ! 1314: .fN /usr/lib/uucp/Systems , ! 1315: .fN /usr/lib/uucp/Devices ", and" ! 1316: .fN /usr/lib/uucp/Dialers . ! 1317: .NH 1 ! 1318: \f(CBPermissions\fP File ! 1319: .PP ! 1320: The ! 1321: .fN /usr/lib/uucp/Permissions ! 1322: file specifies the permission that remote sites ! 1323: have with respect to login, file access, and command ! 1324: execution. ! 1325: Options provide for restricting the ability to request files and ! 1326: the ability to receive files queued by the local site. ! 1327: In addition, an option is available to specify the commands that a ! 1328: remote site can execute on the local system. ! 1329: .PP ! 1330: The next sub-section gives three ! 1331: .fN Permissions ! 1332: file entries. ! 1333: Taken together, they provide all the entries needed by most ! 1334: sites running the \*(uU system. ! 1335: The remainder of the section gives a detailed explanation of the ! 1336: options. ! 1337: .NH 2 ! 1338: Starting Examples ! 1339: .PP ! 1340: The first example is the model of an entry for the public login on ! 1341: your system; ! 1342: it represents the most restrictive access to your system. ! 1343: .P1 0 ! 1344: LOGNAME=nuucp ! 1345: .P2 ! 1346: states that login ! 1347: .cW nuucp ! 1348: has all the default permissions/restrictions: ! 1349: .IP \(bu ! 1350: The remote site can send files exclusively to the ! 1351: .I "uucp public" ! 1352: directory. ! 1353: (usually ! 1354: .fN /usr/spool/uucppublic ) ! 1355: .IP \(bu ! 1356: The remote site can \fInot\fP request to receive any files. ! 1357: .IP \(bu ! 1358: \fINo\fP files that are queued for the remote site will be transferred ! 1359: during the present session. ! 1360: .IP \(bu ! 1361: The only commands that can be executed are the defaults\(emusually ! 1362: .cN rmail . ! 1363: .PP ! 1364: This entry alone is sufficient to start communications with remote sites, ! 1365: permitting files to be transferred to the ! 1366: .I "uucp public" ! 1367: directory by request of ! 1368: the remote site. ! 1369: .PP ! 1370: The next example is for remote sites that log in, but have fewer restrictions. ! 1371: The login and password corresponding to this entry should \fBnot\fP be distributed ! 1372: to the general public; ! 1373: it is usually reserved for closely coupled systems where the ! 1374: .fN Systems ! 1375: file ! 1376: information can be tightly controlled. ! 1377: .P1 0 ! 1378: LOGNAME=uucpz REQUEST=yes SENDFILES=yes \e ! 1379: READ=/ WRITE=/ ! 1380: .P2 ! 1381: This entry provides the following permissions ! 1382: when a remote site logs in as ! 1383: .cW uucpz : ! 1384: .IP \(bu ! 1385: Files can be requested from the local site (\c ! 1386: .cW REQUEST ! 1387: option). ! 1388: .IP \(bu ! 1389: Files can be transferred to any directory or any file ! 1390: that is writable by user ! 1391: .I other \(em\c ! 1392: that is ! 1393: a file/directory that is writable by a local user with ! 1394: neither owner nor group permissions. ! 1395: (Option ! 1396: .cW WRITE ! 1397: controls this permission.) ! 1398: .IP \(bu ! 1399: Any files readable by user ! 1400: .I other ! 1401: can be requested. ! 1402: (Option ! 1403: .cW READ ! 1404: controls this permission.) ! 1405: .IP \(bu ! 1406: Any requests queued by the local site will be executed during ! 1407: the conversation; ! 1408: these are requests by local users that are destined for the ! 1409: site that is calling in. ! 1410: (\c ! 1411: .cW SENDFILES ! 1412: option). ! 1413: .IP \(bu ! 1414: The commands sent for execution on the local system by the remote ! 1415: must be in the default set (usually ! 1416: .cN rmail ). ! 1417: .PP ! 1418: Thus far, the examples showed entries that referred to remote sites ! 1419: when they log in to the local system. ! 1420: This example is an entry used when calling a remote site. ! 1421: .P1 0 ! 1422: MACHINE=mhtsa:mhtsb:mhtsc:pwbcc \e ! 1423: REQUEST=yes READ=/ WRITE=/ ! 1424: .P2 ! 1425: When calling any of the systems given in the ! 1426: .cW MACHINE ! 1427: list, ! 1428: the following permissions prevail: ! 1429: .IP \(bu ! 1430: The remote site can both request and send files (\c ! 1431: .cW REQUEST ! 1432: option). ! 1433: .IP \(bu ! 1434: The source or destination of the files on the local system can ! 1435: be anywhere in the file system. ! 1436: .IP \(bu ! 1437: The only commands that will be executed for the remote site ! 1438: are those in the default list. ! 1439: .PP ! 1440: Any site that is called that does not have its name in a ! 1441: .cW MACHINE ! 1442: entry will have the default permissions ! 1443: with the exception that files queued for that site will be sent ! 1444: (the ! 1445: .cW SENDFILES ! 1446: option only has meaning in a ! 1447: .cW LOGNAME ! 1448: entry). ! 1449: .PP ! 1450: The ! 1451: three examples in this section form a model ! 1452: .fN Permissions ! 1453: file that ! 1454: can be used by a system with a public login for remote sites ! 1455: and several closely coupled machines. ! 1456: .NH 2 ! 1457: Basics ! 1458: .PP ! 1459: Each ! 1460: .I entry ! 1461: is a logical line; ! 1462: physical lines are terminated with a ! 1463: .qC \e ! 1464: to indicate continuation. ! 1465: Entries are made up of ! 1466: .I "white space" ! 1467: delimited ! 1468: .I options . ! 1469: Each option is a ! 1470: name/value pair; ! 1471: these are constructed by an option name followed by an ! 1472: .qC = ! 1473: followed by ! 1474: the value. ! 1475: Note that ! 1476: white space is \fBnot\fP allowed within a name/value pair. ! 1477: .PP ! 1478: Comment lines begin with ! 1479: .qC # ; ! 1480: they occupy the entire line up to a newline character. ! 1481: Blank lines are ignored (even within multi line entries). ! 1482: .PP ! 1483: There are two types of entries: ! 1484: .CW LOGNAME ! 1485: entries specify permissions for remote sites ! 1486: when they log in to the local machine, and ! 1487: .CW MACHINE ! 1488: entries ! 1489: specify permissions for sites that the local machine calls. ! 1490: .PP ! 1491: LOGNAME entries will contain a ! 1492: .cW LOGNAME ! 1493: option. ! 1494: MACHINE entries will contain a ! 1495: .cW MACHINE ! 1496: option somewhere in the entry. ! 1497: .NH 2 ! 1498: Some Rules ! 1499: .PP ! 1500: All login ids used by remote sites to login for uucp ! 1501: \fImust\fP appear in one and only one ! 1502: LOGNAME entry. ! 1503: .PP ! 1504: Any site that is called that ! 1505: \fIdoes not\fP appear in a ! 1506: MACHINE entry ! 1507: will have the following ! 1508: default permissions/restrictions: ! 1509: .IP \(em 3n ! 1510: Local send and receive requests will be executed. ! 1511: .IP \(em ! 1512: The remote can send files to the system's public uucp directory. ! 1513: .IP \(em ! 1514: The commands sent by the remote for execution on the local machine ! 1515: must be in the default set\(emusually ! 1516: .cN rmail ! 1517: and ! 1518: .cN rnews . ! 1519: .1C ! 1520: .KF ! 1521: .TS ! 1522: center; ! 1523: |c| c| c| c| ! 1524: |lFCW| lfR | lFCW| lFCW| . ! 1525: _ ! 1526: option meaning values default ! 1527: = ! 1528: MACHINE remote machine name identification \fImachine list\fP ! 1529: LOGNAME login used by a remote \fIlogin ids.\fP ! 1530: REQUEST remote machine can request files yes/no no ! 1531: READ directories remote can request from \fIdirectory list\fP ! 1532: WRITE directories remote can write into \fIdirectory list\fP ! 1533: SENDFILES T{ ! 1534: .nf ! 1535: send queued files when called by ! 1536: remote ! 1537: T} yes/no no ! 1538: NOREAD directories remote can \fBnot\fP request from \fIdirectory list\fP ! 1539: NOWRITE directories remote can \fBnot\fP write into \fIdirectory list\fP ! 1540: CALLBACK call back remote yes/no no ! 1541: COMMANDS T{ ! 1542: .nf ! 1543: list of allowed commands for execution ! 1544: by \f(CWuuxqt\fP ! 1545: T} T{ ! 1546: ALL or ! 1547: .nf ! 1548: \fIcommand list\fP ! 1549: T} ! 1550: PUBDIR \*(uU public directory \fIdirectory\fP T{ ! 1551: .nf ! 1552: \fIlogin ! 1553: directory\fP ! 1554: T} ! 1555: MYNAME local machine name \fImachine name\fP T{ ! 1556: .nf ! 1557: \fIlocal ! 1558: name\fP ! 1559: T} ! 1560: VALIDATE verify remote system name vs. login id. \fImachine list\fP ! 1561: _ ! 1562: .TE ! 1563: .TB 4 "Permissions File Options" ! 1564: .KE ! 1565: .2C ! 1566: .NH 2 ! 1567: Options ! 1568: .PP ! 1569: This section give the details of each option, specifying how they are ! 1570: used and their default values. ! 1571: Table 4 is a summary of the options available for the ! 1572: .fN Permissions ! 1573: file. ! 1574: .NH 2 ! 1575: MACHINE and LOGNAME ! 1576: .PP ! 1577: The MACHINE entry specifies the permissions that take effect when ! 1578: a remote site is ! 1579: .I called . ! 1580: .P1 0 ! 1581: MACHINE=mhtsa ! 1582: .P2 ! 1583: is the start of an entry that will specify the permissions associated ! 1584: with machine ! 1585: .cW mhtsa . ! 1586: The MACHINE option can contain a list of different system names, ! 1587: each separated by a ! 1588: .qC : ! 1589: character. ! 1590: For example, ! 1591: .P1 0 ! 1592: MACHINE=mhtsa:mhtsb:mhtsc ! 1593: .P2 ! 1594: .ne5 ! 1595: .PP ! 1596: The ! 1597: .cW LOGNAME ! 1598: entry specifies a list of login ids of remote sites ! 1599: that are able to log into the local system. ! 1600: The option contains one or more names separated by a ! 1601: .qC : ! 1602: character. ! 1603: For example, ! 1604: .P1 0 ! 1605: LOGNAME=nuucp ! 1606: LOGNAME=uucpz:uucyz ! 1607: .P2 ! 1608: Names that appear in ! 1609: .cW LOGNAME ! 1610: options can appear in only one such entry. ! 1611: .NH 2 ! 1612: REQUEST ! 1613: .PP ! 1614: The ! 1615: .cW REQUEST ! 1616: option can appear in either a ! 1617: LOGNAME ! 1618: entry or a ! 1619: MACHINE ! 1620: entry ! 1621: and specifies whether the remote can make requests to receive local ! 1622: files. ! 1623: .P1 0 ! 1624: REQUEST=yes ! 1625: .P2 ! 1626: specifies that the remote \fBcan\fP request files. ! 1627: .P1 0 ! 1628: REQUEST=no ! 1629: .P2 ! 1630: specifies that the remote \fBcan not\fP request files. ! 1631: The latter is the default\(emit will be used if the ! 1632: .cW REQUEST ! 1633: option is not specified. ! 1634: .NH 2 ! 1635: SENDFILES ! 1636: .PP ! 1637: .cW SENDFILES ! 1638: specifies whether the \fIcalled\fP site will execute locally ! 1639: queued requests during the conversation. ! 1640: The default is that locally queued ! 1641: requests will not be executed during the call; ! 1642: they will be done only when the remote is \fIcalled\fP by the local system. ! 1643: (I don't care who you say you are, I'll send you queued files when ! 1644: I call you.) ! 1645: .PP ! 1646: Clearly, this option is only significant in LOGNAME entries, since ! 1647: MACHINE entries apply when calls are made out to remote sites. ! 1648: The option is ignored when a MACHINE entry is being used. ! 1649: .P1 0 ! 1650: SENDFILES=yes ! 1651: .P2 ! 1652: specifies that the locally queued requests will be executed when ! 1653: the remote site logs in as one of the names in this entry's ! 1654: .cW LOGNAME ! 1655: option. ! 1656: .PP ! 1657: The default setting for the ! 1658: .cW SENDFILE ! 1659: option is ! 1660: .P1 0 ! 1661: SENDFILES=call ! 1662: .P2 ! 1663: meaning that queued files will be sent only when the local machine ! 1664: makes the connection. ! 1665: This ! 1666: .cW call ! 1667: value can be specified for documentation purposes. ! 1668: .NH 2 ! 1669: READ and WRITE ! 1670: .PP ! 1671: The default for both the ! 1672: .cW READ ! 1673: and ! 1674: .cW WRITE ! 1675: options ! 1676: is the ! 1677: \*(uU ! 1678: public directory. ! 1679: The options ! 1680: .P1 0 ! 1681: READ=/usr/spool/uucppublic \e ! 1682: WRITE=/usr/spool/uucppublic ! 1683: .P2 ! 1684: are the defaults and may be specified for documentation purposes. ! 1685: The options ! 1686: .P1 0 ! 1687: READ=/ WRITE=/ ! 1688: .P2 ! 1689: specify permission to access any file that can be accessed by a local ! 1690: user with ! 1691: .I "other" ! 1692: permissions. ! 1693: .PP ! 1694: The value of these entries is a colon separated list of path ! 1695: names. ! 1696: The ! 1697: .cW READ ! 1698: option is for requesting files and the ! 1699: .cW WRITE ! 1700: option for ! 1701: depositing files. ! 1702: Any file coming in or going out must ! 1703: match a prefix in ! 1704: .cW READ ! 1705: or ! 1706: .cW WRITE ! 1707: option. ! 1708: .PP ! 1709: To grant permission to deposit files in ! 1710: .fN /usr/news , ! 1711: as well as the public directory, specify ! 1712: .P1 0 ! 1713: WRITE=/usr/spool/uucppublic:/usr/news ! 1714: .P2 ! 1715: in the entry. ! 1716: .PP ! 1717: \fBIf the ! 1718: .cW READ ! 1719: or ! 1720: .cW WRITE ! 1721: option is specified, all the ! 1722: path names must be specified; ! 1723: they do not add to the default ! 1724: list.\fP ! 1725: .NH 2 ! 1726: NOREAD and NOWRITE ! 1727: .PP ! 1728: There are two other options in the file access class, ! 1729: .cW NOREAD ! 1730: and ! 1731: .cW NOWRITE. ! 1732: These will rarely be used; ! 1733: they specify exceptions to the ! 1734: .cW READ ! 1735: and ! 1736: .cW WRITE ! 1737: options or defaults. ! 1738: .P1 0 ! 1739: READ=/ NOREAD=/etc \e ! 1740: WRITE=/usr/spool/uucppublic ! 1741: .P2 ! 1742: This example would permit reading any file except those in the ! 1743: .fN /etc ! 1744: directory (and its sub directories\(emremember these are prefixes) ! 1745: and writing only to the default ! 1746: .I public ! 1747: directory. ! 1748: .cW NOWRITE ! 1749: works the same way for sending files to the local system. ! 1750: .NH 2 ! 1751: CALLBACK ! 1752: .PP ! 1753: The ! 1754: .cW CALLBACK ! 1755: option is used in LOGNAME entries to specify that ! 1756: no transaction will take place, but the calling system, ! 1757: as established during handshake, will be called back. ! 1758: .P1 0 ! 1759: CALLBACK=yes ! 1760: .P2 ! 1761: specifies this action. ! 1762: The default is ! 1763: .P1 0 ! 1764: CALLBACK=no ! 1765: .P2 ! 1766: The ! 1767: .cW CALLBACK ! 1768: option will rarely be used. ! 1769: (Note that if two sites have this option set for each other, a conversation ! 1770: will never get started.) ! 1771: .NH 2 ! 1772: COMMANDS ! 1773: .QS ! 1774: .ft B ! 1775: WARNING!! ! 1776: The ! 1777: .cW COMMANDS ! 1778: option can be hazardous to the security ! 1779: of your system. ! 1780: Use it with extreme care. ! 1781: .ft R ! 1782: .QE ! 1783: .PP ! 1784: The ! 1785: .cW VALIDATE ! 1786: option should be used in conjunction with the ! 1787: .cW COMMANDS ! 1788: option whenever potentially dangerous commands ! 1789: like ! 1790: .cN cat ! 1791: and ! 1792: .cN uucp ! 1793: are specified. ! 1794: Any command that reads or writes files is potentially ! 1795: dangerous to local security when executed by the \*(uU ! 1796: remote execution program (\c ! 1797: .cN uuxqt ). ! 1798: .PP ! 1799: The ! 1800: .cN uux ! 1801: program will generate remote execution requests and queue ! 1802: them to be transferred to the remote site. ! 1803: Files and a command are sent to the target site. ! 1804: The ! 1805: .cW COMMANDS ! 1806: option can be used ! 1807: in MACHINE entries to specify the commands that a remote ! 1808: machine can execute. ! 1809: .ft R ! 1810: .P1 0 ! 1811: COMMANDS=rmail:rnews ! 1812: .P2 ! 1813: This line specifies the commands that can be executed by the ! 1814: remote machine are either ! 1815: .cN rmail ! 1816: or ! 1817: .cN rnews ! 1818: exclusively. ! 1819: (The default list is specified in the ! 1820: .fN parms.h ! 1821: header file ! 1822: during compilation of \*(uU. ! 1823: The defaults settings will be discussed later.) ! 1824: The entry ! 1825: .P1 0 ! 1826: MACHINE=owl:raven:hawk:dove \e ! 1827: COMMANDS=rmail:rnews:lp ! 1828: .P2 ! 1829: overrides the ! 1830: .cW COMMAND ! 1831: default such that the command list ! 1832: for machines owl, raven, hawk, and dove now consists of ! 1833: .cN rmail , ! 1834: .cN rnews , ! 1835: and ! 1836: .cN lp . ! 1837: .PP ! 1838: .ft B ! 1839: If you don't trust a caller's identity, don't let that system ! 1840: execute dangerous commands. ! 1841: .ft ! 1842: (If you can't trust a site, ! 1843: make sure that the login and password it uses is restricted.) ! 1844: .PP ! 1845: .ft B ! 1846: Giving a site an unrestricted login, with file access and remote execution ! 1847: capability, is like giving anyone on that system a local login. ! 1848: .ft ! 1849: .NH 2 ! 1850: VALIDATE ! 1851: .PP ! 1852: Use the ! 1853: .cW VALIDATE ! 1854: option in connection with the ! 1855: .cW COMMANDS ! 1856: option ! 1857: when specifying dangerous commands. ! 1858: It is used in LOGNAME entries to provide \fIsome\fP verification ! 1859: of the caller's identity. ! 1860: However, an important aspect of this validation is that the ! 1861: login/password associated with this entry be protected. ! 1862: If an outsider gets that information, the validation is not valid! ! 1863: .P1 0 ! 1864: LOGNAME=uucpfriend VALIDATE=eagle:owl:hawk ! 1865: .P2 ! 1866: This entry specifies that if a remote logs in and says that it is ! 1867: any of the specified birds, it must have logged in as ! 1868: .cW uucpfriend . ! 1869: If an outsider gets the ! 1870: .cW uucpfriend ! 1871: login/password, ! 1872: masquerading is trivial. ! 1873: .PP ! 1874: But what does this have to do with the ! 1875: .cW COMMANDS ! 1876: option, ! 1877: which only appears in MACHINE entries? ! 1878: A short answer is that it connects the MACHINE entry that has the ! 1879: .cW COMMANDS ! 1880: option with a protected login entry that appears in ! 1881: a ! 1882: .cW LOGNAME ! 1883: option. ! 1884: This connection is needed because the execution demon is not ! 1885: running while the remote is logged in; ! 1886: it is an asynchronous process with no knowledge of ! 1887: what system sent the execution requests. ! 1888: .PP ! 1889: Therefore, the real question is, how does the local site know who originated the ! 1890: execution files (\c ! 1891: .qC X. ! 1892: files sent by the ! 1893: .cN uux ! 1894: command on the remote site)? ! 1895: .PP ! 1896: Each remote site has its own ! 1897: .I spool ! 1898: directory, with write permission ! 1899: only given to the \*(uU programs. ! 1900: The execution files from the remote site are put in its ! 1901: .I spool ! 1902: directory. ! 1903: Therefore, when the ! 1904: .cN uuxqt ! 1905: program runs, it can use the ! 1906: .I spool ! 1907: directory name to find the MACHINE entry in the ! 1908: .fN Permissions ! 1909: file and get the ! 1910: .cW COMMANDS ! 1911: list, or if the machine name does not ! 1912: appear in the ! 1913: .fN Permissions ! 1914: file, the default list will be used. ! 1915: .P1 0 ! 1916: MACHINE=mhtsa:mhtsb:mhtsc \e ! 1917: REQUEST=yes \e ! 1918: COMMANDS=ALL \e ! 1919: READ=/ WRITE=/ ! 1920: ! 1921: LOGNAME=uucpz \e ! 1922: VALIDATE=mhtsa:mhtsb:mhtsc \e ! 1923: REQUEST=yes SENDFILES=yes \e ! 1924: READ=/ WRITE=/ ! 1925: .P2 ! 1926: The example above ! 1927: specifies unrestricted read, write, and command execution. ! 1928: The ! 1929: .qC ALL ! 1930: value in the commands option means that any command ! 1931: can be executed! ! 1932: \fBWARNING\fP: ! 1933: Using the ! 1934: .qC ALL ! 1935: value gives the remote site unlimited access to your ! 1936: system. ! 1937: Files that are only readable or writable by user ! 1938: .I "uucp" ! 1939: (like ! 1940: .fN Systems ) ! 1941: can be accessed using commands like ! 1942: .cN "ed" . ! 1943: .PP ! 1944: The assumption you make by the first entry above is that when you ! 1945: call ! 1946: .I mhtsa , ! 1947: .I mhtsb ! 1948: or ! 1949: .I mhtsc , ! 1950: you really know who you are talking to. ! 1951: Therefore, any files put into one of the ! 1952: .I mhtsa , ! 1953: .I mhtsb ! 1954: or ! 1955: .I mhtsc , ! 1956: .I spool ! 1957: directories is put there by one of those sites. ! 1958: If a remote site logs in declaring it is one of these three systems, ! 1959: the execution files will also be put in the privileged ! 1960: .I spool ! 1961: directory. ! 1962: You therefore have to validate that the site has the privileged ! 1963: login ! 1964: .I "uucpz" ! 1965: to prevent masquerading. ! 1966: .NH 2 ! 1967: COMMANDS revisited ! 1968: .PP ! 1969: The ! 1970: .cW COMMANDS ! 1971: option specifies a list of commands that can be ! 1972: executed by remote machines. ! 1973: In addition to the names as specified above, they can be full path ! 1974: names of commands, for example ! 1975: .P1 0 ! 1976: COMMANDS=rmail:/usr/lbin/rnews:/usr/local/lp ! 1977: .P2 ! 1978: specifies that command ! 1979: .cN "rmail" ! 1980: uses the default path, ! 1981: which is set up at \*(uU compilation time\(emspecified in the ! 1982: .fN parms.h ! 1983: file. ! 1984: When the remote site specifies ! 1985: .cN rnews ! 1986: or ! 1987: .fN /usr/lbin/rnews ! 1988: for the ! 1989: command to be executed, ! 1990: .fN /usr/lbin/rnews ! 1991: will be executed ! 1992: regardless of the default path. ! 1993: Likewise, ! 1994: .fN /usr/local/lp ! 1995: is the ! 1996: .cN lp ! 1997: command that will be executed. ! 1998: .PP ! 1999: Including the ! 2000: .qC "ALL" ! 2001: value in the list means that any command from the ! 2002: remote machine(s) specified in the entry will be executed. ! 2003: .P1 0 ! 2004: COMMANDS=/usr/lbin/rnews:ALL:/usr/local/lp ! 2005: .P2 ! 2006: This example illustrates two points. ! 2007: The ! 2008: .qC ALL ! 2009: value can appear anywhere in the string. ! 2010: And, the path names specified for ! 2011: .cN rnew ! 2012: and ! 2013: .cN lp ! 2014: will be used ! 2015: if the requested command does not contain the full-path names for ! 2016: .cN rnews ! 2017: or ! 2018: .cN lp . ! 2019: .NH 2 ! 2020: MYNAME ! 2021: .PP ! 2022: When a remote calls, the called system responds with the local system ! 2023: name; ! 2024: this communicated in the ! 2025: .cW Shere ! 2026: message. ! 2027: There are some situations when a system may want to say it is someone else. ! 2028: For testing, this permits a system to call itself. ! 2029: Also, a series of systems can be made to look like one to the outside world, ! 2030: while retaining unique identities within a local network. ! 2031: .P1 0 ! 2032: LOGNAME=uucptest MYNAME=testing ! 2033: .P2 ! 2034: The local system will report its name as ! 2035: .cW testing ! 2036: whenever a remote logs in as uucptest. ! 2037: .PP ! 2038: This facility can also be used when calling out: ! 2039: .P1 0 ! 2040: MACHINE=testmach MYNAME=atest ! 2041: .P2 ! 2042: Tells the machine, ! 2043: .cW testmach , ! 2044: that machine ! 2045: .cW atest ! 2046: is calling. ! 2047: ....... ! 2048: .NH 2 ! 2049: PUBDIR ! 2050: .PP ! 2051: .fN /usr/spool/uucppublic , ! 2052: the ! 2053: .I public ! 2054: directory, ! 2055: provides directories ! 2056: for public access. ! 2057: One may want to have different ! 2058: .I public ! 2059: directories based on ! 2060: login ids. ! 2061: .P1 0 ! 2062: LOGNAME=loginA\e ! 2063: PUBDIR=/usr/spool/uucppublic/loginA ! 2064: LOGNAME=loginB\e ! 2065: PUBDIR=/usr/spool/uucppublic/loginB ! 2066: .P2 ! 2067: This can also be specified when remote machines are called: ! 2068: .P1 0 ! 2069: MACHINE=machineA\e ! 2070: PUBDIR=/usr/spool/uucppublic/machineA ! 2071: MACHINE=machineB\e ! 2072: PUBDIR=/usr/spool/uucppublic/machineB ! 2073: .P2 ! 2074: .NH 2 ! 2075: Default Settings ! 2076: .PP ! 2077: The ! 2078: .fN parms.h ! 2079: header file contains some default settings that affect ! 2080: the ! 2081: .fN Permissions ! 2082: file processing. ! 2083: The ! 2084: .cW PATH ! 2085: manifest defines the ! 2086: .cW PATH ! 2087: environment variable that will be ! 2088: set when remote commands are executed. ! 2089: A typical line is ! 2090: .P1 0 ! 2091: #define PATH "PATH=/bin:/usr/bin:/usr/lbin" ! 2092: .P2 ! 2093: The default list of commands is defined by ! 2094: .P1 0 ! 2095: #define DEFAULTCMDS "rmail" ! 2096: .P2 ! 2097: Another example is ! 2098: (note this is one physical line broken here for readability) ! 2099: .P1 0 ! 2100: #define DEFAULTCMDS ! 2101: "rmail:rnews:xp:lp" ! 2102: .P2 ! 2103: These take effect if no ! 2104: .cW COMMANDS ! 2105: option is specified for the ! 2106: machine that sent the remote execution. ! 2107: .NH 2 ! 2108: MACHINE Entry For Other Systems ! 2109: .PP ! 2110: An administrator may want to specify different option values for ! 2111: the machines it calls that are not mentioned in specific MACHINE ! 2112: entries. ! 2113: This may occur when there are many machines calling in, and the command ! 2114: set changes from time to time. ! 2115: For these cases, it is not convenient to change the ! 2116: .cW DEFAULTCMDS ! 2117: as it would require a recompile. ! 2118: The name ! 2119: .cW OTHER ! 2120: for the machine name is used for this entry. ! 2121: .P1 0 ! 2122: MACHINE=OTHER \e ! 2123: COMMANDS=rmail:rnews:/usr/lbin/Photo ! 2124: .P2 ! 2125: All other options available for the MACHINE entry may also be set ! 2126: for the machines that are not mentioned in other MACHINE entries. ! 2127: .NH 2 ! 2128: Combining MACHINE and LOGNAME Entries ! 2129: .PP ! 2130: It is possible to combine MACHINE and LOGNAME entries into a single entry ! 2131: where the common options are the same. ! 2132: For example, these two entries ! 2133: .P1 0 ! 2134: MACHINE=mhtsa:mhtsb:mhtsc REQUEST=yes \e ! 2135: READ=/ WRITE=/ ! 2136: ! 2137: LOGNAME=uucpz REQUEST=yes SENDFILES=yes \e ! 2138: READ=/ WRITE=/ ! 2139: .P2 ! 2140: share the REQUEST, READ, and WRITE options. ! 2141: They can be merged into one entry ! 2142: .P1 0 ! 2143: MACHINE=mhtsa:mhtsb:mhtsc REQUEST=yes \e ! 2144: LOGNAME=uucpz SENDFILES=yes \e ! 2145: READ=/ WRITE=/ ! 2146: .P2 ! 2147: that will take the place of the two entries. ! 2148: .NH 1 ! 2149: \f(CBMaxuuxqts\fP File ! 2150: .PP ! 2151: The ! 2152: .fN /usr/lib/uucp/Maxuuxqts ! 2153: file limits the number of simultaneous ! 2154: .cN uuxqt ! 2155: programs running; ! 2156: it contains an \*(aS number. ! 2157: The installation procedure sets the number to two; ! 2158: the administrator may want to change this number to meet local needs. ! 2159: If you get a lot of traffic from ! 2160: .cN mail ! 2161: or ! 2162: .cN netnews , ! 2163: you may want to increase ! 2164: the number to decrease wait time. ! 2165: But remember, the more you have running, the higher the load on the system. ! 2166: .NH 1 ! 2167: \f(CBMaxuuscheds\fP File ! 2168: .PP ! 2169: The ! 2170: .fN /usr/lib/uucp/Maxuuscheds ! 2171: file limits the number of simultaneous ! 2172: .cN uusched ! 2173: programs running; ! 2174: it contains an \*(aS number. ! 2175: Each ! 2176: .cN uusched ! 2177: running will have one ! 2178: .cN uucico ! 2179: associated with it; ! 2180: limiting the number will throttle the load on the system. ! 2181: The limit should be less than the number of outgoing lines used ! 2182: by \*(uU ; ! 2183: a smaller number is often desirable. ! 2184: The installation procedure sets the number to two; ! 2185: the administrator may want to change this number to meet local needs. ! 2186: .NH 1 ! 2187: \f(CBremote.unknown\fP Program ! 2188: .PP ! 2189: This program is called when a remote site that is not in the ! 2190: .fN Systems ! 2191: file calls in to start a conversation. ! 2192: The program logs attempts by unknown remote systems in ! 2193: .fN /usr/spool/uucp/.Admin/Foreign ! 2194: and sends mail to the ! 2195: .cW uucp ! 2196: login. ! 2197: Execution of this program can be turned off by an option in ! 2198: .fN parms.h . ! 2199: The program ! 2200: .cN unknown.c ! 2201: is installed in ! 2202: .cN remote.unknown , ! 2203: so the source can be modified to provide different functionality ! 2204: by modifying the program and re-installing it. ! 2205: .NH 1 ! 2206: Administration ! 2207: .PP ! 2208: The work required by the \*(uU ! 2209: administrator depends heavily ! 2210: on the amount of traffic that enters or leaves a system and ! 2211: the quality of the connections that can be made to and from that system. ! 2212: For the average system, only a modest amount of traffic (100 to 200 files ! 2213: per day) pass through the system and little if any ! 2214: intervention with the ! 2215: \*(uU ! 2216: automatic cleanup functions is necessary. ! 2217: Systems that pass large numbers of files ! 2218: may require more attention. ! 2219: The following rest of this section ! 2220: describes the routine administrative ! 2221: tasks that must be performed by the administrator ! 2222: or are automatically performed by ! 2223: the ! 2224: \*(uU ! 2225: package. ! 2226: .NH 2 ! 2227: Cleanup of Undeliverable Jobs ! 2228: .PP ! 2229: A big problem ! 2230: in a dialup network like \*(uU ! 2231: is dealing with the backlog of jobs that cannot ! 2232: be transmitted to other systems. ! 2233: The ! 2234: .cN uustat ! 2235: program should be invoked regularly to give information ! 2236: about the status of connection to various machines, and the size and ! 2237: age of the queued requests. ! 2238: The ! 2239: .cN uudemon.admin ! 2240: shell should be started by ! 2241: .cN cron ! 2242: at least once per day\(emthis will send the administrator the ! 2243: current status. ! 2244: Of particular interest are the age (in days) ! 2245: of the oldest request in each queue, ! 2246: the number of times failure to reach that system has occurred, and ! 2247: the reason for failure. ! 2248: In addition, the age of the oldest execution request (\c ! 2249: .fN X. ! 2250: file) is ! 2251: also given. ! 2252: .PP ! 2253: Each ! 2254: .I spool ! 2255: directory will contain some ! 2256: .fN X. ! 2257: files, ! 2258: .fN C. ! 2259: files, and ! 2260: .fN D. ! 2261: files. ! 2262: When work can not be done, these files should be ! 2263: removed. ! 2264: The ! 2265: .cN uucleanup ! 2266: program, ! 2267: which is run from ! 2268: .cN uudemon.cleanup ! 2269: will provide this function. ! 2270: Options to ! 2271: .cN uucleanup ! 2272: specify the age for sending a ! 2273: warning message to the requester and age for deleting the ! 2274: various file. ! 2275: The ! 2276: .cN uucleanup ! 2277: program knows ! 2278: about the different type files that could get left in the ! 2279: .I spool ! 2280: directories. ! 2281: It uses heuristics to try to give the users relevant ! 2282: information about failures, for example, it tries to return ! 2283: undeliverable mail messages to the sender. ! 2284: In addition, for send/receive requests, it tells the requester ! 2285: what was attempted by giving specific file names. ! 2286: .NH 2 ! 2287: Cleanup of the Public Directory ! 2288: .PP ! 2289: In order to keep the local file system from overflowing ! 2290: when files are sent to the ! 2291: .I public ! 2292: directory, the ! 2293: .cN uudemon.cleanup ! 2294: procedure is set up with a ! 2295: .cN find ! 2296: command to remove any files that are older than 7 days ! 2297: and directories that are empty. ! 2298: This interval may need to be shortened if ! 2299: there is not enough space to devote to the ! 2300: .I public ! 2301: directory. ! 2302: .PP ! 2303: Since the ! 2304: .I spool ! 2305: directories (those in ! 2306: .fN /usr/spool/uucp ) ! 2307: may be very dynamic; they may grow ! 2308: large before transfers take place, it is a good idea to ! 2309: reorganize and compact the structure. ! 2310: One way to do this is to put some code in ! 2311: .fN /etc/rc ! 2312: to be executed upon booting the system. ! 2313: Use ! 2314: .fN cpio ! 2315: to move all the files and directories out, ! 2316: remove the directories under ! 2317: .fN /usr/spool/uucp , ! 2318: and then move back the files and directories. ! 2319: .NH 2 ! 2320: Compaction of Log Files ! 2321: .PP ! 2322: \*(uU has individual log files for each system ! 2323: and each program\(emthere is a separate ! 2324: logfile for ! 2325: .cN uucico ! 2326: requests and one for ! 2327: .cN uuxqt ! 2328: execution requests. ! 2329: The ! 2330: .cN uulog ! 2331: shell gives the user access to the information in these ! 2332: files by system name. ! 2333: These files are combined and stored in directory ! 2334: .fN /usr/lib/uucp/.Old ! 2335: whenever ! 2336: .cN uudemon.cleanup ! 2337: is executed. ! 2338: The daemon saves two days' files; ! 2339: this can be easily changed by the administrator. ! 2340: If space is a problem, the administrator might consider reducing the ! 2341: number of days the files are kept, or modify the shell to compact ! 2342: the files using the ! 2343: .cN pack ! 2344: command. ! 2345: .NH 2 ! 2346: Polling Other Systems ! 2347: .PP ! 2348: Systems that are passive members of the network ! 2349: must be polled by other systems ! 2350: in order for their files to be sent. ! 2351: This can be arranged by using the ! 2352: .cN uudemon.poll ! 2353: shell. ! 2354: The ! 2355: .cN uudemon.poll ! 2356: read the ! 2357: .fN /usr/lib/uucp/Poll ! 2358: file, which contains ! 2359: the systems and times to poll them. ! 2360: The lines contain the name of the remote to call followed by a TAB ! 2361: character and then a space separated list of times to poll. ! 2362: For example, ! 2363: .P1 0 ! 2364: eagle 0 4 8 12 16 20 ! 2365: .P2 ! 2366: will provide polling of system ! 2367: .I eagle ! 2368: every four hours. ! 2369: Note that ! 2370: .cN uudemon.poll ! 2371: does not do the polling, it merely sets up a polling ! 2372: .fN C. ! 2373: file in the ! 2374: .I spool ! 2375: directory that will be ! 2376: seen by the scheduler started by ! 2377: .cN uudemon.hour . ! 2378: ....... ! 2379: .NH 2 ! 2380: Out of Space ! 2381: .PP ! 2382: The file system used to spool ! 2383: incoming or outgoing jobs ! 2384: can run out of space and prevent jobs from being spawned ! 2385: or received from remote systems. ! 2386: The inability to receive jobs is the worse of the two conditions. ! 2387: When file space does become available, the system will be ! 2388: flooded ! 2389: with the backlog of traffic. ! 2390: .NH 2 ! 2391: Bad ACU and Modems ! 2392: .PP ! 2393: The ACU and incoming modems ! 2394: occasionally cause problems that make it difficult to contact ! 2395: other systems or to receive files. ! 2396: These problems are usually readily identifiable since ! 2397: the status files accessed by ! 2398: .cN uustat ! 2399: give counts and ! 2400: reasons for contact failure. ! 2401: If a bad line is suspected, it is useful to use ! 2402: the ! 2403: .cN cu ! 2404: command to ! 2405: try calling another system using the suspected line. ! 2406: This method could also be used to check the login/password ! 2407: information and phone number. ! 2408: .NH 2 ! 2409: Debugging ! 2410: .PP ! 2411: To verify that a system on the network can be contacted, ! 2412: the ! 2413: .cN uucico ! 2414: program can be invoked by the administrator. ! 2415: The ! 2416: .cN Uutry ! 2417: shell program is distributed for this purpose. ! 2418: For example, to verify that ! 2419: .I mhtsd ! 2420: can be contacted, try ! 2421: .P1 0 ! 2422: Uutry mhtsd ! 2423: .P2 ! 2424: This will start the transfer program (\c ! 2425: .cN uucico ) ! 2426: with a moderate ! 2427: amount of debugging output, putting the output into a temporary ! 2428: file (\c ! 2429: .fN /tmp/mhtsa ) ! 2430: and executing a ! 2431: .cW "tail -f" ! 2432: command so the ! 2433: administrator can hit a BREAK to get back to the shell, while ! 2434: being able to come back at a later time to look at the output. ! 2435: .PP ! 2436: If that works, the administrator can attempt to transfer a file ! 2437: while watching the debugging output. ! 2438: Proceed as follows ! 2439: .P1 0 ! 2440: uucp -r some\-file mhtsd!~/some\-name ! 2441: .P2 ! 2442: This will queue a job but not start the transfer program. ! 2443: Now proceed as before using ! 2444: .cN Uutry . ! 2445: The output can be analyzed to locate problems. ! 2446: .PP ! 2447: .fN /usr/spool/uucp/.Admin/errors ! 2448: contains errors\(em\c ! 2449: conditions that causes one of the \*(uU programs to abort ! 2450: (\fIASSERT\fP errors). ! 2451: An explanation of these is given ! 2452: in Appendix II along with an explanation of the messages one ! 2453: can see as output from ! 2454: .cN "uustat -q" . ! 2455: Most of these will never occur\(emthey indicate that something is wrong ! 2456: with your system or the \*(uU software. ! 2457: However, the ! 2458: .I PKXSTART ! 2459: will occur and generally means that the ! 2460: other side aborted during a conversation in a non-recoverable way; ! 2461: these can be generally ignored. ! 2462: .NH ! 2463: Appendix I: Local Configuration Options ! 2464: .PP ! 2465: The ! 2466: .fN parms.h ! 2467: header file is used to set up local site ! 2468: options before a ! 2469: .cN make ! 2470: command is attempted. ! 2471: The file is set up with default settings for a standard ! 2472: .UX ! 2473: distribution, however, there are some options that ! 2474: the local administrator might want to use. ! 2475: The file has comments to briefly describe the options; ! 2476: this section contains more details. ! 2477: .de XX ! 2478: .IP "\f(CW\\$1\fP\ " 5n ! 2479: .. ! 2480: .XX "ATTSV, V7, V8, V9, V10, BSD4_2" ! 2481: .br ! 2482: One of these should be defined: ! 2483: .CW ATTSV ! 2484: for standard ! 2485: .UX ! 2486: systems; ! 2487: .CW V7 ! 2488: for Version 7 based systems like 32V, Berkeley 4.1 systems; ! 2489: .CW BSD4_2 ! 2490: for Berkeley 4.2 systems; ! 2491: .CW V8 , ! 2492: .CW V9 , ! 2493: .CW V10 ! 2494: for that Edition of Research ! 2495: .UX ! 2496: systems. ! 2497: .XX UUCPUID ! 2498: There are several places in the code where the uid of ``uucp'', ! 2499: the owner of the uucp programs, files, and directories, ! 2500: must be used. ! 2501: In most cases, the uid can be obtained, but on some systems, when ! 2502: running as root, the info will not be forthcoming, so this ! 2503: manifest is used; ! 2504: it is the uid of the uucp login (again, the owner) from the /etc/passwd ! 2505: file. ! 2506: .XX ATTSVKILL ! 2507: The new lock-file mechanism uses the system call ! 2508: .cN "kill(0, pid)" ! 2509: to determine if a process-id in a LCK file is still active. ! 2510: Standard ! 2511: .UX ! 2512: systems provide this facility, but some do not ! 2513: support it. ! 2514: Define ATTSVKILL if you system supports the ! 2515: .cN "kill(0, pid)" ! 2516: call. ! 2517: (Note that this is automatically defined if ATTSV is defined.) ! 2518: .XX NONAP ! 2519: Define NONAP if you have no high-resolution sleep call. ! 2520: The standard ! 2521: .UX ! 2522: system ! 2523: does not have this high-resolution sleep, so this ! 2524: must be defined. ! 2525: .XX FASTTIMER ! 2526: This is the device that goes along with the high-resolution timer. ! 2527: Do not define if for ! 2528: .UX ! 2529: systems, ! 2530: since it is not available. ! 2531: .XX V7USTAT ! 2532: \*(uU uses ! 2533: .cN ustat ! 2534: to decide whether there's enough space to receive a ! 2535: file. ! 2536: If you're not ATTSV, you can use a setgid program to read the ! 2537: number of free blocks and free inodes directly off the disk. ! 2538: If you ! 2539: choose this course, do not define NOUSTAT; ! 2540: rather, define V7USTAT to ! 2541: be the name of that program. ! 2542: Be sure it accepts 2 args, major and minor ! 2543: device numbers, and returns two numbers, blocks and inodes, ! 2544: in "%d %d" format, or you'll never receive another file. ! 2545: .XX NOUSTAT ! 2546: Define this if your system does not have a ! 2547: .cN ustat() ! 2548: system call. ! 2549: The standard ! 2550: .UX ! 2551: system ! 2552: has the call; ! 2553: don't define it for those systems. ! 2554: .XX "GRPCHK, GRPMIN, GRPMAX" ! 2555: .br ! 2556: Define GRPCHK if you want to restrict the ability to read ! 2557: .fN Systems ! 2558: information by way of the DEBUG flags. ! 2559: If you define GRPCHK, then the group-ids GRPMIN and GRPMAX limit ! 2560: the group-ids for which the ! 2561: .cN Systems ! 2562: file password information will be ! 2563: displayed when the DEBUG option is used. ! 2564: .XX UNET ! 2565: Use this to include code for 3com ethernet media. ! 2566: Appropriate changes must be made in the ! 2567: .fN makefile ! 2568: to include the needed routines. ! 2569: See comments in the ! 2570: .fN makefile . ! 2571: .XX DATAKIT ! 2572: Define DATAKIT if your system is connected to a DATAKIT VCS. ! 2573: If you use this option, you must also make the appropriate ! 2574: changes in the ! 2575: .fN makefile ! 2576: to access the dk library and loading ! 2577: of the dio.o routine\(emsee the comments in the makefile. ! 2578: .XX TCP ! 2579: Define TCP for BSD systems that have TCP or UNET. ! 2580: .XX SYTEK ! 2581: Define SYTEK for systems that access a Sytek network. ! 2582: .XX TLI ! 2583: Define this for access to the AT&T Transport Layer Interface ! 2584: .I without ! 2585: Streams. ! 2586: .XX TLIS ! 2587: Define this for access to the AT&T Transport Layer Interface ! 2588: .I with ! 2589: Streams. ! 2590: .XX DIAL801 ! 2591: This is defined for the standard 801/212-103 dialer interface. ! 2592: It will be defined by default. ! 2593: .XX X25 ! 2594: Use this to include code for the X25 media. ! 2595: Appropriate changes must be made in the ! 2596: .fN makefile ! 2597: to include the needed routines. ! 2598: See comments in the makefile. ! 2599: .XX DUMB_DN ! 2600: Define DUMB_DN if your dn driver (801 acu) can't handle '=' character ! 2601: to wait for dialtone. ! 2602: .XX DEFAULT_BAUDRATE ! 2603: This is the baud rate you want to use when both ! 2604: .fN Systems ! 2605: file and ! 2606: .fN Devices ! 2607: file specify ! 2608: .qC Any ! 2609: for the speed. ! 2610: .XX M_DEVICEMODE ! 2611: This is the mode that the device will be set to by the caller ! 2612: during execution. ! 2613: .XX S_DEVICEMODE ! 2614: This is the mode that the device will be set to by the callee ! 2615: during execution. ! 2616: .XX R_DEVICEMODE ! 2617: This is the mode that the device will be left in upon exit if ! 2618: the current mode can not be obtained using ! 2619: .cW fstst() . ! 2620: .XX UUSTAT_TBL ! 2621: There is a table in ! 2622: .fN uustat.c ! 2623: that can hold all machine names that currently ! 2624: have work or execute files (C. or X.) or have a status file. ! 2625: If necessary, the table size can be changed. ! 2626: For machines ! 2627: with much memory, a large number like 1000 will not hurt much since the ! 2628: program is not executed often. ! 2629: For small machines, 256K memory, the number should be much smaller ! 2630: like 100. ! 2631: .XX UNAME ! 2632: Define UNAME if ! 2633: .cW uname() ! 2634: should be used to get uucpname; ! 2635: this will be defined automatically if ATTSV is defined. ! 2636: .XX RETRYTIME ! 2637: This is the initial retry after failure time. ! 2638: Each successive failure will double the current retry time. ! 2639: The time is given in minutes. ! 2640: .XX MAXRETRYTIME ! 2641: This is the high limit to the retry backoff. ! 2642: .XX ASSERT_MAXRETRYTIME ! 2643: This is the high limit to the retry backoff when an ! 2644: .I ASSERT ! 2645: error occurs. ! 2646: .XX PATH ! 2647: This is the path that will be used for ! 2648: .cW uuxqt ! 2649: command executions. ! 2650: .XX DEFAULTCMDS ! 2651: This is the set of default commands that can be executed ! 2652: if none is given for the system name in ! 2653: .fN Permissions ! 2654: file. ! 2655: It is a colon separated list as in ! 2656: .fN Permissions ! 2657: file. ! 2658: .XX HZ ! 2659: Define HZ to be the number of clock ticks per second; ! 2660: not needed for standard ! 2661: .UX ! 2662: system. ! 2663: .XX MYNAME ! 2664: Put in local uucp name of this machine if there is no ! 2665: .cW /etc/whoami ! 2666: and no ! 2667: .cW uname() ! 2668: call. ! 2669: This is not needed for standard ! 2670: .UX ! 2671: systems. ! 2672: .XX NOSTRANGERS ! 2673: Define NOSTRANGERS if you want to reject calls from systems that ! 2674: are not in your ! 2675: .fN Systems ! 2676: file. ! 2677: If defined, NOSTRANGERS should be the name ! 2678: of the program to execute when such a system dials in. ! 2679: The argument ! 2680: to the program will be the name of the calling system. ! 2681: The ! 2682: .fN unknown.c ! 2683: program is supplied and installed in ! 2684: .fN /usr/lib/uucp ! 2685: as ! 2686: .cN remote.unknown . ! 2687: .XX LMTUUXQT ! 2688: Define LMTUUXQT to be the name of a file that contains the number ! 2689: (in \*(aS) of simultaneous ! 2690: .cW uuxqt 's ! 2691: that you will permit. ! 2692: If it is ! 2693: not defined, there may be ! 2694: .I many ! 2695: .cW uuxqt 's ! 2696: running. ! 2697: Two is reasonable number. ! 2698: The system will create the default file ! 2699: and set the limit to 2. ! 2700: .XX LMTUUSCHED ! 2701: Define LMTUUSCHED to be the name of a file that contains the number ! 2702: (in \*(aS) of simultaneous ! 2703: .cW uusched 's ! 2704: that you will permit. ! 2705: If it is ! 2706: not defined, there may be ! 2707: .I many ! 2708: .cW uusched 's ! 2709: running. ! 2710: Two is reasonable number. ! 2711: The system will create the default file ! 2712: and set the limit to 2. ! 2713: The more you permit the higher the load on the system; ! 2714: each ! 2715: .cW uusched ! 2716: has one ! 2717: .cW uucico ! 2718: associated with it. ! 2719: .XX USRSPOOLLOCKS ! 2720: Define USRSPOOLLOCKS if you like your lock files in ! 2721: .fN /usr/spool/locks . ! 2722: Be sure other programs such as ! 2723: .cW cu ! 2724: and ! 2725: .cW ct ! 2726: know about this. ! 2727: .XX PKSPEEDUP ! 2728: Define PKSPEEDUP if you want to try the recommended speedup ! 2729: in ! 2730: .cW pkcget . ! 2731: This entails sleeping between reads at low baud rates. ! 2732: .NH 1 ! 2733: Appendix II: Error Messages ! 2734: .NH 2 ! 2735: Fatal System Errors ! 2736: .PP ! 2737: These are the ASSERT error messages that can occur. ! 2738: The will appear in the error log (\c ! 2739: .fN /usr/spool/uucp/.Admin/errors ). ! 2740: When the errors occur, the program will abort\(emthe file name, ! 2741: sccsid, line number will appear in the error message along with the ! 2742: following text. ! 2743: In most cases, these result from file system problems; ! 2744: use the ! 2745: .cW errno , ! 2746: when present as indicated below, to check out the problem. ! 2747: .de XX ! 2748: .ie \\n(.$-1 .IP "\f(CW\\$1\fR(\fIerrno\fR)" 5n ! 2749: .el .IP "\f(CW\\$1\fP" 5n ! 2750: .br ! 2751: .. ! 2752: .XX "CAN'T OPEN" x ! 2753: An ! 2754: .I open ! 2755: or ! 2756: .I fopen ! 2757: failed. ! 2758: .XX "CAN'T WRITE" x ! 2759: A ! 2760: .I write , ! 2761: .I fwrite , ! 2762: or ! 2763: .I fprintf ! 2764: etc failed. ! 2765: .XX "CAN'T READ" x ! 2766: A ! 2767: .I read , ! 2768: .I fgets , ! 2769: etc failed. ! 2770: .XX "CAN'T CREATE" x ! 2771: A ! 2772: .I creat ! 2773: failed. ! 2774: .XX "CAN'T ALLOCATE" ! 2775: A dynamic allocation failed. ! 2776: .XX "CAN'T LOCK" ! 2777: An attempt to make a LCK (lock) file failed. ! 2778: In some ! 2779: cases, this is a fatal error. ! 2780: .XX "CAN'T STAT" x ! 2781: A ! 2782: .I stat ! 2783: failed. ! 2784: .XX "CAN'T CHMOD" x ! 2785: A ! 2786: .I chmod() ! 2787: failed. ! 2788: .XX "CAN'T CHOWN" x ! 2789: A ! 2790: .I chown ! 2791: failed. ! 2792: .XX "CAN'T LINK" x ! 2793: A ! 2794: .I link ! 2795: failed. ! 2796: .XX "CAN'T CHDIR". x ! 2797: A ! 2798: .I chdir ! 2799: failed. ! 2800: .XX "CAN'T UNLINK" x ! 2801: A ! 2802: .I unlink ! 2803: failed. ! 2804: .XX "WRONG ROLE" ! 2805: This is an internal logic problem. ! 2806: .XX "CAN'T MOVE TO CORRUPTDIR" ! 2807: An attempt to move some bad ! 2808: .fN C. ! 2809: or ! 2810: .fN X. ! 2811: files ! 2812: to the ! 2813: .fN .Corrupt ! 2814: directory failed\(emthe directory is ! 2815: probably missing or has wrong modes or owner ! 2816: (\c ! 2817: .fN /usr/spool/uucp/.Corrupt ). ! 2818: .XX "CAN'T CLOSE" x ! 2819: A ! 2820: .I close ! 2821: or ! 2822: .I fclose ! 2823: failed. ! 2824: .XX "FILE EXISTS" ! 2825: The creation of a ! 2826: .fN C. ! 2827: or ! 2828: .fN D. ! 2829: file is attempted, but the file exists. ! 2830: This ! 2831: occurs when there is a problem with the sequence file ! 2832: access\(emusually a software error. ! 2833: .XX "No uucp server" ! 2834: A TCP call is attempted, but there is no server for \*(uU. ! 2835: .XX "BAD UID" ! 2836: The uid can not be found in the ! 2837: .fN /etc/passwd ! 2838: file. ! 2839: The file system is in trouble, or the ! 2840: .fN /etc/passwd ! 2841: file is inconsistent. ! 2842: .XX "BAD LOGIN_UID" ! 2843: same as previous. ! 2844: .XX "ULIMIT TOO SMALL" ! 2845: The ulimit for the current user/process is too small; ! 2846: file transfers may fail, so transfer is not ! 2847: attempted. ! 2848: .XX "BAD LINE" ! 2849: There is a bad line in the ! 2850: .fN Devices ! 2851: file; ! 2852: there are not enough arguments on one or more lines. ! 2853: .XX "FSTAT FAILED IN EWRDATA" ! 2854: .br ! 2855: There is something wrong with the ethernet media. ! 2856: .XX "SYSLST OVERFLOW" ! 2857: An internal table in ! 2858: .cW gename.c ! 2859: overflowed. ! 2860: A big/strange request was attempted\(emsend it with MR to the ! 2861: appropriate place. ! 2862: .XX "TOO MANY SAVED C FILES" ! 2863: .br ! 2864: same as previous ! 2865: .XX "RETURN FROM fixline ioctl" ! 2866: .br ! 2867: An ! 2868: .cW ioctl ! 2869: call, ! 2870: which should never fail, failed. ! 2871: There is a system or driver problem. ! 2872: .XX "BAD SPEED" ! 2873: A bad line speed appears in the ! 2874: .fN Devices / ! 2875: .fN Systems ! 2876: files. ! 2877: .XX "PERMISSIONS file: BAD OPTION--" ! 2878: .br ! 2879: There is a bad line or option in the ! 2880: .fN Permissions ! 2881: file. ! 2882: Fix it immediately! ! 2883: .XX "PKCGET READ" ! 2884: The other side probably hung up; ! 2885: don't worry about it. ! 2886: .XX "SYSTAT OPEN FAIL" ! 2887: There is a problem with the modes of ! 2888: .fN /usr/lib/uucp/.Status , ! 2889: or there ! 2890: is a file with bad modes in the directory. ! 2891: .XX "TOO MANY LOCKS" ! 2892: There is some internal problem! ! 2893: Send in an MR. ! 2894: .XX "CAN NOT ALLOCATE FOR" ! 2895: There is some kernel problem; ! 2896: a call to ! 2897: .cW calloc() ! 2898: failed. ! 2899: .XX "XMV ERROR" ! 2900: There is a problem with some file or directory; ! 2901: It is likely the spool directory, since the modes of ! 2902: the destinations were suppose to be checked before ! 2903: the program attempts this. ! 2904: .XX "CAN'T FORK" ! 2905: An attempt to ! 2906: .cW fork ! 2907: or ! 2908: .cW exec ! 2909: failed. ! 2910: The current job should not be lost, but will be attempted later ! 2911: (\c ! 2912: .cW uuxqt ). ! 2913: No action need be taken. ! 2914: .NH 2 ! 2915: System Status Messages ! 2916: .PP ! 2917: These are the messages that will appear in the system status file: ! 2918: .XX "OK" ! 2919: Things are OK. ! 2920: .XX "NO DEVICES AVAILABLE" ! 2921: There is no currently available device for the call. ! 2922: Check to see that there is a valid device in ! 2923: .fN Devices ! 2924: file ! 2925: for this system. ! 2926: .XX "WRONG TIME TO CALL" ! 2927: self explanatory ! 2928: .XX "TALKING" ! 2929: self explanatory ! 2930: .XX "SOME FAILURE" ! 2931: to be determined ! 2932: .XX "BAD SEQUENCE CHECK" ! 2933: If sequence checking is used between systems, the ! 2934: sequence numbers do not agree. ! 2935: (This is almost never used.) ! 2936: .XX "CALLER SCRIPT FAILED" ! 2937: The negotiations with the modem/network specified in the ! 2938: .fN Dialers ! 2939: file did not complete successfully. ! 2940: This is similar to DIAL FAILED. ! 2941: It may occassionally fail, but if it never succeeds, there may ! 2942: be a problem with the entry in the ! 2943: .fN Dialers ! 2944: file. ! 2945: .XX "LOGIN FAILED" ! 2946: The login for the given machine failed. ! 2947: It could ! 2948: be a wrong login/passwd, wrong number, a very slow ! 2949: machine, or failure in getting through the ! 2950: .cW login-script . ! 2951: .XX "CONVERSATION FAILED" ! 2952: The conversation failed after successful startup. ! 2953: This usually means that one side went down, the program ! 2954: aborted, or the line just hung up. ! 2955: .XX "DIAL FAILED" ! 2956: The remote never answered. ! 2957: It could be a bad dialer or ! 2958: the wrong phone number. ! 2959: .XX "BAD LOGIN/MACHINE COMBINATION" ! 2960: .br ! 2961: The machine called us with login/machine name ! 2962: that does not agree with our ! 2963: .fN Permissions ! 2964: file. ! 2965: They could be trying to masquerade! ! 2966: .XX "DEVICE LOCKED" ! 2967: The calling device is currently locked and in use ! 2968: by some process. ! 2969: .XX "ASSERT ERROR" ! 2970: An ! 2971: .I ASSERT ! 2972: error occurred\(emsee ! 2973: .fN /usr/spool/uucp/.Admin/errors . ! 2974: .XX "SYSTEM NOT IN Systems" ! 2975: The system name is not in ! 2976: .fN Systems . ! 2977: .XX "CAN'T ACCESS DEVICE" ! 2978: The device tried does not exist, ! 2979: or the modes are wrong. ! 2980: .XX "DEVICE FAILED" ! 2981: The open of the device failed. ! 2982: .XX "WRONG MACHINE NAME" ! 2983: The called machine is reporting a different ! 2984: name in the ! 2985: .cW Shere= ! 2986: message. ! 2987: .XX "CALLBACK REQUIRED" ! 2988: The called machine requires that it call us. ! 2989: .XX "REMOTE HAS A LCK FILE FOR ME" ! 2990: .br ! 2991: The remote site has a ! 2992: .fN LCK ! 2993: file for this ! 2994: system. ! 2995: They could be trying to call us. ! 2996: If they have an older version of \(*uU, the process ! 2997: that was talking to us may have failed, leaving the ! 2998: .fN LCK ! 2999: file. ! 3000: If they have the new \*(uU, and they are ! 3001: not trying us, then the process that was talking to ! 3002: us is hung! ! 3003: .XX "REMOTE DOES NOT KNOW ME" ! 3004: .br ! 3005: The remote site does not have our name in their ! 3006: .fN Systems ! 3007: file. ! 3008: .XX "REMOTE REJECT AFTER LOGIN" ! 3009: .br ! 3010: The login we used does not correspond to what ! 3011: the remote site is expecting. ! 3012: .XX "REMOTE REJECT, UNKNOWN MESSAGE" ! 3013: .br ! 3014: The remote site rejected us for unknown ! 3015: reason\(emthey are probably not running a standard ! 3016: version of \*(uU.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.