Quoting from Ralf Fassel's mail on Mon, Jun 24, 2002 at 11:56:36AM +0200:
Just upgraded my fetchmail version from 5.9.12 to 5.9.13 this morning
and ran into the following error (5.9.12 runs fine BTW):
Please try the following patch:
======================================================
diff -Naur fetchmail-5.9.13.orig/driver.c fetchmail-5.9.13/driver.c
--- fetchmail-5.9.13.orig/driver.c Sun Jun 23 02:37:12 2002
+++ fetchmail-5.9.13/driver.c Tue Jun 25 10:38:26 2002
@@ -1423,7 +1423,7 @@
cleanUp:
/* we only get here on error */
- if (err != 0 && err != PS_SOCKET)
+ if (err != 0 && err != PS_SOCKET && err != PS_REPOLL)
{
stage = STAGE_LOGOUT;
(ctl->server.base_protocol->logout_cmd)(mailserver_socket, ctl);
diff -Naur fetchmail-5.9.13.orig/pop3.c fetchmail-5.9.13/pop3.c
--- fetchmail-5.9.13.orig/pop3.c Sun Jun 23 01:33:15 2002
+++ fetchmail-5.9.13/pop3.c Tue Jun 25 10:45:01 2002
@@ -229,7 +229,9 @@
}
}
/* we are in STAGE_GETAUTH! */
- else if (ok == PS_AUTHFAIL)
+ else if (ok == PS_AUTHFAIL ||
+ /* some servers directly close the socket */
+ ok == PS_SOCKET)
{
ctl->server.authenticate = A_PASSWORD;
/* repoll immediately */
======================================================
However, this patch can lead to problems in the long run as it cannot
distinguish now between a genuine socket error and a socket error
because the server does not support "CAPA".
Eric: I think it will be better to undo the previous patch. On the
other hand, if this patch is acceptable, then the following will have
to be documented as a known bug:
A genuine socket error after "CAPA" may incorrectly lead to the
authentication method to be changed from "any" to "password".
Sunil Shetye.