📄 rfc1756.txt
字号:
The SEND command is completed and message is forwarded to the
user.
105 Sender ok.
The FROM command successful.
106 Recipient ok.
The TO command successful.
107 Message ok.
The DATA command successful.
108 Recipient ok to send.
The VRFY command successful and direct message delivery is
possible.
109 RSET ok.
The RWP server has received the RSET command and reset itself.
Rinne [Page 6]
RFC 1756 Remote Write Protocol January 1995
110 Ok to forward.
or
110 Ok to forward <user@host.domain>.
The VRFY command successful and direct message delivery by
forwarding is possible. If response has also forwarding
address the client can either forward the message itself or
give it to server for forwarding.
111 Original sender host ok.
The FHST command successful and original sender host is set as
given by the client.
200 Enter message. Single dot '.' on line terminates.
The RWP server is ready to receive the message. Single dot on
message line terminates the message.
300 |I'm not in right now but I'll be back tomorrow
300 |at 8 o'clock a.m.
Automatical response to the delivered message. Every line of
this user defined reply message is delivered in its own 300
line. Response code 300 lines may appear only after SEND
command before response code 103 (message delivered). Client
receiving autoreply 300 should show the text of the autoreply
to the user. Actual autoreply line begins after the '|'
-character in the line.
500 Hello remote.host. This is local.host speaking.
Response to the HELO command. This message can also occur in
the beginning of the conversation without the VER command and
it can be ignored.
501 Rwrited version X.X.
Response to the VER command. This message can also occur in
the beginning of the conversation without the VER command and
it can be ignored.
Rinne [Page 7]
RFC 1756 Remote Write Protocol January 1995
502 RWP version 1.0.
Response to the VER command. This message can also occur in
the beginning of the conversation without the VER command and
it can be ignored.
510 Valid commands are:
510 BYE, DATA, HELP, HELO,
510 RSET, SEND, PROT, QUIT,
510 VRFY, VER
510 FROM senderlogin
510 FHST senderhost
510 TO recipentlogin
510 FWDS current_hop_count
Response to the HELP command.
511 Information to the user.
Server specific informational response. These responses may
occur anytime during the conversation. The client can ignore
them.
512 Debug information to the user.
Server specific informational response. Reserved for server
debugging. These messages may occur anytime during the
conversation. The client can ignore them.
666 FATAL ERROR!
The RWP server got into the fatal error situation and is about
to exit immediately. Client programs are strongly encouraged
to close the connection.
668 Syntax error.
The RWP server has received an invalid command.
669 Permission denied.
The RWP server is unable to deliver the message because the
target user has denied the send permission.
670 User not logged in.
The RWP server is unable to deliver the message because the
target user is not logged in.
Rinne [Page 8]
RFC 1756 Remote Write Protocol January 1995
671 No such user.
The RWP server is unable to deliver the message because the
target user does not exist. Error code 670 can be used to
replace this message.
672 No message.
The DATA command is terminated with empty message body. No
SEND command can be executed before a new DATA command is
given.
673 FROM command required.
Tried to give the SEND command before FROM.
674 TO command required.
Tried to give the SEND command before TO.
675 DATA command required.
Tried to give the SEND command before DATA.
676 Forward limit exceeded.
Response to the FWDS command that had an argument that
exceeded the server specific limit of message forwarding
steps.
677 Unable to forward message.
or
677 Unable to forward message to <user@host.domain>.
Response to the SEND or VRFY command if message forwarding is
attempted and the server specific limit of message forwarding
steps has been exceeded or if message forwarding has otherwise
failed. If message forwarding fails with message 669, 670 or
671, server will not use response 667 but gives response but
instead it gives the response analogous with the error
occured. If message 677 includes address the message was to
be forwarded, the client may try to deliver it itself.
698 Unknown error.
RWP server has faced an internal error that is not fatal.
Rinne [Page 9]
RFC 1756 Remote Write Protocol January 1995
699 Unknown error.
RWP server has faced an unknown error that is not fatal.
5. RWP Compliant Software
Simple RWP 1.0 compliant server and client software RWrite-1.1 will
be available during the fall 1994.
6. Security of RWP
RWP version 1.0 does not offer any mean to verify the identity of the
user connecting the RWP server program. It's possible to identify
the sender using ident-service, but not all hosts currently support
that. This vulnerability is analogous with the weakness of the SMTP
protocol. Cryptographic user verification and message hiding method
is under development and is to be defined in RWP version 2.0 during
the year 1995.
RWP server also may offer a way to the intruder to get to know user
ids within the target host by trying the TO and VRFY commands. This
vulnerability is also present in SMTP. It is however possible to
build servers so that they never give message 671 (no such user) but
use response 670 (user not logged in) instead.
Another way to increase security even within RWP-1.0 described in the
document is to design RWP servers so that they do not deliver
messages directly to user but instead connect to some kind of RWP
agent process that is executed by each user willing to receive RWP
messages. This user configurable message agent could then decide
whether to deliver the message to the user and which way of delivery
to use. Message agent is the best way to prevent hostile user from
sending uncontrolled message flood to the user's terminal.
Sample implementation (RWrite-1.0) of the RWP server includes the
support for user configuration files in which each user can either
allow or deny messages from some user(s), host(s) or network
domains(s). Support for message agents is currently under
development.
The user that is receiving the message should be able to define
characters to be stripped from the incoming messages to prevent
terminal mess-up.
Rinne [Page 10]
RFC 1756 Remote Write Protocol January 1995
7. RWP Connection Type
It is suggested that tcp (and udp) port 18 should be allocated for
rwp in future versions of RFCs listing the reserved tcp/udp/rpc
ports. Currently port 18 is assigned to the service called Message
Send Protocol (msp) that is not known to be implemented. Actually
port 18 is not currently defined at all in the /etc/services -file of
the any common UNIX-like system. Entry for /etc/services -file is as
follows
rwrite 18/udp # RWP rwrite
rwrite 18/tcp # RWP rwrite
Given that RWP compliant daemon program is /usr/sbin/rwrited the
entry for /etc/inetd.conf -file would be:
rwrite stream tcp nowait nobody /usr/sbin/rwrited rwrited
8. Character quotation
To offer a safe method to transfer various character sets RWP defines
a method to quote characters in both message and autoreply. RWP uses
quotation similar to MIME `quoted-printable' encoding. Quoted
character is presented as a '=' -sign followed by a two character hex
code. This means also that all '='-signs have to be quoted.
Quotation is also needed when message contains a line with only a
single dot '.' in it.
For example:
'.' -> =2E
'=' -> =3D
'\a' -> =07
'\t' -> =09
9. Security Considerations
Security issues are not discussed in this memo.
10. Author's Address
Timo J. Rinne
Helsinki University of Technology.
Cirion oy
PO-BOX 250
FIN-00121
Helsinki, Finland
EMail: Timo.Rinne@hut.fi
Rinne [Page 11]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -