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

FreeBSD Manual Pages


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

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

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

       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 ..."  com-
       mand 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 automati-
       cally 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  de-
       termine	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	 char-
       acters 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	``COM-
       MAND 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

       On  some	 Unix systems, the login directory must	contain	a link to COM-
       MAND 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:
       If the SHELL environment	variable includes rsh ,	 rbash	or  rksh  (re-
       stricted	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.

       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
       -C, --allow-remote-commands
	      allow remote command execution ( insecure	 ).  This  allows  the
	      sender  to execute an arbitrary command through system ()	or ex-
	      ecl (). 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.
	      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	trans-
       -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, us-
	      ing +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

	      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

	      This option makes	lrz incompatible with certain  other  ZModems.
	      Don't use	it unless you know what	you are	doing.
	      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.

	      Act  as  a server: Open a	socket,	print out what to do, wait for

	      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 (per-
	      haps 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).
	      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.
	      use YMODEM protocol.
       -Z, --zmodem
	      use ZMODEM protocol.

       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.

       lrz uses	the following environment variables:

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

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

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

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

       Compile	time  options  required	 for various operating systems are de-
       scribed in the source file.

       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 sys-
       tem 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 prop-
       erly.  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 be-
       tween 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.

       Calling rz from most versions of	cu(1) doesn't work  because  cu's  re-
       ceive 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	speci-
       fied 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 de-
       scribed above.  The ASCII  option's  CR/LF  to  NL  translation	merely
       deletes CR's; undos(omen) performs a more intelligent translation.

       The VMS version does not	set the	file time.

       VMS  C  Standard	I/O and	RMS may	interact to modify file	contents unex-

       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 mes-
       sage under some error conditions; this is a result of the incompatibil-
       ity of the VMS "exit" function with the Unix/MSDOS standard.

       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.

       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:

home | help