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