Annotation of embedaddon/lrzsz/man/lrz.1, revision 1.1.1.1

1.1       misho       1: '\"
                      2: '\" Revision Level 
                      3: '\" Last Delta     04-22-88
                      4: .TH RZ 1 OMEN
                      5: .SH NAME
                      6: rx, rb, rz \- XMODEM, YMODEM, ZMODEM (Batch) file receive
                      7: .SH SYNOPSIS
                      8: .B rz
                      9: .RB [\- "\ +8abeOpqRtTuUvy" ]
                     10: .br
                     11: .B rb
                     12: .RB [\- "\ +abqRtuUvy" ]
                     13: .br
                     14: .B rx
                     15: .RB [\- "\ abceqRtuUv" ]
                     16: .I file
                     17: .br
                     18: .RB [ \- ][ v ] rzCOMMAND
                     19: .SH DESCRIPTION
                     20: This program uses error correcting protocols to receive
                     21: files over a dial-in serial port from a variety of programs running under
                     22: PC-DOS, CP/M,
                     23: .SM Unix,
                     24: and other operating systems.
                     25: It is invoked from a shell prompt
                     26: manually, or automatically as a result of an
                     27: "sz file ..." command given to the calling program.
                     28: 
                     29: While
                     30: .I rz
                     31: is smart enough to be called from
                     32: .I cu(1),
                     33: very few versions of
                     34: .I cu(1)
                     35: are smart enough to allow
                     36: .I rz
                     37: to work properly.
                     38: Unix flavors of Professional-YAM are available for such dial-out application.
                     39: 
                     40: 
                     41: .B Rz
                     42: (Receive ZMODEM)
                     43: receives files with the ZMODEM batch protocol.
                     44: Pathnames are supplied by the sending program,
                     45: and directories are made if necessary (and possible).
                     46: Normally, the
                     47: "rz" command is automatically issued by the calling ZMODEM program,
                     48: but some defective ZMODEM implementations may require starting
                     49: .I rz
                     50: the old fashioned way.
                     51: 
                     52: 
                     53: .B Rb
                     54: receives file(s) with YMODEM,
                     55: accepting either standard 128 byte sectors or
                     56: 1024 byte sectors
                     57: (YAM sb
                     58: .B -k
                     59: option).
                     60: The user should determine when
                     61: the 1024 byte block length
                     62: actually improves throughput without causing lost data
                     63: or even system crashes.
                     64: 
                     65: If True YMODEM (Omen Technology trademark) file information (file length, etc.)
                     66: is received,
                     67: the file length controls the number of bytes written to
                     68: the output dataset,
                     69: and the modify time and file mode
                     70: (iff non zero)
                     71: are set accordingly.
                     72: 
                     73: If no True YMODEM file information is received,
                     74: slashes in the pathname are changed to underscore,
                     75: and any trailing period in the pathname is eliminated.
                     76: This conversion is useful for files received from CP/M systems.
                     77: With YMODEM, each file name is converted to lower case
                     78: unless it contains one or more lower case letters.
                     79: 
                     80: 
                     81: .B Rx
                     82: receives a single
                     83: .I file
                     84: with XMODEM or XMODEM-1k protocol.
                     85: The user should determine when
                     86: the 1024 byte block length
                     87: actually improves throughput without causing problems.
                     88: The user must supply the file name to both sending and receiving programs.
                     89: Up to 1023 garbage characters may be added to the received file.
                     90: 
                     91: 
                     92: .B Rz
                     93: may be invoked as
                     94: .B rzCOMMAND
                     95: (with an optional leading \- as generated by login(1)).
                     96: For each received file,
                     97: .I rz
                     98: will pipe the file to ``COMMAND filename''
                     99: where filename is the name of the transmitted file
                    100: with the file contents as standard input.
                    101: 
                    102: Each file transfer is acknowledged when COMMAND exits with 0 status.
                    103: A non zero exit status terminates transfers.
                    104: 
                    105: A typical use for this form is
                    106: .I rzrmail
                    107: which calls rmail(1)
                    108: to post mail to the user specified by the transmitted file name.
                    109: For example, sending the file "caf" from a PC-DOS system to
                    110: .I rzrmail
                    111: on a
                    112: .SM Unix
                    113: system
                    114: would result in the contents of the DOS file "caf" being mailed to user "caf".
                    115: 
                    116: On some
                    117: .SM Unix
                    118: systems, the login directory must contain a link to
                    119: COMMAND as login sets SHELL=rsh which disallows absolute
                    120: pathnames.
                    121: If invoked with a leading ``v'',
                    122: .I rz
                    123: will be verbose (see 
                    124: .B v
                    125: option).
                    126: The following entry works for
                    127: .SM Unix
                    128: SYS III/V:
                    129: .ce
                    130: rzrmail::5:1::/bin:/usr/local/rzrmail
                    131: If the SHELL environment variable includes
                    132: .I "rsh"
                    133: ,
                    134: .I "rbash"
                    135: or
                    136: .I "rksh"
                    137: (restricted shell),
                    138: .I rz
                    139: will not accept absolute pathnames
                    140: or references to a parent directory,
                    141: will not modify an existing file, and
                    142: removes any files received in error.
                    143: 
                    144: If
                    145: .B rz
                    146: is invoked with stdout and stderr to different datasets,
                    147: Verbose is set to 2, causing frame by frame progress reports
                    148: to stderr.
                    149: This may be disabled with the
                    150: .B q
                    151: option.
                    152: 
                    153: .SH OPTIONS
                    154: The meanings of the available options are:
                    155: .PP
                    156: .PD 0
                    157: .TP
                    158: .B "-+, --append"
                    159: append received data to an existing file (ZMODEM, ASCII only).
                    160: .TP
                    161: .B "-a, --ascii"
                    162: Convert files to
                    163: .SM Unix
                    164: conventions by stripping carriage returns and all characters
                    165: beginning with the first Control Z (CP/M end of file).
                    166: .TP
                    167: .B "-b, --binary"
                    168: Binary
                    169: (tell it like it is)
                    170: file transfer override.
                    171: .TP
                    172: .B "-B NUMBER, --bufsize NUMBER"
                    173: Buffer 
                    174: .B NUMBER
                    175: bytes before writing to disk. Default ist 32768, which should be enough
                    176: for most situations. If you have a slow machine or a bad disk interface
                    177: or suffer from other hardware problems you might want to increase
                    178: the buffersize.
                    179: .B -1
                    180: or
                    181: .B auto
                    182: use a buffer large enough to buffer the whole file. Be careful with this
                    183: options - things normally get worse, not better, if the machine starts
                    184: to swap.
                    185: .TP
                    186: .B "-c, --with-crc"
                    187: XMODEM only. Use 16 bit CRC (normally a one byte checksum is used).
                    188: .TP
                    189: .B "-C, --allow-remote-commands"
                    190: allow remote command execution (
                    191: .B insecure
                    192: ). This allows the sender to execute an arbitrary command through
                    193: .B system
                    194: () or
                    195: .B execl
                    196: (). Default is to disable this feature (?). This option is ignored
                    197: if running in restricted mode.
                    198: .TP
                    199: .B "-D, --null"
                    200: Output file data to /dev/null; for testing.
                    201: (Unix only)
                    202: .TP
                    203: .B "--delay-startup N"
                    204: Wait 
                    205: .B N
                    206: seconds before doing anything.
                    207: .TP
                    208: .B "-e, --escape"
                    209: Force sender to escape all control characters;
                    210: normally XON, XOFF, DLE, CR-@-CR, and Ctrl-X are escaped.
                    211: .TP
                    212: .B "-E, --rename"
                    213: Rename incoming file if target filename already exists. The new file
                    214: name will have a dot and a number (0..999) appended.
                    215: .TP
                    216: .B "-h, --help"
                    217: give help screen.
                    218: .TP
                    219: .B "-m N, --min-bps N"
                    220: Stop transmission if BPS-Rate (Bytes Per Second) falls below N for a
                    221: certain time (see --min-bps-time option).
                    222: .TP
                    223: .B "-M N, --min-bps-time"
                    224: Used together with --min-bps. Default is 120 (seconds).
                    225: .TP
                    226: .B "-O, --disable-timeouts"
                    227: Disable read timeout handling code. This makes lrz hang if the
                    228: sender does not send any more, but increases performance (a bit)
                    229: and decreases system load (through reducing the number of system
                    230: calls by about 50 percent).
                    231: 
                    232: Use this option with care.
                    233: .TP
                    234: .B "--o-sync"
                    235: Open output files in synchronous write mode. This may be useful if you
                    236: experience errors due to lost interrupts if update (or bdflush or
                    237: whoever this daemon is called on your system) writes the buffers to the
                    238: disk.
                    239: 
                    240: This option is ignored and a warning is printed if your systems 
                    241: doesn't support O_SYNC.
                    242: .TP
                    243: .B "-p, --protect"
                    244: (ZMODEM) Protect: skip file if destination file exists.
                    245: .TP
                    246: .B "-q, --quiet"
                    247: Quiet suppresses verbosity.
                    248: .TP
                    249: .B "-r, --resume"
                    250: Crash recovery mode. lrz tries to resume interrupted file transfers.
                    251: .TP
                    252: .B "-R, --restricted"
                    253: Enter more restricted mode. lrz will not create directories or files
                    254: with a leading dot if this option is given twice.
                    255: 
                    256: See 
                    257: .B SECURITY
                    258: for mode information about restricted mode.
                    259: .TP
                    260: .B "-s HH:MM, --stop-at HH:MM"
                    261: Stop transmission at
                    262: .B HH
                    263: hours,
                    264: .B MM
                    265: minutes. Another variant, using
                    266: .B +N
                    267: instead of
                    268: .B HH:MM,
                    269: stops transmission in
                    270: .B N
                    271: seconds.
                    272: .TP
                    273: .B "-S, --timesync"
                    274: Request timesync packet from the sender. The sender sends its system time, 
                    275: causing lrz to complain about more then 60 seconds difference. 
                    276: 
                    277: Lrz tries to set the local system time to the remote time if this option 
                    278: is given twice (this fails if lrz is not run by root).
                    279: 
                    280: This option makes lrz incompatible with certain other ZModems. Don't
                    281: use it unless you know what you are doing.
                    282: .TP
                    283: .B "--syslog[=off]"
                    284: turn syslogging on or off. the default is set at configure time.
                    285: This option is ignored if no syslog support is compiled in.
                    286: .TP
                    287: .B "-t TIM, --timeout TIM"
                    288: Change timeout to
                    289: .I TIM
                    290: tenths of seconds. This is ignored if timeout handling is turned of
                    291: through the 
                    292: .B O 
                    293: option.
                    294: .TP
                    295: .B "--tcp-client ADDRESS:PORT"
                    296: Act as a tcp/ip client: Connect to the given port.
                    297: 
                    298: See 
                    299: .B "--tcp-server"
                    300: for more information.
                    301: 
                    302: .TP
                    303: .B "--tcp-server"
                    304: Act as a server: Open a socket, print out what to do, wait for connection.
                    305: 
                    306: You will normally not want to use this option as lrzsz is the only 
                    307: zmodem which understands what to do (private extension). You might
                    308: want to use this if you have to use zmodem (for which reason whatever),
                    309: and cannot use the 
                    310: .B --tcp
                    311: option of
                    312: .I lsz
                    313: (perhaps because your telnet doesn't allow to spawn a local program
                    314: with stdin/stdout connected to the remote side).
                    315: 
                    316: If you use this option you have to start 
                    317: .I lsz 
                    318: with the
                    319: .B --tcp-client ADDRESS:PORT
                    320: option. 
                    321: .I lrz will print the address and port on startup.
                    322: 
                    323: Use of this option imposes a security risk, somebody else could connect
                    324: to the port in between. See
                    325: .B SECURITY 
                    326: for details.
                    327: .TP
                    328: .B "-U, --unrestrict"
                    329: turn off restricted mode (this is not possible if running under
                    330: a restricted shell).
                    331: .TP
                    332: .B "--version"
                    333: prints out version number.
                    334: .TP
                    335: .B "-v, --verbose"
                    336: Verbose
                    337: causes a list of file
                    338: names to be appended to stderr.
                    339: More v's generate more output.
                    340: .TP
                    341: .B "-wN, --windowsize N"
                    342: Set window size to N.
                    343: .TP
                    344: .B "-X, --xmodem"
                    345: use XMODEM protocol.
                    346: .TP
                    347: .B "-y, --overwrite"
                    348: Yes, clobber any existing files with the same name.
                    349: .TP
                    350: .B "--ymodem"
                    351: use YMODEM protocol.
                    352: .TP
                    353: .B "-Z, --zmodem"
                    354: use ZMODEM protocol.
                    355: .PD
                    356: .ne 6
                    357: .SH SECURITY
                    358: Contrary to the original ZMODEM lrz defaults to restricted mode. In
                    359: restricted mode lrz will not accept absolute pathnames or references 
                    360: to a parent directory, will not modify an existing file, and
                    361: removes any files received in error. Remote command execution is 
                    362: disabled.
                    363: 
                    364: To use a more restricted mode set the environment variable 
                    365: .B ZMODEM_RESTRICTED 
                    366: or give the
                    367: .B R
                    368: option. This disables creation of subdirectories and invisible
                    369: files.
                    370: 
                    371: Restricted mode may be turned off with the
                    372: .B U 
                    373: option, unless lrz runs under a restricted shell.
                    374: 
                    375: .TP
                    376: Use of the 
                    377: .B --tcp-client 
                    378: or 
                    379: .B --tcp-server 
                    380: options imposes a security risk, as somebody else could connect to
                    381: the port before you do it, and grab your data. If there's strong
                    382: demand for a more secure mode i might introduce some sort of
                    383: password challenge.
                    384: 
                    385: .SH ENVIRONMENT
                    386: lrz uses the following environment variables:
                    387: .TP
                    388: .B SHELL
                    389: lrz recognizes a restricted shell if this variable includes
                    390: .I "rsh"
                    391: or
                    392: .I "rksh"
                    393: \.
                    394: .TP
                    395: .B ZMODEM_RESTRICTED
                    396: lrz enters the more restricted mode if the variable is set.
                    397: .SH EXAMPLES
                    398: .RE
                    399: (Pro-YAM command)
                    400: .RS
                    401: .I <ALT-2>
                    402: .br
                    403: Pro-YAM Command:
                    404: .I "sz *.h *.c"
                    405: .br
                    406: (This automatically invokes
                    407: .I rz
                    408: on the connected system.)
                    409: .RE
                    410: .SH SEE ALSO
                    411: ZMODEM.DOC,
                    412: YMODEM.DOC,
                    413: Professional-YAM,
                    414: crc(omen),
                    415: sz(omen),
                    416: usq(omen),
                    417: undos(omen)
                    418: 
                    419: Compile time options required
                    420: for various operating systems are described in the
                    421: source file.
                    422: .SH NOTES
                    423: Sending serial data to timesharing minicomputers
                    424: at sustained high speeds
                    425: has been known to cause lockups, system halts, kernel panics,
                    426: and occasional antisocial behaviour.
                    427: When experimenting with high speed input to a
                    428: system, consider rebooting the system
                    429: if the file transfers are not successful,
                    430: especially if the personality of the system appears altered.
                    431: 
                    432: The Unix "ulimit" parameter must be set high enough
                    433: to permit large file transfers.
                    434: 
                    435: The TTY input buffering on some systems may not allow long blocks
                    436: or streaming input at high speed.
                    437: You should suspect this problem when you
                    438: can't send data to the Unix system at high speeds using ZMODEM,
                    439: YMODEM-1k or XMODEM-1k,
                    440: when YMODEM with 128 byte blocks works properly.
                    441: If the system's tty line handling is really broken, the serial port
                    442: or the entire system may not survive the onslaught of long bursts
                    443: of high speed data.
                    444: 
                    445: The DSZ or Pro-YAM
                    446: .B "zmodem l"
                    447: numeric parameter may be set to a value between 64 and 1024 to limit the
                    448: burst length ("zmodem pl128").
                    449: 
                    450: 32 bit CRC code courtesy Gary S. Brown.
                    451: Directory creation code from John Gilmore's PD TAR program.
                    452: .SH BUGS
                    453: Calling
                    454: .I rz
                    455: from most versions of cu(1) doesn't work because cu's receive process
                    456: fights
                    457: .I rz
                    458: for characters from the modem.
                    459: 
                    460: Programs that do not properly implement the specified file transfer protocol
                    461: may cause
                    462: .I sz
                    463: to "hang" the port for a minute or two.
                    464: Every reported instance of this problem has been corrected by using
                    465: ZCOMM, Pro-YAM, or other program with a correct implementation
                    466: of the specified protocol.
                    467: 
                    468: Many programs claiming to support YMODEM only support XMODEM with 1k blocks,
                    469: and they often don't get that quite right.
                    470: 
                    471: Pathnames are restricted to 127 characters.
                    472: In XMODEM single file mode, the pathname given on the command line
                    473: is still processed as described above.
                    474: The ASCII option\'s CR/LF to NL translation merely deletes CR\'s;
                    475: undos(omen) performs a more intelligent translation.
                    476: .SH "VMS VERSION"
                    477: The VMS version does not set the file time.
                    478: 
                    479: VMS C Standard I/O and RMS may interact to modify
                    480: file contents unexpectedly.
                    481: 
                    482: The VMS version does not support invocation as
                    483: .B rzCOMMAND .
                    484: The current VMS version does not support XMODEM, XMODEM-1k, or YMODEM.
                    485: 
                    486: According to the VMS documentation,
                    487: the buffered input routine used on the VMS version of
                    488: .I rz
                    489: introduces a delay
                    490: of up to one second for each protocol transaction.
                    491: This delay may be significant for very short files.
                    492: Removing the "#define BUFREAD" line from rz.c will
                    493: eliminate this delay at the expense of increased
                    494: CPU utilization.
                    495: 
                    496: The VMS version causes DCL to generate a random off the wall
                    497: error message under some error conditions; this is a result of
                    498: the incompatibility of the VMS "exit" function with the
                    499: Unix/MSDOS standard.
                    500: .SH "ZMODEM CAPABILITIES"
                    501: .I Rz
                    502: supports incoming ZMODEM binary (-b), ASCII (-a),
                    503: protect (-p),
                    504: clobber (-y),
                    505: and append (-+)
                    506: requests.
                    507: The default is protect (-p) and binary (-b).
                    508: 
                    509: The Unix versions support ZMODEM command execution.
                    510: .SH FILES
                    511: rz.c, crctab.c, rbsb.c, zm.c, zmodem.h Unix source files.
                    512: 
                    513: rz.c, crctab.c, vrzsz.c, zm.c, zmodem.h, vmodem.h, vvmodem.c,
                    514: VMS source files.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>