分享
 
 
 

RFC1339 - Remote Mail Checking Protocol

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

Network Working Group S. Dorner

Request for Comments: 1339 P. Resnick

U. of Illinois at Urbana-Champaign

June 1992

Remote Mail Checking Protocol

Status of this Memo

This memo defines an EXPerimental Protocol for the Internet

community. Discussion and suggestions for improvement are requested.

Please refer to the current edition of the "IAB Official Protocol

Standards" for the standardization state and status of this protocol.

Distribution of this memo is unlimited.

Abstract

This RFCdefines a protocol to provide a mail checking service to be

used between a client and server pair. Typically, a small program on

a client workstation would use the protocol to query a server in

order to find out whether new mail has arrived for a specified user.

Intent

This RFCdefines a simple, low-overhead protocol for checking the

status of a maildrop on a host. It is primarily intended for use in

adjunct with "remote mail" servers sUCh as those implementing the

Post Office Protocol (RFC1225). Remote mail clients must poll their

servers to discover the arrival of mail. Using one of the remote mail

protocols for periodic checking can be quite impractical and

expensive for the server since either a constant connection between

client and server must be maintained or repeated and expensive user

validations must be done. Furthermore, users on less capable

computers may not wish to devote the memory required to have a full

implementation of the client polling for mail. Thus, we feel that an

easy to implement and inexpensive to use polling scheme would be of

benefit both to mail servers and their clients.

Protocol Overview

To avoid connection overhead, the Remote Mail Checking Protocol is

based on the User Datagram Protocol (UDP), using UDP port 50 decimal

(62 octal) for the server. The protocol provides for both non-

authenticated and authenticated polling. Non-authenticated polling is

simplest for both client and server. Authenticated polling provides a

small increment of privacy, at the cost of more complexity in both

client and server (but still far less than polling with one of the

remote mail protocols).

Non-Authenticated Protocol

In the non-authenticated version of the protocol, the server will

listen on port 50 for maildrop check requests for users with

maildrops on the machine. A client will send a single UDP datagram

from a randomly chosen unreserved UDP port to UDP port 50 on the

server. The datagram will contain a 32-bit (four-octet) number which

is set to all zeros (0), followed by a case-sensitive ASCII string of

a username on the server system. The server will find the maildrop on

the system for that user and determine the amount of time that has

passed since the last message in the maildrop was appended, as well

as the amount of time that has passed since the maildrop was last

Accessed for reading. The server will then send back a single UDP

datagram containing three 32-bit numbers in network byte order to the

originating port on the client. Again, the first will be zero (0),

the second will contain the number of seconds plus one since the last

addition to the specified user's maildrop and the third will contain

the number of seconds plus one since the last read on the user's

maildrop. If the username provided does not exist, if the maildrop is

not on the system or if the maildrop is empty, the server will send

back zero (0) in the last two numbers for its reply. The client will

consider the maildrop to contain new mail if the number of seconds

since the last read access is greater than or equal to the number of

seconds since the last addition access of the maildrop and either

number is non-zero, old mail if the number of seconds since the last

read access is less than or equal to the number of seconds since the

last addition access of the maildrop and either number is non-zero,

and empty if both numbers are zero.

Authenticated Protocol

The authenticated protocol operates identically to the non-

authenticated protocol with the exception of the first interaction

between the server and the client. After the client has sent its

initial request containing the requested username, the server will

send back a single UDP packet containing three 32-bit numbers. The

first number will be a bit-mask instead of the normal 32-bits of

zero. The bit-mask will indicate a request for authentication. Each

bit in the mask represents a type of authentication that the server

accepts. The bits (with the least significant bit numbered 0, and the

most significant bit 31) are defined as follows:

0 Cleartext passWord The password for the maildrop, not

NULL-terminated.

1-23 Reserved for future use

24-31 Implementation-dependent. Implementors wishing to

experiment may use these.

For each type of authentication that the server accepts, the

corresponding bit will be set to one. All other bits will be set to

zero. The last two 32-bit numbers in the reply will be set to zero.

If the client supports authentication, it will send back a 32-bit

mask with the bit representing the kind of authentication it is using

set to one, followed by the data used for authentication. The client

is free to use any of the types of authentication indicated by the

authentication request from the server. If the client does not

support authentication and it receives an authentication request, it

SHOULD stop sending requests (though this behavior is not required).

Once a valid authentication is received by the server for a

particular maildrop, the server considers the IP address and UDP port

