On Tue, 30 Dec 2003, Christof Drescher wrote: > > When a user's client does not work the way the user expects, the user will > > blame the client, not their system administrator. And the client authors > > are going to lash out at any server which turns out to be the cause of the > > problems. > .. something which the server author can explain very easily, because > someone must have done a change deliberately. No one can blame a server > which follows given commands (by client) of given config (by admins).
That has not been my experience. Repeatedly over the years, when a server does not behave the way that a client expects, no amount of explanation from the server author will suffice. This is the case even when it is a matter that the specification explicitly covers and rules in favor of the server. Regardless of what a specification may say, both clients and servers tend to home in on what seems to be the widely implemented interpretation of a protocol. Implementations that deviate from this interpretation tend to be looked at with suspicion or even hostility. This can happen with both clients and servers, but clients are nearer to the user. It is rare to find a user who takes the side of a server over the client; typically users support the behavior of their clients and sysadmins supports the behavior of their servers. Server implementors are often obliged to mandate user interface behaviors due to implementation concerns; and as a result are brought into this type of conflict unavoidably. The lesson to be learned is for server implementors to eschew conflicts with clients which can be avoided. > I'm baffled why this rule exists in 7.4.1. I'd REALLY be interested to see > an example which would cause a "loss in syncronization" if untagged expunge > responses are sent at the end of any command. Clients are allowed to send multiple commands without waiting for responses. If those commands use sequence numbers, then an unsolicited EXPUNGE for one of the earlier commands will cause a later command to operate on a different message than was intended. -- Mark -- http://staff.washington.edu/mrc Science does not emerge from voting, party politics, or public debate. Si vis pacem, para bellum.