]> Pileus Git - ~andy/fetchmail/commitdiff
Merge branch 'common-6x'
authorMatthias Andree <matthias.andree@gmx.de>
Thu, 26 May 2011 21:36:10 +0000 (23:36 +0200)
committerMatthias Andree <matthias.andree@gmx.de>
Thu, 26 May 2011 21:37:45 +0000 (23:37 +0200)
Conflicts:
Makefile.am
imap.c
socket.c

NEWS
driver.c
fetchmail.man
imap.c
po/de.po
pop3.c
socket.c

diff --git a/NEWS b/NEWS
index 0831964133e5ff3ca270c1895e9fb3cfd531e569..a695603abee1aa3089d696b61a0bb3c6064f4a5f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -86,6 +86,10 @@ NOTE THIS IS AN ALPHA RELEASE THAT HAS NOT BEEN THOROUGHLY TESTED!
   never supported IPv6 (including IPv6-mapped IPv4) either.
   Non-DNS based alias keywords such as "aka" remain.
 * Kerberos IV support was removed.
+* fetchmail no longer supports SSL v2, nor the corresponding SSL2 option to
+  --sslproto. SSLv2 is insecure and had been deprecated 15 years ago. fetchmail
+  will actively forbid SSLv2 negotiation by means of SSL_OP_NO_SSLv2.
+  To fix Debian Bug#622054.
 
 # CHANGES
 * A foreground fetchmail can now accept a few more options while another copy is
@@ -95,23 +99,15 @@ NOTE THIS IS AN ALPHA RELEASE THAT HAS NOT BEEN THOROUGHLY TESTED!
 
 fetchmail-6.3.20 (not yet released):
 
-# CHANGES
-* fetchmail no longer supports SSL v2, nor the corresponding SSL2 option to
-  --sslproto. SSLv2 is insecure and had been deprecated 15 years ago. fetchmail
-  will actively forbid SSLv2 negotiation by means of SSL_OP_NO_SSLv2.
-  To fix Debian Bug#622054.
-* fetchmail now always uses its own MD5 implementation.  The library and header
-  variants are too diverse, and we've been bitten before -- and configure
-  complains noisily on Cyrus-SASL's RFC1321 md5.h.
-* fetchmail now supports an environment variable to suppress marking deleted
-  messages as seen at the same time, FETCHMAIL_IMAP_DELETED_REMAINS_UNSEEN.
-  See the manual page for details. Requested by Jonathan Buschmann.
-* fetchmail sets Internet domain sockets to "keepalive" mode now. Note that
-  there is no portable way to configure actual timeouts for this mode, and some
-  systems only support a system-wide timeout setting.
+# SECURITY BUG FIXES
+* Fetchmail runs the IMAP STARTTLS or POP3 STLS negotiation with the set timeout
+  (default five minutes) now. This was reported missing, from fetchmail freezes
+  beyond a week, by Thomas Jarosch.
+     SSL-wrapped connections were unaffected by this timeout, so users of older
+  versions can force ssl-wrapped connections -- if supported by the server --
+  with the --ssl command line or ssl rcfile option.
 
 # BUG FIXES
-* Call strlen() only once when removing CRLF from a line. (Sunil Shetye)
 * Do not search for UNSEEN messages in ranges. Usually, there are very few new
   messages and most of the range searches result in nothing. Instead, split the
   long response to make the IMAP driver think that there are multiple lines of
@@ -122,8 +118,22 @@ fetchmail-6.3.20 (not yet released):
 * Set socket timeouts, to fix hangs during STARTTLS negotiation.
   Reported by Thomas Jarosch.
 
+# CHANGES
+* fetchmail now always uses its own MD5 implementation.  The library and header
+  variants are too diverse, and we've been bitten before -- and configure
+  complains noisily on Cyrus-SASL's RFC1321 md5.h.
+* Call strlen() only once when removing CRLF from a line. (Sunil Shetye)
+* fetchmail sets Internet domain sockets to "keepalive" mode now. Note that
+  there is no portable way to configure actual timeouts for this mode, and some
+  systems only support a system-wide timeout setting. Thus, fetchmail does not
+  attempt to tune the time spans of keepalive mode.
+
 # TRANSLATION UPDATES
+  [cs]    Chech (Petr Pisar)
+  [fr]    French (Frédéric Marchal)
+  [de]    German (Matthias Andree)
   [ja]    Japanese (Takeshi Hamasaki)
+  [pl]    Polish (Jakub Bogusz)
 
 
 fetchmail-6.3.19 (released 2010-12-10, 25945 LoC):
index 6d0053253390f89c3bb8d7ce39f24fbaca2c72ec..f2cc13c639f733a2afb78fea188a653df0aac934 100644 (file)
--- a/driver.c
+++ b/driver.c
@@ -1041,6 +1041,7 @@ static int do_session(
                    ctl->sslcommonname : realhost, ctl->server.pollname,
                    &ctl->remotename) == -1)
        {
+           set_timeout(0);
            report(stderr, GT_("SSL connection failed.\n"));
            err = PS_SOCKET;
            goto cleanUp;
index 5b7dc6c283d1b2296a1f127e671c3ccf84c13182..38f86e4d4c5020f4dc470966ac3882c21d865018 100644 (file)
@@ -2745,15 +2745,6 @@ then that name is used as the default local name.  Otherwise
 session ID (this elaborate logic is designed to handle the case of
 multiple names per userid gracefully).
 
-.IP \fBFETCHMAIL_IMAP_DELETED_REMAINS_UNSEEN\fP
-(since v6.3.20):
-If this environment variable is set and not empty, fetchmail will NOT mark 
-messages retrieved through IMAP as \\Seen when they are deleted. This may suppress
-delivery notifications on some systems (some versions of HP OpenMail) and change them
-to mention "deleted without being read" on others (some versions of Microsoft Exchange).
-The default (if this variable is unset or empty) is to mark messages as \\Seen
-and \\Deleted at the same time.
-
 .IP \fBFETCHMAIL_INCLUDE_DEFAULT_X509_CA_CERTS\fP
 (since v6.3.17):
 If this environment variable is set and not empty, fetchmail will always load
diff --git a/imap.c b/imap.c
index 5e76801cf02b5acb39efe60c43e39d6d835d430c..6dd51eeecfc9049277da35ade2b0212f526b46b7 100644 (file)
--- a/imap.c
+++ b/imap.c
@@ -321,7 +321,7 @@ static void imap_canonicalize(char *result, char *raw, size_t maxlen)
     result[j] = '\0';
 }
 
