On 02/02/2005 07:52:25 PM, Vadim Zeitlin wrote:
[snip]
But the user does. This is why I think that ideally there would be
an option, e.g. a cclient callback to the main program which would
allow it to decide -- presumably by asking the user -- whether to
continue connecting. If there was a chance of this being ever
integrated into c-client you can be sure that I'd provide a patch
doing exactly this or whatever else you'd accept. However, when
confronted to a total and absolute refuse to make any modifications
at all to c-client from your part, I'm understandably reluctant to
spend any amount of time on the code which will only create me
additional maintenance headaches.
I am bit afraid of jumping right in into this heated discussion but I
am going to give it a shot anyway. Working around bugs in somebody
else's software is a tricky business: it's a judgement call and in case
of a reference implementation (ok, c-client is a imap reference
implementation, not pop3 but I can imagine many people may treat it as
such) may cause an injustified impression that the bugs are not really
bugs but just features. Assuming that you really have to work around
this missing USER capability , I am not sure whether shifting
responsibility of maintaining such modifications from you to the author
of c-client is fair - he seemed to be reluctant to accept it, didn't he?
I am sure that you would succeed convincing the right people (i.e. the
writers of the buggy server) if you really wanted to, if you tried as
hard as you try here. (have you tried?). It would be much better spent
time - it would not only fix interaction with c-client but all the
other standard conforming POP3 implementations.
Pawel
PS. my reading of RFC1939 is that it is ok to try USER but send PASS
only if the server answered with +OK. Since the server in question has
CAPA, it is a RFC2449-compliant server and the CAPA response is the
authorative way of finding out which commands are available. While I do
not see in RFC2449 an explicit statement that client MUST NOT try
unadverstised commands, it is pretty much in the spirit of CAPA: if
CAPA was not authorative it would serve no purpose.