分享
 
 
 

RFC1572 - Telnet Environment Option

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Network Working Group S. Alexander, Editor

Request for Comments: 1572 Lachman Technology, Inc.

Category: Standards Track January 1994

Telnet Environment Option

Status of this Memo

This document specifies an Internet standards track protocol for the

Internet community, and requests discussion and suggestions for

improvements. Please refer to the current edition of the "Internet

Official Protocol Standards" (STD 1) for the standardization state

and status of this protocol. Distribution of this memo is unlimited.

Abstract

This document specifies a mechanism for passing environment

information between a telnet client and server. Use of this

mechanism enables a telnet user to propagate configuration

information to a remote host when connecting.

This document corrects some errors in [1].

1. Command Names and Codes

NEW-ENVIRON 39

IS 0

SEND 1

INFO 2

VAR 0

VALUE 1

ESC 2

USERVAR 3

2. Command Meanings

IAC WILL NEW-ENVIRON

The sender of this command is willing to send environment

variables.

IAC WONT NEW-ENVIRON

The sender of this command refuses to send environment variables.

IAC DO NEW-ENVIRON

The sender of this command is willing to receive environment

variables.

IAC DONT NEW-ENVIRON

The sender of this command refuses to accept environment

variables.

IAC SB NEW-ENVIRON SEND [ type ... [ type ... [ ... ] ] ] IAC SE

The sender of this command requests that the remote side send its

environment variables. The "type" may be either VAR or USERVAR,

to indicate either well known or user variable names. Only the

side that is DO NEW-ENVIRON may initiate a SEND command. If a

list of variables is specified, then only those variables should

be sent. If no list is specified, then the default environment,

of both well known and user defined variables, should be sent. If

one of the variables has no name, then all the variables of that

type (well known or user defined) in the default environment

should be sent.

IAC SB NEW-ENVIRON IS type ... [ VALUE ... ] [ type ... [ VALUE ... ]

[ ... ] ] IAC SE

The sender of this command is sending environment variables. This

command is sent in response to a SEND request. Only the side that

is WILL NEW-ENVIRON may send an IS command. The "type"/VALUE

pairs must be returned in the same order as the SEND request

specified them, and there must be a response for each "type ..."

eXPlicitly requested. The "type" will be VAR or USERVAR.

Multiple environment variables may be sent. The characters

following a "type" up to the next "type" or VALUE specify the

variable name. The characters following a VALUE up to the next

"type" specify the value of the variable. If a "type" is not

followed by a VALUE (e.g., by another VAR, USERVAR, or IAC SE)

then that variable is undefined. If a VALUE is immediately

followed by a "type" or IAC, then the variable is defined, but has

no value. If an IAC is contained between the IS and the IAC SE,

it must be sent as IAC IAC. If a variable or a value contains a

VAR, it must be sent as ESC VAR. If a variable or a value

contains a USERVAR, it must be sent as ESC USERVAR. If a variable

or a value contains a VALUE, it must be sent as ESC VALUE. If a

variable or a value contains an ESC, it must be sent as ESC ESC.

IAC SB NEW-ENVIRON INFO type ... [ VALUE ... ] [ type ... [ VALUE ...

] [ ... ] ] IAC SE

The sender of this command is sending information about

environment variables that have changed. It is identical to the

IS command, except that the command is INFO instead of IS. Only

the side that is WILL NEW-ENVIRON may send an INFO command. The

INFO command is not to be used to send initial information; the

SEND/IS sequence is to be used for that. The INFO command is to

be used to propagate changes in environment variables, and may be

spontaneously generated.

3. Default Specification

The default specification for this option is

WONT NEW-ENVIRON

DONT NEW-ENVIRON

meaning there will not be any exchange of environment information.

4. Motivation

Many operating systems have startup information and environment

variables that contain information that should be propagated to

remote machines when Telnet connections are established. Rather than

create a new Telnet option each time someone comes up with some new

information that they need propagated through a Telnet session, but

that the Telnet session itself doesn't really need to know about,

this generic information option can be used.

5. Well Known Variables

USER This variable is used to transmit the user or account

name that the client wishes to log into on the remote

system. The format of the value the USER variable is

system dependent, as determined by the remote system.

JOB This variable is used to transmit the job ID that the

client wishes to use when logging into the remote system.

The format of the value the JOB variable is system

dependent, as determined by the remote system.

ACCT This variable is used to transmit the account ID that the

client wishes to use when logging into the remote system.

The format of the value the ACCT variable is system

dependent, as determined by the remote system.

PRINTER This variable is used to identify the default location

for printer output. Because there does not currently

exist a standard way of naming a printer on a network,

the format of this variable is currently undefined.

SYSTEMTYPE This is used to transmit the type of operating system on

the system that sends this variable. It value is

identical to the value of the SYSTEM (SYST) command in

FTP [4]. The format of the value shall have as its first

Word one of the system names listed in the current

version of the Assigned Numbers document [5].

DISPLAY This variable is used to transmit the X display location

of the client. The format for the value of the DISPLAY

variable is:

<host>:<dispnum>[.<screennum>]

This information is identical to the information passed

using the Telnet X-DISPLAY-LOCATION option. If both the

DISPLAY environment variable, and the X-DISPLAY-LOCATION

