package/mutt: bump to version 1.14.4
- Drop patches (already in version) and so autoreconf - Update indentation in hash file Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
6756a3504c
commit
0ea7118f0e
File diff suppressed because it is too large
Load Diff
@ -1,310 +0,0 @@
|
||||
From acd49f242c867583856973fd8644a45e53f56489 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin McCarthy <kevin@8t8.us>
|
||||
Date: Wed, 8 Jan 2020 19:09:33 -0800
|
||||
Subject: [PATCH] Convert hcachever.sh.in to hcachever.pl.
|
||||
|
||||
Use Digest::MD5 to remove build-time dependency on mutt_md5, for
|
||||
cross-compilation support.
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
[Retrieved (and slightly updated to remove .gitignore) from:
|
||||
https://gitlab.com/muttmua/mutt/commit/acd49f242c867583856973fd8644a45e53f56489]
|
||||
---
|
||||
.gitignore | 2 -
|
||||
Makefile.am | 14 +++---
|
||||
configure.ac | 7 +--
|
||||
hcachever.pl | 112 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
hcachever.sh.in | 89 --------------------------------------
|
||||
5 files changed, 118 insertions(+), 106 deletions(-)
|
||||
create mode 100644 hcachever.pl
|
||||
delete mode 100755 hcachever.sh.in
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index cede1adb..e46f6544 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -3,7 +3,7 @@
|
||||
include $(top_srcdir)/flymake.am
|
||||
|
||||
AUTOMAKE_OPTIONS = 1.6 foreign
|
||||
-EXTRA_PROGRAMS = mutt_dotlock mutt_pgpring pgpewrap mutt_md5
|
||||
+EXTRA_PROGRAMS = mutt_dotlock mutt_pgpring pgpewrap
|
||||
|
||||
if BUILD_IMAP
|
||||
IMAP_SUBDIR = imap
|
||||
@@ -80,7 +80,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \
|
||||
README.SSL smime.h group.h mutt_zstrm.h \
|
||||
muttbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh \
|
||||
ChangeLog mkchangelog.sh mkreldate.sh mutt_idna.h sidebar.h OPS.SIDEBAR \
|
||||
- snprintf.c regex.c crypt-gpgme.h hcachever.sh.in \
|
||||
+ snprintf.c regex.c crypt-gpgme.h hcachever.pl \
|
||||
txt2c.c txt2c.sh version.sh check_sec.sh
|
||||
|
||||
EXTRA_SCRIPTS = smime_keys
|
||||
@@ -93,14 +93,10 @@ mutt_pgpring_SOURCES = pgppubring.c pgplib.c lib.c extlib.c sha1.c md5.c pgppack
|
||||
mutt_pgpring_LDADD = $(LIBOBJS) $(INTLLIBS)
|
||||
mutt_pgpring_DEPENDENCIES = $(LIBOBJS) $(INTLDEPS)
|
||||
|
||||
-mutt_md5_SOURCES = md5.c
|
||||
-mutt_md5_CFLAGS = -DMD5UTIL
|
||||
-mutt_md5_LDADD =
|
||||
-
|
||||
txt2c_SOURCES = txt2c.c
|
||||
txt2c_LDADD =
|
||||
|
||||
-noinst_PROGRAMS = $(MUTT_MD5) txt2c
|
||||
+noinst_PROGRAMS = txt2c
|
||||
|
||||
mutt_dotlock.c: dotlock.c
|
||||
cp $(srcdir)/dotlock.c mutt_dotlock.c
|
||||
@@ -166,9 +162,9 @@ reldate.h: $(srcdir)/mkreldate.sh $(srcdir)/ChangeLog
|
||||
# If configured with --with-included-gettext this means that intl will
|
||||
# not have generated libintl.h yet, and mutt.h -> lib.h will generate
|
||||
# an error.
|
||||
-hcversion.h: $(srcdir)/mutt.h $(srcdir)/rfc822.h hcachever.sh $(MUTT_MD5)
|
||||
+hcversion.h: $(srcdir)/mutt.h $(srcdir)/rfc822.h config.h $(srcdir)/hcachever.pl
|
||||
( echo '#include "config.h"'; echo '#undef ENABLE_NLS'; echo '#include "mutt.h"'; ) \
|
||||
- | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) - | sh ./hcachever.sh hcversion.h
|
||||
+ | $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) - | perl $(srcdir)/hcachever.pl > hcversion.h
|
||||
|
||||
patchlist.c: $(srcdir)/PATCHES $(srcdir)/patchlist.sh
|
||||
$(srcdir)/patchlist.sh < $(srcdir)/PATCHES > patchlist.c
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7fe55402..7906ce35 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1283,11 +1283,6 @@ then
|
||||
MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS md5.o"
|
||||
fi
|
||||
|
||||
-if test x$db_found != xno ; then
|
||||
- MUTT_MD5="mutt_md5$EXEEXT"
|
||||
-fi
|
||||
-AC_SUBST(MUTT_MD5)
|
||||
-
|
||||
AC_SUBST(MUTTLIBS)
|
||||
AC_SUBST(MUTT_LIB_OBJECTS)
|
||||
AC_SUBST(LIBIMAP)
|
||||
@@ -1677,5 +1672,5 @@ fi
|
||||
|
||||
AC_CONFIG_FILES(Makefile contrib/Makefile doc/Makefile imap/Makefile
|
||||
intl/Makefile m4/Makefile po/Makefile.in autocrypt/Makefile
|
||||
- hcachever.sh doc/instdoc.sh)
|
||||
+ doc/instdoc.sh)
|
||||
AC_OUTPUT
|
||||
diff --git a/hcachever.pl b/hcachever.pl
|
||||
new file mode 100644
|
||||
index 00000000..be630a82
|
||||
--- /dev/null
|
||||
+++ b/hcachever.pl
|
||||
@@ -0,0 +1,112 @@
|
||||
+#!/usr/bin/perl -w
|
||||
+#
|
||||
+# Copyright (C) 2020 Kevin J. McCarthy <kevin@8t8.us>
|
||||
+#
|
||||
+# This program is free software; you can redistribute it and/or modify
|
||||
+# it under the terms of the GNU General Public License as published by
|
||||
+# the Free Software Foundation; either version 2 of the License, or
|
||||
+# (at your option) any later version.
|
||||
+#
|
||||
+# This program is distributed in the hope that it will be useful,
|
||||
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+# GNU General Public License for more details.
|
||||
+#
|
||||
+# You should have received a copy of the GNU General Public License
|
||||
+# along with this program; if not, write to the Free Software
|
||||
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
+
|
||||
+# This file is a rewrite of hcachever.sh.in in perl.
|
||||
+# The rewrite removes the dependency on mutt_md5, in order to
|
||||
+# improve cross-compilation support.
|
||||
+
|
||||
+use strict;
|
||||
+use warnings;
|
||||
+# note Digest::MD5 is standard in perl since 5.8.0 (July 18, 2002)
|
||||
+use Digest::MD5;
|
||||
+
|
||||
+
|
||||
+sub read_line() {
|
||||
+ my $line;
|
||||
+
|
||||
+ while (1) {
|
||||
+ $line = <STDIN>;
|
||||
+ return "" if (!$line);
|
||||
+
|
||||
+ chomp($line);
|
||||
+ $line =~ s/^\s+//;
|
||||
+ $line =~ s/\s+$//;
|
||||
+ $line =~ s/\s{2,}//g;
|
||||
+
|
||||
+ return $line if ($line ne "");
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
+sub process_struct($$) {
|
||||
+ my ($line, $md5) = @_;
|
||||
+ my $struct = "";
|
||||
+ my @body;
|
||||
+ my $bodytxt;
|
||||
+ my $inbody = 0;
|
||||
+
|
||||
+ return if $line =~ /;$/;
|
||||
+ if ($line =~ /{$/) {
|
||||
+ $inbody = 1;
|
||||
+ }
|
||||
+
|
||||
+ while (($line = read_line()) ne "") {
|
||||
+ if (!$inbody) {
|
||||
+ return if $line =~ /;$/;
|
||||
+ if ($line =~ /{$/) {
|
||||
+ $inbody = 1;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if ($line =~ /^} (.*);$/) {
|
||||
+ $struct = $1;
|
||||
+ last;
|
||||
+ }
|
||||
+ elsif ($line =~ /^}/) {
|
||||
+ $struct = read_line();
|
||||
+ if ($struct ne "") {
|
||||
+ $struct =~ s/;$//;
|
||||
+ }
|
||||
+ last;
|
||||
+ }
|
||||
+ elsif (($line !~ /^#/) && ($line !~ /^{/)) {
|
||||
+ if ($inbody) {
|
||||
+ push @body, $line;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if ($struct =~ /^(ADDRESS|LIST|BUFFER|PARAMETER|BODY|ENVELOPE|HEADER)$/) {
|
||||
+ $bodytxt = join(" ", @body);
|
||||
+ print " * ${struct}: ${bodytxt}\n";
|
||||
+
|
||||
+ $md5->add(" ${struct} {${bodytxt}}");
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
+my $md5;
|
||||
+my $line;
|
||||
+my $BASEVERSION = "2";
|
||||
+
|
||||
+$md5 = Digest::MD5->new;
|
||||
+
|
||||
+$md5->add($BASEVERSION);
|
||||
+print "/* base version: $BASEVERSION\n";
|
||||
+
|
||||
+while (($line = read_line()) ne "") {
|
||||
+ if ($line =~ /^typedef struct/) {
|
||||
+ process_struct($line, $md5);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+$md5->add("\n");
|
||||
+my $digest = substr($md5->hexdigest, 0, 8);
|
||||
+
|
||||
+print " */\n";
|
||||
+print "#define HCACHEVER 0x${digest}\n";
|
||||
diff --git a/hcachever.sh.in b/hcachever.sh.in
|
||||
deleted file mode 100755
|
||||
index 730ca76b..00000000
|
||||
--- a/hcachever.sh.in
|
||||
+++ /dev/null
|
||||
@@ -1,89 +0,0 @@
|
||||
-#!/bin/sh
|
||||
-
|
||||
-BASEVERSION=2
|
||||
-
|
||||
-cleanstruct () {
|
||||
- echo "$1" | sed -e 's/} *//' -e 's/;$//'
|
||||
-}
|
||||
-
|
||||
-cleanbody () {
|
||||
- echo "$1" | sed -e 's/{ *//'
|
||||
-}
|
||||
-
|
||||
-getstruct () {
|
||||
- STRUCT=""
|
||||
- BODY=''
|
||||
- inbody=0
|
||||
- case "$1" in
|
||||
- *'{') inbody=1 ;;
|
||||
- *';') return ;;
|
||||
- esac
|
||||
-
|
||||
- while read line
|
||||
- do
|
||||
- if test $inbody -eq 0
|
||||
- then
|
||||
- case "$line" in
|
||||
- '{'*) inbody=1 ;;
|
||||
- *';') return ;;
|
||||
- esac
|
||||
- fi
|
||||
-
|
||||
- case "$line" in
|
||||
- '} '*)
|
||||
- STRUCT=`cleanstruct "$line"`
|
||||
- break
|
||||
- ;;
|
||||
- '}')
|
||||
- read line
|
||||
- STRUCT=`cleanstruct "$line"`
|
||||
- break
|
||||
- ;;
|
||||
- '#'*) continue ;;
|
||||
- *)
|
||||
- if test $inbody -ne 0
|
||||
- then
|
||||
- BODY="$BODY $line"
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
- done
|
||||
-
|
||||
- case $STRUCT in
|
||||
- ADDRESS|LIST|BUFFER|PARAMETER|BODY|ENVELOPE|HEADER)
|
||||
- BODY=`cleanbody "$BODY"`
|
||||
- echo "$STRUCT: $BODY"
|
||||
- ;;
|
||||
- esac
|
||||
- return
|
||||
-}
|
||||
-
|
||||
-DEST="$1"
|
||||
-TMPD="$DEST.tmp"
|
||||
-
|
||||
-TEXT="$BASEVERSION"
|
||||
-
|
||||
-echo "/* base version: $BASEVERSION" > $TMPD
|
||||
-while read line
|
||||
-do
|
||||
- case "$line" in
|
||||
- 'typedef struct'*)
|
||||
- STRUCT=`getstruct "$line"`
|
||||
- if test -n "$STRUCT"
|
||||
- then
|
||||
- NAME=`echo $STRUCT | cut -d: -f1`
|
||||
- BODY=`echo $STRUCT | cut -d' ' -f2-`
|
||||
- echo " * $NAME:" $BODY >> $TMPD
|
||||
- TEXT="$TEXT $NAME {$BODY}"
|
||||
- fi
|
||||
- ;;
|
||||
- esac
|
||||
-done
|
||||
-echo " */" >> $TMPD
|
||||
-
|
||||
-MD5TEXT=`echo "$TEXT" | ./mutt_md5`
|
||||
-echo "#define HCACHEVER 0x"`echo $MD5TEXT | cut -c-8` >> $TMPD
|
||||
-
|
||||
-# TODO: validate we have all structs
|
||||
-
|
||||
-mv $TMPD $DEST
|
||||
--
|
||||
2.24.1
|
||||
|
@ -1,60 +0,0 @@
|
||||
From 3e88866dc60b5fa6aaba6fd7c1710c12c1c3cd01 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin McCarthy <kevin@8t8.us>
|
||||
Date: Sun, 14 Jun 2020 11:30:00 -0700
|
||||
Subject: [PATCH] Prevent possible IMAP MITM via PREAUTH response.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This is similar to CVE-2014-2567 and CVE-2020-12398. STARTTLS is not
|
||||
allowed in the Authenticated state, so previously Mutt would
|
||||
implicitly mark the connection as authenticated and skip any
|
||||
encryption checking/enabling.
|
||||
|
||||
No credentials are exposed, but it does allow messages to be sent to
|
||||
an attacker, via postpone or fcc'ing for instance.
|
||||
|
||||
Reuse the $ssl_starttls quadoption "in reverse" to prompt to abort the
|
||||
connection if it is unencrypted.
|
||||
|
||||
Thanks very much to Damian Poddebniak and Fabian Ising from the
|
||||
Münster University of Applied Sciences for reporting this issue, and
|
||||
their help in testing the fix.
|
||||
|
||||
[Retrieved from:
|
||||
https://gitlab.com/muttmua/mutt/commit/3e88866dc60b5fa6aaba6fd7c1710c12c1c3cd01]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
imap/imap.c | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/imap/imap.c b/imap/imap.c
|
||||
index 63362176..3ca10df4 100644
|
||||
--- a/imap/imap.c
|
||||
+++ b/imap/imap.c
|
||||
@@ -530,6 +530,22 @@ int imap_open_connection (IMAP_DATA* idata)
|
||||
}
|
||||
else if (ascii_strncasecmp ("* PREAUTH", idata->buf, 9) == 0)
|
||||
{
|
||||
+#if defined(USE_SSL)
|
||||
+ /* An unencrypted PREAUTH response is most likely a MITM attack.
|
||||
+ * Require a confirmation. */
|
||||
+ if (!idata->conn->ssf)
|
||||
+ {
|
||||
+ if (option(OPTSSLFORCETLS) ||
|
||||
+ (query_quadoption (OPT_SSLSTARTTLS,
|
||||
+ _("Abort unencrypted PREAUTH connection?")) != MUTT_NO))
|
||||
+ {
|
||||
+ mutt_error _("Encrypted connection unavailable");
|
||||
+ mutt_sleep (1);
|
||||
+ goto err_close_conn;
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
idata->state = IMAP_AUTHENTICATED;
|
||||
if (imap_check_capabilities (idata) != 0)
|
||||
goto bail;
|
||||
--
|
||||
GitLab
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 6cd71b5b3e6b255afef6bed3b5e1e8ee9819b3d7c9839fd95e798045882aa653 mutt-1.13.5.tar.gz
|
||||
sha256 732f24b69a6c71cd8e01e4672bb8e12cc1cbb88a50a4665e6ca4fd95000a57ee GPL
|
||||
sha256 ca8e56f8210b4fffa91ea08958b62b811cce552fe4fd7d726111cf53079ed3c3 mutt-1.14.4.tar.gz
|
||||
sha256 732f24b69a6c71cd8e01e4672bb8e12cc1cbb88a50a4665e6ca4fd95000a57ee GPL
|
||||
|
@ -4,17 +4,12 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
MUTT_VERSION = 1.13.5
|
||||
MUTT_VERSION = 1.14.4
|
||||
MUTT_SITE = https://bitbucket.org/mutt/mutt/downloads
|
||||
MUTT_LICENSE = GPL-2.0+
|
||||
MUTT_LICENSE_FILES = GPL
|
||||
MUTT_DEPENDENCIES = ncurses
|
||||
MUTT_CONF_OPTS = --disable-doc --disable-smtp
|
||||
# We're patching configure.ac
|
||||
MUTT_AUTORECONF = YES
|
||||
|
||||
# 0003-Prevent-possible-IMAP-MITM-via-PREAUTH-response.patch
|
||||
MUTT_IGNORE_CVES += CVE-2020-14093
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBICONV),y)
|
||||
MUTT_DEPENDENCIES += libiconv
|
||||
|
Loading…
Reference in New Issue
Block a user