Compare commits

...

No commits in common. "imports/c8/mutt-1.10.1-2.el8" and "c8s" have entirely different histories.

22 changed files with 125 additions and 347 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/mutt-1.10.1.tar.gz
SOURCES/mutt-2.0.7.tar.gz

View File

@ -1 +1 @@
584c3a5cd604813749da4d90c8c457a143ccd746 SOURCES/mutt-1.10.1.tar.gz
7421d0c5db7e264f00bd8a149f5f92d99c3afa83 SOURCES/mutt-2.0.7.tar.gz

View File

@ -1,7 +1,7 @@
diff -ur mutt-1.8.0.orig/doc/Muttrc.head mutt-1.8.0/doc/Muttrc.head
--- mutt-1.8.0.orig/doc/Muttrc.head 2017-02-25 15:28:22.120997474 +0000
+++ mutt-1.8.0/doc/Muttrc.head 2017-02-25 15:30:10.643079681 +0000
@@ -24,12 +24,16 @@
@@ -24,13 +24,17 @@
# Show documentation when pressing F1
macro generic,pager <F1> "<shell-escape> less @docdir@/manual.txt<Enter>" "show Mutt documentation"
@ -9,8 +9,9 @@ diff -ur mutt-1.8.0.orig/doc/Muttrc.head mutt-1.8.0/doc/Muttrc.head
+macro generic,pager <F2> "<shell-escape> less @docdir@/manual.txt<Enter>" "show Mutt documentation"
# show the incoming mailboxes list (just like "mutt -y") and back when pressing "y"
macro index y "<change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
macro pager y "<exit><change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
# note: these macros have been subsumed by the <browse-mailboxes> function.
# macro index y "<change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
# macro pager y "<exit><change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
bind browser y exit
+bind editor <delete> delete-char

View File