of the client along with that maildrop to be an authenticated

address/port/maildrop triple. From then on, normal non-authenticated

transactions take place between the server and the client as

described above. Should a datagram come from an authenticated

address/port pair with a different username, or if some amount of

time has elapsed since the last request (which is implementation

dependent), the server should remove the address/port/maildrop triple

from its list of authenticated triples and send another

authentication request. Since the time required for an authenticated

triple to become unauthenticated is implementation dependent, clients

should be prepared to send an authentication reply to containing the

server whenever it is requested.

Server Implementation Notes

Servers which implement either the authenticated or non-authenticated

protocol may decide that they do not wish to reveal the actual amount

of time that has passed since the last update or read from a

maildrop. (See the "Security Considerations" section below for

reasons some feel this is problematic.) In this case, a server may

instead reply with the following:

First 32 bits Second 32 bits Third 32 bits

New mail 0 0 1

Old mail 0 1 0

No mail 0 0 0

These values will appear to the client as correctly representing new,

old or no mail respectively but will give no indication of the actual

times that the changes took place.

Servers implementing the non-authenticated protocol MUST provide some

mechanism by which users on the system can give permission for their

maildrops to accessed by the protocol. See the "Security

Considerations" section below for specifics.

Client Implementation Notes

Clients MUST not send more than one poll (and one authentication) per

minute. In particular, lack of server response should not result in

retransmission.

Since the last two numbers in an authentication request from a server

are always 0 as are the last two numbers in a response for an empty

or non-existent maildrop, clients that do not support authentication

need not examine the first number in the server datagram at all

(though they are encouraged to do so for the sake of proper reporting

to the user).

Clients can turn the modification interval into absolute time, and

track the changing of this absolute time in order to discern the

arrival of new mail (as opposed to the mere existence of unread

mail). However, such clients should bear three things in mind.

First, network delays and clock vagaries may result in small

inconsistencies in times. A "slop factor" of several seconds is

encouraged. Second, the reading of mail often entails modification of

the maildrop; the relationship of the access and modification

intervals should always be consulted. Third, the special results of

(1,0) and (0,1) are most properly handled as special cases.

Clients need not recall whether or not they are authenticated (though

they must use a consistent port if they receive any authentication

requests for a given maildrop). It is sufficient to issue requests

when desired, and to respond to any authentication requests that

appear.

Security Considerations

The are two security considerations for the protocol. The first is

one mainly of privacy. Some sites and individual users consider it

problematic to have information about mail arrival available freely.

This can be a simple privacy issue for individuals or a security

issue for highly secure sites. The authenticated version of the

protocol allows sites to have a reasonable amount of security in that

only people with passwords can access this information. The protocol

currently only uses cleartext passwords, but can be simply modified

to use other authentication formats. The scheme mentioned in "Server

Implementation Notes" of using only (0,1) and (1,0) in the responses

also may limit access to some types of information. Implementations

that do not use the authenticated scheme MUST have a mechanism by

which a user can give consent to have this information made

available; the default for the unauthenticated implementation should

be that a user's maildrop cannot be accessed until consent of the

user is given. (For example, UNIX server implementations may wish to

make use of the "owner execute" bit to indicate whether a particular

maildrop allows use of the unauthenticated protocol. If this is done,

a single "stat" call can be used to gather all information required

to respond to a poll.) Servers which do not implement authentication

should simply return a zero-filled datagram for maildrops which don't

have permission.

The other security consideration involves unknown maildrops and

usernames. Some site administrators consider it a security risk give

out any information which would reveal the existence or non-existence

of a certain username or maildrop on the system. For this reason, we

have chosen to have the server send back a zero-filled datagram as

the response to either a request for an unknown username or a

maildrop that does not exist or is empty. In this way, potential

security violations are limited, since there is no way to tell the

difference between an empty maildrop and non-existent maildrop, and

also no way to tell if the user exists on the system or not. If

greater security is desired, the protocol should probably not be run

in the first place.

Authors' Addresses

Steve Dorner

Digital Computer Laboratory

University of Illinois at Urbana-Champaign

1304 West Springfield Avenue

Urbana, Illinois 61801

Phone: (217) 244-1765

EMail: s-dorner@uiuc.edu

Pete Resnick

The Beckman Institute

University of Illinois at Urbana-Champaign

405 North Mathews Avenue

Urbana, Illinois 61801

Phone: (217) 244-1265

EMail: resnick@cogsci.uiuc.edu

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有