📄 rfc2840.txt
字号:
RFC 2840 TELNET KERMIT OPTION May 20006.2. EXAMPLE 2 The Telnet server contains a Kermit server and starts a Kermit server immediately after a connection is made. The Telnet client does not offer a Kermit server. Telnet Server Telnet Client ----------------------------- ----------------------------- <starts negotiations> WILL KERMIT DO KERMIT <responds to negotiations> DO KERMIT SB KERMIT SOP <0x01> WONT KERMIT SB KERMIT SOP <0x01> <starts Kermit Server> SB KERMIT START-SERVER At this point the Telnet client knows that a Kermit server is on the other end of the connection, and so may customize its command set or menus to allow only those commands that are valid as a client of a Kermit server.Altman & da Cruz Informational [Page 7]RFC 2840 TELNET KERMIT OPTION May 20006.3. EXAMPLE 3 Telnet server and Telnet client both contain a Kermit server. Telnet client Kermit server is active whenever its terminal emulator is active, and not active at other times. The Telnet server is used for shell access and does not start a Kermit Server unless requested. Telnet Server Telnet Client --------------------------- ----------------------------- <starts negotiations> WILL KERMIT DO KERMIT <responds to negotiations> DO KERMIT SB KERMIT SOP <0x01> WILL KERMIT SB KERMIT SOP <0x01> <telnet client enters terminal emulator> SB KERMIT START-SERVER <client leaves terminal emulator> SB KERMIT STOP-SERVER <client requests Kermit service> SB KERMIT REQ-START-SERVER <starts Kermit server> SB KERMIT RESP-START-SERVER <client sends Kermit FINISH packet> <stops Kermit server> SB KERMIT STOP-SERVER <client returns to terminal emulator> SB KERMIT START-SERVERAltman & da Cruz Informational [Page 8]RFC 2840 TELNET KERMIT OPTION May 20006.4. EXAMPLE 4 Telnet server and Telnet client both contain a Kermit server. Telnet client's Kermit server is active whenever the terminal emulator is active. Telnet server is used solely for Kermit protocol and automatically starts a Kermit Server upon accepting the connection. Telnet Server Telnet Client --------------------------- ----------------------------- <starts negotiations> WILL KERMIT DO KERMIT <responds to negotiations> DO KERMIT SB KERMIT SOP <0x01> WILL KERMIT SB KERMIT SOP <0x01> <client enters terminal emulator> SB KERMIT START-SERVER <in response to DO> SB KERMIT SOP <0x01> SB KERMIT START-SERVER <client restricts command set to Kermit protocol commands> SB KERMIT STOP-SERVER <client performs Kermit protocol operations> <client want to enter terminal mode> SB KERMIT REQ-STOP-SERVER <Kermit Server refuses> SB KERMIT RESP-START-SERVERAltman & da Cruz Informational [Page 9]RFC 2840 TELNET KERMIT OPTION May 20006.5. EXAMPLE 5 This is an example of something that should not be allowed to happen. Some Telnet clients that implement file transfer capabilities are designed to accept incoming connections. In this situation the Telnet Client acts as a pseudo Telnet Server but without the ability to provide shell access or many of the other functions associated with Telnet. If both Telnet clients support this option and contain a Kermit server that is active during terminal emulation there is the potential for a deadlock situation if scripting is also supported. This is because Telnet clients that support a script language do not process input while waiting for the next command to be issued. Telnet Client One Telnet Client Two --------------------------- ----------------------------- <starts negotiations> WILL KERMIT DO KERMIT <responds to WILL> DO KERMIT SB KERMIT SOP <0x01> <in response to DO> SB KERMIT SOP <0x01> SB KERMIT START-SERVER <responds to DO> WILL KERMIT SB KERMIT START-SERVER <client one restricts command set to Kermit protocol and disables Kermit Server> SB KERMIT STOP-SERVER <client two restricts command set to Kermit protocol and disables Kermit Server> SB KERMIT STOP-SERVER At this point both clients have restricted their command set to Kermit Protocol commands. However, in both cases neither side is processing input. Therefore the following restriction MUST be enforced: A Telnet partner may not restrict the command set if it accepted the incoming connection.Altman & da Cruz Informational [Page 10]RFC 2840 TELNET KERMIT OPTION May 20007. SECURITY Implementors of this Telnet Option must enforce appropriate user authentication and file system access restrictions in conjunction with their implementation of the Kermit file transfer protocol. These issues are beyond the scope of this document.8. REFERENCES [BCP] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [KER] da Cruz, Frank, "Kermit, A File Transfer Protocol", Digital Press/ Butterworth Heinemann, Newton, MA, ISBN 0-932376-88-6 (1987). [IKS] da Cruz, F. and J. Altman, "Internet Kermit Service", RFC 2839, May 2000. [TEL] Postel, J. and J. Reynolds, "Telnet Protocol Specification", STD 8, RFC 854, May 1983. [TEL] Postel, J. and J. Reynolds, "Telnet Option Specification", STD 8, RFC 855, May 1983.9. AUTHORS' ADDRESSES Jeffrey E. Altman EMail:jaltman@columbia.edu Frank da Cruz EMail: fdc@columbia.edu The Kermit Project Columbia University 612 West 115th Street New York NY 10025-7799 USA http://www.columbia.edu/kermit/ http://www.kermit-project.org/Altman & da Cruz Informational [Page 11]RFC 2840 TELNET KERMIT OPTION May 200010. Full Copyright Statement Copyright (C) The Internet Society (2000). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society.Altman & da Cruz Informational [Page 12]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -