diff --git a/aw.listreply.diff b/aw.listreply.diff index bcf8bb8..31e3124 100644 --- a/aw.listreply.diff +++ b/aw.listreply.diff @@ -7,8 +7,8 @@ ask when sending list message replies to author only - Armin Wolfermann (aw) 3 files changed, 26 insertions(+) --- init.h -+++ init.h 2019-01-02 13:22:21.794925899 +0000 -@@ -1559,6 +1559,13 @@ struct option_t MuttVars[] = { ++++ init.h 2019-11-13 13:32:20.528047580 +0000 +@@ -1678,6 +1678,13 @@ struct option_t MuttVars[] = { ** from your spool mailbox to your $$mbox mailbox, or as a result of ** a ``$mbox-hook'' command. */ @@ -23,33 +23,33 @@ ask when sending list message replies to author only - Armin Wolfermann (aw) /* ** .pp --- mutt.h -+++ mutt.h 2019-01-02 13:22:21.794925899 +0000 -@@ -320,6 +320,7 @@ enum ++++ mutt.h 2019-11-13 13:35:09.700879253 +0000 +@@ -329,6 +329,7 @@ enum #endif OPT_SUBJECT, OPT_VERIFYSIG, /* verify PGP signatures */ + OPT_LISTREPLY, - + /* THIS MUST BE THE LAST VALUE. */ OPT_MAX --- send.c -+++ send.c 2019-01-02 13:22:21.794925899 +0000 -@@ -448,6 +448,7 @@ static int include_reply (CONTEXT *ctx, ++++ send.c 2019-11-13 13:37:22.658388984 +0000 +@@ -559,6 +559,7 @@ static int include_reply (CONTEXT *ctx, static int default_to (ADDRESS **to, ENVELOPE *env, int flags, int hmfupto) { char prompt[STRING]; + struct Address *tmp; - if (flags && env->mail_followup_to && hmfupto == MUTT_YES) + if (flags && env->mail_followup_to && hmfupto == MUTT_YES) { -@@ -461,6 +462,23 @@ static int default_to (ADDRESS **to, ENV +@@ -572,6 +573,23 @@ static int default_to (ADDRESS **to, ENV if (flags & SENDLISTREPLY) return 0; + /* If this message came from a mailing list, ask the user if he really + * intended to reply to the author only. + */ -+ if (!(flags & SENDGROUPREPLY) && mutt_is_list_cc (0, env->to, env->cc)) { ++ if (!(flags & (SENDGROUPREPLY|SENDGROUPCHATREPLY)) && mutt_is_list_cc (0, env->to, env->cc)) { + switch (query_quadoption (OPT_LISTREPLY, + _("Message came from a mailing list. Reply to author only?"))) + { diff --git a/bsc907453-CVE-2014-9116-jessie.patch b/bsc907453-CVE-2014-9116-jessie.patch index 2013ad2..44df342 100644 --- a/bsc907453-CVE-2014-9116-jessie.patch +++ b/bsc907453-CVE-2014-9116-jessie.patch @@ -18,7 +18,7 @@ Index: mutt/lib.c --- lib.c +++ lib.c 2019-01-02 13:25:44.767193676 +0000 -@@ -851,6 +851,9 @@ char *mutt_substrdup (const char *begin, +@@ -627,6 +627,9 @@ char *mutt_substrdup (const char *begin, size_t len; char *p; diff --git a/bug-676388-largefile.patch b/bug-676388-largefile.patch index 8dedd76..08b2ecb 100644 --- a/bug-676388-largefile.patch +++ b/bug-676388-largefile.patch @@ -5,7 +5,7 @@ --- mh.c +++ mh.c 2019-01-02 13:20:40.204793251 +0000 -@@ -1809,9 +1809,9 @@ static int mh_rewrite_message (CONTEXT * +@@ -1813,9 +1813,9 @@ static int mh_rewrite_message (CONTEXT * BUFFER *newpath = NULL; BUFFER *partpath = NULL; @@ -20,7 +20,7 @@ return -1; --- mutt.h +++ mutt.h 2019-01-02 13:19:38.181933079 +0000 -@@ -702,7 +702,7 @@ typedef struct body +@@ -720,7 +720,7 @@ typedef struct body PARAMETER *parameter; /* parameters of the content-type */ char *description; /* content-description */ char *form_name; /* Content-Disposition form-data name param */ diff --git a/mutt-1.10.1-imap.patch b/mutt-1.10.1-imap.patch index c76d145..ccf6f49 100644 --- a/mutt-1.10.1-imap.patch +++ b/mutt-1.10.1-imap.patch @@ -1,14 +1,18 @@ +--- + browser.c | 7 +++++++ + 1 file changed, 7 insertions(+) + --- browser.c -+++ browser.c 2018-08-10 11:15:47.527515218 +0200 -@@ -893,6 +893,13 @@ void _mutt_select_file (char *f, size_t ++++ browser.c 2019-11-14 08:20:37.266842776 +0000 +@@ -963,6 +963,13 @@ void _mutt_buffer_select_file (BUFFER *f { - strfcpy (f, state.entry[menu->current].name, flen); - mutt_expand_path (f, flen); + mutt_buffer_strcpy (f, state.entry[menu->current].name); + mutt_buffer_expand_path (f); +#ifdef USE_IMAP -+ if (mx_is_imap(f)) ++ if (mx_is_imap (mutt_b2s (f))) + { -+ strfcpy (LastDir, f, sizeof (LastDir)); + state.imap_browse = 1; ++ mutt_buffer_strcpy (LastDir, mutt_b2s (f)); + } +#endif } diff --git a/mutt-1.11.3.tar.gz b/mutt-1.11.3.tar.gz deleted file mode 100644 index 17625fd..0000000 --- a/mutt-1.11.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a542f4c02faecd171b4215ddbd368910faee4a634cca7aea5337586118ab1941 -size 4581196 diff --git a/mutt-1.10.0.dif b/mutt-1.12.2.dif similarity index 83% rename from mutt-1.10.0.dif rename to mutt-1.12.2.dif index 0b55ff8..31deb21 100644 --- a/mutt-1.10.0.dif +++ b/mutt-1.12.2.dif @@ -1,13 +1,13 @@ --- configure.ac | 18 +++++++++++++----- doc/Muttrc.head | 2 +- - imap/auth.c | 22 ++++++++++++++++++++++ + imap/auth.c | 22 +++++++++++++++++++++- mx.c | 3 +++ - 4 files changed, 39 insertions(+), 6 deletions(-) + 4 files changed, 38 insertions(+), 7 deletions(-) --- configure.ac -+++ configure.ac 2019-01-02 13:03:11.384049677 +0000 -@@ -257,7 +257,7 @@ main () ++++ configure.ac 2019-11-13 12:53:59.275193074 +0000 +@@ -245,7 +245,7 @@ main () mutt_cv_slang=$withval if test -d $withval/include/slang; then CPPFLAGS="$CPPFLAGS -I${withval}/include/slang" @@ -16,7 +16,7 @@ CPPFLAGS="$CPPFLAGS -I${withval}/include" fi LDFLAGS="$LDFLAGS -L${withval}/lib" -@@ -727,8 +727,12 @@ AC_ARG_WITH(ssl, AS_HELP_STRING([--with- +@@ -715,8 +715,12 @@ AC_ARG_WITH(ssl, AS_HELP_STRING([--with- else if test "$with_ssl" != "yes" then @@ -31,7 +31,7 @@ fi saved_LIBS="$LIBS" -@@ -815,8 +819,12 @@ AC_ARG_WITH(sasl, AS_HELP_STRING([--with +@@ -803,8 +807,12 @@ AC_ARG_WITH(sasl, AS_HELP_STRING([--with if test "$with_sasl" != "yes" then @@ -47,7 +47,7 @@ saved_LIBS="$LIBS" --- doc/Muttrc.head -+++ doc/Muttrc.head 2019-01-02 13:03:11.384049677 +0000 ++++ doc/Muttrc.head 2019-11-13 12:53:59.275193074 +0000 @@ -23,7 +23,7 @@ macro index,pager,attach,compose \cb "\ "call urlview to extract URLs out of a message" @@ -58,7 +58,7 @@ # show the incoming mailboxes list (just like "mutt -y") and back when pressing "y" macro index y "?" "show incoming mailboxes list" --- imap/auth.c -+++ imap/auth.c 2019-01-02 13:03:11.384049677 +0000 ++++ imap/auth.c 2019-11-13 12:56:50.175985326 +0000 @@ -73,6 +73,25 @@ int imap_authenticate (IMAP_DATA* idata) dprint (2, (debugfile, "imap_authenticate: Trying method %s\n", method)); authenticator = imap_authenticators; @@ -85,19 +85,20 @@ while (authenticator->authenticate) { if (!authenticator->method || -@@ -86,6 +105,9 @@ int imap_authenticate (IMAP_DATA* idata) - +@@ -87,7 +106,9 @@ int imap_authenticate (IMAP_DATA* idata) authenticator++; } -+#ifdef USE_SASL -+ } -+#endif } - +- ++#ifdef USE_SASL ++ } ++#endif FREE (&methods); + } + else --- mx.c -+++ mx.c 2019-01-02 13:03:11.384049677 +0000 -@@ -1438,6 +1438,9 @@ void mx_update_context (CONTEXT *ctx, in ++++ mx.c 2019-11-13 12:53:59.275193074 +0000 +@@ -1450,6 +1450,9 @@ void mx_update_context (CONTEXT *ctx, in { h = ctx->hdrs[msgno]; diff --git a/mutt-1.12.2.tar.gz b/mutt-1.12.2.tar.gz new file mode 100644 index 0000000..f6e2c7b --- /dev/null +++ b/mutt-1.12.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc42750ce8237742b9382f2148fc547a8d8601aa4a7cd28c55fe7ca045196882 +size 4675774 diff --git a/mutt-1.5.15-wrapcolumn.diff b/mutt-1.5.15-wrapcolumn.diff index 71960cf..11aac3d 100644 --- a/mutt-1.5.15-wrapcolumn.diff +++ b/mutt-1.5.15-wrapcolumn.diff @@ -6,7 +6,7 @@ Index: init.h --- init.h +++ init.h 2019-01-02 13:04:23.746719029 +0000 -@@ -4032,6 +4032,7 @@ struct option_t MuttVars[] = { +@@ -4180,6 +4180,7 @@ struct option_t MuttVars[] = { ** printing, or replying to messages. */ { "wrap", DT_NUM, R_PAGER, UL &Wrap, 0 }, diff --git a/mutt-1.5.20-sendgroupreplyto.diff b/mutt-1.5.20-sendgroupreplyto.diff index fa9fd97..6a4276a 100644 --- a/mutt-1.5.20-sendgroupreplyto.diff +++ b/mutt-1.5.20-sendgroupreplyto.diff @@ -1,12 +1,12 @@ --- init.h | 7 +++++++ mutt.h | 1 + - send.c | 12 ++++++++++-- - 3 files changed, 18 insertions(+), 2 deletions(-) + send.c | 9 ++++++--- + 3 files changed, 14 insertions(+), 3 deletions(-) --- init.h -+++ init.h 2019-01-02 13:03:50.043338815 +0000 -@@ -2864,6 +2864,13 @@ struct option_t MuttVars[] = { ++++ init.h 2019-11-13 13:02:27.665650218 +0000 +@@ -3010,6 +3010,13 @@ struct option_t MuttVars[] = { ** .pp ** Also see the $$force_name variable. */ @@ -21,8 +21,8 @@ /* ** .pp --- mutt.h -+++ mutt.h 2019-01-02 13:03:50.043338815 +0000 -@@ -480,6 +480,7 @@ enum ++++ mutt.h 2019-11-13 13:02:27.665650218 +0000 +@@ -493,6 +493,7 @@ enum OPTSAVEADDRESS, OPTSAVEEMPTY, OPTSAVENAME, @@ -31,23 +31,20 @@ #ifdef USE_SIDEBAR OPTSIDEBAR, --- send.c -+++ send.c 2019-01-02 13:03:50.043338815 +0000 -@@ -559,8 +559,16 @@ int mutt_fetch_recips (ENVELOPE *out, EN - if ((flags & SENDGROUPREPLY) && (!in->mail_followup_to || hmfupto != MUTT_YES)) ++++ send.c 2019-11-13 13:15:12.547293335 +0000 +@@ -673,9 +673,12 @@ int mutt_fetch_recips (ENVELOPE *out, EN + (!in->mail_followup_to || hmfupto != MUTT_YES)) { - /* if(!mutt_addr_is_user(in->to)) */ -- rfc822_append (&out->cc, in->to, 1); -- rfc822_append (&out->cc, in->cc, 1); -+ if (option (OPTSENDGROUPREPLYTO)) -+ { -+ rfc822_append(&out->to, in->to, 0); -+ rfc822_append(&out->cc, in->cc, 1); -+ } -+ else -+ { -+ rfc822_append(&out->cc, in->to, 1); -+ rfc822_append(&out->cc, in->cc, 1); -+ } + /* if (!mutt_addr_is_user(in->to)) */ +- if (flags & SENDGROUPREPLY) +- rfc822_append (&out->cc, in->to, 1); +- else ++ if (flags & SENDGROUPREPLY) { ++ if (option (OPTSENDGROUPREPLYTO)) ++ rfc822_append (&out->to, in->to, 1); ++ else ++ rfc822_append (&out->cc, in->to, 1); ++ } else + rfc822_append (&out->to, in->to, 1); + rfc822_append (&out->cc, in->cc, 1); } - } - return 0; diff --git a/mutt-1.5.21-mailcap.diff b/mutt-1.5.21-mailcap.diff index 41ed54f..f7ee742 100644 --- a/mutt-1.5.21-mailcap.diff +++ b/mutt-1.5.21-mailcap.diff @@ -9,7 +9,7 @@ Index: mutt-1.5.21/init.c --- init.c +++ init.c 2019-01-02 13:25:20.795634552 +0000 -@@ -3519,7 +3519,7 @@ void mutt_init (int skip_sys_rc, LIST *c +@@ -3536,7 +3536,7 @@ void mutt_init (int skip_sys_rc, LIST *c else { /* Default search path from RFC1524 */ diff --git a/mutt-1.5.23-carriage-return.path b/mutt-1.5.23-carriage-return.path index 38ceb5d..6c4c524 100644 --- a/mutt-1.5.23-carriage-return.path +++ b/mutt-1.5.23-carriage-return.path @@ -7,19 +7,19 @@ 5 files changed, 26 insertions(+), 14 deletions(-) --- crypt-gpgme.c -+++ crypt-gpgme.c 2019-01-02 13:24:40.244380302 +0000 -@@ -2343,7 +2343,7 @@ static void copy_clearsigned (gpgme_data - ++++ crypt-gpgme.c 2019-11-13 13:46:16.512388398 +0000 +@@ -2669,7 +2669,7 @@ static void copy_clearsigned (gpgme_data + if (armor_header) { -- if (buf[0] == '\n') -+ if (buf[0] == '\n' || (buf[0] == '\r' && buf[1] == '\n')) +- if (buf[0] == '\n') ++ if (buf[0] == '\n' || (buf[0] == '\r' && buf[1] == '\n')) armor_header = 0; continue; } --- lib.c -+++ lib.c 2019-01-02 13:24:40.244380302 +0000 -@@ -907,6 +907,17 @@ int mutt_strcmp(const char *a, const cha ++++ lib.c 2019-11-13 13:42:00.245189313 +0000 +@@ -683,6 +683,17 @@ int mutt_strcmp(const char *a, const cha return strcmp(NONULL(a), NONULL(b)); } @@ -38,28 +38,28 @@ { return strcasecmp(NONULL(a), NONULL(b)); --- lib.h -+++ lib.h 2019-01-02 13:24:40.244380302 +0000 -@@ -204,6 +204,7 @@ int mutt_copy_bytes (FILE *, FILE *, siz - int mutt_rx_sanitize_string (char *, size_t, const char *); ++++ lib.h 2019-11-13 13:47:17.399247662 +0000 +@@ -201,6 +201,7 @@ int mutt_copy_stream (FILE *, FILE *); + int mutt_copy_bytes (FILE *, FILE *, size_t); int mutt_strcasecmp (const char *, const char *); int mutt_strcmp (const char *, const char *); -+int mutt_strxcmp(const char *a, const char *b); ++int mutt_strxcmp (const char *, const char *); int mutt_strncasecmp (const char *, const char *, size_t); int mutt_strncmp (const char *, const char *, size_t); int mutt_strcoll (const char *, const char *); --- pager.c -+++ pager.c 2019-01-02 13:24:40.244380302 +0000 -@@ -823,7 +823,7 @@ resolve_types (char *buf, char *raw, str ++++ pager.c 2019-11-13 13:48:32.257845120 +0000 +@@ -826,7 +826,7 @@ resolve_types (char *buf, char *raw, str + lineInfo[n].type = MT_COLOR_NORMAL; else if (check_attachment_marker ((char *) raw) == 0) lineInfo[n].type = MT_COLOR_ATTACHMENT; - #endif - else if (mutt_strcmp ("-- \n", buf) == 0 || mutt_strcmp ("-- \r\n", buf) == 0) + else if (mutt_strxcmp ("-- \n", buf) == 0) { i = n + 1; --- pgp.c -+++ pgp.c 2019-01-02 13:24:40.244380302 +0000 ++++ pgp.c 2019-11-13 13:51:06.746954963 +0000 @@ -373,7 +373,7 @@ static void pgp_copy_clearsigned (FILE * continue; } @@ -67,7 +67,7 @@ - if (mutt_strcmp (buf, "-----BEGIN PGP SIGNATURE-----\n") == 0) + if (mutt_strxcmp (buf, "-----BEGIN PGP SIGNATURE-----\n") == 0) break; - + if (armor_header) @@ -442,14 +442,14 @@ int pgp_application_pgp_handler (BODY *m could_not_decrypt = 0; @@ -88,12 +88,12 @@ needpass = 0; pgp_keyblock = 1; @@ -482,10 +482,10 @@ int pgp_application_pgp_handler (BODY *m - + fputs (buf, tmpfp); - if ((needpass && mutt_strcmp ("-----END PGP MESSAGE-----\n", buf) == 0) || + if ((needpass && mutt_strxcmp ("-----END PGP MESSAGE-----\n", buf) == 0) || - (!needpass + (!needpass - && (mutt_strcmp ("-----END PGP SIGNATURE-----\n", buf) == 0 - || mutt_strcmp ("-----END PGP PUBLIC KEY BLOCK-----\n",buf) == 0))) + && (mutt_strxcmp ("-----END PGP SIGNATURE-----\n", buf) == 0 @@ -116,7 +116,7 @@ key = 1; } } -@@ -1237,9 +1237,9 @@ BODY *pgp_sign_message (BODY *a) +@@ -1261,9 +1261,9 @@ BODY *pgp_sign_message (BODY *a) */ while (fgets (buffer, sizeof (buffer) - 1, pgpout) != NULL) { diff --git a/mutt-1.5.9i-pgpewrap.diff b/mutt-1.5.9i-pgpewrap.diff index c503a87..2e9c40d 100644 --- a/mutt-1.5.9i-pgpewrap.diff +++ b/mutt-1.5.9i-pgpewrap.diff @@ -3,16 +3,16 @@ 1 file changed, 5 insertions(+) --- pgpewrap.c -+++ pgpewrap.c 2018-07-04 12:04:58.958652059 +0000 -@@ -58,6 +58,11 @@ int main(int argc, char **argv) { - } - *opt = NULL; ++++ pgpewrap.c 2019-11-13 13:00:01.256398592 +0000 +@@ -65,6 +65,11 @@ int main(int argc, char **argv) + } + *opt = NULL; -+ if (opts[0] == NULL) -+ { -+ fprintf(stderr, "Command line usage: %s [flags] -- prefix [recipients]\n", argv[0]); -+ return 1; -+ } - execvp(opts[0], opts); - perror(argv[0]); - return 2; ++ if (opts[0] == NULL) ++ { ++ fprintf(stderr, "Command line usage: %s [flags] -- prefix [recipients]\n", argv[0]); ++ return 1; ++ } + execvp(opts[0], opts); + perror(argv[0]); + return 2; diff --git a/mutt-1.6.1-opennfs.dif b/mutt-1.6.1-opennfs.dif index 56d4f26..07c5b45 100644 --- a/mutt-1.6.1-opennfs.dif +++ b/mutt-1.6.1-opennfs.dif @@ -1,15 +1,15 @@ --- Makefile.am | 4 - - lib.c | 8 ++- mbox.c | 5 ++ mh.c | 9 +++- mutt.h | 3 + + muttlib.c | 6 ++ opennfs.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sendlib.c | 4 + - 7 files changed, 150 insertions(+), 5 deletions(-) + 7 files changed, 149 insertions(+), 4 deletions(-) --- Makefile.am -+++ Makefile.am 2019-01-02 13:10:35.863891779 +0000 ++++ Makefile.am 2019-11-13 13:18:22.867731105 +0000 @@ -32,7 +32,7 @@ mutt_SOURCES = \ edit.c enter.c flags.c init.c filter.c from.c \ getdomain.c group.c \ @@ -28,42 +28,9 @@ mutt_pgpring_LDADD = $(LIBOBJS) $(INTLLIBS) mutt_pgpring_DEPENDENCIES = $(LIBOBJS) $(INTLDEPS) ---- lib.c -+++ lib.c 2019-01-02 13:10:35.863891779 +0000 -@@ -50,9 +50,9 @@ - #define EX_OK 0 - #endif - -+#include "mutt.h" - #include "lib.h" - -- - static const struct sysexits - { - int v; -@@ -665,6 +665,10 @@ int safe_open (const char *path, int fla - struct stat osb, nsb; - int fd; - -+#if defined(__linux__) -+ if ((fd = opennfs (path, flags, 0600)) < 0) -+ return fd; -+#else - if (flags & O_EXCL) - { - char safe_file[_POSIX_PATH_MAX]; -@@ -688,7 +692,7 @@ int safe_open (const char *path, int fla - - if ((fd = open (path, flags & ~O_EXCL, 0600)) < 0) - return fd; -- -+#endif - /* make sure the file is not symlink */ - if (lstat (path, &osb) < 0 || fstat (fd, &nsb) < 0 || - compare_stat(&osb, &nsb) == -1) --- mbox.c -+++ mbox.c 2019-01-02 13:10:35.867891705 +0000 -@@ -889,8 +889,13 @@ static int mbox_sync_mailbox (CONTEXT *c ++++ mbox.c 2019-11-13 13:18:22.867731105 +0000 +@@ -890,8 +890,13 @@ static int mbox_sync_mailbox (CONTEXT *c /* Create a temporary file to write the new version of the mailbox in. */ mutt_mktemp (tempfile, sizeof (tempfile)); @@ -78,20 +45,20 @@ if (-1 != i) { --- mh.c -+++ mh.c 2019-01-02 13:10:35.867891705 +0000 ++++ mh.c 2019-11-13 13:24:16.337114049 +0000 @@ -369,7 +369,11 @@ static int mh_mkstemp (CONTEXT * dest, F { mutt_buffer_printf (path, "%s/.mutt-%s-%d-%d", - dest->path, NONULL (Hostname), (int) getpid (), Counter++); + dest->path, NONULL (Hostname), (int) getpid (), Counter++); +#if defined(__linux__) -+ if ((fd = opennfs(mutt_b2s (path), O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1) ++ if ((fd = opennfs (mutt_b2s (path), O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1) +#else if ((fd = open (mutt_b2s (path), O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1) +#endif { if (errno != EEXIST) { -@@ -1548,8 +1552,11 @@ static int maildir_open_new_message (MES +@@ -1552,8 +1556,11 @@ static int maildir_open_new_message (MES dprint (2, (debugfile, "maildir_open_new_message (): Trying %s.\n", mutt_b2s (path))); @@ -105,8 +72,8 @@ if (errno != EEXIST) { --- mutt.h -+++ mutt.h 2019-01-02 13:10:35.867891705 +0000 -@@ -1102,4 +1102,7 @@ typedef struct ++++ mutt.h 2019-11-13 13:18:22.867731105 +0000 +@@ -1124,4 +1124,7 @@ typedef struct #include "lib.h" #include "globals.h" @@ -114,8 +81,30 @@ +extern int opennfs(const char *, int, int); +#endif #endif /*MUTT_H*/ ---- opennfs.c -+++ opennfs.c 2019-01-02 13:10:35.867891705 +0000 +--- muttlib.c ++++ muttlib.c 2019-11-13 13:21:44.139963407 +0000 +@@ -2306,6 +2306,10 @@ int safe_open (const char *path, int fla + BUFFER *safe_file = NULL; + BUFFER *safe_dir = NULL; + ++#if defined(__linux__) ++ if ((fd = opennfs (path, flags, 0600)) < 0) ++ return fd; ++#else + if (flags & O_EXCL) + { + safe_file = mutt_buffer_pool_get (); +@@ -2334,7 +2338,7 @@ int safe_open (const char *path, int fla + + if ((fd = open (path, flags & ~O_EXCL, 0600)) < 0) + goto cleanup; +- ++#endif + /* make sure the file is not symlink */ + if (lstat (path, &osb) < 0 || fstat (fd, &nsb) < 0 || + compare_stat(&osb, &nsb) == -1) +--- /dev/null ++++ opennfs.c 2019-11-13 13:18:22.867731105 +0000 @@ -0,0 +1,122 @@ +#include +#include @@ -240,8 +229,8 @@ + return open(path, flags, mode); +} --- sendlib.c -+++ sendlib.c 2019-01-02 13:10:35.867891705 +0000 -@@ -2256,7 +2256,11 @@ send_msg (const char *path, char **args, ++++ sendlib.c 2019-11-13 13:18:22.867731105 +0000 +@@ -2284,7 +2284,11 @@ send_msg (const char *path, char **args, if (SendmailWait >= 0 && tempfile && *tempfile) { /* *tempfile will be opened as stdout */ diff --git a/mutt-Fix-SIGQUIT-handling.patch b/mutt-Fix-SIGQUIT-handling.patch new file mode 100644 index 0000000..74ed8e3 --- /dev/null +++ b/mutt-Fix-SIGQUIT-handling.patch @@ -0,0 +1,57 @@ +From 6fa7a74c23760283282fd8b369d2b7b0fae69fec Mon Sep 17 00:00:00 2001 +From: Michal Suchanek +Date: Tue, 12 Nov 2019 14:21:21 +0100 +Subject: [PATCH] Fix SIGQUIT handling. + +SIGQUIT is not masked in mutt_block_signals. This is not consistent with +SIGTERM/SIGINT handling. + +When quit = ask-yes is set the SIGQUIT handler does not ask. Use the +SIGINT handler for handling SIGQUIT as well to fix this. + +Signed-off-by: Michal Suchanek +--- + signal.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- signal.c ++++ signal.c 2019-11-14 08:40:31.823464569 +0000 +@@ -92,6 +92,7 @@ static void sighandler (int sig) + break; + #endif + ++ case SIGQUIT: + case SIGINT: + SigInt = 1; + break; +@@ -119,7 +120,6 @@ void mutt_signal_init (void) + act.sa_handler = exit_handler; + sigaction (SIGTERM, &act, NULL); + sigaction (SIGHUP, &act, NULL); +- sigaction (SIGQUIT, &act, NULL); + + /* we want to avoid race conditions */ + sigaddset (&act.sa_mask, SIGTSTP); +@@ -139,6 +139,7 @@ void mutt_signal_init (void) + + sigaction (SIGCONT, &act, NULL); + sigaction (SIGTSTP, &act, NULL); ++ sigaction (SIGQUIT, &act, NULL); + sigaction (SIGINT, &act, NULL); + #if defined (USE_SLANG_CURSES) || defined (HAVE_RESIZETERM) + sigaction (SIGWINCH, &act, NULL); +@@ -175,6 +176,7 @@ void mutt_block_signals (void) + sigaddset (&Sigset, SIGTERM); + sigaddset (&Sigset, SIGHUP); + sigaddset (&Sigset, SIGTSTP); ++ sigaddset (&Sigset, SIGQUIT); + sigaddset (&Sigset, SIGINT); + #if defined (USE_SLANG_CURSES) || defined (HAVE_RESIZETERM) + sigaddset (&Sigset, SIGWINCH); +@@ -249,5 +251,6 @@ void mutt_allow_interrupt (int dispositi + if (disposition == 0) + sa.sa_flags |= SA_RESTART; + #endif ++ sigaction (SIGQUIT, &sa, NULL); + sigaction (SIGINT, &sa, NULL); + } diff --git a/mutt.changes b/mutt.changes index 727002b..92c83af 100644 --- a/mutt.changes +++ b/mutt.changes @@ -1,3 +1,64 @@ +------------------------------------------------------------------- +Thu Nov 14 08:46:14 UTC 2019 - Dr. Werner Fink + +- Update to mutt 1.12.2 (2019-09-21): + + $fcc_before_send, when set, causes Fcc to occur before sending instead of + afterwards. When set, the message is saved as-sent; please see the + documentation for details. + ! $ssl_use_tlsv1 and $ssl_use_tlsv1_1 now default to unset. + + $auto_subscribe, when set, automatically adds an email with the List-Post + header to the subscribe list. + ! Fcc now occurs after sending a message. If the fcc fails, mutt will prompt + to try again, or to try another mailbox. + + Basic protected header ("memory hole") support added for the Subject header. + See the config vars: $crypt_protected_headers_read, + $crypt_protected_headers_save, $crypt_protected_headers_subject, + and $crypt_protected_headers_write. + ! Color names can be prefixed with "light" in addition to "bright". "bright" + colors are bold face, while "light" are non-bold. + ! Color commands can now include an attribute (e.g. bold, underline). + ! $pgp_use_gpg_agent defaults set. + + in the browser menu allows entering nested maildir + directories. + + replies to all, but preserves To recipients in the reply. + + $include_encrypted, default unset, prevents separately encrypted contents + from being included in a reply. This helps to prevent a decryption oracle + attack. + ! With gpgme >= 1.11, recipient keys with a trailing '!' now force subkey use, + as with classic gpg. + ! In send mode, %{charset} mailcap expansion uses the current charset of the + file. + + $imap_fetch_chunk_size allows fetching new headers in groups of this size. + This might help with timeouts during opening of huge mailboxes. + If you have huge mailboxes, you should also try $imap_qresync. + ! can be invoked from the pager too. + + The $forward_attachments quadoption allows including attachments in + inline-forwards (i.e. $mime_forward unset, $forward_decode set.) +- Add patch mutt-Fix-SIGQUIT-handling.patch for boo#1156477e + * Mutt has an option to ask before quitting on ^C but quits immediately on ^4 +- Port main patch, that is mutt-1.10.0.dif becomes now mutt-1.12.2.dif +- Refresh patches + * aw.listreply.diff + * bsc907453-CVE-2014-9116-jessie.patch + * bug-676388-largefile.patch + * mutt-1.10.1-imap.patch + * mutt-1.5.15-wrapcolumn.diff + * mutt-1.5.20-sendgroupreplyto.diff + Note that the new function behaves the same way without + hard setting the option send_group_reply_to + * mutt-1.5.21-mailcap.diff + * mutt-1.5.23-carriage-return.path + * mutt-1.5.9i-pgpewrap.diff + * mutt-1.6.1-opennfs.dif + * patch-1.5.24.vk.pgp_verbose_mime + * widechar.sidebar.dif + +------------------------------------------------------------------- +Sun Nov 10 13:34:03 UTC 2019 - Michal Suchanek + + Fix SIGQUIT handling (boo#1156477). + + mutt-Fix-SIGQUIT-handling.patch + ------------------------------------------------------------------- Sat Feb 23 17:41:10 UTC 2019 - Dr. Werner Fink diff --git a/mutt.spec b/mutt.spec index 83aa9f1..f898f3a 100644 --- a/mutt.spec +++ b/mutt.spec @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -60,7 +60,7 @@ BuildRequires: pkgconfig(shared-mime-info) BuildRequires: update-desktop-files %endif BuildRequires: w3m -Url: http://www.mutt.org +URL: http://www.mutt.org Requires(post): %install_info_prereq Requires(preun): %install_info_prereq Recommends: hunspell @@ -75,7 +75,7 @@ Recommends: w3m Requires(post): shared-mime-info Requires(postun): shared-mime-info %endif -Version: 1.11.3 +Version: 1.12.2 Release: 0 Summary: Mail Program # ftp://ftp.mutt.org/mutt/devel/ @@ -89,7 +89,7 @@ Source3: mutt.png Source4: mutt.desktop Source5: skel.muttrc Source9: mutt.mailcap -Patch: %name-1.10.0.dif +Patch: %name-1.12.2.dif # http://www.spinnaker.de/mutt/compressed/ Patch2: %name-1.5.9i-pgpewrap.diff Patch3: %name-1.5.20-sendgroupreplyto.diff @@ -109,6 +109,8 @@ Patch18: mutt-1.5.21-mailcap.diff Patch19: bsc907453-CVE-2014-9116-jessie.patch # PATCH-ENHANCE-SUSE: allow to list current imap folders Patch20: mutt-1.10.1-imap.patch +# PATCH-ENHANCE-SUSE: boo#1156477 - Mutt has an option to ask before quitting on ^C but quits immediately on ^4 +Patch21: mutt-Fix-SIGQUIT-handling.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir %{_sysconfdir} @@ -141,7 +143,7 @@ BuildArch: noarch Provides translations to the package mutt. %prep -%setup -q -D -n mutt-%version +%setup -q -n mutt-%version %patch -p0 -b .p0 %patch2 -p0 -b .pgpewrap %patch3 -p0 -b .sendgroupreplyto @@ -155,6 +157,7 @@ Provides translations to the package mutt. %patch18 -p0 -b .mailcap %patch19 -p0 -b .cvw2014.9116 %patch20 -p0 -b .imap +%patch21 -p0 -b .quit cp %{S:2} . diff --git a/patch-1.5.24.vk.pgp_verbose_mime b/patch-1.5.24.vk.pgp_verbose_mime index 2ac9cf0..1c1bf56 100644 --- a/patch-1.5.24.vk.pgp_verbose_mime +++ b/patch-1.5.24.vk.pgp_verbose_mime @@ -6,7 +6,7 @@ --- globals.h +++ globals.h 2019-01-02 13:23:50.937286980 +0000 -@@ -259,6 +259,8 @@ WHERE char *PgpDefaultKey; +@@ -263,6 +263,8 @@ WHERE char *PgpDefaultKey; WHERE char *PgpSignAs; WHERE long PgpTimeout; WHERE char *PgpEntryFormat; @@ -17,7 +17,7 @@ WHERE char *PgpVerifyCommand; --- init.h +++ init.h 2019-01-02 13:22:43.822520945 +0000 -@@ -3162,9 +3162,18 @@ struct option_t MuttVars[] = { +@@ -3308,9 +3308,18 @@ struct option_t MuttVars[] = { ** a line quoted text if it also matches $$smileys. This mostly ** happens at the beginning of a line. */ @@ -41,7 +41,7 @@ ** .pp --- pgp.c +++ pgp.c 2019-01-02 13:22:43.822520945 +0000 -@@ -1301,7 +1301,8 @@ BODY *pgp_sign_message (BODY *a) +@@ -1325,7 +1325,8 @@ BODY *pgp_sign_message (BODY *a) t->disposition = DISPNONE; t->encoding = ENC7BIT; t->unlink = 1; /* ok to remove this file after sending. */ diff --git a/widechar.sidebar.dif b/widechar.sidebar.dif index dcdd441..57c4038 100644 --- a/widechar.sidebar.dif +++ b/widechar.sidebar.dif @@ -42,7 +42,7 @@ } break; -@@ -1568,7 +1569,7 @@ void mutt_decode_attachment (BODY *b, ST +@@ -1580,7 +1580,7 @@ void mutt_decode_attachment (BODY *b, ST * strip all trailing spaces to improve interoperability; * if $text_flowed is unset, simply verbatim copy input */