Independent Submission Jeffrey Altman Internet-Draft Peter Runestig draft-altman-telnet-fwdx-03.txt April 2002 Telnet Forwarding of X Window System Session Data Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference mate- rial or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119. 0. Abstract This document describes a mechanism via which X Window System client applications may have their communications with the X Windows System server forwarded across a Telnet communications channel. This is desireable when the Telnet session is established through a Firewall or Network Address Translator which does not allow arbitrary connections to be created from the host machine to the client machine; or when the Telnet session is using an authenticated and encrypted channel and that same security is desired for the X Window System session data. Authorization to communicate across the tunnel is provided to the X Windows System client via use of X Display access control data. 1. Command Names and Codes FORWARD_X 49 (assigned by IANA) Sub-option Commands FWDX_SCREEN 0 FWDX_OPEN 1 FWDX_CLOSE 2 FWDX_DATA 3 FWDX_OPTIONS 4 FWDX_OPT_DATA 5 FWDX_XOFF 6 FWDX_XON 7 Sub-option Options FWDX_OPT_NONE 0 FWDX_OPT_NONE_MASK 0 2. Command Meanings IAC WILL FORWARD_X The server side of the connection sends this command to indicate that it is willing to send and receive X Window System session data via the telnet connection. The client must not send this command. IAC DO FORWARD_X The client side of the connection sends this command to indicate that it is willing to send and receive X Window System session data via the telnet connection. The server must not send this command. IAC WONT FORWARD_X The server side of the connection sends this command to indicate that it is not willing or able to send and receive X Window System session data via the telnet connection. If the client receives IAC DO FORWARD_X it must respond with IAC WONT FORWARD_X. IAC DONT FORWARD_X The client side of the connection sends this command to indicate that it is not willing or able to send and receive X Window System session data via the telnet connection. If the server receives IAC WILL FORWARD_X it must respond with IAC DONT FORWARD_X. IAC SB FORWARD_X FWDX_SCREEN IAC SE The client side of the connection sends this command to the server to indicate to the server the screen (or monitor) number being used by the local X Window System server. is a single octet with legal values of 0 to 255. The screen number is to be used by the server when constructing the DISPLAY environment variable to be used on the host. The server side of the connection must not send this command. IAC SB FORWARD_X FWDX_OPEN IAC SE The server side of the connection sends this command to the client to indicate that a new X Window System session is being started and that a new channel should be allocated. is two octets in network byte order. The client side of the connection must not send this command. IAC SB FORWARD_X FWDX_CLOSE IAC SE Either side of the connection sends this command to indicate to the other that the channel has been terminated and that the associated resources should be freed. is two octets in network byte order. IAC SB FORWARD_X FWDX_DATA IAC SE Either side of the connections sends this command to the other to forward X Window System session data across the Telnet connection. is two octets in network byte order. is an arbitrary length stream of bytes. All occurances of 0xFF in the data stream must be doubled to avoid confusion with telnet commands. IAC SB FORWARD_X FWDX_OPTIONS IAC SE The server sends this command to the client to specify the list of options which are supported by the server. The client responds with this command to indicate the subset of the specified options that are to be used. The client must respond with the same number of bytes as are provided by the server. If no options are supported by the server, then a single zero byte is to be sent. The eight bit of each byte must be zero. IAC SB FORWARD_X FWDX_OPT_DATA