aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am5
-rw-r--r--po/de.po707
-rw-r--r--socket.c176
3 files changed, 511 insertions, 377 deletions
diff --git a/Makefile.am b/Makefile.am
index 26c80fd9..ff8f5547 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,7 +6,10 @@ AUTOMAKE_OPTIONS= 1.11 foreign no-dist-gzip dist-bzip2 dist-xz subdir-objects
AM_CPPFLAGS= -I$(srcdir)/libesmtp
ACLOCAL_AMFLAGS= -I m4 -I m4-local
AM_YFLAGS= -d
-BUILT_SOURCES= rcfile_y.h
+# listing socket.$(OBJEXT) here is a hack to compile socket.c pretty
+# early in order to fail it early on outdated OpenSSL libraries,
+# without building a few dozen other files first.
+BUILT_SOURCES= rcfile_y.h socket.$(OBJEXT)
bin_PROGRAMS= fetchmail
diff --git a/po/de.po b/po/de.po
index 9d131709..5a415cad 100644
--- a/po/de.po
+++ b/po/de.po
@@ -2,14 +2,14 @@
# German Messages for fetchmail.
# Copyright (C) 2001, 2005, 2006 Free Software Foundation, Inc.
# Michael Piefel <piefel@informatik.hu-berlin.de>, 2001, 2002, 2003.
-# Matthias Andree <matthias.andree@gmx.de>, 2004 - 2014
+# Matthias Andree <matthias.andree@gmx.de>, 2004 - 2016
#
msgid ""
msgstr ""
-"Project-Id-Version: fetchmail 6.3.26\n"
+"Project-Id-Version: fetchmail 6.4.0\n"
"Report-Msgid-Bugs-To: fetchmail-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-01-17 01:08+0100\n"
-"PO-Revision-Date: 2015-01-17 00:41+0100\n"
+"POT-Creation-Date: 2016-12-12 02:41+0100\n"
+"PO-Revision-Date: 2016-12-12 02:51+0100\n"
"Last-Translator: Matthias Andree <matthias.andree@gmx.de>\n"
"Language-Team: Deutsch <de@li.org>\n"
"Language: de\n"
@@ -400,7 +400,7 @@ msgstr "Vorgabe-Ordner wird gewählt oder erneut abgefragt\n"
msgid "%s at %s (folder %s)"
msgstr "%s bei %s (Ordner %s)"
-#: driver.c:1334 rcfile_y.y:390
+#: driver.c:1334 rcfile_y.y:391
#, c-format
msgid "%s at %s"
msgstr "%s bei %s"
@@ -689,15 +689,15 @@ msgstr ""
"hierzu lesen Sie bitte in der Datei COPYING (englisch) im Quell- oder\n"
"Dokumentationsverzeichnis nach.\n"
-#: fetchmail.c:185
+#: fetchmail.c:187
msgid "WARNING: Running as root is discouraged.\n"
msgstr "WARNUNG: Vom Betrieb mit root-Rechten wird abgeraten.\n"
-#: fetchmail.c:197
+#: fetchmail.c:199
msgid "fetchmail: invoked with"
msgstr "fetchmail: aufgerufen mit"
-#: fetchmail.c:221
+#: fetchmail.c:223
msgid "could not get current working directory\n"
msgstr "konnte aktuelles Arbeitsverzeichnis nicht bestimmen\n"
@@ -758,8 +758,7 @@ msgstr "fetchmail: kein weiteres fetchmail läuft\n"
#, c-format
msgid "fetchmail: error killing %s fetchmail at %ld; bailing out.\n"
msgstr ""
-"fetchmail: Fehler beim Beenden von %s-fetchmail mit Kennung %ld; "
-"Abbruch.\n"
+"fetchmail: Fehler beim Beenden von %s-fetchmail mit Kennung %ld; Abbruch.\n"
#: fetchmail.c:495 fetchmail.c:504
msgid "background"
@@ -803,201 +802,201 @@ msgstr ""
"fetchmail: kann keine Optionen akzeptieren, solange Hintergrund-fetchmail "
"läuft.\n"
-#: fetchmail.c:555
+#: fetchmail.c:561
#, c-format
msgid "fetchmail: background fetchmail at %ld awakened.\n"
msgstr "fetchmail: Hintergrund-fetchmail mit Kennung %ld aufgeweckt.\n"
-#: fetchmail.c:567
+#: fetchmail.c:573
#, c-format
msgid "fetchmail: elder sibling at %ld died mysteriously.\n"
msgstr ""
"fetchmail: älterer Prozess mit Kennung %ld ist auf mysteriöse Weise "
"gestorben.\n"
-#: fetchmail.c:582
+#: fetchmail.c:588
#, c-format
msgid "fetchmail: can't find a password for %s@%s.\n"
msgstr "fetchmail: kann kein Passwort für %s@%s finden.\n"
-#: fetchmail.c:586
+#: fetchmail.c:592
#, c-format
msgid "Enter password for %s@%s: "
msgstr "Geben Sie das Passwort für %s@%s ein: "
-#: fetchmail.c:628
+#: fetchmail.c:634
msgid "fetchmail: Cannot detach into background. Aborting.\n"
msgstr "fetchmail: Kann nicht in den Hintergrund gehen. Abbruch.\n"
-#: fetchmail.c:632
+#: fetchmail.c:638
#, c-format
msgid "starting fetchmail %s daemon\n"
msgstr "fetchmail %s Dämon wird gestartet\n"
-#: fetchmail.c:648 fetchmail.c:650
+#: fetchmail.c:654 fetchmail.c:656
#, c-format
msgid "could not open %s to append logs to\n"
msgstr "konnte %s nicht öffnen, um Protokolle anzuhängen\n"
-#: fetchmail.c:669
+#: fetchmail.c:675
msgid "--check mode enabled, not fetching mail\n"
msgstr "--check eingeschaltet, hole keine Mail\n"
-#: fetchmail.c:691
+#: fetchmail.c:697
#, c-format
msgid "couldn't time-check %s (error %d)\n"
msgstr "konnte keine Zeitüberprüfung bei %s durchführen (Fehler %d)\n"
-#: fetchmail.c:696
+#: fetchmail.c:702
#, c-format
msgid "restarting fetchmail (%s changed)\n"
msgstr "starte fetchmail erneut (%s verändert)\n"
-#: fetchmail.c:701
+#: fetchmail.c:707
msgid "attempt to re-exec may fail as directory has not been restored\n"
msgstr ""
"Versuch, fetchmail erneut auszuführen, kann fehlschlagen,\n"
"da Verzeichnis nicht wieder hergestellt wurde\n"
-#: fetchmail.c:728
+#: fetchmail.c:734
msgid "attempt to re-exec fetchmail failed\n"
msgstr "Versuch, fetchmail erneut auszuführen, fehlgeschlagen\n"
-#: fetchmail.c:758
+#: fetchmail.c:764
#, c-format
msgid "poll of %s skipped (failed authentication or too many timeouts)\n"
msgstr ""
"Abfrage von %s übersprungen (fehlgeschlagene Authentifikation oder zu viele "
"Zeitüberschreitungen)\n"
-#: fetchmail.c:770
+#: fetchmail.c:776
#, c-format
msgid "interval not reached, not querying %s\n"
msgstr "Intervall nicht erreicht, %s wird nicht abgefragt\n"
-#: fetchmail.c:808
+#: fetchmail.c:814
msgid "Query status=0 (SUCCESS)\n"
msgstr "Abfragestatus=0 (SUCCESS)\n"
-#: fetchmail.c:810
+#: fetchmail.c:816
msgid "Query status=1 (NOMAIL)\n"
msgstr "Abfragestatus=1 (NOMAIL)\n"
-#: fetchmail.c:812
+#: fetchmail.c:818
msgid "Query status=2 (SOCKET)\n"
msgstr "Abfragestatus=2 (SOCKET)\n"
-#: fetchmail.c:814
+#: fetchmail.c:820
msgid "Query status=3 (AUTHFAIL)\n"
msgstr "Abfragestatus=3 (AUTHFAIL)\n"
-#: fetchmail.c:816
+#: fetchmail.c:822
msgid "Query status=4 (PROTOCOL)\n"
msgstr "Abfragestatus=4 (PROTOCOL)\n"
-#: fetchmail.c:818
+#: fetchmail.c:824
msgid "Query status=5 (SYNTAX)\n"
msgstr "Abfragestatus=5 (SYNTAX)\n"
-#: fetchmail.c:820
+#: fetchmail.c:826
msgid "Query status=6 (IOERR)\n"
msgstr "Abfragestatus=6 (IOERR)\n"
-#: fetchmail.c:822
+#: fetchmail.c:828
msgid "Query status=7 (ERROR)\n"
msgstr "Abfragestatus=7 (ERROR)\n"
-#: fetchmail.c:824
+#: fetchmail.c:830
msgid "Query status=8 (EXCLUDE)\n"
msgstr "Abfragestatus=8 (EXCLUDE)\n"
-#: fetchmail.c:826
+#: fetchmail.c:832
msgid "Query status=9 (LOCKBUSY)\n"
msgstr "Abfragestatus=9 (LOCKBUSY)\n"
-#: fetchmail.c:828
+#: fetchmail.c:834
msgid "Query status=10 (SMTP)\n"
msgstr "Abfragestatus=10 (SMTP)\n"
-#: fetchmail.c:830
+#: fetchmail.c:836
msgid "Query status=11 (DNS)\n"
msgstr "Abfragestatus=11 (DNS)\n"
-#: fetchmail.c:832
+#: fetchmail.c:838
msgid "Query status=12 (BSMTP)\n"
msgstr "Abfragestatus=12 (BSMTP)\n"
-#: fetchmail.c:834
+#: fetchmail.c:840
msgid "Query status=13 (MAXFETCH)\n"
msgstr "Abfragestatus=13 (MAXFETCH)\n"
-#: fetchmail.c:836
+#: fetchmail.c:842
#, c-format
msgid "Query status=%d\n"
msgstr "Abfragestatus=%d\n"
-#: fetchmail.c:878
+#: fetchmail.c:884
msgid "All connections are wedged. Exiting.\n"
msgstr "Alle Verbindungen verkeilt. Abbruch.\n"
-#: fetchmail.c:886
+#: fetchmail.c:892
#, c-format
msgid "sleeping at %s for %d seconds\n"
msgstr "%s: schlafe %d Sekunden lang\n"
-#: fetchmail.c:910
+#: fetchmail.c:916
#, c-format
msgid "awakened by %s\n"
msgstr "erweckt durch %s\n"
-#: fetchmail.c:913
+#: fetchmail.c:919
#, c-format
msgid "awakened by signal %d\n"
msgstr "erweckt durch Signal %d\n"
-#: fetchmail.c:921
+#: fetchmail.c:927
#, c-format
msgid "awakened at %s\n"
msgstr "erweckt um %s\n"
-#: fetchmail.c:926
+#: fetchmail.c:932
#, c-format
msgid "normal termination, status %d\n"
msgstr "normale Beendigung, Status %d\n"
-#: fetchmail.c:1087
+#: fetchmail.c:1093
msgid "couldn't time-check the run-control file\n"
msgstr "konnte keine Zeitüberprüfung der Run-Control-Datei durchführen\n"
-#: fetchmail.c:1121
+#: fetchmail.c:1127
#, c-format
msgid "Warning: multiple mentions of host %s in config file\n"
msgstr "Warnung: mehrfache Erwähnung von Host %s in Konfigurationsdatei\n"
-#: fetchmail.c:1160
+#: fetchmail.c:1166
msgid "fetchmail: Error: multiple \"defaults\" records in config file.\n"
msgstr ""
"fetchmail: Fehler: mehrere „defaults”-Einträge in Konfigurationsdatei\n"
-#: fetchmail.c:1282
+#: fetchmail.c:1288
msgid "SSL support is not compiled in.\n"
msgstr "SSL-Unterstützung ist nicht einkompiliert.\n"
-#: fetchmail.c:1289
+#: fetchmail.c:1295
msgid "KERBEROS v4 support is configured, but not compiled in.\n"
msgstr ""
"KERBEROS-v4-Unterstützung ist konfiguriert, aber nicht einkompiliert.\n"
-#: fetchmail.c:1295
+#: fetchmail.c:1301
msgid "KERBEROS v5 support is configured, but not compiled in.\n"
msgstr ""
"KERBEROS-v5-Unterstützung ist konfiguriert, aber nicht einkompiliert.\n"
-#: fetchmail.c:1301
+#: fetchmail.c:1307
msgid "GSSAPI support is configured, but not compiled in.\n"
msgstr "GSSAPI-Unterstützung ist konfiguriert, aber nicht einkompiliert.\n"
-#: fetchmail.c:1331
+#: fetchmail.c:1337
#, c-format
msgid ""
"fetchmail: warning: no DNS available to check multidrop fetches from %s\n"
@@ -1005,17 +1004,17 @@ msgstr ""
"fetchmail: Warnung: Kein DNS verfügbar, um Multidrop-Abholung von %s zu "
"überprüfen\n"
-#: fetchmail.c:1342
+#: fetchmail.c:1348
#, c-format
msgid "warning: multidrop for %s requires envelope option!\n"
msgstr "Warnung: multidrop für %s erfordert envelope-Option!\n"
-#: fetchmail.c:1343
+#: fetchmail.c:1349
msgid "warning: Do not ask for support if all mail goes to postmaster!\n"
msgstr ""
"Warnung: Fragen Sie nicht nach Hilfe, wenn alle Mail zum Postmaster geht!\n"
-#: fetchmail.c:1360
+#: fetchmail.c:1366
#, c-format
msgid ""
"fetchmail: %s configuration invalid, specify positive port number for "
@@ -1024,319 +1023,323 @@ msgstr ""
"fetchmail: %s-Konfiguration ungültig, bitte positive Portnummer für Port/"
"Service angeben\n"
-#: fetchmail.c:1367
+#: fetchmail.c:1373
#, c-format
msgid "fetchmail: %s configuration invalid, RPOP requires a privileged port\n"
msgstr ""
"fetchmail: %s-Konfiguration ungültig, RPOP erfordert einen privilegierten "
"Port\n"
-#: fetchmail.c:1385
+#: fetchmail.c:1391
#, c-format
msgid "%s configuration invalid, LMTP can't use default SMTP port\n"
msgstr ""
"%s-Konfiguration ungültig, LMTP kann nicht den Standard-SMTP-Port benutzen\n"
-#: fetchmail.c:1399
+#: fetchmail.c:1405
msgid "Both fetchall and keep on in daemon or idle mode is a mistake!\n"
msgstr ""
"Sowohl fetchall als auch keep anzuschalten, ist im Dämon- oder Idle-Modus "
"ein Fehler!\n"
-#: fetchmail.c:1409
+#: fetchmail.c:1415
msgid ""
"fetchmail: Error: idle mode does not work for multiple folders or accounts!\n"
msgstr ""
"fetchmail: Fehler: idle funktioniert nicht für mehrere Ordner oder Kontos!\n"
-#: fetchmail.c:1433
+#: fetchmail.c:1439
#, c-format
msgid "terminated with signal %d\n"
msgstr "beendet mit Signal %d\n"
-#: fetchmail.c:1506
+#: fetchmail.c:1512
#, c-format
msgid "%s querying %s (protocol %s) at %s: poll started\n"
msgstr "%s fragt %s ab (Protokoll %s) um %s: Abfrage gestartet\n"
-#: fetchmail.c:1531
+#: fetchmail.c:1537
msgid "POP2 support is not configured.\n"
msgstr "POP2-Unterstützung ist nicht konfiguriert.\n"
-#: fetchmail.c:1543
+#: fetchmail.c:1549
msgid "POP3 support is not configured.\n"
msgstr "POP3-Unterstützung ist nicht konfiguriert.\n"
-#: fetchmail.c:1553
+#: fetchmail.c:1559
msgid "IMAP support is not configured.\n"
msgstr "IMAP-Unterstützung ist nicht konfiguriert.\n"
-#: fetchmail.c:1559
+#: fetchmail.c:1565
msgid "ETRN support is not configured.\n"
msgstr "ETRN-Unterstützung ist nicht konfiguriert.\n"
-#: fetchmail.c:1567
+#: fetchmail.c:1573
msgid "ODMR support is not configured.\n"
msgstr "ODMR-Unterstützung ist nicht konfiguriert.\n"
-#: fetchmail.c:1574
+#: fetchmail.c:1580
msgid "unsupported protocol selected.\n"
msgstr "nicht unterstütztes Protokoll ausgewählt.\n"
-#: fetchmail.c:1584
+#: fetchmail.c:1590
#, c-format
msgid "%s querying %s (protocol %s) at %s: poll completed\n"
msgstr "%s fragt ab %s (Protokoll %s) um %s: Abfrage beendet\n"
-#: fetchmail.c:1601
+#: fetchmail.c:1607
#, c-format
msgid "Poll interval is %d seconds\n"
msgstr "Abfrageintervall ist %d Sekunden\n"
-#: fetchmail.c:1603
+#: fetchmail.c:1609
#, c-format
msgid "Logfile is %s\n"
msgstr "Log-Datei ist %s\n"
-#: fetchmail.c:1605
+#: fetchmail.c:1611
#, c-format
msgid "Idfile is %s\n"
msgstr "Idfile ist %s\n"
-#: fetchmail.c:1608
+#: fetchmail.c:1614
msgid "Progress messages will be logged via syslog\n"
msgstr "Fortschrittsnachrichten werden via syslog geloggt\n"
-#: fetchmail.c:1611
+#: fetchmail.c:1617
msgid "Fetchmail will masquerade and will not generate Received\n"
msgstr "Fetchmail wird maskieren und kein „Received“ generieren\n"
-#: fetchmail.c:1613
+#: fetchmail.c:1619
msgid "Fetchmail will show progress dots even in logfiles.\n"
msgstr "Fetchmail wird Fortschrittspunkte auch in Log-Dateien zeigen.\n"
-#: fetchmail.c:1615
+#: fetchmail.c:1621
#, c-format
msgid "Fetchmail will forward misaddressed multidrop messages to %s.\n"
msgstr ""
"Fetchmail wird fehladressierte Multidrop-Nachricht an %s weiterleiten.\n"
-#: fetchmail.c:1619
+#: fetchmail.c:1625
msgid "Fetchmail will direct error mail to the postmaster.\n"
msgstr "Fetchmail wird Fehlerbenachrichtigungen an „postmaster“ schicken.\n"
-#: fetchmail.c:1621
+#: fetchmail.c:1627
msgid "Fetchmail will direct error mail to the sender.\n"
msgstr "Fetchmail wird Fehlerbenachrichtigungen an den Absender schicken.\n"
-#: fetchmail.c:1624
+#: fetchmail.c:1630
msgid "Fetchmail will treat permanent errors as permanent (drop messages).\n"
msgstr ""
"Fetchmail wird permanente Fehler als solche behandeln (Nachrichten "
"verwerfen).\n"
-#: fetchmail.c:1626
+#: fetchmail.c:1632
msgid "Fetchmail will treat permanent errors as temporary (keep messages).\n"
msgstr "Fetchmail wird Fehlerbenachrichtigungen an den Absender schicken.\n"
-#: fetchmail.c:1633
+#: fetchmail.c:1639
#, c-format
msgid "Options for retrieving from %s@%s:\n"
msgstr "Optionen für Abholen von %s@%s:\n"
-#: fetchmail.c:1637
+#: fetchmail.c:1643
#, c-format
msgid " Mail will be retrieved via %s\n"
msgstr " Post wird abgeholt via %s\n"
-#: fetchmail.c:1640
+#: fetchmail.c:1646
#, c-format
msgid " Poll of this server will occur every %d interval.\n"
msgid_plural " Poll of this server will occur every %d intervals.\n"
msgstr[0] " Abfrage dieses Servers wird jedesmal erfolgen.\n"
msgstr[1] " Abfrage dieses Servers wird alle %d Intervalle erfolgen.\n"
-#: fetchmail.c:1644
+#: fetchmail.c:1650
#, c-format
msgid " True name of server is %s.\n"
msgstr " Wahrer Name des Servers ist %s.\n"
-#: fetchmail.c:1647
+#: fetchmail.c:1653
msgid " This host will not be queried when no host is specified.\n"
msgstr " Dieser Host wird nicht abgefragt, wenn kein Host angegeben ist.\n"
-#: fetchmail.c:1648
+#: fetchmail.c:1654
msgid " This host will be queried when no host is specified.\n"
msgstr " Dieser Host wird abgefragt, wenn kein Host angegeben ist.\n"
-#: fetchmail.c:1652
+#: fetchmail.c:1658
msgid " Password will be prompted for.\n"
msgstr " Nach Passwörtern wird nachgefragt.\n"
-#: fetchmail.c:1656
+#: fetchmail.c:1662
#, c-format
msgid " APOP secret = \"%s\".\n"
msgstr " APOP-Geheimnis = „%s“.\n"
-#: fetchmail.c:1659
+#: fetchmail.c:1665
#, c-format
msgid " RPOP id = \"%s\".\n"
msgstr " RPOP id = „%s“.\n"
-#: fetchmail.c:1662
+#: fetchmail.c:1668
#, c-format
msgid " Password = \"%s\".\n"
msgstr " Passwort = „%s“.\n"
-#: fetchmail.c:1671
+#: fetchmail.c:1677
#, c-format
msgid " Protocol is KPOP with Kerberos %s authentication"
msgstr " Protokoll ist KPOP mit Kerberos-%s-Authentifikation"
-#: fetchmail.c:1674
+#: fetchmail.c:1680
#, c-format
msgid " Protocol is %s"
msgstr " Protokoll ist %s"
-#: fetchmail.c:1676
+#: fetchmail.c:1682
#, c-format
msgid " (using service %s)"
msgstr " (unter Benutzung von Service %s)"
-#: fetchmail.c:1678
+#: fetchmail.c:1684
msgid " (using default port)"
msgstr " (unter Benutzung des Standard-Ports)"
-#: fetchmail.c:1680
+#: fetchmail.c:1686
msgid " (forcing UIDL use)"
msgstr " (erzwungene UIDL-Benutzung)"
-#: fetchmail.c:1686
+#: fetchmail.c:1692
msgid " All available authentication methods will be tried.\n"
msgstr " Alle verfügbaren Authentifikationsmethoden werden versucht.\n"
-#: fetchmail.c:1689
+#: fetchmail.c:1695
msgid " Password authentication will be forced.\n"
msgstr " Passwort-Authentifikation wird erzwungen.\n"
-#: fetchmail.c:1692
+#: fetchmail.c:1698
msgid " MSN authentication will be forced.\n"
msgstr " MSN-Authentifikation wird erzwungen.\n"
-#: fetchmail.c:1695
+#: fetchmail.c:1701
msgid " NTLM authentication will be forced.\n"
msgstr " NTLM-Authentifikation wird erzwungen.\n"
-#: fetchmail.c:1698
+#: fetchmail.c:1704
msgid " OTP authentication will be forced.\n"
msgstr " OTP-Authentifikation wird erzwungen.\n"
-#: fetchmail.c:1701
+#: fetchmail.c:1707
msgid " CRAM-MD5 authentication will be forced.\n"
msgstr " CRAM-MD5-Authentifikation wird erzwungen.\n"
-#: fetchmail.c:1704
+#: fetchmail.c:1710
msgid " GSSAPI authentication will be forced.\n"
msgstr " GSSAPI-Authentifikation wird erzwungen.\n"
-#: fetchmail.c:1707
+#: fetchmail.c:1713
msgid " Kerberos V4 authentication will be forced.\n"
msgstr " Kerberos-V4-Authentifikation wird erzwungen.\n"
-#: fetchmail.c:1710
+#: fetchmail.c:1716
msgid " Kerberos V5 authentication will be forced.\n"
msgstr " Kerberos-V5-Authentifikation wird erzwungen.\n"
-#: fetchmail.c:1713
+#: fetchmail.c:1719
msgid " End-to-end encryption assumed.\n"
msgstr " Ende-zu-Ende-Verschlüsselung wird angenommen.\n"
-#: fetchmail.c:1717
+#: fetchmail.c:1723
#, c-format
msgid " Mail service principal is: %s\n"
msgstr " Prinzipal des Mailservice ist: %s\n"
-#: fetchmail.c:1720
+#: fetchmail.c:1726
msgid " SSL encrypted sessions enabled.\n"
msgstr " SSL-verschlüsselte Sitzungen ermöglicht.\n"
-#: fetchmail.c:1722
+#: fetchmail.c:1728
#, c-format
msgid " SSL protocol: %s.\n"
msgstr " SSL-Protokoll: %s.\n"
-#: fetchmail.c:1724
+#: fetchmail.c:1730
msgid " SSL server certificate checking enabled.\n"
msgstr " SSL-Server-Zertifikat-Überprüfung ermöglicht.\n"
-#: fetchmail.c:1727
+#: fetchmail.c:1732
+msgid " SSL server certificate checking disabled.\n"
+msgstr " SSL-Server-Zertifikat-Überprüfung abgeschaltet.\n"
+
+#: fetchmail.c:1735
#, c-format
msgid " SSL trusted certificate file: %s\n"
msgstr " SSL-Datei für vertrauenswürdige Zertifikate: %s\n"
-#: fetchmail.c:1729
+#: fetchmail.c:1737
#, c-format
msgid " SSL trusted certificate directory: %s\n"
msgstr " SSL-Verzeichnis für vertrauenswürdige Zertifikate: %s\n"
-#: fetchmail.c:1731
+#: fetchmail.c:1739
#, c-format
msgid " SSL server CommonName: %s\n"
msgstr " SSL-Server-CommonName: %s\n"
-#: fetchmail.c:1733
+#: fetchmail.c:1741
#, c-format
msgid " SSL key fingerprint (checked against the server key): %s\n"
msgstr " SSL-Schlüssel-Fingerabdruck (gegen Server-Schlüssel überprüft): %s\n"
-#: fetchmail.c:1736
+#: fetchmail.c:1744
#, c-format
msgid " Server nonresponse timeout is %d seconds"
msgstr " Auszeit für nichtantwortenden Server ist %d Sekunden"
-#: fetchmail.c:1738
+#: fetchmail.c:1746
msgid " (default).\n"
msgstr " (Voreinstellung).\n"
-#: fetchmail.c:1745
+#: fetchmail.c:1753
msgid " Default mailbox selected.\n"
msgstr " Standard-Postfach ausgewählt.\n"
-#: fetchmail.c:1750
+#: fetchmail.c:1758
msgid " Selected mailboxes are:"
msgstr " Gewählte Postfächer sind:"
-#: fetchmail.c:1756
+#: fetchmail.c:1764
msgid " All messages will be retrieved (--all on).\n"
msgstr " Alle Nachrichten werden abgeholt (--all on).\n"
-#: fetchmail.c:1757
+#: fetchmail.c:1765
msgid " Only new messages will be retrieved (--all off).\n"
msgstr " Nur neue Nachrichten werden abgeholt (--all off).\n"
-#: fetchmail.c:1759
+#: fetchmail.c:1767
msgid " Fetched messages will be kept on the server (--keep on).\n"
msgstr " Abgeholte Nachrichten werden auf dem Server belassen (--keep on).\n"
-#: fetchmail.c:1760
+#: fetchmail.c:1768
msgid " Fetched messages will not be kept on the server (--keep off).\n"
msgstr ""
" Abgeholte Nachrichten werden nicht auf dem Server belassen (--keep off).\n"
-#: fetchmail.c:1762
+#: fetchmail.c:1770
msgid " Old messages will be flushed before message retrieval (--flush on).\n"
msgstr ""
" Alte Nachrichten werden vor der Nachrichtenabholung gelöscht (--flush "
"on).\n"
-#: fetchmail.c:1763
+#: fetchmail.c:1771
msgid ""
" Old messages will not be flushed before message retrieval (--flush off).\n"
msgstr ""
" Alte Nachrichten werden vor der Nachrichtenabholung nicht gelöscht (--"
"flush off).\n"
-#: fetchmail.c:1765
+#: fetchmail.c:1773
msgid ""
" Oversized messages will be flushed before message retrieval (--limitflush "
"on).\n"
@@ -1344,7 +1347,7 @@ msgstr ""
" Übergroße Nachrichten werden vor der Nachrichtenabholung gelöscht (--"
"limitflush on).\n"
-#: fetchmail.c:1766
+#: fetchmail.c:1774
msgid ""
" Oversized messages will not be flushed before message retrieval (--"
"limitflush off).\n"
@@ -1352,348 +1355,348 @@ msgstr ""
" Übergroße Nachrichten werden vor der Nachrichtenabholung nicht gelöscht (--"
"limitflush off).\n"
-#: fetchmail.c:1768
+#: fetchmail.c:1776
msgid " Rewrite of server-local addresses is enabled (--norewrite off).\n"
msgstr " Umschreiben von server-lokalen Adressen ist an (--norewrite off).\n"
-#: fetchmail.c:1769
+#: fetchmail.c:1777
msgid " Rewrite of server-local addresses is disabled (--norewrite on).\n"
msgstr " Umschreiben von server-lokalen Adressen ist aus (--norewrite on).\n"
-#: fetchmail.c:1771
+#: fetchmail.c:1779
msgid " Carriage-return stripping is enabled (stripcr on).\n"
msgstr " Entfernen von Carriage-Return-Zeichen ist ein (stripcr on).\n"
-#: fetchmail.c:1772
+#: fetchmail.c:1780
msgid " Carriage-return stripping is disabled (stripcr off).\n"
msgstr " Entfernen von Carriage-Return-Zeichen ist aus (stripcr off).\n"
-#: fetchmail.c:1774
+#: fetchmail.c:1782
msgid " Carriage-return forcing is enabled (forcecr on).\n"
msgstr " Erzwingen von Carriage-Return-Zeichen ist ein (forcecr on).\n"
-#: fetchmail.c:1775
+#: fetchmail.c:1783
msgid " Carriage-return forcing is disabled (forcecr off).\n"
msgstr " Erzwingen von Carriage-Return-Zeichen ist aus (forcecr off).\n"
-#: fetchmail.c:1777
+#: fetchmail.c:1785
msgid ""
" Interpretation of Content-Transfer-Encoding is disabled (pass8bits on).\n"
msgstr ""
" Interpretation von Content-Transfer-Encoding ist aus (pass8bits on).\n"
-#: fetchmail.c:1778
+#: fetchmail.c:1786
msgid ""
" Interpretation of Content-Transfer-Encoding is enabled (pass8bits off).\n"
msgstr ""
" Interpretation von Content-Transfer-Encoding ist ein (pass8bits off).\n"
-#: fetchmail.c:1780
+#: fetchmail.c:1788
msgid " MIME decoding is enabled (mimedecode on).\n"
msgstr " MIME-Decodierung ist ein (mimedecode on).\n"
-#: fetchmail.c:1781
+#: fetchmail.c:1789
msgid " MIME decoding is disabled (mimedecode off).\n"
msgstr " MIME-Decodierung ist aus (mimedecode off).\n"
-#: fetchmail.c:1783
+#: fetchmail.c:1791
msgid " Idle after poll is enabled (idle on).\n"
msgstr " „Idle“ nach Abfrage ist ein (idle on).\n"
-#: fetchmail.c:1784
+#: fetchmail.c:1792
msgid " Idle after poll is disabled (idle off).\n"
msgstr " „Idle“ nach Abfrage ist aus (idle off).\n"
-#: fetchmail.c:1786
+#: fetchmail.c:1794
msgid " Nonempty Status lines will be discarded (dropstatus on)\n"
msgstr " Nichtleere Statuszeilen werden verworfen (dropstatus on)\n"
-#: fetchmail.c:1787
+#: fetchmail.c:1795
msgid " Nonempty Status lines will be kept (dropstatus off)\n"
msgstr " Nichtleere Statuszeilen werden beibehalten (dropstatus off)\n"
-#: fetchmail.c:1789
+#: fetchmail.c:1797
msgid " Delivered-To lines will be discarded (dropdelivered on)\n"
msgstr " Delivered-To-Zeilen werden verworfen (dropdelivered on)\n"
-#: fetchmail.c:1790
+#: fetchmail.c:1798
msgid " Delivered-To lines will be kept (dropdelivered off)\n"
msgstr " Delivered-To-Zeilen werden beibehalten (dropdelivered off)\n"
-#: fetchmail.c:1794
+#: fetchmail.c:1802
#, c-format
msgid " Message size limit is %d octets (--limit %d).\n"
msgstr " Nachrichtengrößen-Beschränkung ist %d Bytes (--limit %d).\n"
-#: fetchmail.c:1797
+#: fetchmail.c:1805
msgid " No message size limit (--limit 0).\n"
msgstr " Keine Beschränkung der Nachrichtengröße (--limit 0).\n"
-#: fetchmail.c:1799
+#: fetchmail.c:1807
#, c-format
msgid " Message size warning interval is %d seconds (--warnings %d).\n"
msgstr ""
" Nachrichtengröße-Warnungsintervall ist %d Sekunden (--warnings %d).\n"
-#: fetchmail.c:1802
+#: fetchmail.c:1810
msgid " Size warnings on every poll (--warnings 0).\n"
msgstr " Größenwarnungen bei jeder Abfragen (--warnings 0).\n"
-#: fetchmail.c:1805
+#: fetchmail.c:1813
#, c-format
msgid " Received-message limit is %d (--fetchlimit %d).\n"
msgstr " Limit für erhaltene Nachrichten ist %d (--fetchlimit %d).\n"
-#: fetchmail.c:1808
+#: fetchmail.c:1816
msgid " No received-message limit (--fetchlimit 0).\n"
msgstr " Kein Limit für erhaltene Nachrichten (--fetchlimit 0).\n"
-#: fetchmail.c:1810
+#: fetchmail.c:1818
#, c-format
msgid " Fetch message size limit is %d (--fetchsizelimit %d).\n"
msgstr ""
" Limit für die Größe erhaltener Nachrichten ist %d (--fetchsizelimit %d).\n"
-#: fetchmail.c:1813
+#: fetchmail.c:1821
msgid " No fetch message size limit (--fetchsizelimit 0).\n"
msgstr " Keine Beschränkung der Nachrichtengröße (--fetchsizelimit 0).\n"
-#: fetchmail.c:1817
+#: fetchmail.c:1825
msgid " Do binary search of UIDs during each poll (--fastuidl 1).\n"
msgstr ""
" Bei jeder Abfrage binäre Suche nach UIDs durchführen (--fastuidl 1).\n"
-#: fetchmail.c:1819
+#: fetchmail.c:1827
#, c-format
msgid " Do binary search of UIDs during %d out of %d polls (--fastuidl %d).\n"
msgstr ""
" Binäre Suche nach UIDs bei %d von %d Abfragen durchführen (--fastuidl "
"%d).\n"
-#: fetchmail.c:1822
+#: fetchmail.c:1830
msgid " Do linear search of UIDs during each poll (--fastuidl 0).\n"
msgstr ""
" Bei jeder Abfrage lineare Suche nach UIDs durchführen (--fastuidl 0).\n"
-#: fetchmail.c:1824
+#: fetchmail.c:1832
#, c-format
msgid " SMTP message batch limit is %d.\n"
msgstr " Limit für SMTP-Stapelauslieferung ist %d.\n"
-#: fetchmail.c:1826
+#: fetchmail.c:1834
msgid " No SMTP message batch limit (--batchlimit 0).\n"
msgstr " Kein Limit für SMTP-Stapelauslieferung (--batchlimit 0).\n"
-#: fetchmail.c:1830
+#: fetchmail.c:1838
#, c-format
msgid " Deletion interval between expunges forced to %d (--expunge %d).\n"
msgstr ""
" Anzahl der Löschvorgänge zwischen tatsächlichen Säuberungen auf %d gesetzt "
"(--expunge %d).\n"
-#: fetchmail.c:1832
+#: fetchmail.c:1840
msgid " No forced expunges (--expunge 0).\n"
msgstr " Keine erzwungenen Säuberungen (--expunge 0).\n"
-#: fetchmail.c:1839
+#: fetchmail.c:1847
msgid " Domains for which mail will be fetched are:"
msgstr " Domänen, für die Mail abgeholt werden wird, sind:"
-#: fetchmail.c:1844 fetchmail.c:1864
+#: fetchmail.c:1852 fetchmail.c:1872
msgid " (default)"
msgstr " (Voreinstellung)"
-#: fetchmail.c:1849
+#: fetchmail.c:1857
#, c-format
msgid " Messages will be appended to %s as BSMTP\n"
msgstr " Nachrichten werden an %s als BSMTP angehängt\n"
-#: fetchmail.c:1851
+#: fetchmail.c:1859
#, c-format
msgid " Messages will be delivered with \"%s\".\n"
msgstr " Nachrichten werden mit „%s“ ausgeliefert.\n"
-#: fetchmail.c:1858
+#: fetchmail.c:1866
#, c-format
msgid " Messages will be %cMTP-forwarded to:"
msgstr " Nachrichten werden mit %cMTP weitergeleitet an:"
-#: fetchmail.c:1869
+#: fetchmail.c:1877
#, c-format
msgid " Host part of MAIL FROM line will be %s\n"
msgstr " Host-Teil der „MAIL FROM“-Zeile ist %s\n"
-#: fetchmail.c:1872
+#: fetchmail.c:1880
#, c-format
msgid " Address to be put in RCPT TO lines shipped to SMTP will be %s\n"
msgstr ""
" Adresse, die in „RCPT TO“-Zeilen, die an SMTP ausgeliefert werden, "
"verwendet wird, ist %s\n"
-#: fetchmail.c:1881
+#: fetchmail.c:1889
msgid " Recognized listener spam block responses are:"
msgstr " Erkannte Spam-Abblock-Antworten des SMTP/LMTP-Servers sind:"
-#: fetchmail.c:1887
+#: fetchmail.c:1895
msgid " Spam-blocking disabled\n"
msgstr " Spam-Abblocken deaktiviert\n"
-#: fetchmail.c:1890
+#: fetchmail.c:1898
#, c-format
msgid " Server connection will be brought up with \"%s\".\n"
msgstr " Server-Verbindung wird aktiviert mit „%s“.\n"
-#: fetchmail.c:1893
+#: fetchmail.c:1901
msgid " No pre-connection command.\n"
msgstr " Kein Vor-Verbindungs-Befehl.\n"
-#: fetchmail.c:1895
+#: fetchmail.c:1903
#, c-format
msgid " Server connection will be taken down with \"%s\".\n"
msgstr " Server-Verbindungs wird beendet mit „%s“.\n"
-#: fetchmail.c:1898
+#: fetchmail.c:1906
msgid " No post-connection command.\n"
msgstr " Kein Nach-Verbindungs-Befehl.\n"
-#: fetchmail.c:1901
+#: fetchmail.c:1909
msgid " No localnames declared for this host.\n"
msgstr " Keine lokalen Namen (localnames) für diesen Host definiert.\n"
-#: fetchmail.c:1911
+#: fetchmail.c:1919
msgid " Multi-drop mode: "
msgstr " Multi-Drop-Modus: "
-#: fetchmail.c:1913
+#: fetchmail.c:1921
msgid " Single-drop mode: "
msgstr " Einzel-Drop-Modus: "
-#: fetchmail.c:1915
+#: fetchmail.c:1923
#, c-format
msgid "%d local name recognized.\n"
msgid_plural "%d local names recognized.\n"
msgstr[0] "%d lokaler Name erkannt.\n"
msgstr[1] "%d lokale Namen erkannt.\n"
-#: fetchmail.c:1930
+#: fetchmail.c:1938
msgid " DNS lookup for multidrop addresses is enabled.\n"
msgstr " DNS-Suche für Multi-Drop-Adressen ist ein.\n"
-#: fetchmail.c:1931
+#: fetchmail.c:1939
msgid " DNS lookup for multidrop addresses is disabled.\n"
msgstr " DNS-Suche für Multi-Drop-Adressen ist aus.\n"
-#: fetchmail.c:1935
+#: fetchmail.c:1943
msgid ""
" Server aliases will be compared with multidrop addresses by IP address.\n"
msgstr ""
" Server-Aliase werden mit multidrop-Adressen verglichen anhand der IP.\n"
-#: fetchmail.c:1937
+#: fetchmail.c:1945
msgid " Server aliases will be compared with multidrop addresses by name.\n"
msgstr ""
" Server-Aliase werden mit multidrop-Adressen verglichen anhand des Namens.\n"
-#: fetchmail.c:1940
+#: fetchmail.c:1948
msgid " Envelope-address routing is disabled\n"
msgstr " Umschlag-Adress-Routing ist deaktiviert\n"
-#: fetchmail.c:1943
+#: fetchmail.c:1951
#, c-format
msgid " Envelope header is assumed to be: %s\n"
msgstr " Umschlag-Header wird angenommen als: %s\n"
-#: fetchmail.c:1946
+#: fetchmail.c:1954
#, c-format
msgid " Number of envelope headers to be skipped over: %d\n"
msgstr " Anzahl der zu überspringenden Umschlag-Kopfzeilen: %d\n"
-#: fetchmail.c:1949
+#: fetchmail.c:1957
#, c-format
msgid " Prefix %s will be removed from user id\n"
msgstr " Präfix %s wird von Nutzer-ID entfernt\n"
-#: fetchmail.c:1952
+#: fetchmail.c:1960
msgid " No prefix stripping\n"
msgstr " Keine Präfix-Entfernung\n"
-#: fetchmail.c:1957
+#: fetchmail.c:1965
msgid " Predeclared mailserver aliases:"
msgstr " Vordeklarierte Mailserver-Aliase:"
-#: fetchmail.c:1965
+#: fetchmail.c:1973
msgid " Local domains:"
msgstr " Lokale Domänen:"
-#: fetchmail.c:1975
+#: fetchmail.c:1983
#, c-format
msgid " Connection must be through interface %s.\n"
msgstr " Verbindung muss durch Schnittstelle %s geschehen.\n"
-#: fetchmail.c:1977
+#: fetchmail.c:1985
msgid " No interface requirement specified.\n"
msgstr " Kein Schnittstellen-Bindung angefordert.\n"
-#: fetchmail.c:1979
+#: fetchmail.c:1987
#, c-format
msgid " Polling loop will monitor %s.\n"
msgstr " Abfrageschleife wird %s überwachen.\n"
-#: fetchmail.c:1981
+#: fetchmail.c:1989
msgid " No monitor interface specified.\n"
msgstr " Kein Überwachungsinterface angegeben.\n"
-#: fetchmail.c:1985
+#: fetchmail.c:1993
#, c-format
msgid " Server connections will be made via plugin %s (--plugin %s).\n"
msgstr ""
" Serververbindungen werden mittels Plugin %s durchgeführt (--plugin %s).\n"
-#: fetchmail.c:1987
+#: fetchmail.c:1995
msgid " No plugin command specified.\n"
msgstr " Kein Plugin-Befehl angegeben.\n"
-#: fetchmail.c:1989
+#: fetchmail.c:1997
#, c-format
msgid " Listener connections will be made via plugout %s (--plugout %s).\n"
msgstr ""
" SMTP/LMTP-Server-Verbindungen werden mittels Plugout %s durchgeführt (--"
"plugout %s).\n"
-#: fetchmail.c:1991
+#: fetchmail.c:1999
msgid " No plugout command specified.\n"
msgstr " Kein Plugout-Befehl angegeben.\n"
-#: fetchmail.c:1996
+#: fetchmail.c:2004
msgid " No UIDs saved from this host.\n"
msgstr " Keine UIDs von diesem Host gespeichert.\n"
-#: fetchmail.c:2005
+#: fetchmail.c:2013
#, c-format
msgid " %d UIDs saved.\n"
msgstr " %d UIDs gespeichert.\n"
-#: fetchmail.c:2013
+#: fetchmail.c:2021
msgid " Poll trace information will be added to the Received header.\n"
msgstr ""
" Abfrage-Nachverfolgungsinformationen werden dem Received-Header "
"hinzugefügt.\n"
-#: fetchmail.c:2015
+#: fetchmail.c:2023
msgid " No poll trace information will be added to the Received header.\n"
msgstr ""
" Keine Abfrage-Nachverfolgungsinformationen werden dem Received-Header\n"
" hinzugefügt.\n"
-#: fetchmail.c:2020
+#: fetchmail.c:2028
msgid " Messages with bad headers will be rejected.\n"
msgstr " Nachrichten mit defekten Headern werden abgewiesen.\n"
-#: fetchmail.c:2023
+#: fetchmail.c:2031
msgid " Messages with bad headers will be passed on.\n"
msgstr " Nachrichten mit defekten Headern werden ausgeliefert.\n"
-#: fetchmail.c:2028
+#: fetchmail.c:2036
#, c-format
msgid " Pass-through properties \"%s\".\n"
msgstr " Eigenschaften zum Durchleiten „%s“.\n"
@@ -2123,84 +2126,84 @@ msgstr "Konnte OTP-Herausforderung nicht dekodieren\n"
msgid "Secret pass phrase: "
msgstr "Geheime Passphrase: "
-#: options.c:176 options.c:220
+#: options.c:178 options.c:222
#, c-format
msgid "String '%s' is not a valid number string.\n"
msgstr "Zeichenkette „%s“ ist keine gültige Zahl.\n"
-#: options.c:185
+#: options.c:187
#, c-format
msgid "Value of string '%s' is %s than %d.\n"
msgstr "Wert der Zeichenkette „%s“ ist %s als %d.\n"
-#: options.c:186
+#: options.c:188
msgid "smaller"
msgstr "kleiner"
-#: options.c:186
+#: options.c:188
msgid "larger"
msgstr "größer"
-#: options.c:323
+#: options.c:336
#, c-format
msgid "Invalid bad-header policy `%s' specified.\n"
msgstr "Ungültiger Umgang mit defekten Headern „%s“ angegeben.\n"
-#: options.c:364
+#: options.c:377
#, c-format
msgid "Invalid protocol `%s' specified.\n"
msgstr "Ungültiges Protokoll „%s“ angegeben.\n"
-#: options.c:411
+#: options.c:424
#, c-format
msgid "Invalid authentication `%s' specified.\n"
msgstr "Ungültige Authentifikation „%s“ angegeben.\n"
-#: options.c:620
+#: options.c:640
msgid "usage: fetchmail [options] [server ...]\n"
msgstr "Aufruf: fetchmail [Optionen] [Server ...]\n"
-#: options.c:621
+#: options.c:641
msgid " Options are as follows:\n"
msgstr " Optionen sind wie folgt:\n"
-#: options.c:622
+#: options.c:642
msgid " -?, --help display this option help\n"
msgstr " -?, --help diese Options-Hilfe anzeigen\n"
-#: options.c:623
+#: options.c:643
msgid " -V, --version display version info\n"
msgstr " -V, --version Versionsinformationen anzeigen\n"
-#: options.c:625
+#: options.c:645
msgid " -c, --check check for messages without fetching\n"
msgstr " -c, --check auf Nachrichten überprüfen, ohne abzuholen\n"
-#: options.c:626
+#: options.c:646
msgid " -s, --silent work silently\n"
msgstr " -s, --silent schweigsam arbeiten\n"
-#: options.c:627
+#: options.c:647
msgid " -v, --verbose work noisily (diagnostic output)\n"
msgstr " -v, --verbose redselig arbeiten (diagnostische Ausgaben)\n"
-#: options.c:628
+#: options.c:648
msgid " -d, --daemon run as a daemon once per n seconds\n"
msgstr " -d, --daemon alle n Sekunden als Dämon laufen\n"
-#: options.c:629
+#: options.c:649
msgid " -N, --nodetach don't detach daemon process\n"
msgstr " -N, --nodetach nicht von Dämon-Prozess ablösen\n"
-#: options.c:630
+#: options.c:650
msgid " -q, --quit kill daemon process\n"
msgstr " -q, --quit Dämon-Prozess beenden\n"
-#: options.c:631
+#: options.c:651
msgid " -L, --logfile specify logfile name\n"
msgstr " -L, --logfile Logdatei-Name angeben\n"
-#: options.c:632
+#: options.c:652
msgid ""
" --syslog use syslog(3) for most messages when running as a "
"daemon\n"
@@ -2208,40 +2211,44 @@ msgstr ""
" --syslog als Dämon syslog(3) für die meisten Mitteilungen "
"verwenden\n"
-#: options.c:633
+#: options.c:653
+msgid " --nosyslog turns off use of syslog(3)\n"
+msgstr " --nosyslog syslog(3) nicht verwenden\n"
+
+#: options.c:654
msgid " --invisible don't write Received & enable host spoofing\n"
msgstr ""
" --invisible Received nicht schreiben und Host-Spoofing erlauben\n"
-#: options.c:634
+#: options.c:655
msgid " -f, --fetchmailrc specify alternate run control file\n"
msgstr " -f, --fetchmailrc alternative Konfigurationsdatei angeben\n"
-#: options.c:635
+#: options.c:656
msgid " -i, --idfile specify alternate UIDs file\n"
msgstr " -i, --idfile alternative UID-Datei angeben\n"
-#: options.c:636
+#: options.c:657
msgid " --pidfile specify alternate PID (lock) file\n"
msgstr " --pidfile alternative PID-Datei angeben\n"
-#: options.c:637
+#: options.c:658
msgid " --postmaster specify recipient of last resort\n"
msgstr ""
" --postmaster Empfänger angeben, der als letzte Zuflucht gebraucht "
"wird\n"
-#: options.c:638
+#: options.c:659
msgid " --nobounce redirect bounces from user to postmaster.\n"
msgstr " --nobounce Bounces vom Nutzer zum Postmaster umleiten\n"
-#: options.c:639
+#: options.c:660
msgid ""
" --nosoftbounce fetchmail deletes permanently undeliverable messages.\n"
msgstr ""
" --nosoftbounce Fetchmail löscht endgültig unzustellbare Nachrichten.\n"
-#: options.c:640
+#: options.c:661
msgid ""
" --softbounce keep permanently undeliverable messages on server "
"(default).\n"
@@ -2249,49 +2256,53 @@ msgstr ""
" --softbounce Endgültig unzustellbare Nachrichten auf Server belassen "
"(Voreinstellung).\n"
-#: options.c:642
+#: options.c:663
msgid " -I, --interface interface required specification\n"
msgstr " -I, --interface erforderliche Schnittstellen-Angabe\n"
-#: options.c:643
+#: options.c:664
msgid " -M, --monitor monitor interface for activity\n"
msgstr " -M, --monitor Schnittstelle auf Aktivität hin beobachten\n"
-#: options.c:646
+#: options.c:667
msgid " --ssl enable ssl encrypted session\n"
msgstr " --ssl SSL-verschlüsselte Sitzung ermöglichen\n"
-#: options.c:647
+#: options.c:668
msgid " --sslkey ssl private key file\n"
msgstr " --sslkey SSL-Privater-Schlüssel-Datei\n"
-#: options.c:648
+#: options.c:669
msgid " --sslcert ssl client certificate\n"
msgstr " --sslcert SSL-Klienten-Zertifikat\n"
-#: options.c:649
+#: options.c:670
msgid " --sslcertck do strict server certificate check (recommended)\n"
msgstr ""
" --sslcertck strenge Prüfung des SSL-Serverzertifikats (empfohlen)\n"
-#: options.c:650
+#: options.c:671
+msgid " --nosslcertck skip strict server certificate check (insecure)\n"
+msgstr " --nosslcertck überspringe Prüfung des SSL-Serverzertifikats (unsicher)\n"
+
+#: options.c:672
msgid " --sslcertfile path to trusted-CA ssl certificate file\n"
msgstr ""
" --sslcertfile Pfad zur Datei mit SSL-Zertifikaten vertrauenswürdiger "
"CAs\n"
-#: options.c:651
+#: options.c:673
msgid " --sslcertpath path to trusted-CA ssl certificate directory\n"
msgstr ""
" --sslcertpath Verzeichnis mit vertrauenswürdigen CA-SSL-Zertifikaten\n"
-#: options.c:652
+#: options.c:674
msgid ""
" --sslcommonname expect this CommonName from server (discouraged)\n"
msgstr ""
" --sslcommonname diesen CommonName des Servers erwarten (abgeraten)\n"
-#: options.c:653
+#: options.c:675
msgid ""
" --sslfingerprint fingerprint that must match that of the server's "
"cert.\n"
@@ -2299,19 +2310,19 @@ msgstr ""
" --sslfingerprint verlangter Fingerabdruck des Zertifikats des "
"Servers.\n"
-#: options.c:654
+#: options.c:676
msgid " --sslproto force ssl protocol (SSL2/SSL3/TLS1)\n"
msgstr " --sslproto SSL-Protokoll erzwingen (SSL2/SSL3/TLS1)\n"
-#: options.c:656
+#: options.c:678
msgid " --plugin specify external command to open connection\n"
msgstr " --plugin externes Kommando zum Öffnen der Verbindung\n"
-#: options.c:657
+#: options.c:679
msgid " --plugout specify external command to open smtp connection\n"
msgstr " --plugout externes Kommando zum Öffnen der SMTP-Verbindung\n"
-#: options.c:658
+#: options.c:680
msgid ""
" --bad-header {reject|accept}\n"
" specify policy for handling messages with bad headers\n"
@@ -2319,146 +2330,151 @@ msgstr ""
" --bad-header {reject|accept}\n"
" Umgang mit Nachrichten mit defekten Headern\n"
-#: options.c:661
-msgid " -p, --protocol specify retrieval protocol (see man page)\n"
-msgstr " -p, --protocol Abhol-Protokoll angeben (siehe Manpage)\n"
+#: options.c:683
+msgid " -p, --proto[col] specify retrieval protocol (see man page)\n"
+msgstr " -p, --proto[col] Abhol-Protokoll angeben (siehe Manpage)\n"
-#: options.c:662
+#: options.c:684
msgid " -U, --uidl force the use of UIDLs (pop3 only)\n"
msgstr " -U, --uidl Benutzung von UIDL erzwingen (nur POP3)\n"
-#: options.c:663
+#: options.c:685
+msgid ""
+" --idle tells the IMAP server to send notice of new messages\n"
+msgstr " --idle den IMAP-Server neue Nachrichten ankündigen lassen\n"
+
+#: options.c:686
msgid " --port TCP port to connect to (obsolete, use --service)\n"
msgstr ""
" --port TCP-Port für Verbindung (veraltet, siehe --service)\n"
-#: options.c:664
+#: options.c:687
msgid ""
" -P, --service TCP service to connect to (can be numeric TCP port)\n"
msgstr ""
" -P, --service TCP-Dienst für die Verbindung (kann eine Portnummer "
"sein)\n"
-#: options.c:665
+#: options.c:688
msgid " --auth authentication type (password/kerberos/ssh/otp)\n"
msgstr ""
" --auth Authentifikations-Typ (Passwort/Kerberos/SSH/OTP)\n"
-#: options.c:666
+#: options.c:689
msgid " -t, --timeout server nonresponse timeout\n"
msgstr " -t, --timeout Auszeit für nichtantwortenden Server\n"
-#: options.c:667
+#: options.c:690
msgid " -E, --envelope envelope address header\n"
msgstr " -E, --envelope Umschlag-Adress-Header\n"
-#: options.c:668
+#: options.c:691
msgid " -Q, --qvirtual prefix to remove from local user id\n"
msgstr ""
" -Q, --qvirtual Präfix, der von lokaler Nutzerkennung entfernt wird\n"
-#: options.c:669
+#: options.c:692
msgid " --principal mail service principal\n"
msgstr " --principal Prinzipal des Mailservice\n"
-#: options.c:670
+#: options.c:693
msgid " --tracepolls add poll-tracing information to Received header\n"
msgstr ""
" --tracepolls Poll-Tracing-Information zum Received-Header hinzufügen\n"
-#: options.c:672
-msgid " -u, --username specify users's login on server\n"
-msgstr " -u, --username Nutzerkennung beim Server angeben\n"
+#: options.c:695
+msgid " -u, --user[name] specify users's login on server\n"
+msgstr " -u, --user[name] Nutzerkennung beim Server angeben\n"
-#: options.c:673
+#: options.c:696
msgid " -a, --[fetch]all retrieve old and new messages\n"
msgstr " -a, --[fetch]all alte und neue Nachrichten abholen\n"
-#: options.c:674
+#: options.c:697
msgid " -K, --nokeep delete new messages after retrieval\n"
msgstr " -K, --nokeep neue Nachrichten nach Abholung löschen\n"
-#: options.c:675
+#: options.c:698
msgid " -k, --keep save new messages after retrieval\n"
msgstr " -k, --keep neue Nachrichten nach Abholung aufheben\n"
-#: options.c:676
+#: options.c:699
msgid " -F, --flush delete old messages from server\n"
msgstr " -F, --flush alte Nachrichten auf dem Server löschen\n"
-#: options.c:677
+#: options.c:700
msgid " --limitflush delete oversized messages\n"
msgstr " --limitflush übergroße Nachrichten auf dem Server löschen\n"
-#: options.c:678
+#: options.c:701
msgid " -n, --norewrite don't rewrite header addresses\n"
msgstr " -n, --norewrite Header-Adressen nicht umschreiben\n"
-#: options.c:679
+#: options.c:702
msgid " -l, --limit don't fetch messages over given size\n"
msgstr " -l, --limit Nachrichten über angegebener Größe nicht abholen\n"
-#: options.c:680
+#: options.c:703
msgid " -w, --warnings interval between warning mail notification\n"
msgstr " -w, --warnings Intervall zwischen Warnungs-Emails\n"
-#: options.c:682
+#: options.c:705
msgid " -S, --smtphost set SMTP forwarding host\n"
msgstr " -S, --smtphost SMTP-Weiterleitungs-Host festlegen\n"
-#: options.c:683
+#: options.c:706
msgid " --fetchdomains fetch mail for specified domains\n"
msgstr " --fetchdomains Post für angegebene Domänen abholen\n"
-#: options.c:684
+#: options.c:707
msgid " -D, --smtpaddress set SMTP delivery domain to use\n"
msgstr " -D, --smtpaddress zu benutzende SMTP-Auslieferungs-Domäne setzen\n"
-#: options.c:685
+#: options.c:708
msgid " --smtpname set SMTP full name username@domain\n"
msgstr " --smtpname SMTP-Nutzernamen nutzer@domain setzen\n"
-#: options.c:686
+#: options.c:709
msgid " -Z, --antispam, set antispam response values\n"
msgstr " -Z, --antispam Antispam-Antwort-Werte setzen\n"
-#: options.c:687
+#: options.c:710
msgid " -b, --batchlimit set batch limit for SMTP connections\n"
msgstr " -b, --batchlimit Stapellimit für SMTP-Verbindungen setzen\n"
-#: options.c:688
+#: options.c:711
msgid " -B, --fetchlimit set fetch limit for server connections\n"
msgstr " -B, --fetchlimit Limit für Server-Verbindungen setzen\n"
-#: options.c:689
+#: options.c:712
msgid " --fetchsizelimit set fetch message size limit\n"
msgstr " --fetchsizelimit Beschränkung für Nachrichtengröße setzen.\n"
-#: options.c:690
+#: options.c:713
msgid " --fastuidl do a binary search for UIDLs\n"
msgstr " --fastuidl binäre Suche nach UIDS durchführen\n"
-#: options.c:691
+#: options.c:714
msgid " -e, --expunge set max deletions between expunges\n"
msgstr " -e, --expunge max. Löschungen zwischen Säuberungen setzen\n"
-#: options.c:692
+#: options.c:715
msgid " -m, --mda set MDA to use for forwarding\n"
msgstr " -m, --mda MDA für Weiterleitung setzen\n"
-#: options.c:693
+#: options.c:716
msgid " --bsmtp set output BSMTP file\n"
msgstr " --bsmtp Ausgabe-BSMTP-Datei setzen\n"
-#: options.c:694
+#: options.c:717
msgid " --lmtp use LMTP (RFC2033) for delivery\n"
msgstr " --lmtp LMTP (RFC2033) zum Ausliefern benutzen\n"
-#: options.c:695
+#: options.c:718
msgid " -r, --folder specify remote folder name\n"
msgstr " -r, --folder Namen des entfernten Ordners angeben\n"
-#: options.c:696
+#: options.c:719
msgid " --showdots show progress dots even in logfiles\n"
msgstr " --showdots Fortschrittspunkte auch in Log-Dateien zeigen\n"
@@ -2577,21 +2593,21 @@ msgstr ""
msgid "SSL is not enabled"
msgstr "SSL ist nicht aktiv"
-#: rcfile_y.y:391
+#: rcfile_y.y:392
msgid "end of input"
msgstr "Ende der Eingabe"
-#: rcfile_y.y:429
+#: rcfile_y.y:430
#, c-format
msgid "File %s must be a regular file.\n"
msgstr "Datei %s muss eine reguläre Datei sein.\n"
-#: rcfile_y.y:439
+#: rcfile_y.y:440
#, c-format
msgid "File %s must have no more than -rwx------ (0700) permissions.\n"
msgstr "Datei %s darf nicht mehr Zugriffrechte haben als -rwx----- (0700).\n"
-#: rcfile_y.y:451
+#: rcfile_y.y:452
#, c-format
msgid "File %s must be owned by you.\n"
msgstr "Datei %s muss Ihnen gehören.\n"
@@ -3053,132 +3069,132 @@ msgstr ""
"Verbindungsfehler für diesen Abruf:\n"
"%s"
-#: socket.c:387
+#: socket.c:404
#, c-format
msgid "OpenSSL reported: %s\n"
msgstr "OpenSSL berichtete: %s\n"
-#: socket.c:622
+#: socket.c:639
msgid "Server certificate:\n"
msgstr "Server-Zertifikat:\n"
-#: socket.c:627
+#: socket.c:644
#, 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:630
+#: socket.c:647
#, c-format
msgid "Certificate at depth %d:\n"
msgstr "Zertifikat bei Baumtiefe %d:\n"
-#: socket.c:636
+#: socket.c:653
#, c-format
msgid "Issuer Organization: %s\n"
msgstr "Herausgeber-Organisation: %s\n"
-#: socket.c:639
+#: socket.c:656
msgid "Warning: Issuer Organization Name too long (possibly truncated).\n"
msgstr ""
"Warnung: Herausgeber-Organisations-Name zu lang (möglicherweise "
"beschnitten).\n"
-#: socket.c:641
+#: socket.c:658
msgid "Unknown Organization\n"
msgstr "Unbekannte Organisation\n"
-#: socket.c:643
+#: socket.c:660
#, c-format
msgid "Issuer CommonName: %s\n"
msgstr "Herausgeber-CommonName: %s\n"
-#: socket.c:646
+#: socket.c:663
msgid "Warning: Issuer CommonName too long (possibly truncated).\n"
msgstr ""
"Warnung: Herausgeber-CommonName zu lang (möglicherweise beschnitten).\n"
-#: socket.c:648
+#: socket.c:665
msgid "Unknown Issuer CommonName\n"
msgstr "Unbekannter Herausgeber-CommonName\n"
-#: socket.c:654
+#: socket.c:671
#, c-format
msgid "Subject CommonName: %s\n"
msgstr "Subjekt-CommonName: %s\n"
-#: socket.c:660
+#: socket.c:677
msgid "Bad certificate: Subject CommonName too long!\n"
msgstr "Ungültiges Zertifikat: Server-CommonName zu lang!\n"
-#: socket.c:666
+#: socket.c:683
msgid "Bad certificate: Subject CommonName contains NUL, aborting!\n"
msgstr "Ungültiges Zertifikat: Subject-CommonName enthält NUL, breche ab!\n"
-#: socket.c:694
+#: socket.c:711
#, c-format
msgid "Subject Alternative Name: %s\n"
msgstr "Subject Alternative Name: %s\n"
-#: socket.c:700
+#: socket.c:717
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:717
+#: socket.c:734
#, c-format
msgid "Server CommonName mismatch: %s != %s\n"
msgstr "Server-CommonName stimmt nicht überein: %s != %s\n"
-#: socket.c:724
+#: socket.c:741
msgid "Server name not set, could not verify certificate!\n"
msgstr "Server-Name nicht gesetzt, konnte Zertifikat nicht verifizieren!\n"
-#: socket.c:729
+#: socket.c:746
msgid "Unknown Server CommonName\n"
msgstr "Unbekannter Server-CommonName\n"
-#: socket.c:731
+#: socket.c:748
msgid "Server name not specified in certificate!\n"
msgstr "Server-Name nicht in Zertifikat spezifiziert!\n"
-#: socket.c:743
+#: socket.c:760
msgid "EVP_md5() failed!\n"
msgstr "EVP_md5() fehlgeschlagen!\n"
-#: socket.c:747
+#: socket.c:764
msgid "Out of memory!\n"
msgstr "Kein Speicher mehr frei!\n"
-#: socket.c:755
+#: socket.c:772
msgid "Digest text buffer too small!\n"
msgstr "Textpuffer für Digest zu klein!\n"
-#: socket.c:761
+#: socket.c:778
#, c-format
msgid "%s key fingerprint: %s\n"
msgstr "%s-Schlüssel-Fingerabdruck: %s\n"
-#: socket.c:765
+#: socket.c:782
#, c-format
msgid "%s fingerprints match.\n"
msgstr "%s-Fingerabdrücke stimmen überein.\n"
-#: socket.c:767
+#: socket.c:784
#, c-format
msgid "%s fingerprints do not match!\n"
msgstr "%s-Fingerabdrücke stimmen nicht überein!\n"
-#: socket.c:779
+#: socket.c:796
#, c-format
msgid "Server certificate verification error: %s\n"
msgstr "Fehler bei Server-Zertifikat-Überprüfung: %s\n"
-#: socket.c:794
+#: socket.c:811
#, c-format
msgid "Broken certification chain at: %s\n"
msgstr "Unterbrochene Zertifizierungskette bei: %s\n"
-#: socket.c:796
+#: socket.c:813
msgid ""
"This could mean that the server did not provide the intermediate CA's "
"certificate(s), which is nothing fetchmail could do anything about. For "
@@ -3190,12 +3206,12 @@ msgstr ""
"nichts ändern. Für weitere Information, siehe das mit Fetchmail "
"ausgelieferte Dokument README.SSL-SERVER.\n"
-#: socket.c:806
+#: socket.c:823
#, c-format
msgid "Missing trust anchor certificate: %s\n"
msgstr "Fehlendes Zertifikat als Vertrauensquelle: %s\n"
-#: socket.c:809
+#: socket.c:826
msgid ""
"This could mean that the root CA's signing certificate is not in the trusted "
"CA certificate location, or that c_rehash needs to be run on the certificate "
@@ -3207,37 +3223,69 @@ msgstr ""
"Verzeichnis ausgeführt werden muss. Details sind in der fetchmail-"
"Handbuchseite im bei --sslcertpath beschrieben.\n"
-#: socket.c:903
-msgid "File descriptor out of range for SSL"
-msgstr "Datei-Deskriptor außerhalb des Bereichs für SSL"
-
-#: socket.c:915
+#: socket.c:895 socket.c:958
msgid "Your OpenSSL version does not support SSLv3.\n"
msgstr "Ihre OpenSSL-Version unterstützt SSLv3 nicht.\n"
-#: socket.c:934
+#: socket.c:913 socket.c:976
+msgid "Your OpenSSL version does not support TLS v1.1.\n"
+msgstr "Ihre OpenSSL-Version unterstützt TLS v1.1 nicht.\n"
+
+#: socket.c:924 socket.c:988
+msgid "Your OpenSSL version does not support TLS v1.2.\n"
+msgstr "Ihre OpenSSL-Version unterstützt TLS v1.2 nicht.\n"
+
+#: socket.c:933 socket.c:997
+#, c-format
+msgid "Invalid SSL protocol '%s' specified, using default autoselect (auto).\n"
+msgstr "Ungültiges SSL-Protokoll „%s“ angegeben, benutze Voreinstellung automatische Wahl (auto).\n"
+
+#: socket.c:1025
#, c-format
msgid ""
-"Invalid SSL protocol '%s' specified, using default autoselect (SSL23).\n"
-msgstr ""
-"Ungültiges SSL-Protokoll „%s“ angegeben, benutze Voreinstellung automatische "
-"Wahl (SSL23).\n"
+"Loaded OpenSSL library %#lx older than headers %#lx, refusing to work.\n"
+msgstr "Geladene OpenSSL-Bibliothek %#lx is älter als Header %#lx, verweigere Arbeit.\n"
+
+#: socket.c:1030
+#, c-format
+msgid ""
+"Loaded OpenSSL library %#lx newer than headers %#lx, trying to continue.\n"
+msgstr "Geladene OpenSSL-Bibliothek %#lx neuer als Header %#lx, versuche, weiterzumachen.\n"
+
+#: socket.c:1050
+msgid "File descriptor out of range for SSL"
+msgstr "Datei-Deskriptor außerhalb des Bereichs für SSL"
+
+#: socket.c:1070
+msgid ""
+"Note that some distributions disable older protocol versions in weird non-"
+"standard ways. Try a newer protocol version.\n"
+msgstr "Beachte, dass einige Distributionen alte Protokollversionen auf schräge, nicht-standardisierte Weisen abschalten. Versuchen Sie eine neuere Protokollversion.\n"
+
+#: socket.c:1158
+msgid "Server shut down connection prematurely during SSL_connect().\n"
+msgstr "Der Server hat die Verbindung bei SSL_connect() vorzeitig geschlossen.\n"
-#: socket.c:1041
+#: socket.c:1160
+#, c-format
+msgid "System error during SSL_connect(): %s\n"
+msgstr "Systemfehler während SSL_connect(): %s\n"
+
+#: socket.c:1180
msgid "Cannot obtain current SSL/TLS cipher - no session established?\n"
msgstr ""
"Kann aktuelle SSL/TLS-Chiffre nicht ermitteln - keine Sitzung aufgebaut?\n"
-#: socket.c:1044
+#: socket.c:1183
#, c-format
msgid "SSL/TLS: using protocol %s, cipher %s, %d/%d secret/processed bits\n"
msgstr "SSL/TLS: Protokoll %s, Chiffre %s, %d/%d geheime/verarbeitete bits\n"
-#: socket.c:1051
+#: socket.c:1190
msgid "Certificate/fingerprint verification was somehow skipped!\n"
msgstr "Zertifikat-/Fingerabdruck-Überprüfung wurde irgendwie übersprungen!\n"
-#: socket.c:1068
+#: socket.c:1207
msgid ""
"Warning: the connection is insecure, continuing anyways. (Better use --"
"sslcertck!)\n"
@@ -3245,11 +3293,11 @@ msgstr ""
"Warnung: Die Verbindung ist unsicher, mache trotzdem weiter. (Nehmen Sie "
"lieber --sslcertck!)\n"
-#: socket.c:1110
+#: socket.c:1249
msgid "Cygwin socket read retry\n"
msgstr "Cygwin-Socket-Lese-Wiederholung\n"
-#: socket.c:1113
+#: socket.c:1252
msgid "Cygwin socket read retry failed!\n"
msgstr "Cygwin-Socket-Lese-Wiederholung fehlgeschlagen!\n"
@@ -3440,6 +3488,3 @@ msgstr "malloc fehlgeschlagen\n"
#: xmalloc.c:47
msgid "realloc failed\n"
msgstr "realloc fehlgeschlagen\n"
-
-#~ msgid "Your OpenSSL version does not support SSLv2.\n"
-#~ msgstr "Ihre OpenSSL-Version unterstützt SSLv2 nicht.\n"
diff --git a/socket.c b/socket.c
index 1fe63012..f6a3b19c 100644
--- a/socket.c
+++ b/socket.c
@@ -372,6 +372,7 @@ va_dcl {
}
#ifdef SSL_ENABLE
+#define OPENSSL_NO_DEPRECATED 23
#include <openssl/ssl.h>
#include <openssl/err.h>
#include <openssl/pem.h>
@@ -380,6 +381,10 @@ va_dcl {
#define fm_MIN_OPENSSL_VER 0x1000200fL
+#ifdef LIBRESSL_VERSION_NUMBER
+#pragma message "WARNING - LibreSSL is unsupported. Use at your own risk."
+#endif
+
#if OPENSSL_VERSION_NUMBER < fm_MIN_OPENSSL_VER
#error Your OpenSSL version must be at least 1.0.2 release. Older OpenSSL versions are unsupported.
#else
@@ -878,6 +883,125 @@ static const char *SSLCertGetCN(const char *mycert,
return ret;
}
+#if defined(LIBRESSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x1010000fL
+/* OSSL_proto_version_logic for OpenSSL 1.0.x and LibreSSL */
+static int OSSL10X_proto_version_logic(int sock, const char **myproto, int *avoid_ssl_versions)
+{
+ if (!strcasecmp("ssl3", *myproto)) {
+#if (HAVE_DECL_SSLV3_CLIENT_METHOD > 0) && (0 == OPENSSL_NO_SSL3 + 0)
+ _ctx[sock] = SSL_CTX_new(SSLv3_client_method());
+ *avoid_ssl_versions &= ~SSL_OP_NO_SSLv3;
+#else
+ report(stderr, GT_("Your OpenSSL version does not support SSLv3.\n"));
+ return -1;
+#endif
+ } else if (!strcasecmp("ssl3+", *myproto)) {
+ *avoid_ssl_versions &= ~SSL_OP_NO_SSLv3;
+ *myproto = NULL;
+ } else if (!strcasecmp("tls1", *myproto)) {
+ _ctx[sock] = SSL_CTX_new(TLSv1_client_method());
+ } else if (!strcasecmp("tls1+", *myproto)) {
+ *myproto = NULL;
+#if defined(TLS1_1_VERSION)
+ } else if (!strcasecmp("tls1.1", *myproto)) {
+ _ctx[sock] = SSL_CTX_new(TLSv1_1_client_method());
+ } else if (!strcasecmp("tls1.1+", *myproto)) {
+ *myproto = NULL;
+ *avoid_ssl_versions |= SSL_OP_NO_TLSv1;
+#else
+ } else if(!strcasecmp("tls1.1",*myproto) || !strcasecmp("tls1.1+", *myproto)) {
+ report(stderr, GT_("Your OpenSSL version does not support TLS v1.1.\n"));
+ return -1;
+#endif
+#if defined(TLS1_2_VERSION)
+ } else if (!strcasecmp("tls1.2", *myproto)) {
+ _ctx[sock] = SSL_CTX_new(TLSv1_2_client_method());
+ } else if (!strcasecmp("tls1.2+", *myproto)) {
+ *myproto = NULL;
+ *avoid_ssl_versions |= SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1;
+#else
+ } else if(!strcasecmp("tls1.2",*myproto) || !strcasecmp("tls1.2+", *myproto)) {
+ report(stderr, GT_("Your OpenSSL version does not support TLS v1.2.\n"));
+ return -1;
+#endif
+ } else if (!strcasecmp("ssl23", *myproto)
+ || 0 == strcasecmp("auto", *myproto))
+ {
+ *myproto = NULL;
+ } else {
+ report(stderr,
+ GT_("Invalid SSL protocol '%s' specified, using default autoselect (auto).\n"),
+ *myproto);
+ *myproto = NULL;
+ }
+ return 0;
+}
+#define OSSL_proto_version_logic(a,b,c) OSSL10X_proto_version_logic((a),(b),(c))
+#else
+/* implementation for OpenSSL 1.1.0 */
+static int OSSL110_proto_version_logic(int sock, const char **myproto,
+ int *avoid_ssl_versions)
+{
+ _ctx[sock] = SSL_CTX_new(TLS_client_method());
+ SSL_CTX_set_min_proto_version(_ctx[sock], TLS1_VERSION);
+
+ if (!*myproto) {
+ *myproto = "auto";
+ }
+
+ if (!strcasecmp("ssl3", *myproto)) {
+#if (0 == OPENSSL_NO_SSL3 + 0)
+ SSL_CTX_set_min_proto_version(_ctx[sock], SSL3_VERSION);
+ SSL_CTX_set_max_proto_version(_ctx[sock], SSL3_VERSION);
+ *avoid_ssl_versions &= ~SSL_OP_NO_SSLv3;
+#else
+ report(stderr, GT_("Your OpenSSL version does not support SSLv3.\n"));
+ return -1;
+#endif
+ } else if (!strcasecmp("ssl3+", *myproto)) {
+ SSL_CTX_set_min_proto_version(_ctx[sock], SSL3_VERSION);
+ *avoid_ssl_versions &= ~SSL_OP_NO_SSLv3;
+ } else if (!strcasecmp("tls1", *myproto)) {
+ SSL_CTX_set_max_proto_version(_ctx[sock], TLS1_VERSION);
+ } else if (!strcasecmp("tls1+", *myproto)) {
+ /* do nothing, min_proto_version is already at TLS1_VERSION */
+#if defined(TLS1_1_VERSION)
+ } else if (!strcasecmp("tls1.1", *myproto)) {
+ SSL_CTX_set_min_proto_version(_ctx[sock], TLS1_1_VERSION);
+ SSL_CTX_set_max_proto_version(_ctx[sock], TLS1_1_VERSION);
+ } else if (!strcasecmp("tls1.1+", *myproto)) {
+ SSL_CTX_set_min_proto_version(_ctx[sock], TLS1_1_VERSION);
+#else
+ } else if(!strcasecmp("tls1.1",*myproto) || !strcasecmp("tls1.1+", *myproto)) {
+ report(stderr, GT_("Your OpenSSL version does not support TLS v1.1.\n"));
+ return -1;
+#endif
+#if defined(TLS1_2_VERSION)
+ } else if (!strcasecmp("tls1.2", *myproto)) {
+ SSL_CTX_set_min_proto_version(_ctx[sock], TLS1_2_VERSION);
+ SSL_CTX_set_max_proto_version(_ctx[sock], TLS1_2_VERSION);
+ } else if (!strcasecmp("tls1.2+", *myproto)) {
+ SSL_CTX_set_min_proto_version(_ctx[sock], TLS1_2_VERSION);
+ *myproto = NULL;
+#else
+ } else if(!strcasecmp("tls1.2",*myproto) || !strcasecmp("tls1.2+", *myproto)) {
+ report(stderr, GT_("Your OpenSSL version does not support TLS v1.2.\n"));
+ return -1;
+#endif
+ } else if (!strcasecmp("ssl23", *myproto)
+ || 0 == strcasecmp("auto", *myproto))
+ {
+ /* do nothing */
+ } else {
+ report(stderr,
+ GT_("Invalid SSL protocol '%s' specified, using default autoselect (auto).\n"),
+ *myproto);
+ }
+ return 0;
+}
+#define OSSL_proto_version_logic(a,b,c) OSSL110_proto_version_logic((a),(b),(c))
+#endif
+
/* performs initial SSL handshake over the connected socket
* uses SSL *ssl global variable, which is currently defined
* in this file
@@ -929,51 +1053,9 @@ int SSLOpen(int sock, char *mycert, char *mykey, const char *myproto, int certck
/* Make sure a connection referring to an older context is not left */
_ssl_context[sock] = NULL;
- if(myproto) {
- if(!strcasecmp("ssl3",myproto)) {
-#if (HAVE_DECL_SSLV3_CLIENT_METHOD > 0) && (0 == OPENSSL_NO_SSL3 + 0)
- _ctx[sock] = SSL_CTX_new(SSLv3_client_method());
- avoid_ssl_versions &= ~SSL_OP_NO_SSLv3;
-#else
- report(stderr, GT_("Your OpenSSL version does not support SSLv3.\n"));
- return -1;
-#endif
- } else if(!strcasecmp("ssl3+",myproto)) {
- avoid_ssl_versions &= ~SSL_OP_NO_SSLv3;
- myproto = NULL;
- } else if(!strcasecmp("tls1",myproto)) {
- _ctx[sock] = SSL_CTX_new(TLSv1_client_method());
- } else if(!strcasecmp("tls1+",myproto)) {
- myproto = NULL;
-#if defined(TLS1_1_VERSION)
- } else if(!strcasecmp("tls1.1",myproto)) {
- _ctx[sock] = SSL_CTX_new(TLSv1_1_client_method());
- } else if(!strcasecmp("tls1.1+",myproto)) {
- myproto = NULL;
- avoid_ssl_versions |= SSL_OP_NO_TLSv1;
-#else
- } else if(!strcasecmp("tls1.1",myproto) || !strcasecmp("tls1.1+", myproto)) {
- report(stderr, GT_("Your OpenSSL version does not support TLS v1.1.\n"));
- return -1;
-#endif
-#if defined(TLS1_2_VERSION)
- } else if(!strcasecmp("tls1.2",myproto)) {
- _ctx[sock] = SSL_CTX_new(TLSv1_2_client_method());
- } else if(!strcasecmp("tls1.2+",myproto)) {
- myproto = NULL;
- avoid_ssl_versions |= SSL_OP_NO_TLSv1;
- avoid_ssl_versions |= SSL_OP_NO_TLSv1_1;
-#else
- } else if(!strcasecmp("tls1.2",myproto) || !strcasecmp("tls1.2+", myproto)) {
- report(stderr, GT_("Your OpenSSL version does not support TLS v1.2.\n"));
- return -1;
-#endif
- } else if (!strcasecmp("ssl23",myproto) || 0 == strcasecmp("auto",myproto)) {
- myproto = NULL;
- } else {
- report(stderr,GT_("Invalid SSL protocol '%s' specified, using default autoselect (SSL23).\n"), myproto);
- myproto = NULL;
- }
+ {
+ int rc = OSSL_proto_version_logic(sock, &myproto, &avoid_ssl_versions);
+ if (rc) return rc;
}
/* do not combine into an else { } as myproto may be nulled above! */
if (!myproto) {
@@ -982,7 +1064,11 @@ int SSLOpen(int sock, char *mycert, char *mykey, const char *myproto, int certck
_ctx[sock] = SSL_CTX_new(SSLv23_client_method());
}
if(_ctx[sock] == NULL) {
+ unsigned long ec = ERR_peek_last_error();
ERR_print_errors_fp(stderr);
+ if (ERR_GET_REASON(ec) == SSL_R_NULL_SSL_METHOD_PASSED) {
+ report(stderr, GT_("Note that some distributions disable older protocol versions in weird non-standard ways. Try a newer protocol version.\n"));
+ }
return(-1);
}