On Thu, 26 Sep 2002 09:15:34 -0700
  "Larry Osterman" <[EMAIL PROTECTED]> wrote:
  
> The critical word here is "such".  The text doesn't indicate that BAD
> can ONLY be returned for unrecognized commands or syntax errors, the
> text indicates that AMONG the reasons for returning a BAD response is
> unrecognized commands or syntax errors.  There is a critical difference
> between the two words (ONLY and AMONG).

Do you suggest that there should be NO strict and explicit definition for 
the cases when BAD should be returned instead of NO?
  
> Since the following sequence is illegal by the protocol, it is
> appropriate that it be tagged with BAD - there only way that this
> sequence can be generated is if the client has an error that has caused
> it to misinterpret the protocol stream:
> 
>       S: * 1 EXISTS
>       S: tag OK
>       C: tag FETCH 2
>       S: tag BAD - Message 2 does not exist.

I understand your point, but i hope you do get mine, too. Please see:

C: AA LIST "" "*"
S: * LIST () INBOX
S: AA OK
C: BB SELECT ZUZUZU
S: ?????

According to the current RFC, the server should return NO. If we use your 
logic and apply it to the mailbox-level operations, then it should return 
BAD, since the client KNEW that there is no ZUZUZU mailbox here, but still 
attempted to select it.

I do see your point, and I do see the difference: while the 
message-in-mailbox state is (theoretically) maintained during an IMAP 
session, the mailboxes-in-account state is not maintained at all (if other 
session has created a mailbox, this client won't know about it).

What I'm trying to note is the fact that the cases when "BAD" or "NO" 
responses should be used are not specified in the current standard. I made 
my suggestion - you do not like it, and I do see why. I just say that the 
professionally written specs should either specify this thing explicitly (if 
not using my suggestion, then using any other suggestion), or EXPLICITLY 
specify that there is NO explicit specification, and that usage of BAD and 
NO responses is completely implementation-dependant. Or - that the NO 
responses should be issued in this and that particular cases, BAD - in this 
and that, and all other error situations may result in BAD or NO, depending 
on the implementation.

> 
> Larry Osterman 

Sincerely,
Vladimir

Reply via email to