Accepting request 737166 from home:pmonrealgonzalez:branches:server:mail
- Update to 6.4.1 [bsc#1152964] ## REGRESSION FIXES: * The bug fix Debian Bug#941129 was incomplete and caused - a regression in the default file locations, so that fetchmail was no longer able to find its configuration files in some situations. - a regression under _FORTIFY_SOURCE where PATH_MAX > minimal _POSIX_PATH_MAX. - Update to 6.4.0 ## SECURITY FIXES THAT AFFECT BEHAVIOUR AND MAY REQUIRE RECONFIGURATION * Fetchmail no longer supports SSLv2. * Fetchmail no longer attempts to negotiate SSLv3 by default, even with --sslproto ssl23. Fetchmail can now use SSLv3, or TLSv1.1 or a newer TLS version, with STLS/STARTTLS (it would previously force TLSv1.0 with STARTTLS). If the OpenSSL version used at build and run-time supports these versions, --sslproto ssl3 and --sslproto ssl3+ can be used to re-enable SSLv3. Doing so is discouraged because the SSLv3 protocol is broken. While this change is supposed to be compatible with common configurations, users may have to and are advised to change all explicit --sslproto ssl2 (change to newer protocols required), --sslproto ssl3, --sslproto tls1 to --sslproto auto, so that they can benefit from TLSv1.1 and TLSv1.2 where supported by the server. The --sslproto option now understands the values auto, ssl3+, tls1+, tls1.1, tls1.1+, tls1.2, tls1.2+, tls1.3, tls1.3+ (case insensitively), see CHANGES below for details. * Fetchmail defaults to --sslcertck behaviour. A new option --nosslcertck to override this has been added, but may be removed in future fetchmail versions in favour of another configuration option that makes the insecurity in using this option clearer. ## SECURITY FIXES * Fetchmail prevents buffer overruns in GSSAPI authentication with user names beyond c. 6000 characters in length. Reported by Greg Hudson. OBS-URL: https://build.opensuse.org/request/show/737166 OBS-URL: https://build.opensuse.org/package/show/server:mail/fetchmail?expand=0&rev=88
This commit is contained in:
parent
17efa87819
commit
790324228f
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:79b4c54cdbaf02c1a9a691d9948fcb1a77a1591a813e904283a8b614b757e850
|
||||
size 1283816
|
@ -1,7 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1.4.11 (GNU/Linux)
|
||||
|
||||
iEYEABECAAYFAlF2/zAACgkQvmGDOQUufZU65ACgsCpaBSklzY/wF9lYX8xLeOPZ
|
||||
KFAAniIj07N3WeMmWtOHUcmqbJjbl0QU
|
||||
=3T6y
|
||||
-----END PGP SIGNATURE-----
|
@ -6,11 +6,11 @@
|
||||
# be considered that important.
|
||||
# 2) use the 501 error code to mark spam - in such a case
|
||||
# the 'antispam' option should be used
|
||||
Index: fetchmail-6.3.10-beta1/sink.c
|
||||
Index: fetchmail-6.4.1/sink.c
|
||||
===================================================================
|
||||
--- fetchmail-6.3.10-beta1.orig/sink.c 2009-05-25 17:55:07.000000000 +0200
|
||||
+++ fetchmail-6.3.10-beta1/sink.c 2009-06-01 14:37:12.000000000 +0200
|
||||
@@ -553,6 +553,19 @@ static int handle_smtp_report(struct que
|
||||
--- fetchmail-6.4.1.orig/sink.c
|
||||
+++ fetchmail-6.4.1/sink.c
|
||||
@@ -536,6 +536,19 @@ static int handle_smtp_report(struct que
|
||||
free(responses[0]);
|
||||
return(PS_TRANSIENT);
|
||||
|
||||
@ -30,8 +30,8 @@ Index: fetchmail-6.3.10-beta1/sink.c
|
||||
default:
|
||||
/* bounce non-transient errors back to the sender */
|
||||
if (smtperr >= 500 && smtperr <= 599)
|
||||
@@ -622,7 +635,7 @@ static int handle_smtp_report_without_bo
|
||||
#endif /* __DONT_FEED_THE_SPAMMERS__ */
|
||||
@@ -601,7 +614,7 @@ static int handle_smtp_report_without_bo
|
||||
case 553: /* invalid sending domain */
|
||||
return(PS_REFUSED);
|
||||
|
||||
- default:
|
||||
|
3
fetchmail-6.4.1.tar.xz
Normal file
3
fetchmail-6.4.1.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3f33f11dd08c3e8cc3e9d18eec686b1626d4818f4d5a72791507bbc4dce6a9a0
|
||||
size 1257488
|
File diff suppressed because it is too large
Load Diff
@ -1,280 +0,0 @@
|
||||
From ff279a5697992730bc885ddd171456c06c09fb10 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Martin <s.martin49@gmail.com>
|
||||
Date: Wed, 8 Jun 2016 21:36:29 +0200
|
||||
Subject: [PATCH] fetchmailconf.py: make fetchmailconf.py python{2, 3}-compliant
|
||||
|
||||
This change does:
|
||||
- use repr(...) instead of `...` (see [1]);
|
||||
- fix print call;
|
||||
- fix octal numbers.
|
||||
|
||||
[1] https://docs.python.org/release/3.0.1/whatsnew/3.0.html#removed-syntax
|
||||
|
||||
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
|
||||
---
|
||||
fetchmailconf.py | 94 ++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------
|
||||
1 file changed, 48 insertions(+), 46 deletions(-)
|
||||
|
||||
diff --git a/fetchmailconf.py b/fetchmailconf.py
|
||||
index d64556e..697e4f7 100755
|
||||
--- a/fetchmailconf.py
|
||||
+++ b/fetchmailconf.py
|
||||
@@ -5,6 +5,8 @@
|
||||
# Matthias Andree <matthias.andree@gmx.de>
|
||||
# Requires Python with Tkinter, and the following OS-dependent services:
|
||||
# posix, posixpath, socket
|
||||
+from __future__ import print_function
|
||||
+
|
||||
version = "1.57"
|
||||
|
||||
from Tkinter import *
|
||||
@@ -64,7 +66,7 @@ class Configuration:
|
||||
if self.properties != ConfigurationDefaults.properties:
|
||||
str = str + ("set properties \"%s\"\n" % (self.properties,));
|
||||
if self.poll_interval > 0:
|
||||
- str = str + "set daemon " + `self.poll_interval` + "\n"
|
||||
+ str = str + "set daemon " + repr(self.poll_interval) + "\n"
|
||||
if self.invisible:
|
||||
str = str + ("set invisible\n")
|
||||
for site in self.servers:
|
||||
@@ -145,12 +147,12 @@ class Server:
|
||||
if self.service and self.protocol and self.service != defaultports[self.protocol] and defaultports[self.protocol] and self.service != ianaservices[defaultports[self.protocol]]:
|
||||
res = res + " service " + self.service
|
||||
if self.timeout != ServerDefaults.timeout:
|
||||
- res = res + " timeout " + `self.timeout`
|
||||
+ res = res + " timeout " + repr(self.timeout)
|
||||
if self.interval != ServerDefaults.interval:
|
||||
- res = res + " interval " + `self.interval`
|
||||
+ res = res + " interval " + repr(self.interval)
|
||||
if self.envelope != ServerDefaults.envelope or self.envskip != ServerDefaults.envskip:
|
||||
if self.envskip:
|
||||
- res = res + " envelope " + `self.envskip` + " " + self.envelope
|
||||
+ res = res + " envelope " + repr(self.envskip) + " " + self.envelope
|
||||
else:
|
||||
res = res + " envelope " + self.envelope
|
||||
if self.qvirtual:
|
||||
@@ -189,15 +191,15 @@ class Server:
|
||||
if self.monitor:
|
||||
res = res + " monitor " + str(self.monitor)
|
||||
if self.plugin:
|
||||
- res = res + " plugin " + `self.plugin`
|
||||
+ res = res + " plugin " + repr(self.plugin)
|
||||
if self.plugout:
|
||||
- res = res + " plugout " + `self.plugout`
|
||||
+ res = res + " plugout " + repr(self.plugout)
|
||||
if self.principal:
|
||||
- res = res + " principal " + `self.principal`
|
||||
+ res = res + " principal " + repr(self.principal)
|
||||
if self.esmtpname:
|
||||
- res = res + " esmtpname " + `self.esmtpname`
|
||||
+ res = res + " esmtpname " + repr(self.esmtpname)
|
||||
if self.esmtppassword:
|
||||
- res = res + " esmtppassword " + `self.esmtppassword`
|
||||
+ res = res + " esmtppassword " + repr(self.esmtppassword)
|
||||
if self.interface or self.monitor or self.principal or self.plugin or self.plugout:
|
||||
if folded:
|
||||
res = res + "\n"
|
||||
@@ -230,7 +232,7 @@ class User:
|
||||
elif os.environ.has_key("LOGNAME"):
|
||||
self.remote = os.environ["LOGNAME"]
|
||||
else:
|
||||
- print "Can't get your username!"
|
||||
+ print("Can't get your username!")
|
||||
sys.exit(1)
|
||||
self.localnames = [self.remote,]# Local names
|
||||
self.password = None # Password for mail account access
|
||||
@@ -316,13 +318,13 @@ class User:
|
||||
|
||||
def __repr__(self):
|
||||
res = " "
|
||||
- res = res + "user " + `self.remote` + " there ";
|
||||
+ res = res + "user " + repr(self.remote) + " there ";
|
||||
if self.password:
|
||||
- res = res + "with password " + `self.password` + " "
|
||||
+ res = res + "with password " + repr(self.password) + " "
|
||||
if self.localnames:
|
||||
res = res + "is"
|
||||
for x in self.localnames:
|
||||
- res = res + " " + `x`
|
||||
+ res = res + " " + repr(x)
|
||||
res = res + " here"
|
||||
if (self.keep != UserDefaults.keep
|
||||
or self.flush != UserDefaults.flush
|
||||
@@ -362,35 +364,35 @@ class User:
|
||||
if self.idle != UserDefaults.idle:
|
||||
res = res + flag2str(self.idle, 'idle')
|
||||
if self.limit != UserDefaults.limit:
|
||||
- res = res + " limit " + `self.limit`
|
||||
+ res = res + " limit " + repr(self.limit)
|
||||
if self.warnings != UserDefaults.warnings:
|
||||
- res = res + " warnings " + `self.warnings`
|
||||
+ res = res + " warnings " + repr(self.warnings)
|
||||
if self.fetchlimit != UserDefaults.fetchlimit:
|
||||
- res = res + " fetchlimit " + `self.fetchlimit`
|
||||
+ res = res + " fetchlimit " + repr(self.fetchlimit)
|
||||
if self.fetchsizelimit != UserDefaults.fetchsizelimit:
|
||||
- res = res + " fetchsizelimit " + `self.fetchsizelimit`
|
||||
+ res = res + " fetchsizelimit " + repr(self.fetchsizelimit)
|
||||
if self.fastuidl != UserDefaults.fastuidl:
|
||||
- res = res + " fastuidl " + `self.fastuidl`
|
||||
+ res = res + " fastuidl " + repr(self.fastuidl)
|
||||
if self.batchlimit != UserDefaults.batchlimit:
|
||||
- res = res + " batchlimit " + `self.batchlimit`
|
||||
+ res = res + " batchlimit " + repr(self.batchlimit)
|
||||
if self.ssl and self.ssl != UserDefaults.ssl:
|
||||
res = res + flag2str(self.ssl, 'ssl')
|
||||
if self.sslkey and self.sslkey != UserDefaults.sslkey:
|
||||
- res = res + " sslkey " + `self.sslkey`
|
||||
+ res = res + " sslkey " + repr(self.sslkey)
|
||||
if self.sslcert and self.sslcert != UserDefaults.sslcert:
|
||||
- res = res + " sslcert " + `self.sslcert`
|
||||
+ res = res + " sslcert " + repr(self.sslcert)
|
||||
if self.sslproto and self.sslproto != UserDefaults.sslproto:
|
||||
- res = res + " sslproto " + `self.sslproto`
|
||||
+ res = res + " sslproto " + repr(self.sslproto)
|
||||
if self.sslcertck and self.sslcertck != UserDefaults.sslcertck:
|
||||
res = res + flag2str(self.sslcertck, 'sslcertck')
|
||||
if self.sslcertpath and self.sslcertpath != UserDefaults.sslcertpath:
|
||||
- res = res + " sslcertpath " + `self.sslcertpath`
|
||||
+ res = res + " sslcertpath " + repr(self.sslcertpath)
|
||||
if self.sslcommonname and self.sslcommonname != UserDefaults.sslcommonname:
|
||||
- res = res + " sslcommonname " + `self.sslcommonname`
|
||||
+ res = res + " sslcommonname " + repr(self.sslcommonname)
|
||||
if self.sslfingerprint and self.sslfingerprint != UserDefaults.sslfingerprint:
|
||||
- res = res + " sslfingerprint " + `self.sslfingerprint`
|
||||
+ res = res + " sslfingerprint " + repr(self.sslfingerprint)
|
||||
if self.expunge != UserDefaults.expunge:
|
||||
- res = res + " expunge " + `self.expunge`
|
||||
+ res = res + " expunge " + repr(self.expunge)
|
||||
res = res + "\n"
|
||||
trimmed = self.smtphunt;
|
||||
if trimmed != [] and trimmed[len(trimmed) - 1] == "localhost":
|
||||
@@ -417,7 +419,7 @@ class User:
|
||||
res = res + "\n"
|
||||
for fld in ('smtpaddress', 'preconnect', 'postconnect', 'mda', 'bsmtp', 'properties'):
|
||||
if getattr(self, fld):
|
||||
- res = res + " %s %s\n" % (fld, `getattr(self, fld)`)
|
||||
+ res = res + " %s %s\n" % (fld, repr(getattr(self, fld)))
|
||||
if self.lmtp != UserDefaults.lmtp:
|
||||
res = res + flag2str(self.lmtp, 'lmtp')
|
||||
if self.antispam != UserDefaults.antispam:
|
||||
@@ -904,15 +906,15 @@ class ConfigurationEdit(Frame, MyWidget):
|
||||
# Pre-1.5.2 compatibility...
|
||||
except os.error:
|
||||
pass
|
||||
- oldumask = os.umask(077)
|
||||
+ oldumask = os.umask(0o77)
|
||||
fm = open(self.outfile, 'w')
|
||||
os.umask(oldumask)
|
||||
if fm:
|
||||
# be paranoid
|
||||
if fm != sys.stdout:
|
||||
- os.chmod(self.outfile, 0600)
|
||||
+ os.chmod(self.outfile, 0o600)
|
||||
fm.write("# Configuration created %s by fetchmailconf %s\n" % (time.ctime(time.time()), version))
|
||||
- fm.write(`self.configuration`)
|
||||
+ fm.write(repr(self.configuration))
|
||||
if self.outfile:
|
||||
fm.close()
|
||||
self.destruct()
|
||||
@@ -1988,15 +1990,15 @@ def copy_instance(toclass, fromdict):
|
||||
if 'typemap' in class_sig:
|
||||
class_sig.remove('typemap')
|
||||
if tuple(class_sig) != tuple(dict_keys):
|
||||
- print "Fields don't match what fetchmailconf expected:"
|
||||
-# print "Class signature: " + `class_sig`
|
||||
-# print "Dictionary keys: " + `dict_keys`
|
||||
+ print("Fields don't match what fetchmailconf expected:")
|
||||
+# print("Class signature: " + repr(class_sig))
|
||||
+# print("Dictionary keys: " + repr(dict_keys))
|
||||
diff = setdiff(class_sig, common)
|
||||
if diff:
|
||||
- print "Not matched in class `" + toclass.__class__.__name__ + "' signature: " + `diff`
|
||||
+ print("Not matched in class `" + toclass.__class__.__name__ + "' signature: " + repr(diff))
|
||||
diff = setdiff(dict_keys, common)
|
||||
if diff:
|
||||
- print "Not matched in dictionary keys: " + `diff`
|
||||
+ print("Not matched in dictionary keys: " + repr(diff))
|
||||
sys.exit(1)
|
||||
else:
|
||||
for x in fromdict.keys():
|
||||
@@ -2028,7 +2030,7 @@ def copy_instance(toclass, fromdict):
|
||||
if __name__ == '__main__':
|
||||
|
||||
if not os.environ.has_key("DISPLAY"):
|
||||
- print "fetchmailconf must be run under X"
|
||||
+ print("fetchmailconf must be run under X")
|
||||
sys.exit(1)
|
||||
|
||||
fetchmail_icon = """
|
||||
@@ -2068,7 +2070,7 @@ gUSiYASJpMEHhilJTEnhAlGoQqYAZQ1AiqEMZ0jDGtqQImhwwA13yMMevoQAGvGhEAWHGMOAAAA7
|
||||
# The base64 data in the string above was generated by the following procedure:
|
||||
#
|
||||
# import base64
|
||||
-# print base64.encodestring(open("fetchmail.gif", "rb").read())
|
||||
+# print(base64.encodestring(open("fetchmail.gif", "rb").read()))
|
||||
#
|
||||
|
||||
# Process options
|
||||
@@ -2081,22 +2083,22 @@ gUSiYASJpMEHhilJTEnhAlGoQqYAZQ1AiqEMZ0jDGtqQImhwwA13yMMevoQAGvGhEAWHGMOAAAA7
|
||||
elif (switch == '-f'):
|
||||
rcfile = val
|
||||
elif (switch == '-h' or switch == '--help'):
|
||||
- print """
|
||||
+ print("""
|
||||
Usage: fetchmailconf {[-d] [-f fetchmailrc]|-h|--help|-V|--version}
|
||||
-d - dump configuration (for debugging)
|
||||
-f fmrc - read alternate fetchmailrc file
|
||||
--help, -h - print this help text and quit
|
||||
--version, -V - print fetchmailconf version and quit
|
||||
-"""
|
||||
+""")
|
||||
sys.exit(0)
|
||||
elif (switch == '-V' or switch == '--version'):
|
||||
- print "fetchmailconf %s" % version
|
||||
- print """
|
||||
+ print("fetchmailconf %s" % version)
|
||||
+ print("""
|
||||
Copyright (C) 1997 - 2003 Eric S. Raymond
|
||||
Copyright (C) 2005, 2006, 2008, 2009 Matthias Andree
|
||||
fetchmailconf comes with ABSOLUTELY NO WARRANTY. This is free software, you are
|
||||
welcome to redistribute it under certain conditions. Please see the file
|
||||
-COPYING in the source or documentation directory for details."""
|
||||
+COPYING in the source or documentation directory for details.""")
|
||||
sys.exit(0)
|
||||
|
||||
# Get client host's FQDN
|
||||
@@ -2119,17 +2121,17 @@ COPYING in the source or documentation directory for details."""
|
||||
try:
|
||||
s = os.system(cmd)
|
||||
if s != 0:
|
||||
- print "`" + cmd + "' run failure, status " + `s`
|
||||
+ print("`" + cmd + "' run failure, status " + repr(s))
|
||||
raise SystemExit
|
||||
except:
|
||||
- print "Unknown error while running fetchmail --configdump"
|
||||
+ print("Unknown error while running fetchmail --configdump")
|
||||
os.remove(tmpfile)
|
||||
sys.exit(1)
|
||||
|
||||
try:
|
||||
execfile(tmpfile)
|
||||
except:
|
||||
- print "Can't read configuration output of fetchmail --configdump."
|
||||
+ print("Can't read configuration output of fetchmail --configdump.")
|
||||
os.remove(tmpfile)
|
||||
sys.exit(1)
|
||||
|
||||
@@ -2156,7 +2158,7 @@ COPYING in the source or documentation directory for details."""
|
||||
|
||||
# We may want to display the configuration and quit
|
||||
if dump:
|
||||
- print "This is a dump of the configuration we read:\n"+`Fetchmailrc`
|
||||
+ print("This is a dump of the configuration we read:\n" + repr(Fetchmailrc))
|
||||
|
||||
# The theory here is that -f alone sets the rcfile location,
|
||||
# but -d and -f together mean the new configuration should go to stdout.
|
||||
--
|
||||
libgit2 0.26.0
|
||||
|
@ -1,86 +0,0 @@
|
||||
From 1a405368c25f76db054fd3befa7fb72e7a5e1f2e Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Andree <matthias.andree@gmx.de>
|
||||
Date: Wed, 8 Jun 2016 22:34:23 +0200
|
||||
Subject: [PATCH] A few Python 3 compatibility fixes.
|
||||
|
||||
Still needs 2to3 to be run under Python 3.
|
||||
---
|
||||
fetchmailconf.py | 20 +++++++++++++-------
|
||||
1 file changed, 13 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/fetchmailconf.py b/fetchmailconf.py
|
||||
index 697e4f7..5c0b8ed 100755
|
||||
--- a/fetchmailconf.py
|
||||
+++ b/fetchmailconf.py
|
||||
@@ -5,12 +5,17 @@
|
||||
# Matthias Andree <matthias.andree@gmx.de>
|
||||
# Requires Python with Tkinter, and the following OS-dependent services:
|
||||
# posix, posixpath, socket
|
||||
+
|
||||
+# WARNING: this needs to be updated for fetchmail 6.4's SSL options,
|
||||
+# and other recent new options;
|
||||
+# WARNING: to be compatible with Python 3, needs to be run thru 2to3.py.
|
||||
from __future__ import print_function
|
||||
|
||||
-version = "1.57"
|
||||
+version = "1.58"
|
||||
|
||||
from Tkinter import *
|
||||
from Dialog import *
|
||||
+
|
||||
import sys, time, os, string, socket, getopt, tempfile
|
||||
|
||||
#
|
||||
@@ -227,9 +232,9 @@ class Server:
|
||||
|
||||
class User:
|
||||
def __init__(self):
|
||||
- if os.environ.has_key("USER"):
|
||||
+ if "USER" in os.environ:
|
||||
self.remote = os.environ["USER"] # Remote username
|
||||
- elif os.environ.has_key("LOGNAME"):
|
||||
+ elif "LOGNAME" in os.environ:
|
||||
self.remote = os.environ["LOGNAME"]
|
||||
else:
|
||||
print("Can't get your username!")
|
||||
@@ -1123,7 +1128,7 @@ class ServerEdit(Frame, MyWidget):
|
||||
self.subwidgets[username] = UserEdit(username, self).edit(mode, Toplevel())
|
||||
|
||||
def user_delete(self, username):
|
||||
- if self.subwidgets.has_key(username):
|
||||
+ if username in self.subwidgets:
|
||||
self.subwidgets[username].destruct()
|
||||
del self.server[username]
|
||||
|
||||
@@ -1627,7 +1632,7 @@ class UserEdit(Frame, MyWidget):
|
||||
|
||||
def destruct(self):
|
||||
# Yes, this test can fail -- if you delete the parent window.
|
||||
- if self.parent.subwidgets.has_key(self.user.remote):
|
||||
+ if self.user.remote in self.parent.subwidgets:
|
||||
del self.parent.subwidgets[self.user.remote]
|
||||
self.master.destroy()
|
||||
|
||||
@@ -2029,7 +2034,7 @@ def copy_instance(toclass, fromdict):
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
- if not os.environ.has_key("DISPLAY"):
|
||||
+ if "DISPLAY" not in os.environ:
|
||||
print("fetchmailconf must be run under X")
|
||||
sys.exit(1)
|
||||
|
||||
@@ -2130,8 +2135,9 @@ COPYING in the source or documentation directory for details.""")
|
||||
|
||||
try:
|
||||
execfile(tmpfile)
|
||||
- except:
|
||||
+ except Exception as e:
|
||||
print("Can't read configuration output of fetchmail --configdump.")
|
||||
+ print(repr(e))
|
||||
os.remove(tmpfile)
|
||||
sys.exit(1)
|
||||
|
||||
--
|
||||
libgit2 0.26.0
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,139 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 4 12:41:35 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez@suse.com>
|
||||
|
||||
- Update to 6.4.1 [bsc#1152964]
|
||||
## REGRESSION FIXES:
|
||||
* The bug fix Debian Bug#941129 was incomplete and caused
|
||||
- a regression in the default file locations, so that fetchmail was
|
||||
no longer able to find its configuration files in some situations.
|
||||
- a regression under _FORTIFY_SOURCE where PATH_MAX > minimal _POSIX_PATH_MAX.
|
||||
|
||||
- Update to 6.4.0
|
||||
## SECURITY FIXES THAT AFFECT BEHAVIOUR AND MAY REQUIRE RECONFIGURATION
|
||||
* Fetchmail no longer supports SSLv2.
|
||||
* Fetchmail no longer attempts to negotiate SSLv3 by default,
|
||||
even with --sslproto ssl23. Fetchmail can now use SSLv3, or TLSv1.1 or a newer
|
||||
TLS version, with STLS/STARTTLS (it would previously force TLSv1.0 with
|
||||
STARTTLS). If the OpenSSL version used at build and run-time supports these
|
||||
versions, --sslproto ssl3 and --sslproto ssl3+ can be used to re-enable SSLv3.
|
||||
Doing so is discouraged because the SSLv3 protocol is broken.
|
||||
While this change is supposed to be compatible with common configurations,
|
||||
users may have to and are advised to change all explicit --sslproto ssl2
|
||||
(change to newer protocols required), --sslproto ssl3, --sslproto tls1 to
|
||||
--sslproto auto, so that they can benefit from TLSv1.1 and TLSv1.2 where
|
||||
supported by the server.
|
||||
The --sslproto option now understands the values auto, ssl3+, tls1+, tls1.1,
|
||||
tls1.1+, tls1.2, tls1.2+, tls1.3, tls1.3+ (case insensitively), see CHANGES
|
||||
below for details.
|
||||
* Fetchmail defaults to --sslcertck behaviour. A new option --nosslcertck to
|
||||
override this has been added, but may be removed in future fetchmail versions
|
||||
in favour of another configuration option that makes the insecurity in using
|
||||
this option clearer.
|
||||
## SECURITY FIXES
|
||||
* Fetchmail prevents buffer overruns in GSSAPI authentication with user names
|
||||
beyond c. 6000 characters in length. Reported by Greg Hudson.
|
||||
## CHANGED REQUIREMENTS
|
||||
* fetchmail 6.4.0 is written in C99 and requires a SUSv3 (Single Unix
|
||||
Specification v3, a superset of POSIX.1-2001 aka. IEEE Std 1003.1-2001 with
|
||||
XSI extension) compliant system. For now, a C89 compiler should also work
|
||||
if the system is SUSv3 compliant.
|
||||
In particular, older fetchmail versions had workaround for several functions
|
||||
standardized in the Single Unix Specification v3, these have been removed.
|
||||
The trio/ library has been removed from the distribution.
|
||||
## CHANGES
|
||||
* fetchmail 6.3.X is unsupported.
|
||||
* fetchmail now configures OpenSSL support by default.
|
||||
* fetchmail now requires OpenSSL v1.0.2 or newer.
|
||||
* Fetchmail now supports --sslproto auto and --sslproto tls1+ (same as ssl23).
|
||||
* --sslproto tls1.1+, tls1.2+, and tls1.3+ are now supported for
|
||||
auto-negotiation with a minimum specified TLS protocol version, and --sslproto
|
||||
tls1.1, --sslproto tls1.2 and --sslproto tls1.3 to force the specified TLS
|
||||
protocol version. Note that tls1.3 requires OpenSSL v1.1.1 or newer.
|
||||
* Fetchmail now detects if the server hangs up prematurely during SSL_connect()
|
||||
and reports this condition as such, and not just as SSL connection failure.
|
||||
(OpenSSL 1.0.2 reported incompatible with pop3.live.com by Jerry Seibert).
|
||||
* A foreground fetchmail can now accept a few more options while another copy is
|
||||
running in the background.
|
||||
* fetchmail now handles POP3 --keep UID lists more efficiently, by using Rainer
|
||||
Weikusat's P-Tree implementation. This reduces the complexity for handling
|
||||
a large UIDL from O(n^2) to O(n log n) and becomes noticably faster with
|
||||
thousands of kept messages. (IMAP does not currently track UIDs and is unaffected.)
|
||||
At the same time, the UIDL emulation code for deficient servers has been
|
||||
removed. It never worked really well. Servers that do not implement the
|
||||
optional UIDL command only work with --fetchall option set, which in itself is
|
||||
incompatible with the --keep option (it would cause message duplication).
|
||||
* fetchmail, when setting up TLS connections, now uses SSL_set_tlsext_host_name()
|
||||
to set up the SNI (Server Name Indication). Some servers (for instance
|
||||
googlemail) require SNI when using newer SSL protocols.
|
||||
* Fetchmail now sets the expected hostname through OpenSSL 1.0.2's new
|
||||
X509_VERIFY_PARAM_set1_host() function to enable OpenSSL's native certificate
|
||||
verification features.
|
||||
* fetchmail will drop the connection when fetching with IMAP and receiving an
|
||||
unexpected untagged "* BYE" response, to work around certain faulty servers.
|
||||
* The FETCHMAIL_POP3_FORCE_RETR environment variable is now documented,
|
||||
it forces fetchmail, when talking POP3, to always use the RETR command,
|
||||
even if it would otherwise use the TOP command.
|
||||
* Fetchmail's configure stage will try to query pkg-config or pkgconf for libssl
|
||||
and libcrypto, in case other system use .pc files to document specific library dependencies.
|
||||
* The gethostbyname() API calls and compatibility functions have been removed.
|
||||
* These translations are shipped but not installed by default because
|
||||
they have less than 500 translated messages out of 714: el fi gl pt_BR sk tr
|
||||
-> Greek, Finnish, Galician, Brazilian Portuguese, Slovak, Turkish.
|
||||
* Fetchmail now refuses delivery if the MDA option contains single-quoted expansions.
|
||||
## FIXES
|
||||
* Do not translate header tags such as "Subject:".
|
||||
* Convert most links from berlios.de to sourceforge.net.
|
||||
* Report error to stderr, and exit, if --idle is combined with multiple accounts.
|
||||
* Point to --idle from GENERAL OPERATION to clarify --idle and multiple mailboxes do not mix.
|
||||
* Fix SSL-enabled build on systems that do not declare SSLv3_client_method(),
|
||||
or that #define OPENSSL_NO_SSL3 inside #include <openssl/ssl.h>
|
||||
* Version report lists -SSLv3 on SSL-enabled no-ssl3 builds.
|
||||
* Fetchmail no longer adds a NUL byte to the username in GSSAPI authentication.
|
||||
This was reported to break Kerberos-based authentication with Microsoft Exchange 2013
|
||||
* Set umask properly before writing the .fetchids file, to avoid failing the
|
||||
security check on the next run.
|
||||
* When forwarding by LMTP, also check antispam response code when collecting
|
||||
the responses after the CR LF . CR LF sequence at the end of the DATA phase.
|
||||
* fetchmail will not try other protocols after a socket error. This avoids mismatches
|
||||
of how different prococols see messages as "seen" and re-fetches of known mail.
|
||||
* fetchmail no longer reports "System error during SSL_connect(): Success."
|
||||
* fetchmailconf would ignore Edit or Delete actions on the first (topmost)
|
||||
item in a list (no matter if server list, user list, ...).
|
||||
* The mimedecode feature now properly detects multipart/mixed-type matches, so
|
||||
that quoted-printable-encoded multipart messages can get decoded.
|
||||
(Regression in 5.0.0 on 1999-03-27, as a side effect of a PGP-mimedecode fix
|
||||
attributed to Henrik Storner.)
|
||||
* FETCHMAILHOME can now safely be a relative path, which will be qualified
|
||||
through realpath(). Previously, it had to be absolute in daemon mode.
|
||||
## KNOWN BUGS AND WORKAROUNDS
|
||||
(This section floats upwards through the NEWS file so it stays with the
|
||||
current release information)
|
||||
* Fetchmail does not handle messages without Message-ID header well
|
||||
(See sourceforge.net bug #780933)
|
||||
* Fetchmail currently uses 31-bit signed integers in several places
|
||||
where unsigned and/or wider types should have been used, for instance,
|
||||
for mailbox sizes, and misreports sizes of 2 GibiB and beyond.
|
||||
Fixing this requires C89 compatibility to be relinquished.
|
||||
* BSMTP is mostly untested and errors can cause corrupt output.
|
||||
* Sun Workshop 6 (SPARC) is known to miscompile the configuration file lexer in
|
||||
64-bit mode. Either compile 32-bit code or use GCC to compile 64-bit fetchmail.
|
||||
* Fetchmail does not track pending deletes across crashes.
|
||||
* The command line interface is sometimes a bit stubborn, for instance,
|
||||
fetchmail -s doesn't work with a daemon running.
|
||||
* Linux systems may return duplicates of an IP address in some circumstances if
|
||||
no or no global IPv6 addresses are configured.
|
||||
(No workaround. Ubuntu Bug#582585, Novell Bug#606980.)
|
||||
* Kerberos 5 may be broken, particularly on Heimdal, and provide bogus error
|
||||
messages. This will not be fixed, because the maintainer has no Kerberos 5
|
||||
server to test against. Use GSSAPI.
|
||||
|
||||
- Remove patches merged upstream:
|
||||
* fetchmail-openssl11.patch
|
||||
* fetchmail-fetchmailconf-python3-1of3.patch
|
||||
* fetchmail-fetchmailconf-python3-2of3.patch
|
||||
* fetchmail-fetchmailconf-python3-3of3.patch
|
||||
- Rebase fetchmail-6.3.8-smtp_errors.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 31 08:05:50 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez@suse.com>
|
||||
|
||||
|
@ -22,26 +22,21 @@
|
||||
%endif
|
||||
|
||||
Name: fetchmail
|
||||
Version: 6.3.26
|
||||
Version: 6.4.1
|
||||
Release: 0
|
||||
Summary: Full-Featured POP and IMAP Mail Retrieval Daemon
|
||||
License: GPL-2.0-or-later
|
||||
Group: Productivity/Networking/Email/Utilities
|
||||
Url: http://www.fetchmail.info/
|
||||
Source: http://sourceforge.net/projects/fetchmail/files/branch_6.3/%{name}-%{version}.tar.xz
|
||||
Source: https://sourceforge.net/projects/fetchmail/files/branch_6.4/%{name}-%{version}.tar.xz
|
||||
#Source1: https://sourceforge.net/projects/fetchmail/files/branch_6.4/%%{name}-%%{version}.tar.xz.asc
|
||||
Source2: %{name}.logrotate
|
||||
Source3: sysconfig.%{name}
|
||||
Source4: http://sourceforge.net/projects/fetchmail/files/branch_6.3/%{name}-%{version}.tar.xz.asc
|
||||
Source5: %{name}.keyring
|
||||
Source6: %{name}.service
|
||||
Source7: %{name}.tmpfiles
|
||||
Source8: %{name}.exec
|
||||
Patch0: fetchmail-6.3.8-smtp_errors.patch
|
||||
Patch1: fetchmail-openssl11.patch
|
||||
# PATCH-FIX-UPSTREAM bsc#1082694 Fix fetchmailconf to be able to compile with python{2,3}
|
||||
Patch2: fetchmail-fetchmailconf-python3-1of3.patch
|
||||
Patch3: fetchmail-fetchmailconf-python3-2of3.patch
|
||||
Patch4: fetchmail-fetchmailconf-python3-3of3.patch
|
||||
BuildRequires: automake
|
||||
BuildRequires: krb5-devel
|
||||
BuildRequires: openssl-devel
|
||||
@ -88,10 +83,6 @@ files (.fetchmailrc).
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
cp -a %{SOURCE2} %{SOURCE3} .
|
||||
|
||||
ACLOCAL="aclocal -I m4 -I m4-local" autoreconf -fvi
|
||||
@ -159,13 +150,17 @@ if [ $1 = 0 ]; then
|
||||
rm -rf var/lib/fetchmail
|
||||
fi
|
||||
|
||||
%check
|
||||
make %{?_smp_mflags} check
|
||||
|
||||
%files -f %{name}.lang
|
||||
%defattr(-, root, root)
|
||||
%license COPYING
|
||||
%doc FAQ FEATURES NEWS NOTES OLDNEWS README README.NTLM README.SSL README.SSL-SERVER TODO contrib *.html *.txt *.pdf
|
||||
%{_bindir}/fetchmail
|
||||
%dir %attr(0700, fetchmail, root) %{_localstatedir}/lib/fetchmail
|
||||
%ghost %attr(0600, fetchmail, root) %{_localstatedir}/log/fetchmail
|
||||
%{_mandir}/man1/fetchmail.1.gz
|
||||
%doc COPYING FAQ FEATURES NEWS NOTES OLDNEWS README README.NTLM README.SSL README.SSL-SERVER TODO contrib *.html *.txt *.pdf
|
||||
%ghost %config(noreplace) %attr(0600, fetchmail, root) %{_sysconfdir}/fetchmailrc
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/fetchmail
|
||||
%{_unitdir}/%{name}.service
|
||||
|
Loading…
Reference in New Issue
Block a user