RMT(8) lies about the protocol used to talk to "rmt"
Guy Harris
guy at auspex.UUCP
Tue Mar 28 07:47:58 AEST 1989
Description:
(The previous bug report had an error in the fixed manual page;
the "S" command does *not* take a newline at the end.)
The description in RMT(8) of the protocol used to talk to
"/etc/rmt" is incorrect. It claims that 1) spaces separate the
command from the first argument to the command and 2) spaces
separate the arguments from each other. In fact, nothing
separates the command from its first argument, and newlines
separate the arguments from each other.
Repeat-By:
Try to use "/etc/rmt" using the protocol described in RMT(8),
and notice that you don't get very far.
Fix:
*** /home/unix_src/bsd4.3-tahoe/usr/src/man/man8/rmt.8 Tue Dec 20 09:19:58 1988
--- ./rmt.8 Mon Mar 27 13:43:57 1989
***************
*** 29,45 ****
a status indication. All responses are in ASCII and in
one of two forms.
Successful commands have responses of
.PP
- .ti +0.5i
- \fBA\fInumber\fR\en
- .PP
where
.I number
is an ASCII representation of a decimal number.
Unsuccessful commands are responded to with
.PP
! .ti +0.5i
! \fBE\fIerror-number\fR\en\fIerror-message\fR\en,
.PP
where
.I error-number
--- 29,44 ----
a status indication. All responses are in ASCII and in
one of two forms.
Successful commands have responses of
+ .IP
+ .BI A number \en
.PP
where
.I number
is an ASCII representation of a decimal number.
Unsuccessful commands are responded to with
.PP
! .IP
! .BI E error-number \en error-message \en
.PP
where
.I error-number
***************
*** 52,60 ****
from a call to
.IR perror (3).
The protocol is comprised of the
! following commands (a space is present between each token).
.TP 15
! .B O device mode
Open the specified
.I device
using the indicated
--- 51,62 ----
from a call to
.IR perror (3).
The protocol is comprised of the
! following commands, which are sent as indicated - no spaces are supplied
! between the command and its arguments, or between its arguments, and
! .B \en
! indicates that a newline should be supplied:
.TP 15
! .BI O device \en mode \en
Open the specified
.I device
using the indicated
***************
*** 68,79 ****
If a device had already been opened, it is
closed before a new open is performed.
.TP 15
! .B C device
Close the currently open device. The
.I device
specified is ignored.
.TP 15
! .B L whence offset
Perform an
.IR lseek (2)
operation using the specified parameters.
--- 70,81 ----
If a device had already been opened, it is
closed before a new open is performed.
.TP 15
! .BI C device \en
Close the currently open device. The
.I device
specified is ignored.
.TP 15
! .BI L whence \en offset \en
Perform an
.IR lseek (2)
operation using the specified parameters.
***************
*** 81,87 ****
.I lseek
call.
.TP 15
! .B W count
Write data onto the open device.
.I Rmt
reads
--- 83,89 ----
.I lseek
call.
.TP 15
! .BI W count \en
Write data onto the open device.
.I Rmt
reads
***************
*** 93,99 ****
.IR write (2)
call.
.TP 15
! .B R count
Read
.I count
bytes of data from the open device.
--- 95,101 ----
.IR write (2)
call.
.TP 15
! .BI R count \en
Read
.I count
bytes of data from the open device.
***************
*** 105,116 ****
then performs the requested
.IR read (2)
and responds with
! \fBA\fIcount-read\fR\en if the read was
successful; otherwise an error in the
standard format is returned. If the read
was successful, the data read is then sent.
.TP 15
! .B I operation count
Perform a MTIOCOP
.IR ioctl (2)
command using the specified parameters.
--- 107,119 ----
then performs the requested
.IR read (2)
and responds with
! .BI A count-read \en
! if the read was
successful; otherwise an error in the
standard format is returned. If the read
was successful, the data read is then sent.
.TP 15
! .BI I operation \en count \en
Perform a MTIOCOP
.IR ioctl (2)
command using the specified parameters.
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list