option [6] are received, and they contain conflicting

information, the most recently received information

received should be used.

Because it is impossible to anticipate all variables that users may

wish to exchange, the USERVAR type is provided to allow users to

transmit arbitrary variable/value pairs. The use of an additional

type allows implementations to distinguish between values derived by

the remote host software and values supplied by the user. Paranoid

implementations will most likely treat both types with an equal level

of distrust. The results of a name-space collision between a well-

known and a user variable are implementation specific.

6. Implementation Rules

WILL and DO are used only at the beginning of the connection to

oBTain and grant permission for future negotiations.

Once the two hosts have exchanged a WILL and a DO, the sender of the

DO NEW-ENVIRON is free to request that environment variables be sent.

Only the sender of the DO may send requests (IAC SB NEW-ENVIRON SEND

IAC SE) and only the sender of the WILL may transmit actual

environment information (via the IAC SB NEW-ENVIRON IS ... IAC SE

command). Though this option may be used at any time throughout the

life of the telnet connection, the exchange of environment

information will usually happen at the startup of the connection.

This is because many operating systems only have mechanisms for

propagating environment information at process creation, so the

information is needed before the user logs in.

The receiving host is not required to put all variables that it

receives into the environment. For example, if the client should

send across USERVAR "TERM" VALUE "xterm" as an environment variable,

and the TERMINAL-TYPE [3] option has already been used to determine

the terminal type, the server may safely ignore the TERM variable.

Also, some startup information may be used in other ways; for

example, the values for "USER", "ACCT" and "PROJ" values might be

used to decide which account to log into, and might never be put into

the users environment. In general, if the server has already

determined the value of an environment variable by some more accurate

means, or if it does not understand a variable name, it may ignore

the value sent in the NEW-ENVIRON option. The server may also prefer

to just put all unknown information into the users environment. This

is the suggested method of implementation, because it allows the user

the most flexibility.

The following is an example of use of the option:

Host1 Host2

IAC DO NEW-ENVIRON

IAC WILL NEW-ENVIRON

[ Host1 is now free to request environment information ]

IAC SB NEW-ENVIRON SEND VAR

"USER" VAR "ACCT" VAR USERVAR

IAC SE

[ The server has now explicitly asked for the USER and ACCT

variables, the default set of well known environment variables,

and the default set of user defined variables. Note that the

client includes the USER information twice; once because it was

explicitly asked for, and once because it is part of the

default environment. ]

IAC SB NEW-ENVIRON IS VAR "USER"

VALUE "joe" VAR "ACCT" VALUE

"kernel" VAR "USER" VALUE "joe"

VAR "DISPLAY" VALUE "foo:0.0"

USERVAR "SHELL" VALUE "/bin/csh"

IAC SE

It is legal for a client to respond with an empty environment (no

data between the IAC SB and IAC SE) when no well-defined or user

variables are currently defined. For example:

IAC SB NEW-ENVIRON IS IAC SE

is a valid response to any of the following:

IAC SB NEW-ENVIRON SEND IAC SE

IAC SB NEW-ENVIRON SEND VAR IAC SE

IAC SB NEW-ENVIRON SEND USERVAR IAC SE

IAC SB NEW-ENVIRON SEND VAR USERVAR IAC SE

(The last example is equivalent to the first...)

The earlier version of this specification [1] incorrectly reversed

the values for VAR and VALUE, which put the specification at odds

with existing implementations. In order to resolve that problem, as

well as other minor problems, a new option number has been assigned

to the NEW-ENVIRON option. This allows implementations of this memo

to interoperate with no ambiguity.

For a discussion on how to implement to interoperate with the various

implementations that pre-date this memo, see [2].

It is expected that any implementation that supports the Telnet NEW-

ENVIRON option will support all of this specification.

7. Security Concerns

It is important for an implementor of the NEW-ENVIRON option to

understand the interaction of setting options and the

login/authentication process. Specifically careful analysis should be

done to determine which variables are "safe" to set prior to having

the client login. An example of a bad choice would be permitting a

variable to be changed that allows an intruder to circumvent or

compromise the login/authentication program itself.

8. References

[1] Borman, D., Editor, "Telnet Environment Option", RFC1408, Cray

Research, Inc., January 1993.

[2] Borman, D., "Telnet Environment Option Interoperability Issues",

RFC1571, Cray Research, Inc., January 1994.

[3] VanBokkelen, J., "Telnet Terminal-Type Option", RFC1091, FTP

Software, Inc., February 1989.

[4] Postel, J., and J. Reynolds, "File Transfer Protocol (FTP)", STD

9, RFC959, USC/Information Sciences Institute, October 1985.

[5] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC1340,

USC/Information Sciences Institute, July 1992.

[6] Marcy, G., "Telnet X Display Location Option", RFC1096, Carnegie

Mellon University, March 1989.

Acknowledgements

The original version of this document was written by Dave Borman of

Cray Research, Inc. In addition, the comments of the Telnet Working

Group of the IETF are gratefully acknowledged.

Security Considerations

Security issues are discussed in Section 7.

Editor's Address

Steve Alexander

Lachman Technology, Inc.

1901 North Naper Boulevard

Naperville, IL 60563-8895

Phone: (708) 505-9555 x256

EMail: stevea@lachman.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有