Provided by: lrzsz_0.12.21-10_amd64 bug

NAME

       rx, rb, rz - XMODEM, YMODEM, ZMODEM (Batch) file receive

SYNOPSIS

       rz [- +8abeOpqRtTuUvy]
       rb [- +abqRtuUvy]
       rx [- abceqRtuUv] file
       [-][v]rzCOMMAND

DESCRIPTION

       This  program  uses error correcting protocols to receive files over a dial-in serial port
       from a variety of programs running under PC-DOS, CP/M, Unix, and other operating  systems.
       It  is  invoked  from a shell prompt manually, or automatically as a result of an "sz file
       ..." command given to the calling program.

       While rz is smart enough to be called from cu(1), very few versions  of  cu(1)  are  smart
       enough  to  allow rz to work properly.  Unix flavors of Professional-YAM are available for
       such dial-out application.

       Rz (Receive ZMODEM) receives files with the ZMODEM batch protocol.  Pathnames are supplied
       by  the  sending program, and directories are made if necessary (and possible).  Normally,
       the "rz" command is automatically issued by the calling ZMODEM program, but some defective
       ZMODEM implementations may require starting rz the old fashioned way.

       Rb  receives  file(s) with YMODEM, accepting either standard 128 byte sectors or 1024 byte
       sectors (YAM sb -k option).  The user should determine when the  1024  byte  block  length
       actually improves throughput without causing lost data or even system crashes.

       If  True  YMODEM  (Omen  Technology  trademark)  file  information (file length, etc.)  is
       received, the file length controls the number of bytes written to the output dataset,  and
       the modify time and file mode (iff non zero) are set accordingly.

       If  no  True  YMODEM  file information is received, slashes in the pathname are changed to
       underscore, and any trailing period in the pathname is  eliminated.   This  conversion  is
       useful  for files received from CP/M systems.  With YMODEM, each file name is converted to
       lower case unless it contains one or more lower case letters.

       Rx receives a single file with XMODEM or XMODEM-1k protocol.  The  user  should  determine
       when  the  1024  byte  block length actually improves throughput without causing problems.
       The user must supply the file name to both sending and receiving  programs.   Up  to  1023
       garbage characters may be added to the received file.

       Rz may be invoked as rzCOMMAND (with an optional leading - as generated by login(1)).  For
       each received file, rz will pipe the file to ``COMMAND filename'' where  filename  is  the
       name of the transmitted file with the file contents as standard input.

       Each  file  transfer  is  acknowledged  when COMMAND exits with 0 status.  A non zero exit
       status terminates transfers.

       A typical use for this form is rzrmail which calls rmail(1)  to  post  mail  to  the  user
       specified by the transmitted file name.  For example, sending the file "caf" from a PC-DOS
       system to rzrmail on a Unix system would result in the contents  of  the  DOS  file  "caf"
       being mailed to user "caf".

       On  some  Unix  systems,  the login directory must contain a link to COMMAND as login sets
       SHELL=rsh which disallows absolute pathnames.  If invoked with a leading ``v'', rz will be
       verbose (see v option).  The following entry works for Unix SYS III/V:
                                 rzrmail::5:1::/bin:/usr/local/rzrmail
       If the SHELL environment variable includes rsh , rbash or rksh (restricted shell), rz will
       not accept absolute pathnames or references to a parent  directory,  will  not  modify  an
       existing file, and removes any files received in error.

       If  rz  is  invoked  with  stdout  and  stderr to different datasets, Verbose is set to 2,
       causing frame by frame progress reports to stderr.   This  may  be  disabled  with  the  q
       option.