-static void capa_probe(int sock, struct query *ctl)
+static int capa_probe(int sock, struct query *ctl)
 /* set capability variables from a CAPA probe */
 {
     int        ok;
@@ -351,6 +351,8 @@ static void capa_probe(int sock, struct query *ctl)
                report(stdout, GT_("Protocol identified as IMAP4 rev 0\n"));
        }
     }
+    else
+       return ok;
 
     /* 
      * Handle idling.  We depend on coming through here on startup
@@ -368,6 +370,8 @@ static void capa_probe(int sock, struct query *ctl)
     }
 
     peek_capable = TRUE;
+
+    return PS_SUCCESS;
 }
 
 static int do_authcert (int sock, const char *command, const char *name)
@@ -403,7 +407,8 @@ static int imap_getauth(int sock, struct query *ctl, char *greeting)
     else
        expunge_period = 1;
 
-    capa_probe(sock, ctl);
+    if ((ok = capa_probe(sock, ctl)))
+       return ok;
 
     /* 
      * If either (a) we saw a PREAUTH token in the greeting, or
@@ -433,9 +438,9 @@ static int imap_getauth(int sock, struct query *ctl, char *greeting)
             * whether TLS is mandatory or opportunistic unless SSLOpen() fails
             * (see below). */
            if (gen_transact(sock, "STARTTLS") == PS_SUCCESS
-                   && SSLOpen(sock, ctl->sslcert, ctl->sslkey, "tls1", ctl->sslcertck,
+                   && (set_timeout(mytimeout), SSLOpen(sock, ctl->sslcert, ctl->sslkey, "tls1", ctl->sslcertck,
                        ctl->sslcertfile, ctl->sslcertpath, ctl->sslfingerprint, commonname,
-                       ctl->server.pollname, &ctl->remotename) != -1)
+                       ctl->server.pollname, &ctl->remotename)) != -1)
            {
                /*
                 * RFC 2595 says this:
@@ -450,7 +455,8 @@ static int imap_getauth(int sock, struct query *ctl, char *greeting)
                 * Now that we're confident in our TLS connection we can
                 * guarantee a secure capability re-probe.
                 */
-               capa_probe(sock, ctl);
+               if ((ok = capa_probe(sock, ctl)))
+                   return ok;
                if (outlevel >= O_VERBOSE)
                {
                    report(stdout, GT_("%s: upgrade to TLS succeeded.\n"), commonname);
@@ -458,9 +464,11 @@ static int imap_getauth(int sock, struct query *ctl, char *greeting)
            } else if (must_tls(ctl)) {
                /* Config required TLS but we couldn't guarantee it, so we must
                 * stop. */
+               set_timeout(0);
                report(stderr, GT_("%s: upgrade to TLS failed.\n"), commonname);
                return PS_SOCKET;
            } else {
+               set_timeout(0);
                if (outlevel >= O_VERBOSE) {
                    report(stdout, GT_("%s: opportunistic upgrade to TLS failed, trying to continue\n"), commonname);
                }
@@ -1249,20 +1257,11 @@ static int imap_delete(int sock, struct query *ctl, int number)
     int        ok;
     /* Select which flags to set on message deletion: */
     const char delflags_seen[] = "\\Seen \\Deleted";
-    const char delflags_unseen[] = "\\Deleted";
     static const char *delflags;
     /* Which environment variable to look for: */
-    const char dis_env[] = "FETCHMAIL_IMAP_DELETED_REMAINS_UNSEEN";
 
-    if (!delflags) {
-       char *tmp;
-       if ((tmp = getenv(dis_env)) != NULL && *tmp) {
-           delflags = delflags_unseen;
-       } else {
-           /* DEFAULT since many fetchmail versions <= 6.3.X */
-           delflags = delflags_seen;
-       }
-    }
+    /* DEFAULT since many fetchmail versions <= 6.3.X */
+    delflags = delflags_seen;
 
     (void)ctl;
     /* expunges change the fetch numbers */
index ff91818d29865aab796d1f606a108d89a37290eb..a948a99a6df7461fbe36f28c7507216839fc574f 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: fetchmail 6.3.20-pre1\n"
 "Report-Msgid-Bugs-To: fetchmail-devel@lists.berlios.de\n"
-"POT-Creation-Date: 2011-04-11 14:14+0200\n"
-"PO-Revision-Date: 2010-12-10 14:20+0100\n"
+"POT-Creation-Date: 2011-05-23 20:43+0200\n"
+"PO-Revision-Date: 2011-05-23 20:44+0200\n"
 "Last-Translator: Matthias Andree <matthias.andree@gmx.de>\n"
 "Language-Team: Deutsch <de@li.org>\n"
 "Language: \n"
@@ -95,51 +95,51 @@ msgid_plural "  %d messages %d octets long skipped by fetchmail."
 msgstr[0] "  %d Nachricht,   %d Bytes lang, von fetchmail ausgelassen."
 msgstr[1] "  %d Nachrichten, %d Bytes lang, von fetchmail ausgelassen."
 
-#: driver.c:524
+#: driver.c:521
 #, c-format
 msgid "skipping message %s@%s:%d"
 msgstr "Nachricht %s@%s:%d wird ausgelassen"
 
-#: driver.c:578
+#: driver.c:575
 #, c-format
 msgid "skipping message %s@%s:%d (%d octets)"
 msgstr "Nachricht %s@%s:%d (%d Bytes) wird ausgelassen"
 
-#: driver.c:594
+#: driver.c:591
 msgid " (length -1)"
 msgstr " (Länge -1)"
 
-#: driver.c:597
+#: driver.c:594
 msgid " (oversized)"
 msgstr " (übergroß)"
 
-#: driver.c:615
+#: driver.c:612
 #, c-format
 msgid "couldn't fetch headers, message %s@%s:%d (%d octets)\n"
 msgstr ""
 "Kopfzeilen konnten nicht geholt werden, Nachricht %s@%s:%d (%d Bytes)\n"
 
-#: driver.c:632
+#: driver.c:629
 #, c-format
 msgid "reading message %s@%s:%d of %d"
 msgstr "Nachricht %s@%s:%d von %d wird gelesen"
 
-#: driver.c:637
+#: driver.c:634
 #, c-format
 msgid " (%d octets)"
 msgstr " (%d Bytes)"
 
-#: driver.c:638
+#: driver.c:635
 #, c-format
 msgid " (%d header octets)"
 msgstr " (%d Bytes im Nachrichtenkopf)"
 
-#: driver.c:705
+#: driver.c:702
 #, c-format
 msgid " (%d body octets)"
 msgstr " (%d Bytes im Nachrichtenkörper)"
 
-#: driver.c:764
+#: driver.c:761
 #, c-format
 msgid ""
 "message %s@%s:%d was not the expected length (%d actual != %d expected)\n"
@@ -147,19 +147,19 @@ msgstr ""
 "Nachricht %s@%s:%d hatte nicht die erwartete Länge (%d tatsächlich != %d "
 "erwartet)\n"
 
-#: driver.c:796
+#: driver.c:793
 msgid " retained\n"
 msgstr " aufbewahrt\n"
 
-#: driver.c:806
+#: driver.c:803
 msgid " flushed\n"
 msgstr " gelöscht\n"
 
-#: driver.c:823
+#: driver.c:815
 msgid " not flushed\n"
 msgstr " nicht gelöscht\n"
 
-#: driver.c:841
+#: driver.c:833
 #, c-format
 msgid "fetchlimit %d reached; %d message left on server %s account %s\n"
 msgid_plural ""
@@ -169,40 +169,40 @@ msgstr[0] ""
 msgstr[1] ""
 "fetchlimit %d erreicht; %d Nachrichten auf Server %s Konto %s verblieben\n"
 
-#: driver.c:898
+#: driver.c:890
 #, c-format
 msgid "timeout after %d seconds waiting to connect to server %s.\n"
 msgstr ""
 "Zeitüberschreitung nach %d Sekunden beim Warten auf Verbindung mit Server "
 "%s.\n"
 
-#: driver.c:902
+#: driver.c:894
 #, c-format
 msgid "timeout after %d seconds waiting for server %s.\n"
 msgstr "Zeitüberschreitung nach %d Sekunden beim Warten auf Server %s.\n"
 
-#: driver.c:906
+#: driver.c:898
 #, c-format
 msgid "timeout after %d seconds waiting for %s.\n"
 msgstr "Zeitüberschreitung nach %d Sekunden beim Warten auf %s.\n"
 
-#: driver.c:911
+#: driver.c:903
 #, c-format
 msgid "timeout after %d seconds waiting for listener to respond.\n"
 msgstr ""
 "Zeitüberschreitung nach %d Sekunden beim Warten Antwort des SMTP/LMTP-"
 "Servers.\n"
 
-#: driver.c:914
+#: driver.c:906
 #, c-format
 msgid "timeout after %d seconds.\n"
 msgstr "Zeitüberschreitung nach %d Sekunden.\n"
 
-#: driver.c:926
+#: driver.c:918
 msgid "Subject: fetchmail sees repeated timeouts"
 msgstr "Subject: fetchmail erlebt wiederholte Zeitüberschreitungen"
 
-#: driver.c:929
+#: driver.c:921
 #, c-format
 msgid ""
 "Fetchmail saw more than %d timeouts while attempting to get mail from %s@"
@@ -211,7 +211,7 @@ msgstr ""
 "Fetchmail hat mehr als %d Zeitüberschreitungen erhalten beim Versuch, Mail "
 "von %s@%s abzuholen.\n"
 
-#: driver.c:933
+#: driver.c:925
 msgid ""
 "This could mean that your mailserver is stuck, or that your SMTP\n"
 "server is wedged, or that your mailbox file on the server has been\n"
@@ -228,85 +228,76 @@ msgstr ""
 "\n"
 "Fetchmail wird diese Mailbox nicht mehr abfragen, bis Sie es erneut starten\n"
 
-#: driver.c:959
+#: driver.c:951
 #, c-format
 msgid "pre-connection command terminated with signal %d\n"
 msgstr "Vor-Verbindungs-Befehl wurde mit Signal %d beendet\n"
 
-#: driver.c:962
+#: driver.c:954
 #, c-format
 msgid "pre-connection command failed with status %d\n"
 msgstr "Vor-Verbindungs-Befehl scheiterte mit Status %d\n"
 
-#: driver.c:986
+#: driver.c:978
 #, c-format
 msgid "couldn't find HESIOD pobox for %s\n"
 msgstr "konnte das HESIOD-Postfach für %s nicht finden\n"
 
-#: driver.c:1007
+#: driver.c:999
 msgid "Lead server has no name.\n"
 msgstr "Erster Server hat keinen Namen.\n"
 
-#: driver.c:1034
+#: driver.c:1026
 #, c-format
 msgid "couldn't find canonical DNS name of %s (%s): %s\n"
 msgstr "konnte kanonischen DNS-Namen von %s (%s) nicht finden: %s\n"
 
-#: driver.c:1081
+#: driver.c:1073
 #, c-format
 msgid "%s connection to %s failed"
 msgstr "%s-Verbindung zu %s fehlgeschlagen"
 
-#: driver.c:1097
-msgid "Subject: Fetchmail unreachable-server warning."
-msgstr "Subject: Fetchmail-Warnung: Server nicht erreichbar."
-
-#: driver.c:1099
-#, c-format
-msgid "Fetchmail could not reach the mail server %s:"
-msgstr "Fetchmail konnte keine Mail von %s erhalten:"
-
-#: driver.c:1128
+#: driver.c:1101
 msgid "SSL connection failed.\n"
 msgstr "SSL-Verbindung fehlgeschlagen.\n"
 
-#: driver.c:1183
+#: driver.c:1156
 #, c-format
 msgid "Lock-busy error on %s@%s\n"
 msgstr "Lock-beschäftigt-Fehler bei %s@%s\n"
 
-#: driver.c:1187
+#: driver.c:1160
 #, c-format
 msgid "Server busy error on %s@%s\n"
 msgstr "Server-beschäftigt-Fehler bei %s@%s\n"
 
-#: driver.c:1192
+#: driver.c:1165
 #, c-format
 msgid "Authorization failure on %s@%s%s\n"
 msgstr "Authentifikationsfehlschlag bei %s@%s%s\n"
 
-#: driver.c:1195
+#: driver.c:1168
 msgid " (previously authorized)"
 msgstr " (vormals autorisiert)"
 
-#: driver.c:1198
+#: driver.c:1171
 msgid "For help, see http://www.fetchmail.info/fetchmail-FAQ.html#R15\n"
 msgstr ""
 "Hilfe (auf Englisch): siehe http://www.fetchmail.info/fetchmail-FAQ."
 "html#R15\n"
 
-#: driver.c:1219
+#: driver.c:1192
 #, c-format
 msgid "Subject: fetchmail authentication failed on %s@%s"
 msgstr "Subject: Fetchmail: Authentifikation fehlgeschlagen bei %s@%s"
 
-#: driver.c:1223
+#: driver.c:1196
 #, c-format
 msgid "Fetchmail could not get mail from %s@%s.\n"
 msgstr "Fetchmail konnte keine Mail von %s@%s erhalten.\n"
 
 #
-#: driver.c:1227
+#: driver.c:1200
 msgid ""
 "The attempt to get authorization failed.\n"
 "Since we have already succeeded in getting authorization for this\n"
@@ -321,7 +312,7 @@ msgstr ""
 "brauchbare Fehlermeldung geliefert hat."
 
 #
-#: driver.c:1233
+#: driver.c:1206
 msgid ""
 "\n"
 "However, if you HAVE changed your account details since starting the\n"
@@ -343,7 +334,7 @@ msgstr ""
 "Wiederherstellung des Dienstes keine weiteren Meldungen gesendet."
 
 #
-#: driver.c:1243
+#: driver.c:1216
 msgid ""
 "The attempt to get authorization failed.\n"
 "This probably means your password is invalid, but some servers have\n"
@@ -365,173 +356,173 @@ msgstr ""
 "versuchen, eine Verbindung herzustellen. Es werden bis zur\n"
 "Wiederherstellung des Dienstes keine weiteren Meldungen gesendet."
 
-#: driver.c:1259
+#: driver.c:1232
 #, c-format
 msgid "Repoll immediately on %s@%s\n"
 msgstr "Sofortige erneute Abfrage von %s@%s\n"
 
-#: driver.c:1264
+#: driver.c:1237
 #, c-format
 msgid "Unknown login or authentication error on %s@%s\n"
 msgstr "Unbekannter Einlogg- oder Authentifikationsfehler bei %s@%s\n"
 
-#: driver.c:1288
+#: driver.c:1261
 #, c-format
 msgid "Authorization OK on %s@%s\n"
 msgstr "Authentifikation OK bei %s@%s\n"
 
-#: driver.c:1294
+#: driver.c:1267
 #, c-format
 msgid "Subject: fetchmail authentication OK on %s@%s"
 msgstr "Subject: Fetchmail: Authentifikation OK bei %s@%s"
 
-#: driver.c:1298
+#: driver.c:1271
 #, c-format
 msgid "Fetchmail was able to log into %s@%s.\n"
 msgstr "Fetchmail war in der Lage, sich bei %s@%s einzuloggen.\n"
 
 #
-#: driver.c:1302
+#: driver.c:1275
 msgid "Service has been restored.\n"
 msgstr "Der Dienst ist wieder hergestellt.\n"
 
-#: driver.c:1334
+#: driver.c:1307
 #, c-format
 msgid "selecting or re-polling folder %s\n"
 msgstr "Ordner %s wird gewählt oder erneut abgefragt\n"
 
-#: driver.c:1336
+#: driver.c:1309
 msgid "selecting or re-polling default folder\n"
 msgstr "Vorgabe-Ordner wird gewählt oder erneut abgefragt\n"
 
-#: driver.c:1348
+#: driver.c:1321
 #, c-format
 msgid "%s at %s (folder %s)"
 msgstr "%s bei %s (Ordner %s)"
 
-#: driver.c:1351 rcfile_y.y:390
+#: driver.c:1324 rcfile_y.y:390
 #, c-format
 msgid "%s at %s"
 msgstr "%s bei %s"
 
-#: driver.c:1356
+#: driver.c:1329
 #, c-format
 msgid "Polling %s\n"
 msgstr "Frage %s ab\n"
 
-#: driver.c:1360
+#: driver.c:1333
 #, c-format
 msgid "%d message (%d %s) for %s"
 msgid_plural "%d messages (%d %s) for %s"
 msgstr[0] "%d Nachricht (%d %s) für %s"
 msgstr[1] "%d Nachrichten (%d %s) für %s"
 
-#: driver.c:1363
+#: driver.c:1336
 msgid "seen"
 msgid_plural "seen"
 msgstr[0] "gesehene"
 msgstr[1] "gesehene"
 
-#: driver.c:1366
+#: driver.c:1339
 #, c-format
 msgid "%d message for %s"
 msgid_plural "%d messages for %s"
 msgstr[0] "%d Nachricht für %s"
 msgstr[1] "%d Nachrichten für %s"
 
-#: driver.c:1373
+#: driver.c:1346
 #, c-format
 msgid " (%d octets).\n"
 msgstr " (%d Bytes).\n"
 
-#: driver.c:1379
+#: driver.c:1352
 #, c-format
 msgid "No mail for %s\n"
 msgstr "Keine Post für %s\n"
 
-#: driver.c:1412
+#: driver.c:1385
 msgid "bogus message count!"
 msgstr "ungültige Nachrichtenanzahl!"
 
-#: driver.c:1555
+#: driver.c:1528
 msgid "socket"
 msgstr "Socket"
 
-#: driver.c:1558
+#: driver.c:1531
 msgid "missing or bad RFC822 header"
 msgstr "fehlende oder fehlerhafte RFC822-Kopfzeile"
 
-#: driver.c:1561
+#: driver.c:1534
 msgid "MDA"
 msgstr "MDA"
 
-#: driver.c:1564
+#: driver.c:1537
 msgid "client/server synchronization"
 msgstr "Klient/Server-Synchronisation"
 
-#: driver.c:1567
+#: driver.c:1540
 msgid "client/server protocol"
 msgstr "Klient/Server-Protokoll"
 
-#: driver.c:1570
+#: driver.c:1543
 msgid "lock busy on server"
 msgstr "Lock auf Server beschäftigt"
 
-#: driver.c:1573
+#: driver.c:1546
 msgid "SMTP transaction"
 msgstr "SMTP-Transaktion"
 
-#: driver.c:1576
+#: driver.c:1549
 msgid "DNS lookup"
 msgstr "DNS-Nachschlag"
 
-#: driver.c:1579
+#: driver.c:1552
 msgid "undefined"
 msgstr "undefinierter"
 
-#: driver.c:1585
+#: driver.c:1558
 #, c-format
 msgid "%s error while fetching from %s@%s and delivering to SMTP host %s\n"
 msgstr "%s-Fehler beim Abholen von %s@%s und Auslieferung zum SMTP-Host %s\n"
 
-#: driver.c:1587
+#: driver.c:1560
 msgid "unknown"
 msgstr "unbekannt"
 
-#: driver.c:1589
+#: driver.c:1562
 #, c-format
 msgid "%s error while fetching from %s@%s\n"
 msgstr "%s-Fehler beim Abholen von %s@%s\n"
 
-#: driver.c:1601
+#: driver.c:1574
 #, c-format
 msgid "post-connection command terminated with signal %d\n"
 msgstr "Nach-Verbindungs-Befehl wurde mit Signal %d beendet\n"
 
-#: driver.c:1603
+#: driver.c:1576
 #, c-format
 msgid "post-connection command failed with status %d\n"
 msgstr "Nach-Verbindungs-Befehl scheiterte mit Status %d\n"
 
-#: driver.c:1622
+#: driver.c:1595
 msgid "Kerberos V4 support not linked.\n"
 msgstr "Kerberos-V4-Unterstützung nicht vorhanden.\n"
 
-#: driver.c:1630
+#: driver.c:1603
 msgid "Kerberos V5 support not linked.\n"
 msgstr "Kerberos-V5-Unterstützung nicht vorhanden.\n"
 
-#: driver.c:1641
+#: driver.c:1614
 #, c-format
 msgid "Option --flush is not supported with %s\n"
 msgstr "Option --flush ist mit %s nicht unterstützt\n"
 
-#: driver.c:1647
+#: driver.c:1620
 #, c-format
 msgid "Option --all is not supported with %s\n"
 msgstr "Option --all ist mit %s nicht unterstützt\n"
 
-#: driver.c:1656
+#: driver.c:1629
 #, c-format
 msgid "Option --limit is not supported with %s\n"
 msgstr "Option --limit ist mit %s nicht unterstützt\n"
@@ -1786,113 +1777,113 @@ msgstr "ungültige Nachrichtenanzahl in \"%s\"!"
 msgid "bogus EXPUNGE count in \"%s\"!"
 msgstr "ungültige Zahl für EXPUNGE in \"%s\"!"
 
-#: imap.c:344
+#: imap.c:348
 msgid "Protocol identified as IMAP4 rev 1\n"
 msgstr "Protokoll identifiziert als IMAP4 rev 1\n"
 
-#: imap.c:350
+#: imap.c:354
 msgid "Protocol identified as IMAP4 rev 0\n"
 msgstr "Protokoll identifiziert als IMAP4 rev 0\n"
 
-#: imap.c:357
+#: imap.c:361
 msgid "Protocol identified as IMAP2 or IMAP2BIS\n"
 msgstr "Protokoll identifiziert als IMAP2 oder IMAP2BIS\n"
 
-#: imap.c:372
+#: imap.c:376
 msgid "will idle after poll\n"
 msgstr "werde nach Abfrage untätig sein\n"
 
-#: imap.c:461 pop3.c:475
+#: imap.c:465 pop3.c:475
 #, c-format
 msgid "%s: upgrade to TLS succeeded.\n"
 msgstr "%s: Upgrade auf TLS erfolgreich.\n"
 
-#: imap.c:466 pop3.c:480
+#: imap.c:470 pop3.c:480
 #, c-format
 msgid "%s: upgrade to TLS failed.\n"
 msgstr "%s: Upgrade auf TLS fehlgeschlagen.\n"
 
-#: imap.c:470
+#: imap.c:474
 #, c-format
 msgid "%s: opportunistic upgrade to TLS failed, trying to continue\n"
 msgstr ""
 "%s: opportunistisches Upgrade auf TLS fehlgeschlagen, versuche Fortsetzung.\n"
 
-#: imap.c:586
+#: imap.c:590
 msgid "Required OTP capability not compiled into fetchmail\n"
 msgstr "Benötigte OTP-Fähigkeit nicht in fetchmail einkompiliert\n"
 
-#: imap.c:606 pop3.c:555
+#: imap.c:610 pop3.c:555
 msgid "Required NTLM capability not compiled into fetchmail\n"
 msgstr "Benötigte NTLM-Fähigkeit nicht in fetchmail einkompiliert\n"
 
-#: imap.c:615
+#: imap.c:619
 msgid "Required LOGIN capability not supported by server\n"
 msgstr "Benötigte LOGIN-Fähigkeit nicht vom Server unterstützt\n"
 
-#: imap.c:679
+#: imap.c:683
 #, c-format
 msgid "mail expunge mismatch (%d actual != %d expected)\n"
 msgstr "unerwartete Expunge-Bestätigung (%d tatsächlich != %d erwartet)\n"
 
-#: imap.c:818
+#: imap.c:810
 #, c-format
 msgid "%lu is unseen\n"
 msgstr "%lu ist ungesehen\n"
 
-#: imap.c:882 pop3.c:841 pop3.c:853 pop3.c:1092 pop3.c:1099
+#: imap.c:860 pop3.c:841 pop3.c:853 pop3.c:1092 pop3.c:1099
 #, c-format
 msgid "%u is unseen\n"
 msgstr "%u ist ungesehen\n"
 
-#: imap.c:917 imap.c:976
+#: imap.c:895 imap.c:954
 msgid "re-poll failed\n"
 msgstr "erneute Abfrage fehlgeschlagen\n"
 
-#: imap.c:925 imap.c:981
+#: imap.c:903 imap.c:959
 #, c-format
 msgid "%d message waiting after re-poll\n"
 msgid_plural "%d messages waiting after re-poll\n"
 msgstr[0] "%d Nachricht wartet nach erneuter Abfrage\n"
 msgstr[1] "%d Nachrichten warten nach erneuter Abfrage\n"
 
-#: imap.c:942
+#: imap.c:920
 msgid "mailbox selection failed\n"
 msgstr "Postfach-Auswahl fehlgeschlagen\n"
 
-#: imap.c:946
+#: imap.c:924
 #, c-format
 msgid "%d message waiting after first poll\n"
 msgid_plural "%d messages waiting after first poll\n"
 msgstr[0] "%d Nachricht wartet nach der ersten Abfrage\n"
 msgstr[1] "%d Nachrichten warten nach der ersten Abfrage\n"
 
-#: imap.c:960
+#: imap.c:938
 msgid "expunge failed\n"
 msgstr "Säubern fehlgeschlagen\n"
 
-#: imap.c:964
+#: imap.c:942
 #, c-format
 msgid "%d message waiting after expunge\n"
 msgid_plural "%d messages waiting after expunge\n"
 msgstr[0] "%d Nachricht wartet nach dem Löschen\n"
 msgstr[1] "%d Nachrichten warten nach dem Löschen\n"
 
-#: imap.c:1003
+#: imap.c:981
 msgid "search for unseen messages failed\n"
 msgstr "Suche nach ungesehenen Nachrichten fehlgeschlagen\n"
 
-#: imap.c:1008 pop3.c:862
+#: imap.c:986 pop3.c:862
 #, c-format
 msgid "%u is first unseen\n"
 msgstr "%u ist erste ungesehene\n"
 
-#: imap.c:1092
+#: imap.c:1070
 msgid ""
 "Warning: ignoring bogus data for message sizes returned by the server.\n"
 msgstr "Warnung: ignoriere falsche Größendaten vom Server.\n"
 
-#: imap.c:1190 imap.c:1197
+#: imap.c:1168 imap.c:1175
 #, c-format
 msgid "Incorrect FETCH response: %s.\n"
 msgstr "Unpassende Antwort auf FETCH: %s.\n"
@@ -2968,54 +2959,59 @@ msgstr "benutze %s (Host %s, Service %s)\n"
 msgid "execvp(%s) failed\n"
 msgstr "execvp(%s) fehlgeschlagen\n"
 
-#: socket.c:283
+#: socket.c:211
+#, c-format
+msgid "setsockopt(%d, SOL_SOCKET) failed: %s\n"
+msgstr "setsockopt(%d, SOL_SOCKET) ist fehlgeschlagen: %s\n"
+
+#: socket.c:290
 #, c-format
 msgid "getaddrinfo(\"%s\",\"%s\") error: %s\n"
 msgstr "getaddrinfo(\"%s\",\"%s\")-Fehler: %s\n"
 
-#: socket.c:286
+#: socket.c:293
 msgid "Try adding the --service option (see also FAQ item R12).\n"
 msgstr "Geben Sie die --service-Option an (siehe auch FAQ-Punkt R12).\n"
 
-#: socket.c:300 socket.c:303
+#: socket.c:307 socket.c:310
 #, c-format
 msgid "unknown (%s)"
 msgstr "unbekannt (%s)"
 
-#: socket.c:306
+#: socket.c:313
 #, c-format
 msgid "Trying to connect to %s/%s..."
 msgstr "Versuche, mit %s/%s zu verbinden..."
 
-#: socket.c:315
+#: socket.c:322
 #, c-format
 msgid "cannot create socket: %s\n"
 msgstr "kann Socket nicht erzeugen: %s\n"
 
-#: socket.c:317
+#: socket.c:324
 #, c-format
 msgid "name %d: cannot create socket family %d type %d: %s\n"
 msgstr "Name %d: kann Socket in Familie %d Typ %d nicht erzeugen: %s\n"
 
-#: socket.c:333
+#: socket.c:343
 msgid "connection failed.\n"
 msgstr "Verbindung fehlgeschlagen.\n"
 
-#: socket.c:335
+#: socket.c:345
 #, c-format
 msgid "connection to %s:%s [%s/%s] failed: %s.\n"
 msgstr "Verbindung zu %s:%s [%s/%s] fehlgeschlagen: %s.\n"
 
-#: socket.c:336
+#: socket.c:346
 #, c-format
 msgid "name %d: connection to %s:%s [%s/%s] failed: %s.\n"
 msgstr "Name %d: Verbindung zu %s:%s [%s/%s] fehlgeschlagen: %s.\n"
 
-#: socket.c:342
+#: socket.c:352
 msgid "connected.\n"
 msgstr "verbunden.\n"
 
-#: socket.c:355
+#: socket.c:365
 #, c-format
 msgid ""
 "Connection errors for this poll:\n"
@@ -3024,127 +3020,127 @@ msgstr ""
 "Verbindungsfehler für diesen Abruf:\n"
 "%s"
 
-#: socket.c:621
+#: socket.c:631
 msgid "Server certificate:\n"
 msgstr "Server-Zertifikat:\n"
 
-#: socket.c:626
+#: socket.c:636
 #, c-format
 msgid "Certificate chain, from root to peer, starting at depth %d:\n"
 msgstr "Zertifizierungskette, von der Wurzel zum Server, ab Tiefe %d:\n"
 
-#: socket.c:629
+#: socket.c:639
 #, c-format
 msgid "Certificate at depth %d:\n"
 msgstr "Zertifikat bei Baumtiefe %d:\n"
 
-#: socket.c:635
+#: socket.c:645
 #, c-format
 msgid "Issuer Organization: %s\n"
 msgstr "Herausgeber-Organisation: %s\n"
 
-#: socket.c:638
+#: socket.c:648
 msgid "Warning: Issuer Organization Name too long (possibly truncated).\n"
 msgstr ""
 "Warnung: Herausgeber-Organisations-Name zu lang (möglicherweise "
 "beschnitten).\n"
 
-#: socket.c:640
+#: socket.c:650
 msgid "Unknown Organization\n"
 msgstr "Unbekannte Organisation\n"
 
-#: socket.c:642
+#: socket.c:652
 #, c-format
 msgid "Issuer CommonName: %s\n"
 msgstr "Herausgeber-CommonName: %s\n"
 
-#: socket.c:645
+#: socket.c:655
 msgid "Warning: Issuer CommonName too long (possibly truncated).\n"
 msgstr ""
 "Warnung: Herausgeber-CommonName zu lang (möglicherweise beschnitten).\n"
 
-#: socket.c:647
+#: socket.c:657
 msgid "Unknown Issuer CommonName\n"
 msgstr "Unbekannter Herausgeber-CommonName\n"
 
-#: socket.c:653
+#: socket.c:663
 #, c-format
 msgid "Subject CommonName: %s\n"
 msgstr "Subjekt-CommonName: %s\n"
 
-#: socket.c:659
+#: socket.c:669
 msgid "Bad certificate: Subject CommonName too long!\n"
 msgstr "Ungültiges Zertifikat: Server-CommonName zu lang!\n"
 
-#: socket.c:665
+#: socket.c:675
 msgid "Bad certificate: Subject CommonName contains NUL, aborting!\n"
 msgstr "Ungültiges Zertifikat: Subject-CommonName enthält NUL, breche ab!\n"
 
-#: socket.c:693
+#: socket.c:703
 #, c-format
 msgid "Subject Alternative Name: %s\n"
 msgstr "Subject Alternative Name: %s\n"
 
-#: socket.c:699
+#: socket.c:709
 msgid "Bad certificate: Subject Alternative Name contains NUL, aborting!\n"
 msgstr ""
 "Ungültiges Zertifikat: Subject-Alternative-Name enthält NUL, breche ab!\n"
 
-#: socket.c:716
+#: socket.c:726
 #, c-format
 msgid "Server CommonName mismatch: %s != %s\n"
 msgstr "Server-CommonName stimmt nicht überein: %s != %s\n"
 
-#: socket.c:723
+#: socket.c:733
 msgid "Server name not set, could not verify certificate!\n"
 msgstr "Server-Name nicht gesetzt, konnte Zertifikat nicht verifizieren!\n"
 
-#: socket.c:728
+#: socket.c:738
 msgid "Unknown Server CommonName\n"
 msgstr "Unbekannter Server-CommonName\n"
 
-#: socket.c:730
+#: socket.c:740
 msgid "Server name not specified in certificate!\n"
 msgstr "Server-Name nicht in Zertifikat spezifiziert!\n"
 
-#: socket.c:742
+#: socket.c:752
 msgid "EVP_md5() failed!\n"
 msgstr "EVP_md5() fehlgeschlagen!\n"
 
-#: socket.c:746
+#: socket.c:756
 msgid "Out of memory!\n"
 msgstr "Kein Speicher mehr frei!\n"
 
-#: socket.c:754
+#: socket.c:764
 msgid "Digest text buffer too small!\n"
 msgstr "Textpuffer für Digest zu klein!\n"
 
-#: socket.c:760
+#: socket.c:770
 #, c-format
 msgid "%s key fingerprint: %s\n"
 msgstr "%s-Schlüssel-Fingerabdruck: %s\n"
 
-#: socket.c:764
+#: socket.c:774
 #, c-format
 msgid "%s fingerprints match.\n"
 msgstr "%s-Fingerabdrücke stimmen überein.\n"
 
-#: socket.c:766
+#: socket.c:776
 #, c-format
 msgid "%s fingerprints do not match!\n"
 msgstr "%s-Fingerabdrücke stimmen nicht überein!\n"
 
-#: socket.c:776
+#: socket.c:786
 #, c-format
 msgid "Server certificate verification error: %s\n"
 msgstr "Fehler bei Server-Zertifikat-Überprüfung: %s\n"
 
-#: socket.c:783
+#: socket.c:793
 #, c-format
 msgid "unknown issuer (first %d characters): %s\n"
 msgstr "unbekannter Herausgeber (erste %d Zeichen): %s\n"
 
-#: socket.c:784
+#: socket.c:794
 msgid ""
 "This error usually happens when the server provides an incomplete "
 "certificate chain, which is nothing fetchmail could do anything about.  For "
@@ -3156,7 +3152,7 @@ msgstr ""
 "weitere Information, siehe das mit Fetchmail ausgelieferte Dokument README."
 "SSL-SERVER.\n"
 
-#: socket.c:793
+#: socket.c:803
 #, c-format
 msgid ""
 "This means that the root signing certificate (issued for %s) is not in the "
@@ -3169,21 +3165,21 @@ msgstr ""
 "Verzeichnis ausgeführt werden muss. Details sind in der fetchmail-"
 "Handbuchseite im bei --sslcertpath beschrieben.\n"
 
-#: socket.c:885
+#: socket.c:895
 msgid "File descriptor out of range for SSL"
 msgstr "Datei-Deskriptor außerhalb des Bereichs für SSL"
 
-#: socket.c:899
+#: socket.c:911
 #, c-format
 msgid "Invalid SSL protocol '%s' specified, using default (SSL23).\n"
 msgstr ""
 "Ungültiges SSL-Protokoll „%s“ angegeben, benutze Voreinstellung (SSL23).\n"
 
-#: socket.c:992
+#: socket.c:1004
 msgid "Certificate/fingerprint verification was somehow skipped!\n"
 msgstr "Zertifikat-/Fingerabdruck-Überprüfung wurde irgendwie übersprungen!\n"
 
-#: socket.c:1009
+#: socket.c:1021
 msgid ""
 "Warning: the connection is insecure, continuing anyways. (Better use --"
 "sslcertck!)\n"
@@ -3191,30 +3187,30 @@ msgstr ""
 "Warnung: Die Verbindung ist unsicher, mache trotzdem weiter. (Nehmen Sie "
 "lieber --sslcertck!)\n"
 
-#: socket.c:1075
+#: socket.c:1063
 msgid "Cygwin socket read retry\n"
 msgstr "Cygwin-Socket-Lese-Wiederholung\n"
 
-#: socket.c:1078
+#: socket.c:1066
 msgid "Cygwin socket read retry failed!\n"
 msgstr "Cygwin-Socket-Lese-Wiederholung fehlgeschlagen!\n"
 
-#: transact.c:71
+#: transact.c:79
 #, c-format
 msgid "mapped address %s to local %s\n"
 msgstr "Adresse %s auf lokalen Benutzer %s abgebildet\n"
 
-#: transact.c:93
+#: transact.c:101
 #, c-format
 msgid "mapped %s to local %s\n"
 msgstr "%s auf lokalen Benutzer %s abgebildet\n"
 
-#: transact.c:160
+#: transact.c:168
 #, c-format
 msgid "passed through %s matching %s\n"
 msgstr "passierte %s und passte auf %s\n"
 
-#: transact.c:230
+#: transact.c:240
 #, c-format
 msgid ""
 "analyzing Received line:\n"
@@ -3223,88 +3219,93 @@ msgstr ""
 "Received-Zeile wird überprüft:\n"
 "%s"
 
-#: transact.c:269
+#: transact.c:279
 #, c-format
 msgid "line accepted, %s is an alias of the mailserver\n"
 msgstr "Zeile akzeptiert, %s ist ein Alias des Mailservers\n"
 
-#: transact.c:275
+#: transact.c:285
 #, c-format
 msgid "line rejected, %s is not an alias of the mailserver\n"
 msgstr "Zeile abgelehnt. %s ist kein Alias des Mailservers\n"
 
-#: transact.c:349
+#: transact.c:359
 msgid "no Received address found\n"
 msgstr "keine „Received“-Adresse gefunden\n"
 
-#: transact.c:358
+#: transact.c:368
 #, c-format
 msgid "found Received address `%s'\n"
 msgstr "„Received“-Adresse „%s“ gefunden\n"
 
-#: transact.c:601
+#: transact.c:613
 msgid "incorrect header line found - see manpage for bad-header option\n"
 msgstr "inkorrekte Kopfzeile gefunden - siehe Handbuch unter bad-header\n"
 
-#: transact.c:603
+#: transact.c:615
 #, c-format
 msgid "line: %s"
 msgstr "Zeile: %s"
 
-#: transact.c:1095 transact.c:1105
+#: transact.c:1107 transact.c:1117
 #, c-format
 msgid "Parsing envelope \"%s\" names \"%-.*s\"\n"
 msgstr "Analysiere Umschlag \"%s\" Namen \"%-.*s\"\n"
 
-#: transact.c:1120
+#: transact.c:1132
 #, c-format
 msgid "Parsing Received names \"%-.*s\"\n"
 msgstr "Received-Kopfzeile \"%-.*s\" wird analysiert\n"
 
-#: transact.c:1132
+#: transact.c:1144
 msgid "No envelope recipient found, resorting to header guessing.\n"
 msgstr ""
 "Kein Empfänger auf dem Umschlag gefunden, muss anhand der Kopfzeilen raten.\n"
 
-#: transact.c:1150
+#: transact.c:1162
 #, c-format
 msgid "Guessing from header \"%-.*s\".\n"
 msgstr "Rate anhand der Kopfzeile \"%-.*s\".\n"
 
-#: transact.c:1165
+#: transact.c:1177
 #, c-format
 msgid "no local matches, forwarding to %s\n"
 msgstr "keine lokalen Übereinstimmungen, Weiterleitung an %s\n"
 
-#: transact.c:1180
+#: transact.c:1192
 msgid "forwarding and deletion suppressed due to DNS errors\n"
 msgstr "Weiterleiten und Löschen wegen DNS-Fehlern unterdrückt\n"
 
-#: transact.c:1291
+#: transact.c:1303
 msgid "writing RFC822 msgblk.headers\n"
 msgstr "schreibe RFC822 msgblk.headers\n"
 
-#: transact.c:1310
+#: transact.c:1322
 msgid "no recipient addresses matched declared local names"
 msgstr "keine Empfängeradresse stimmt mit deklarierten lokalen Namen überein"
 
-#: transact.c:1317
+#: transact.c:1329
 #, c-format
 msgid "recipient address %s didn't match any local name"
 msgstr "Empfängeradresse %s stimmt mit keinem lokalen Namen überein"
 
-#: transact.c:1326
+#: transact.c:1338
 msgid "message has embedded NULs"
 msgstr "Nachricht hat eingebettete NUL-Zeichen"
 
-#: transact.c:1334
+#: transact.c:1346
 msgid "SMTP listener rejected local recipient addresses: "
 msgstr "SMTP-Server lehnte Adressen mit lokalem Empfänger ab: "
 
-#: transact.c:1473
+#: transact.c:1485
 msgid "error writing message text\n"
 msgstr "Fehler beim Schreiben des Nachrichtentextes\n"
 
+#: transact.c:1633
+#, c-format
+msgid "Buffer too small. This is a bug in the caller of %s:%lu.\n"
+msgstr "Der Puffer ist zu klein. Dies ist ein Fehler im Aufrufer von %s:%lu.\n"
+
 #: uid.c:249
 #, c-format
 msgid "Old UID list from %s:"
@@ -3381,3 +3382,9 @@ msgstr "malloc fehlgeschlagen\n"
 #: xmalloc.c:47
 msgid "realloc failed\n"
 msgstr "realloc fehlgeschlagen\n"
+
+#~ msgid "Subject: Fetchmail unreachable-server warning."
+#~ msgstr "Subject: Fetchmail-Warnung: Server nicht erreichbar."
+
+#~ msgid "Fetchmail could not reach the mail server %s:"
+#~ msgstr "Fetchmail konnte keine Mail von %s erhalten:"
diff --git a/pop3.c b/pop3.c
index 9c73ae9d25c55b5169244358d332ceb55350b095..a994f992d1641151f874a9c0bc24f485e2bc15f0 100644 (file)
--- a/pop3.c
+++ b/pop3.c
@@ -439,9 +439,9 @@ static int pop3_getauth(int sock, struct query *ctl, char *greeting)
                * whether TLS is mandatory or opportunistic unless SSLOpen() fails
                * (see below). */
               if (gen_transact(sock, "STLS") == PS_SUCCESS
-                      && SSLOpen(sock, ctl->sslcert, ctl->sslkey, "tls1", ctl->sslcertck,
+                      && (set_timeout(mytimeout), SSLOpen(sock, ctl->sslcert, ctl->sslkey, "tls1", ctl->sslcertck,
                           ctl->sslcertfile, ctl->sslcertpath, ctl->sslfingerprint, commonname,
-                          ctl->server.pollname, &ctl->remotename) != -1)
+                          ctl->server.pollname, &ctl->remotename)) != -1)
               {
                   /*
                    * RFC 2595 says this:
@@ -456,6 +456,7 @@ static int pop3_getauth(int sock, struct query *ctl, char *greeting)
                    * Now that we're confident in our TLS connection we can
                    * guarantee a secure capability re-probe.
                    */
+                  set_timeout(0);
                   done_capa = FALSE;
                   ok = capa_probe(sock);
                   if (ok != PS_SUCCESS) {
@@ -468,6 +469,7 @@ static int pop3_getauth(int sock, struct query *ctl, char *greeting)
               } else if (must_tls(ctl)) {
                   /* Config required TLS but we couldn't guarantee it, so we must
                    * stop. */
+                  set_timeout(0);
                   report(stderr, GT_("%s: upgrade to TLS failed.\n"), commonname);
                   return PS_SOCKET;
               } else {
@@ -476,6 +478,7 @@ static int pop3_getauth(int sock, struct query *ctl, char *greeting)
                    * allowed til post-authentication), so leave it in an unknown
                    * state, mark it as such, and check more carefully if things
                    * go wrong when we try to authenticate. */
+                  set_timeout(0);
                   connection_may_have_tls_errors = TRUE;
                   if (outlevel >= O_VERBOSE)
                   {
index c2915b6c8ceab69753d1f35efc89fc7b4cfbca76..8501c0dc80a0acca33c88a5c7d5bdb2b4c10386e 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -217,14 +217,12 @@ int UnixOpen(const char *path)
        return -1;
     }
 
-    SockTimeout(sock, mytimeout);
+    /* Socket opened saved. Usefull if connect timeout
+     * because it can be closed.
+     */
+    mailserver_socket_temp = sock;
 
-       /* Socket opened saved. Usefull if connect timeout 
-        * because it can be closed.
-        */
-       mailserver_socket_temp = sock;
-    
-       if (connect(sock, (struct sockaddr *) &ad, sizeof(ad)) < 0)
+    if (connect(sock, (struct sockaddr *) &ad, sizeof(ad)) < 0)
     {
        int olderr = errno;
        fm_close(sock); /* don't use SockClose, no traffic yet */
@@ -232,9 +230,9 @@ int UnixOpen(const char *path)
        errno = olderr;
        sock = -1;
     }
-       
-       /* No connect timeout, then no need to set mailserver_socket_temp */
-       mailserver_socket_temp = -1;
+
+    /* No connect timeout, then no need to set mailserver_socket_temp */
+    mailserver_socket_temp = -1;
 
     return sock;
 }