Update to mutt-1.12.2, add fix for boo#1156477
OBS-URL: https://build.opensuse.org/package/show/server:mail/mutt?expand=0&rev=199
This commit is contained in:
parent
4228ffd417
commit
5c060f88fe
@ -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?")))
|
||||
+ {
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a542f4c02faecd171b4215ddbd368910faee4a634cca7aea5337586118ab1941
|
||||
size 4581196
|
@ -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 "<change-folder>?<toggle-mailboxes>" "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];
|
||||
|
3
mutt-1.12.2.tar.gz
Normal file
3
mutt-1.12.2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bc42750ce8237742b9382f2148fc547a8d8601aa4a7cd28c55fe7ca045196882
|
||||
size 4675774
|
@ -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 },
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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;
|
||||
|
@ -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 <errno.h>
|
||||
+#include <fcntl.h>
|
||||
@ -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 */
|
||||
|
57
mutt-Fix-SIGQUIT-handling.patch
Normal file
57
mutt-Fix-SIGQUIT-handling.patch
Normal file
@ -0,0 +1,57 @@
|
||||
From 6fa7a74c23760283282fd8b369d2b7b0fae69fec Mon Sep 17 00:00:00 2001
|
||||
From: Michal Suchanek <msuchanek@suse.de>
|
||||
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 <msuchanek@suse.de>
|
||||
---
|
||||
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);
|
||||
}
|
61
mutt.changes
61
mutt.changes
@ -1,3 +1,64 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 14 08:46:14 UTC 2019 - Dr. Werner Fink <werner@suse.de>
|
||||
|
||||
- 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.
|
||||
+ <descend-directory> in the browser menu allows entering nested maildir
|
||||
directories.
|
||||
+ <group-chat-reply> 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.
|
||||
! <toggle-write> 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 <group-chat-reply> 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 <msuchanek@suse.de>
|
||||
|
||||
Fix SIGQUIT handling (boo#1156477).
|
||||
+ mutt-Fix-SIGQUIT-handling.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 23 17:41:10 UTC 2019 - Dr. Werner Fink <werner@suse.de>
|
||||
|
||||
|
13
mutt.spec
13
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} .
|
||||
|
||||
|
@ -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. */
|
||||
|
@ -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
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user