OPTIONS

       The meanings of the available options are:

       -+, --append
              append received data to an existing file (ZMODEM, ASCII only).
       -a, --ascii
              Convert  files to Unix conventions by stripping carriage returns and all characters
              beginning with the first Control Z (CP/M end of file).
       -b, --binary
              Binary (tell it like it is) file transfer override.
       -B NUMBER, --bufsize NUMBER
              Buffer NUMBER bytes before writing to disk. Default  ist  32768,  which  should  be
              enough  for  most situations. If you have a slow machine or a bad disk interface or
              suffer from other hardware problems you might want to increase the buffersize.   -1
              or  auto  use  a buffer large enough to buffer the whole file. Be careful with this
              options - things normally get worse, not better, if the machine starts to swap.
       -c, --with-crc
              XMODEM only. Use 16 bit CRC (normally a one byte checksum is used).
       -C, --allow-remote-commands
              allow remote command execution ( insecure ). This allows the sender to  execute  an
              arbitrary command through system () or execl (). Default is to disable this feature
              (?). This option is ignored if running in restricted mode.
       -D, --null
              Output file data to /dev/null; for testing.  (Unix only)
       --delay-startup N
              Wait N seconds before doing anything.
       -e, --escape
              Force sender to escape all control characters; normally XON,  XOFF,  DLE,  CR-@-CR,
              and Ctrl-X are escaped.
       -E, --rename
              Rename incoming file if target filename already exists. The new file name will have
              a dot and a number (0..999) appended.
       -h, --help
              give help screen.
       -m N, --min-bps N
              Stop transmission if BPS-Rate (Bytes Per Second) falls below N for a  certain  time
              (see --min-bps-time option).
       -M N, --min-bps-time
              Used together with --min-bps. Default is 120 (seconds).
       -O, --disable-timeouts
              Disable read timeout handling code. This makes lrz hang if the sender does not send
              any more, but increases performance (a bit)  and  decreases  system  load  (through
              reducing the number of system calls by about 50 percent).

              Use this option with care.
       --o-sync
              Open  output  files in synchronous write mode. This may be useful if you experience
              errors due to lost interrupts if update (or  bdflush  or  whoever  this  daemon  is
              called on your system) writes the buffers to the disk.

              This  option  is  ignored  and a warning is printed if your systems doesn't support
              O_SYNC.
       -p, --protect
              (ZMODEM) Protect: skip file if destination file exists.
       -q, --quiet
              Quiet suppresses verbosity.
       -r, --resume
              Crash recovery mode. lrz tries to resume interrupted file transfers.
       -R, --restricted
              Enter more restricted mode. lrz will not create directories or files with a leading
              dot if this option is given twice.

              See SECURITY for mode information about restricted mode.
       -s HH:MM, --stop-at HH:MM
              Stop  transmission  at  HH  hours, MM minutes. Another variant, using +N instead of
              HH:MM, stops transmission in N seconds.
       -S, --timesync
              Request timesync packet from the sender. The sender sends its system time,  causing
              lrz to complain about more then 60 seconds difference.

              Lrz  tries  to set the local system time to the remote time if this option is given
              twice (this fails if lrz is not run by root).

              This option makes lrz incompatible with certain other ZModems. Don't use it  unless
              you know what you are doing.
       --syslog[=off]
              turn  syslogging  on  or off. the default is set at configure time.  This option is
              ignored if no syslog support is compiled in.
       -t TIM, --timeout TIM
              Change timeout to TIM tenths of seconds. This is ignored  if  timeout  handling  is
              turned of through the O option.
       --tcp-client ADDRESS:PORT
              Act as a tcp/ip client: Connect to the given port.

              See --tcp-server for more information.

       --tcp-server
              Act as a server: Open a socket, print out what to do, wait for connection.

              You  will  normally  not  want to use this option as lrzsz is the only zmodem which
              understands what to do (private extension). You might want to use this if you  have
              to  use  zmodem (for which reason whatever), and cannot use the --tcp option of lsz
              (perhaps  because  your  telnet  doesn't  allow  to  spawn  a  local  program  with
              stdin/stdout connected to the remote side).

              If  you  use  this  option you have to start lsz with the --tcp-client ADDRESS:PORT
              option.  lrz will print the address and port on startup.

              Use of this option imposes a security risk, somebody else could connect to the port
              in between. See SECURITY for details.
       -U, --unrestrict
              turn  off  restricted  mode  (this  is  not  possible if running under a restricted
              shell).
       --version
              prints out version number.
       -v, --verbose
              Verbose causes a list of file names to be appended to stderr.   More  v's  generate
              more output.
       -wN, --windowsize N
              Set window size to N.
       -X, --xmodem
              use XMODEM protocol.
       -y, --overwrite
              Yes, clobber any existing files with the same name.
       --ymodem
              use YMODEM protocol.
       -Z, --zmodem
              use ZMODEM protocol.

