Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RZ(1)			     General Commands Manual			   RZ(1)

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 call-
     ing 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  Pro-
     fessional-YAM are available for such dial-out application.

     Rz  (Receive  ZMODEM) receives files with the ZMODEM batch protocol.  Path-
     names are supplied by the sending program, and directories are made if nec-
     essary (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  elimi-
     nated.   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 through-
     put 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 di-
     rectory, 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 (). De-
	    fault is to disable this feature (?). This option is ignored if run-
	    ning 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  con-
	    nection.

	    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 what-
	    ever), and cannot use the --tcp option of lsz (perhaps because  your
	    telnet doesn't allow to spawn a local program with stdin/stdout con-
	    nected 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 con-
	    nect 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 re-
     stricted 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_RE-
     STRICTED 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 occa-
     sional antisocial behaviour.  When experimenting with high speed input to a
     system, consider rebooting the system if the file transfers  are  not  suc-
     cessful, 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 sys-
     tem'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  proto-
     col  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; un-
     dos(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  unexpect-
     edly.

     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 ex-
     pense 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=lrz&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help