@ -1,21 +0,0 @@
diff -up mutt-1.10.1/mbox.c.mutt-1.9.3-1_coverity_120_121 mutt-1.10.1/mbox.c
--- mutt-1.10.1/mbox.c.mutt-1.9.3-1_coverity_120_121 2018-11-26 10:42:53.503200044 +0100
+++ mutt-1.10.1/mbox.c 2018-11-26 10:43:37.491846848 +0100
@@ -1086,6 +1086,8 @@ static int mbox_sync_mailbox (CONTEXT *c
mutt_unblock_signals ();
mx_fastclose_mailbox (ctx);
mutt_pretty_mailbox (savefile, sizeof (savefile));
+ FREE (&newOffset);
+ FREE (&oldOffset);
mutt_error (_("Write failed! Saved partial mailbox to %s"), savefile);
mutt_sleep (5);
return (-1);
@@ -1100,6 +1102,8 @@ static int mbox_sync_mailbox (CONTEXT *c
unlink (tempfile);
mutt_unblock_signals ();
mx_fastclose_mailbox (ctx);
+ FREE (&newOffset);
+ FREE (&oldOffset);
mutt_error _("Fatal error! Could not reopen mailbox!");
return (-1);
}

View File

@ -1,19 +0,0 @@
diff -up mutt-1.10.1/pgp.c.mutt-1.9.3-1_coverity_159_160 mutt-1.10.1/pgp.c
--- mutt-1.10.1/pgp.c.mutt-1.9.3-1_coverity_159_160 2018-11-26 11:25:30.619922166 +0100
+++ mutt-1.10.1/pgp.c 2018-11-26 11:30:32.452320004 +0100
@@ -982,6 +982,7 @@ BODY *pgp_decrypt_part (BODY *a, STATE *
{
mutt_error _("Decryption failed");
pgp_void_passphrase ();
+ safe_fclose (&pgperr);
return NULL;
}
@@ -1471,6 +1472,7 @@ BODY *pgp_encrypt_message (BODY *a, char
fileno (fpout), fileno (pgperr),
pgpinfile, keylist, sign)) == -1)
{
+ safe_fclose (&fpout);
safe_fclose (&pgperr);
unlink(pgpinfile);
return (NULL);

View File

@ -1,30 +0,0 @@
diff -up mutt-1.10.1/pgpewrap.c.mutt-1.9.3-1_coverity_161 mutt-1.10.1/pgpewrap.c
--- mutt-1.10.1/pgpewrap.c.mutt-1.9.3-1_coverity_161 2018-11-26 11:34:45.733027391 +0100
+++ mutt-1.10.1/pgpewrap.c 2018-11-26 11:36:14.650319151 +0100
@@ -26,12 +26,6 @@ int main(int argc, char **argv) {
print_usage(argv[0]);
}
- opts = malloc((2 * argc + 1) * sizeof (* opts)); /* __MEM_CHECKED__ */
- if(!opts) {
- perror(argv[0]);
- exit(2);
- }
-
if (argc < 2)
{
fprintf (stderr,
@@ -40,6 +34,13 @@ int main(int argc, char **argv) {
return 1;
}
+ opts = malloc((2 * argc + 1) * sizeof (* opts)); /* __MEM_CHECKED__ */
+ if(!opts) {
+ perror(argv[0]);
+ exit(2);
+ }
+
+
opt = opts;
*opt++ = argv[1];
pfx = NULL;

View File

@ -1,20 +0,0 @@
diff -up mutt-1.10.1/attach.c.mutt-1.9.3-1_coverity_17 mutt-1.10.1/attach.c
--- mutt-1.10.1/attach.c.mutt-1.9.3-1_coverity_17 2018-10-25 14:32:25.267823534 +0200
+++ mutt-1.10.1/attach.c 2018-10-25 14:33:07.644435674 +0200
@@ -47,13 +47,15 @@ int mutt_get_tmp_attachment (BODY *a)
{
char type[STRING];
char tempfile[_POSIX_PATH_MAX];
- rfc1524_entry *entry = rfc1524_new_entry();
+ rfc1524_entry *entry = NULL;
FILE *fpin = NULL, *fpout = NULL;
struct stat st;
if(a->unlink)
return 0;
+ entry = rfc1524_new_entry();
+
snprintf(type, sizeof(type), "%s/%s", TYPE(a), a->subtype);
rfc1524_mailcap_lookup(a, type, entry, 0);
rfc1524_expand_filename(entry->nametemplate, a->filename,

View File

@ -1,12 +0,0 @@
diff -up mutt-1.10.1/recvcmd.c.mutt-1.9.3-1_coverity_174 mutt-1.10.1/recvcmd.c
--- mutt-1.10.1/recvcmd.c.mutt-1.9.3-1_coverity_174 2018-11-26 12:02:13.755647167 +0100
+++ mutt-1.10.1/recvcmd.c 2018-11-26 12:02:36.240969591 +0100
@@ -445,7 +445,7 @@ static void attach_forward_bodies (FILE
if ((tmpfp = safe_fopen (tmpbody, "w")) == NULL)
{
mutt_error (_("Can't open temporary file %s."), tmpbody);
- return;
+ goto bail;
}
mutt_forward_intro (Context, parent_hdr, tmpfp);

View File

@ -1,12 +0,0 @@
diff -up mutt-1.10.1/sendlib.c.mutt-1.9.3-1_coverity_197 mutt-1.10.1/sendlib.c
--- mutt-1.10.1/sendlib.c.mutt-1.9.3-1_coverity_197 2018-11-26 13:57:05.191252870 +0100
+++ mutt-1.10.1/sendlib.c 2018-11-26 13:57:50.489896425 +0100
@@ -2806,6 +2806,8 @@ int mutt_write_fcc (const char *path, HE
if ((msg = mx_open_new_message (&f, hdr, onm_flags)) == NULL)
{
mx_close_mailbox (&f, NULL);
+ safe_fclose (&tempfp);
+ unlink (tempfile);
return (-1);
}

View File

@ -1,27 +0,0 @@
diff -up mutt-1.10.1/smime.c.mutt-1.9.3-1_coverity_199_200_201 mutt-1.10.1/smime.c
--- mutt-1.10.1/smime.c.mutt-1.9.3-1_coverity_199_200_201 2018-11-26 14:05:07.405126055 +0100
+++ mutt-1.10.1/smime.c 2018-11-26 14:05:23.436356595 +0100
@@ -1873,6 +1873,7 @@ static BODY *smime_handle_entity (BODY *
fileno (smimeout), fileno (smimeerr), tmpfname)) == -1)
{
safe_fclose (&smimeout); smimeout = NULL;
+ safe_fclose (&smimeerr);
mutt_unlink (tmpfname);
if (s->flags & MUTT_DISPLAY)
state_attach_puts (_("[-- Error: unable to create OpenSSL subprocess! --]\n"), s);
@@ -1884,6 +1885,7 @@ static BODY *smime_handle_entity (BODY *
tmpfname, SIGNOPAQUE)) == -1)
{
safe_fclose (&smimeout); smimeout = NULL;
+ safe_fclose (&smimeerr);
mutt_unlink (tmpfname);
if (s->flags & MUTT_DISPLAY)
state_attach_puts (_("[-- Error: unable to create OpenSSL subprocess! --]\n"), s);
@@ -1939,6 +1941,7 @@ static BODY *smime_handle_entity (BODY *
{
mutt_perror(tmptmpfname);
safe_fclose (&smimeout); smimeout = NULL;
+ safe_fclose (&smimeerr);
return NULL;
}
}

View File

@ -1,28 +0,0 @@
diff -up mutt-1.10.1/crypt-gpgme.c.mutt-1.9.3-1_coverity_76 mutt-1.10.1/crypt-gpgme.c
--- mutt-1.10.1/crypt-gpgme.c.mutt-1.9.3-1_coverity_76 2018-10-25 14:45:49.563438618 +0200
+++ mutt-1.10.1/crypt-gpgme.c 2018-10-25 14:51:49.293461260 +0200
@@ -562,6 +562,7 @@ static char *data_object_to_tempfile (gp
char tempfb[_POSIX_PATH_MAX];
FILE *fp;
size_t nread = 0;
+ char * ret = NULL;
if (!tempf)
{
@@ -604,7 +605,15 @@ static char *data_object_to_tempfile (gp
}
if (ret_fp)
*ret_fp = fp;
- return safe_strdup (tempf);
+
+ if ((ret = safe_strdup (tempf)) == NULL)
+ {
+ mutt_perror _("Can't allocate memory!");
+ unlink (tempf);
+ safe_fclose (&fp);
+ return NULL;
+ }
+ return ret;
}

View File

@ -1,66 +0,0 @@
diff -up mutt-1.10.1/hcache.c.mutt-1.9.3-1_coverity_81_82_83 mutt-1.10.1/hcache.c
--- mutt-1.10.1/hcache.c.mutt-1.9.3-1_coverity_81_82_83 2018-10-25 15:24:29.323623566 +0200
+++ mutt-1.10.1/hcache.c 2018-10-25 15:27:41.932438843 +0200
@@ -842,7 +842,7 @@ mutt_hcache_fetch_raw (header_cache_t *h
return data.data;
#else
- strncpy(path, h->folder, sizeof (path));
+ strfcpy(path, h->folder, sizeof (path));
safe_strcat(path, sizeof (path), filename);
ksize = strlen (h->folder) + keylen (path + strlen (h->folder));
@@ -944,7 +944,7 @@ mutt_hcache_store_raw (header_cache_t* h
return h->db->put(h->db, NULL, &key, &databuf, 0);
#else
- strncpy(path, h->folder, sizeof (path));
+ strfcpy(path, h->folder, sizeof (path));
safe_strcat(path, sizeof (path), filename);
ksize = strlen(h->folder) + keylen(path + strlen(h->folder));
@@ -1042,7 +1042,7 @@ mutt_hcache_delete(header_cache_t *h, co
if (!h)
return -1;
- strncpy(path, h->folder, sizeof (path));
+ strfcpy(path, h->folder, sizeof (path));
safe_strcat(path, sizeof (path), filename);
ksize = strlen(h->folder) + keylen(path + strlen(h->folder));
@@ -1100,7 +1100,7 @@ mutt_hcache_delete(header_cache_t *h, co
if (!h)
return -1;
- strncpy(path, h->folder, sizeof (path));
+ strfcpy(path, h->folder, sizeof (path));
safe_strcat(path, sizeof (path), filename);
ksize = strlen(h->folder) + keylen(path + strlen(h->folder));
@@ -1161,7 +1161,7 @@ mutt_hcache_delete(header_cache_t *h, co
if (!h)
return -1;
- strncpy(path, h->folder, sizeof (path));
+ strfcpy(path, h->folder, sizeof (path));
safe_strcat(path, sizeof (path), filename);
ksize = strlen(h->folder) + keylen(path + strlen(h->folder));
@@ -1211,7 +1211,7 @@ mutt_hcache_delete(header_cache_t *h, co
if (!h)
return -1;
- strncpy(path, h->folder, sizeof (path));
+ strfcpy(path, h->folder, sizeof (path));
safe_strcat(path, sizeof (path), filename);
key.dptr = path;
@@ -1417,7 +1417,7 @@ mutt_hcache_delete(header_cache_t *h, co
if (!h)
return -1;
- strncpy(path, h->folder, sizeof (path));
+ strfcpy(path, h->folder, sizeof (path));
safe_strcat(path, sizeof (path), filename);
ksize = strlen (h->folder) + keylen (path + strlen (h->folder));

View File

@ -1,12 +0,0 @@
diff -up mutt-1.10.1/headers.c.mutt-1.9.3-1_coverity_86 mutt-1.10.1/headers.c
--- mutt-1.10.1/headers.c.mutt-1.9.3-1_coverity_86 2018-10-25 15:29:53.080447423 +0200
+++ mutt-1.10.1/headers.c 2018-10-25 15:30:07.509671538 +0200
@@ -60,6 +60,8 @@ void mutt_edit_headers (const char *edit
if ((ifp = fopen (body, "r")) == NULL)
{
mutt_perror (body);
+ safe_fclose (&ifp);
+ safe_fclose (&ofp);
return;
}

View File

@ -1,12 +0,0 @@
diff -up mutt-1.10.1/headers.c.mutt-1.9.3-1_coverity_87 mutt-1.10.1/headers.c
--- mutt-1.10.1/headers.c.mutt-1.9.3-1_coverity_87 2018-10-25 15:31:00.153489193 +0200
+++ mutt-1.10.1/headers.c 2018-10-25 15:31:22.142823598 +0200
@@ -283,7 +283,7 @@ int mutt_label_message(HEADER *hdr)
*buf = '\0';
if (hdr != NULL && hdr->env->x_label != NULL) {
- strncpy(buf, hdr->env->x_label, LONG_STRING);
+ strfcpy(buf, hdr->env->x_label, LONG_STRING);
}
if (mutt_get_field("Label: ", buf, sizeof(buf), MUTT_LABEL /* | MUTT_CLEAR */) != 0)

View File

@ -1,30 +0,0 @@
diff -up mutt-1.10.1/imap/auth_gss.c.mutt-1.9.3-1_coverity_88_89 mutt-1.10.1/imap/auth_gss.c
--- mutt-1.10.1/imap/auth_gss.c.mutt-1.9.3-1_coverity_88_89 2018-10-25 15:32:18.258644709 +0200
+++ mutt-1.10.1/imap/auth_gss.c 2018-10-25 15:33:10.744412689 +0200
@@ -71,7 +71,7 @@ static void print_gss_error(OM_uint32 er
status_len = status_string.length;
if (status_len >= sizeof(buf_maj))
status_len = sizeof(buf_maj) - 1;
- strncpy(buf_maj, (char*) status_string.value, status_len);
+ strfcpy(buf_maj, (char*) status_string.value, status_len);
buf_maj[status_len] = '\0';
gss_release_buffer(&min_stat, &status_string);
@@ -86,7 +86,7 @@ static void print_gss_error(OM_uint32 er
status_len = status_string.length;
if (status_len >= sizeof(buf_min))
status_len = sizeof(buf_min) - 1;
- strncpy(buf_min, (char*) status_string.value, status_len);
+ strfcpy(buf_min, (char*) status_string.value, status_len);
buf_min[status_len] = '\0';
gss_release_buffer(&min_stat, &status_string);
}
@@ -273,7 +273,7 @@ imap_auth_res_t imap_auth_gss (IMAP_DATA
memcpy (buf1, &buf_size, 4);
buf1[0] = GSS_AUTH_P_NONE;
/* server decides if principal can log in as user */
- strncpy (buf1 + 4, idata->conn->account.user, sizeof (buf1) - 4);
+ strfcpy (buf1 + 4, idata->conn->account.user, sizeof (buf1) - 4);
request_buf.value = buf1;
request_buf.length = 4 + strlen (idata->conn->account.user);
maj_stat = gss_wrap (&min_stat, context, 0, GSS_C_QOP_DEFAULT, &request_buf,

View File

@ -5,8 +5,8 @@ diff -rup mutt-17a4f92e4a95-orig/init.h mutt-17a4f92e4a95-new/init.h
*/
#if defined(USE_SSL)
#ifdef USE_SSL_GNUTLS
- { "ssl_ca_certificates_file", DT_PATH, R_NONE, UL &SslCACertFile, 0 },
+ { "ssl_ca_certificates_file", DT_PATH, R_NONE, UL &SslCACertFile, "/etc/ssl/certs/ca-bundle.crt" },
- { "ssl_ca_certificates_file", DT_PATH, R_NONE, {.p=&SslCACertFile}, {.p=0} },
+ { "ssl_ca_certificates_file", DT_PATH, R_NONE, {.p=&SslCACertFile}, {.p="/etc/ssl/certs/ca-bundle.crt"} },
/*
** .pp
** This variable specifies a file containing trusted CA certificates.

View File

@ -1,15 +1,15 @@
diff -ur mutt-1.8.0.orig/contrib/Makefile.am mutt-1.8.0/contrib/Makefile.am
--- mutt-1.8.0.orig/contrib/Makefile.am 2017-02-25 15:28:22.124997366 +0000
+++ mutt-1.8.0/contrib/Makefile.am 2017-02-25 15:48:10.834036861 +0000
@@ -5,7 +5,7 @@
SAMPLES = Mush.rc Pine.rc gpg.rc pgp2.rc pgp5.rc pgp6.rc Tin.rc \
@@ -6,7 +6,7 @@
sample.mailcap sample.muttrc sample.muttrc-sidebar sample.muttrc-tlr \
sample.muttrc-compress sample.vimrc-sidebar colors.default colors.linux smime.rc \
- ca-bundle.crt smime_keys_test.pl mutt_xtitle
+ smime_keys_test.pl mutt_xtitle
sample.muttrc-compress sample.muttrc-starter \
sample.vimrc-sidebar colors.default colors.linux smime.rc \
- ca-bundle.crt smime_keys_test.pl mutt_xtitle markdown2html \
+ smime_keys_test.pl mutt_xtitle markdown2html \
bgedit-detectgui.sh bgedit-screen-tmux.sh \
mutt_oauth2.py mutt_oauth2.py.README
EXTRA_DIST = language.txt language50.txt \
patch.slang-1.2.2.keypad.1 \
diff -ur mutt-1.8.0.orig/doc/smime-notes.txt mutt-1.8.0/doc/smime-notes.txt
--- mutt-1.8.0.orig/doc/smime-notes.txt 2017-02-25 15:28:22.119997501 +0000
+++ mutt-1.8.0/doc/smime-notes.txt 2017-02-25 16:06:38.986242390 +0000

View File

@ -5,28 +5,28 @@ diff -ur mutt-1.9.0.orig/init.h mutt-1.9.0/init.h
*/
# endif /* defined HAVE_SSL_PARTIAL_CHAIN */
# endif /* defined USE_SSL_OPENSSL */
- { "ssl_ciphers", DT_STR, R_NONE, UL &SslCiphers, UL 0 },
+ { "ssl_ciphers", DT_STR, R_NONE, UL &SslCiphers, UL "@SYSTEM" },
- { "ssl_ciphers", DT_STR, R_NONE, {.p=&SslCiphers}, {.p=0} },
+ { "ssl_ciphers", DT_STR, R_NONE, {.p=&SslCiphers}, {.p="@SYSTEM"} },
/*
** .pp
** Contains a colon-seperated list of ciphers to use when using SSL.
** Contains a colon-separated list of ciphers to use when using SSL.
diff -ur mutt-1.9.0.orig/mutt_ssl_gnutls.c mutt-1.9.0/mutt_ssl_gnutls.c
--- mutt-1.9.0.orig/mutt_ssl_gnutls.c 2017-09-04 16:48:21.403528134 +0200
+++ mutt-1.9.0/mutt_ssl_gnutls.c 2017-09-04 16:51:16.081679141 +0200
@@ -286,6 +286,8 @@
else
safe_strcat (priority, priority_size, "NORMAL");
mutt_buffer_strcpy (priority, "NORMAL");
+if (SslCiphers && strcmp(SslCiphers, "@SYSTEM"))
+{
if (! option(OPTTLSV1_2))
if (!option (OPTTLSV1_3))
{
nproto--;
@@ -313,6 +315,7 @@
FREE (&priority);
return -1;
mutt_error (_("All available protocols for TLS/SSL connection disabled"));
goto cleanup;
}
+}
if ((err = gnutls_priority_set_direct (data->state, priority, NULL)) < 0)
if ((err = gnutls_priority_set_direct (data->state, mutt_b2s (priority), NULL)) < 0)
{

View File

@ -5,8 +5,8 @@ diff -up mutt-1.9.1/doc/Makefile.am.lynx_no_backscapes mutt-1.9.1/doc/Makefile.a
check:
manual.txt: manual.html
- -LC_ALL=C lynx -dump -nolist -with_backspaces -display_charset=us-ascii manual.html > $@ || \
+ -LC_ALL=C lynx -dump -nolist -display_charset=us-ascii manual.html > $@ || \
LC_ALL=C w3m -dump manual.html > $@ || \
- -LC_ALL=C lynx -localhost -dump -nolist -with_backspaces -display_charset=us-ascii manual.html > $@ || \
+ -LC_ALL=C lynx -localhost -dump -nolist -display_charset=us-ascii manual.html > $@ || \
LC_ALL=C w3m -T text/html -I utf-8 -O utf-8 -dump < manual.html > $@ || \
LC_ALL=C elinks -dump -no-numbering -no-references manual.html | sed -e 's,\\001, ,g' > $@

View File

@ -0,0 +1,40 @@
From e5ed080c00e59701ca62ef9b2a6d2612ebf765a5 Mon Sep 17 00:00:00 2001
From: Kevin McCarthy <kevin@8t8.us>
Date: Tue, 5 Apr 2022 11:05:52 -0700
Subject: [PATCH] Fix uudecode buffer overflow.
mutt_decode_uuencoded() used each line's initial "length character"
without any validation. It would happily read past the end of the
input line, and with a suitable value even past the length of the
input buffer.
As I noted in ticket 404, there are several other changes that could
be added to make the parser more robust. However, to avoid
accidentally introducing another bug or regression, I'm restricting
this patch to simply addressing the overflow.
Thanks to Tavis Ormandy for reporting the issue, along with a sample
message demonstrating the problem.
---
handler.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/handler.c b/handler.c
index d1b4bc73..c97cf0cb 100644
--- a/handler.c
+++ b/handler.c
@@ -404,9 +404,9 @@ static void mutt_decode_uuencoded (STATE *s, LOFF_T len, int istext, iconv_t cd)
pt = tmps;
linelen = decode_byte (*pt);
pt++;
- for (c = 0; c < linelen;)
+ for (c = 0; c < linelen && *pt;)
{
- for (l = 2; l <= 6; l += 2)
+ for (l = 2; l <= 6 && *pt && *(pt + 1); l += 2)
{
out = decode_byte (*pt) << l;
pt++;
--
2.34.1

View File

@ -0,0 +1,26 @@
Based on https://gitlab.com/muttmua/mutt/-/commit/9204b24e99767ae06b5df25eca55c028d702528b
This patch disable enforcing of ssl
diff -ur mutt-2.0.2/doc/manual.xml.head mutt_patch/doc/manual.xml.head
--- mutt-2.0.2/doc/manual.xml.head 2020-11-07 21:30:03.000000000 +0100
+++ mutt_patch/doc/manual.xml.head 2021-01-27 20:21:05.964647359 +0100
@@ -9104,7 +9104,7 @@
<para>
When connecting through a <link linkend="tunnel">$tunnel</link>
and <link linkend="tunnel-is-secure">$tunnel_is_secure</link> is
- set (the default), Mutt will assume the connection to the server
+ set (Not the default!), Mutt will assume the connection to the server
through the pipe is already secured. Mutt will ignore <link
linkend="ssl-starttls">$ssl_starttls</link> and <link
linkend="ssl-force-tls">$ssl_force_tls</link>, behaving as if TLS
diff -ur mutt-2.0.2/init.h mutt_patch/init.h
--- mutt-2.0.2/init.h 2020-11-20 02:28:59.000000000 +0100
+++ mutt_patch/init.h 2021-01-27 20:20:09.696052996 +0100
@@ -4021,7 +4021,7 @@
** The file containing a client certificate and its associated private
** key.
*/
- { "ssl_force_tls", DT_BOOL, R_NONE, {.l=OPTSSLFORCETLS}, {.l=1} },
+ { "ssl_force_tls", DT_BOOL, R_NONE, {.l=OPTSSLFORCETLS}, {.l=0} },
/*
** .pp
** If this variable is \fIset\fP, Mutt will require that all connections

View File

@ -19,7 +19,7 @@
Summary: A text mode mail user agent
Name: mutt
Version: 1.10.1
Version: 2.0.7
Release: 2%{?dist}
Epoch: 5
# The entire source code is GPLv2+ except
@ -38,33 +38,25 @@ Patch8: mutt-1.5.23-system_certs.patch
Patch9: mutt-1.9.0-ssl_ciphers.patch
Patch10: mutt-1.9.4-lynx_no_backscapes.patch
Patch12: mutt-1.9.5-nodotlock.patch
# Fixs compatibility with previous versions
Patch13: mutt_disable_ssl_enforce.patch
Patch14: mutt-2.0.7-cve-2022-1328.patch
# Coverity patches
# https://cov01.lab.eng.brq.redhat.com/el8-results/el8/mutt-1.9.3-1.el8+7/scan-results-imp.html
Patch101: mutt-1.10.1-mutt-1.9.3-1_coverity_17.patch
Patch102: mutt-1.10.1-mutt-1.9.3-1_coverity_76.patch
Patch103: mutt-1.10.1-mutt-1.9.3-1_coverity_81_82_83.patch
Patch104: mutt-1.10.1-mutt-1.9.3-1_coverity_86.patch
Patch105: mutt-1.10.1-mutt-1.9.3-1_coverity_87.patch
Patch106: mutt-1.10.1-mutt-1.9.3-1_coverity_88_89.patch
Patch107: mutt-1.10.1-mutt-1.9.3-1_coverity_120_121.patch
Patch108: mutt-1.10.1-mutt-1.9.3-1_coverity_159_160.patch
Patch110: mutt-1.10.1-mutt-1.9.3-1_coverity_161.patch
Patch111: mutt-1.10.1-mutt-1.9.3-1_coverity_166.patch
Patch112: mutt-1.10.1-mutt-1.9.3-1_coverity_174.patch
Patch113: mutt-1.10.1-mutt-1.9.3-1_coverity_181.patch
Patch114: mutt-1.10.1-mutt-1.9.3-1_coverity_187_188_189_190.patch
Patch115: mutt-1.10.1-mutt-1.9.3-1_coverity_197.patch
Patch116: mutt-1.10.1-mutt-1.9.3-1_coverity_199_200_201.patch
Patch112: mutt-1.10.1-mutt-1.9.3-1_coverity_181.patch
Patch113: mutt-1.10.1-mutt-1.9.3-1_coverity_187_188_189_190.patch
Url: http://www.mutt.org
Requires: mailcap, urlview
BuildRequires: gcc
BuildRequires: gcc, make
BuildRequires: ncurses-devel, gettext, automake
# manual generation
BuildRequires: /usr/bin/xsltproc, docbook-style-xsl, perl-interpreter
BuildRequires: perl-generators
BuildRequires: lynx
BuildRequires: docbook2X
%if %{with hcache}
%{?with_tokyocabinet:BuildRequires: tokyocabinet-devel}
@ -109,22 +101,12 @@ autoreconf --install
%patch3 -p1 -b .syncdebug
%patch8 -p1 -b .system_certs
%patch9 -p1 -b .ssl_ciphers
%patch13 -p1
%patch14 -p1 -b .cve-2022-1328
%patch101 -p1 -b .mutt-1.9.3-1_coverity_17
%patch102 -p1 -b .mutt-1.9.3-1_coverity_76
%patch103 -p1 -b .mutt-1.9.3-1_coverity_81_82_83
%patch104 -p1 -b .mutt-1.9.3-1_coverity_86
%patch105 -p1 -b .mutt-1.9.3-1_coverity_87
%patch106 -p1 -b .mutt-1.9.3-1_coverity_88_89
%patch107 -p1 -b .mutt-1.9.3-1_coverity_120_121
%patch108 -p1 -b .mutt-1.9.3-1_coverity_159_160
%patch110 -p1 -b .mutt-1.9.3-1_coverity_161
%patch111 -p1 -b .mutt-1.9.3-1_coverity_166
%patch112 -p1 -b .mutt-1.9.3-1_coverity_174
%patch113 -p1 -b .mutt-1.9.3-1_coverity_181
%patch114 -p1 -b .mutt-1.9.3-1_coverity_187_188_189_190.patch
%patch115 -p1 -b .mutt-1.9.3-1_coverity_197
%patch116 -p1 -b .mutt-1.9.3-1_coverity_199_200_201
%patch112 -p1 -b .mutt-1.9.3-1_coverity_181
%patch113 -p1 -b .mutt-1.9.3-1_coverity_187_188_189_190.patch
sed -i -r 's/`$GPGME_CONFIG --libs`/"\0 -lgpg-error"/' configure
@ -176,7 +158,8 @@ rm -f mutt_ssl.c
%{?with_sidebar: --enable-sidebar} \
--with-docdir=%{_pkgdocdir}
make %{?_smp_mflags}
#make %{?_smp_mflags}
%make_build
# remove unique id in manual.html because multilib conflicts
sed -i -r 's/<a id="id[a-z0-9]\+">/<a id="id">/g' doc/manual.html
@ -213,6 +196,10 @@ rm -f %{buildroot}%{_mandir}/man5/mbox.5*
rm -f %{buildroot}%{_mandir}/man5/mmdf.5*
rm -rf %{buildroot}%{_pkgdocdir}
# remove /usr/share/info/dir
# prevents adding dir file without installed info utility
rm %{buildroot}%{_infodir}/dir
# provide muttrc.local(5): the same as muttrc(5)
ln -sf ./muttrc.5 %{buildroot}%{_mandir}/man5/muttrc.local.5
@ -228,17 +215,30 @@ ln -sf ./muttrc.5 %{buildroot}%{_mandir}/man5/muttrc.local.5
%config(noreplace) %{_sysconfdir}/Muttrc
%config(noreplace) %{_sysconfdir}/Muttrc.local
%{_bindir}/mutt
%{_bindir}/pgpring
%{_bindir}/mutt_pgpring
%{_bindir}/pgpewrap
%{_bindir}/smime_keys
%{_mandir}/man1/mutt.*
%{_mandir}/man1/smime_keys.*
%{_mandir}/man1/pgpring.*
%{_mandir}/man1/mutt_pgpring.*
%{_mandir}/man1/pgpewrap.*
%{_mandir}/man5/muttrc.*
%{_infodir}/mutt.info.*
%changelog
* Thu Jul 21 2022 Matej Mužila <mmuzila@redhat.com> - 5:2.0.7-2
- Fix CVE-2022-1328 (#2109247)
* Wed May 5 2021 Filip Januš <fjanus@redhat.com> - 5:2.0.7-1
- Upgrade to v2.0.7
- New bug fix release
- Resolves: #1912614
* Thu Apr 8 2021 Filip Januš <fjanus@redhat.com> - 5:2.0.6-1
- Upgrade to v2.0.6
- Resolves: #1912614
* Thu Jun 13 2019 Matej Mužila <mmuzila@redhat.com> - 5:1.10.1-2
- Fix Coverity issues
- Resolves: #1602622