SECURITY

       Contrary  to  the  original ZMODEM lrz defaults to restricted mode. In restricted mode lrz
       will not accept absolute pathnames or references to a parent directory, will not modify an
       existing  file,  and  removes  any  files  received  in error. Remote command execution is
       disabled.

       To use a more restricted mode set the environment variable ZMODEM_RESTRICTED or give the R
       option. This disables creation of subdirectories and invisible files.

       Restricted  mode  may  be turned off with the U option, unless lrz runs under a restricted
       shell.

       Use of the
              --tcp-client or --tcp-server options imposes a  security  risk,  as  somebody  else
              could  connect  to the port before you do it, and grab your data. If there's strong
              demand for a more secure mode i might introduce some sort of password challenge.

ENVIRONMENT

       lrz uses the following environment variables:

       SHELL  lrz recognizes a restricted shell if this variable includes rsh or rksh

       ZMODEM_RESTRICTED
              lrz enters the more restricted mode if the variable is set.

EXAMPLES

       (Pro-YAM command)
              <ALT-2>
              Pro-YAM Command: sz *.h *.c
              (This automatically invokes rz on the connected system.)

SEE ALSO

       ZMODEM.DOC, YMODEM.DOC, Professional-YAM, crc(omen), sz(omen), usq(omen), undos(omen)

       Compile time options required for various operating systems are described  in  the  source
       file.

NOTES

       Sending  serial  data to timesharing minicomputers at sustained high speeds has been known
       to cause lockups, system halts, kernel panics, and occasional antisocial behaviour.   When
       experimenting with high speed input to a system, consider rebooting the system if the file
       transfers are not successful, especially if the personality of the system appears altered.

       The Unix "ulimit" parameter must be set high enough to permit large file transfers.

       The TTY input buffering on some systems may not allow long blocks or  streaming  input  at
       high  speed.   You should suspect this problem when you can't send data to the Unix system
       at high speeds using ZMODEM, YMODEM-1k or XMODEM-1k, when  YMODEM  with  128  byte  blocks
       works  properly.   If  the system's tty line handling is really broken, the serial port or
       the entire system may not survive the onslaught of long bursts of high speed data.

       The DSZ or Pro-YAM zmodem l numeric parameter may be set to a value between 64 and 1024 to
       limit the burst length ("zmodem pl128").

       32  bit  CRC  code courtesy Gary S. Brown.  Directory creation code from John Gilmore's PD
       TAR program.

BUGS

       Calling rz from most versions of cu(1) doesn't work because cu's receive process fights rz
       for characters from the modem.

       Programs  that do not properly implement the specified file transfer protocol may cause sz
       to "hang" the port for a minute or two.  Every reported instance of this problem has  been
       corrected  by  using ZCOMM, Pro-YAM, or other program with a correct implementation of the
       specified protocol.

       Many programs claiming to support YMODEM only support XMODEM  with  1k  blocks,  and  they
       often don't get that quite right.

       Pathnames  are  restricted  to  127  characters.  In XMODEM single file mode, the pathname
       given on the command line is still processed as described above.  The ASCII option´s CR/LF
       to   NL   translation  merely  deletes  CR´s;  undos(omen)  performs  a  more  intelligent
       translation.

VMS VERSION

       The VMS version does not set the file time.

       VMS C Standard I/O and RMS may interact to modify file contents unexpectedly.

       The VMS version does not support invocation as rzCOMMAND .  The current VMS  version  does
       not support XMODEM, XMODEM-1k, or YMODEM.

       According  to the VMS documentation, the buffered input routine used on the VMS version of
       rz introduces a delay of up to one second for each protocol transaction.  This  delay  may
       be  significant  for very short files.  Removing the "#define BUFREAD" line from rz.c will
       eliminate this delay at the expense of increased CPU utilization.

       The VMS version causes DCL to generate a random off the  wall  error  message  under  some
       error  conditions; this is a result of the incompatibility of the VMS "exit" function with
       the Unix/MSDOS standard.

ZMODEM CAPABILITIES

       Rz supports incoming ZMODEM binary (-b), ASCII  (-a),  protect  (-p),  clobber  (-y),  and
       append (-+) requests.  The default is protect (-p) and binary (-b).

       The Unix versions support ZMODEM command execution.

FILES

       rz.c, crctab.c, rbsb.c, zm.c, zmodem.h Unix source files.

       rz.c, crctab.c, vrzsz.c, zm.c, zmodem.h, vmodem.h, vvmodem.c, VMS source files.

                                               OMEN                                         RZ(1)