Update to NeoMutt 20170912 based on Mutt 1.9.0

OBS-URL: https://build.opensuse.org/package/show/server:mail/mutt?expand=0&rev=174
This commit is contained in:
Dr. Werner Fink 2017-09-15 09:18:59 +00:00 committed by Git OBS Bridge
parent ebec6d94e2
commit 929b87c1a3
16 changed files with 250 additions and 196 deletions

View File

@ -7,34 +7,34 @@ ask when sending list message replies to author only - Armin Wolfermann (aw)
3 files changed, 26 insertions(+)
--- init.h
+++ init.h 2017-06-13 08:07:08.641344928 +0000
@@ -1631,6 +1631,13 @@ struct Option MuttVars[] = {
+++ init.h 2017-09-11 11:57:46.199273705 +0000
@@ -1662,6 +1662,13 @@ struct Option MuttVars[] = {
** ``$$keywords_standard'' are \fCfalse\fP, mutt will save keywords
** to legacy headers to ensure that it does not lose your labels.
*/
+ { "list_reply", DT_QUAD, R_NONE, OPT_LISTREPLY, MUTT_NO },
+ { "list_reply", DT_QUAD, R_NONE, OPT_LIST_REPLY, MUTT_NO },
+ /*
+ ** .pp
+ ** When set, address replies to the mailing list the original message came
+ ** from (instead to the author only). Setting this option to ``ask-yes'' or
+ ** ``ask-no'' will ask if you really intended to reply to the author only.
+ */
{ "mail_check", DT_NUM, R_NONE, UL &BuffyTimeout, 5 },
{ "mail_check", DT_NUMBER, R_NONE, UL &MailCheck, 5 },
/*
** .pp
--- mutt.h
+++ mutt.h 2017-06-13 08:07:08.641344928 +0000
@@ -249,6 +249,7 @@ enum
+++ mutt.h 2017-09-11 11:59:08.957770801 +0000
@@ -266,6 +266,7 @@ enum QuadOptionVars
#endif
OPT_SUBJECT,
OPT_VERIFYSIG, /* verify PGP signatures */
+ OPT_LISTREPLY,
OPT_ABORT_NOSUBJECT,
OPT_CRYPT_VERIFY_SIG, /* verify PGP signatures */
+ OPT_LIST_REPLY,
#ifdef USE_NNTP
OPT_TOMODERATED,
OPT_CATCHUP,
OPT_POST_MODERATED,
OPT_CATCHUP_NEWSGROUP,
--- send.c
+++ send.c 2017-06-13 08:08:46.631548101 +0000
@@ -512,6 +512,7 @@ static int include_reply(struct Context
+++ send.c 2017-09-11 12:00:28.680322715 +0000
@@ -532,6 +532,7 @@ static int include_reply(struct Context
static int default_to(struct Address **to, struct Envelope *env, int flags, int hmfupto)
{
char prompt[STRING];
@ -42,7 +42,7 @@ ask when sending list message replies to author only - Armin Wolfermann (aw)
if (flags && env->mail_followup_to && hmfupto == MUTT_YES)
{
@@ -525,6 +526,23 @@ static int default_to(struct Address **t
@@ -545,6 +546,23 @@ static int default_to(struct Address **t
if (flags & SENDLISTREPLY)
return 0;
@ -50,7 +50,7 @@ ask when sending list message replies to author only - Armin Wolfermann (aw)
+ * intended to reply to the author only.
+ */
+ if (!(flags & SENDGROUPREPLY) && mutt_is_list_cc (0, env->to, env->cc)) {
+ switch (query_quadoption (OPT_LISTREPLY,
+ switch (query_quadoption (OPT_LIST_REPLY,
+ _("Message came from a mailing list. Reply to author only?")))
+ {
+ case MUTT_NO:
@ -63,6 +63,6 @@ ask when sending list message replies to author only - Armin Wolfermann (aw)
+ }
+ }
+
if (!option(OPTREPLYSELF) && mutt_addr_is_user(env->from))
if (!option(OPT_REPLY_SELF) && mutt_addr_is_user(env->from))
{
/* mail is from the user, assume replying to recipients */

View File

@ -13,12 +13,12 @@ has -jessie prefixed in its name.
Index: mutt/lib.c
===================================================================
---
lib.c | 3 +++
lib/string.c | 3 +++
1 file changed, 3 insertions(+)
--- lib.c
+++ lib.c 2017-06-13 08:18:01.113325096 +0000
@@ -820,6 +820,9 @@ char *mutt_substrdup(const char *begin,
--- lib/string.c
+++ lib/string.c 2017-09-11 12:20:02.770906853 +0000
@@ -338,6 +338,9 @@ char *mutt_substrdup(const char *begin,
size_t len;
char *p = NULL;

View File

@ -5,19 +5,19 @@
3 files changed, 5 insertions(+), 5 deletions(-)
--- body.h
+++ body.h 2017-06-13 08:06:05.550501689 +0000
@@ -29,7 +29,7 @@ struct Body
struct Parameter *parameter; /* parameters of the content-type */
char *description; /* content-description */
char *form_name; /* Content-Disposition form-data name param */
- long hdr_offset; /* offset in stream where the headers begin.
+ LOFF_T hdr_offset; /* offset in stream where the headers begin.
+++ body.h 2017-09-11 11:52:02.449585688 +0000
@@ -37,7 +37,7 @@ struct Body
struct Parameter *parameter; /**< parameters of the content-type */
char *description; /**< content-description */
char *form_name; /**< Content-Disposition form-data name param */
- long hdr_offset; /**< offset in stream where the headers begin.
+ LOFF_T hdr_offset; /**< offset in stream where the headers begin.
* this info is used when invoking metamail,
* where we need to send the headers of the
* attachment
* attachment */
--- mh.c
+++ mh.c 2017-06-13 08:04:35.572151258 +0000
@@ -1732,9 +1732,9 @@ static int mh_rewrite_message(struct Con
+++ mh.c 2017-09-11 11:50:58.466761763 +0000
@@ -1757,9 +1757,9 @@ static int mh_rewrite_message(struct Con
char newpath[_POSIX_PATH_MAX];
char partpath[_POSIX_PATH_MAX];
@ -31,11 +31,11 @@
if ((dest = mx_open_new_message(ctx, h, 0)) == NULL)
return -1;
--- ncrypt/crypt_gpgme.c
+++ ncrypt/crypt_gpgme.c 2017-06-13 08:04:35.572151258 +0000
@@ -493,7 +493,7 @@ static gpgme_data_t body_to_data_object(
/* Create a GPGME data object from the stream FP but limit the object
to LENGTH bytes starting at OFFSET bytes from the beginning of the
file. */
+++ ncrypt/crypt_gpgme.c 2017-09-11 11:52:34.888989382 +0000
@@ -570,7 +570,7 @@ static gpgme_data_t body_to_data_object(
* Create a GPGME data object from the stream FP but limit the object
* to LENGTH bytes starting at OFFSET bytes from the beginning of the file.
*/
-static gpgme_data_t file_to_data_object(FILE *fp, long offset, long length)
+static gpgme_data_t file_to_data_object(FILE *fp, LOFF_T offset, long length)
{

View File

@ -1,18 +1,16 @@
Index: init.h
===================================================================
---
init.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
init.h | 1 +
1 file changed, 1 insertion(+)
--- init.h
+++ init.h 2017-06-13 07:52:39.605269357 +0000
@@ -4297,7 +4297,8 @@ struct Option MuttVars[] = {
** When \fIset\fP, mutt will weed headers when displaying, forwarding,
+++ init.h 2017-09-11 11:39:38.727250536 +0000
@@ -4354,6 +4354,7 @@ struct Option MuttVars[] = {
** printing, or replying to messages.
*/
- { "wrap", DT_NUM, R_PAGER, UL &Wrap, 0 },
+ { "wrap", DT_NUM, R_PAGER, UL &Wrap, 0 },
+ { "wrapcolumn", DT_SYN, R_NONE, UL "wrap", 0 },
{ "wrap", DT_NUMBER, R_PAGER, UL &Wrap, 0 },
+ { "wrapcolumn", DT_SYNONYM, R_NONE, UL "wrap", 0 },
/*
** .pp
** When set to a positive value, mutt will wrap text at $$wrap characters.

View File

@ -5,40 +5,40 @@
3 files changed, 18 insertions(+), 2 deletions(-)
--- init.h
+++ init.h 2017-06-13 07:47:41.578725458 +0000
@@ -3078,6 +3078,13 @@ struct Option MuttVars[] = {
+++ init.h 2017-09-11 11:36:34.666630359 +0000
@@ -3135,6 +3135,13 @@ struct Option MuttVars[] = {
** .pp
** Also see the $$force_name variable.
*/
+ { "send_group_reply_to", DT_BOOL, R_NONE, OPTSENDGROUPREPLYTO, 0 },
+ { "send_group_reply_to", DT_BOOL, R_NONE, OPT_SENDGROUP_REPLYTO, 0 },
+ /*
+ ** .pp
+ ** This variable controls how group replies are done.
+ ** When set, all recepients listet in "To:" are set in the
+ ** "To:" header again, else in the "CC", which is the default.
+ */
{ "score", DT_BOOL, R_NONE, OPTSCORE, 1 },
{ "score", DT_BOOL, R_NONE, OPT_SCORE, 1 },
/*
** .pp
--- options.h
+++ options.h 2017-06-13 07:51:23.062670919 +0000
@@ -151,6 +151,7 @@ enum
OPTSAVEADDRESS,
OPTSAVEEMPTY,
OPTSAVENAME,
+ OPTSENDGROUPREPLYTO,
OPTSCORE,
+++ options.h 2017-09-11 11:37:05.418065746 +0000
@@ -160,6 +160,7 @@ enum GlobalBool
OPT_SAVE_ADDRESS,
OPT_SAVE_EMPTY,
OPT_SAVE_NAME,
+ OPT_SENDGROUP_REPLYTO,
OPT_SCORE,
#ifdef USE_SIDEBAR
OPTSIDEBAR,
OPT_SIDEBAR_VISIBLE,
--- send.c
+++ send.c 2017-06-13 07:47:41.578725458 +0000
@@ -617,8 +617,16 @@ int mutt_fetch_recips(struct Envelope *o
+++ send.c 2017-09-11 11:37:26.009687657 +0000
@@ -637,8 +637,16 @@ int mutt_fetch_recips(struct Envelope *o
if ((flags & SENDGROUPREPLY) && (!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))
+ if (option (OPT_SENDGROUP_REPLYTO))
+ {
+ rfc822_append(&out->to, in->to, 0);
+ rfc822_append(&out->cc, in->cc, 1);

View File

@ -8,8 +8,8 @@ Index: mutt-1.5.21/init.c
1 file changed, 2 insertions(+), 1 deletion(-)
--- init.c
+++ init.c 2017-06-13 08:17:31.217879191 +0000
@@ -4088,7 +4088,8 @@ void mutt_init(int skip_sys_rc, struct L
+++ init.c 2017-09-11 12:17:15.337988648 +0000
@@ -4248,7 +4248,8 @@ void mutt_init(int skip_sys_rc, struct L
/* Default search path from RFC1524 */
MailcapPath = safe_strdup(
"~/.mailcap:" PKGDATADIR "/mailcap:" SYSCONFDIR
@ -18,4 +18,4 @@ Index: mutt-1.5.21/init.c
+ SYSCONFDIR "/mutt/mailcap");
}
Tempdir = safe_strdup((p = getenv("TMPDIR")) ? p : "/tmp");
Tmpdir = safe_strdup((p = getenv("TMPDIR")) ? p : "/tmp");

View File

@ -1,14 +1,14 @@
---
lib.c | 12 ++++++++++++
lib.h | 1 +
lib/string.c | 12 ++++++++++++
lib/string2.h | 1 +
ncrypt/crypt_gpgme.c | 2 +-
ncrypt/pgp.c | 24 ++++++++++++------------
pager.c | 2 +-
5 files changed, 27 insertions(+), 14 deletions(-)
--- lib.c
+++ lib.c 2017-06-13 08:15:45.319842066 +0000
@@ -875,6 +875,18 @@ int mutt_strcmp(const char *a, const cha
--- lib/string.c
+++ lib/string.c 2017-09-11 12:12:00.503744275 +0000
@@ -362,6 +362,18 @@ int mutt_strcmp(const char *a, const cha
return strcmp(NONULL(a), NONULL(b));
}
@ -24,33 +24,33 @@
+ return strncmp(NONULL(a), NONULL(b), xa);
+}
+
int mutt_strcasecmp(const char *a, const char *b)
{
return strcasecmp(NONULL(a), NONULL(b));
--- lib.h
+++ lib.h 2017-06-13 08:16:23.791128961 +0000
@@ -158,6 +158,7 @@ int mutt_copy_bytes(FILE *in, FILE *out,
int mutt_rx_sanitize_string(char *dest, size_t destlen, const char *src);
/**
* mutt_strcasecmp - Compare two strings ignoring case, safely
* @param a First string to compare
--- lib/string2.h
+++ lib/string2.h 2017-09-11 12:14:01.681538993 +0000
@@ -67,6 +67,7 @@ void mutt_str_adjust(char **p);
int mutt_strcasecmp(const char *a, const char *b);
const char *mutt_strchrnul(const char *s, char c);
int mutt_strcmp(const char *a, const char *b);
+int mutt_strxcmp(const char *, const char *);
int mutt_strncasecmp(const char *a, const char *b, size_t l);
int mutt_strncmp(const char *a, const char *b, size_t l);
+int mutt_strxcmp(const char *a, const char *b);
int mutt_strcoll(const char *a, const char *b);
const char *mutt_stristr(const char *haystack, const char *needle);
size_t mutt_strlen(const char *a);
--- ncrypt/crypt_gpgme.c
+++ ncrypt/crypt_gpgme.c 2017-06-13 08:15:45.319842066 +0000
@@ -2294,7 +2294,7 @@ static void copy_clearsigned(gpgme_data_
+++ ncrypt/crypt_gpgme.c 2017-09-11 12:09:17.086717319 +0000
@@ -2442,7 +2442,7 @@ static void copy_clearsigned(gpgme_data_
if (armor_header)
{
- if (buf[0] == '\n')
+ if (buf[0] == '\n' || (buf[0] == '\r' && buf[1] == '\n'))
armor_header = 0;
armor_header = false;
continue;
}
--- ncrypt/pgp.c
+++ ncrypt/pgp.c 2017-06-13 08:15:45.323841992 +0000
@@ -288,7 +288,7 @@ static void pgp_copy_clearsigned(FILE *f
+++ ncrypt/pgp.c 2017-09-11 12:08:10.179934232 +0000
@@ -301,7 +301,7 @@ static void pgp_copy_clearsigned(FILE *f
continue;
}
@ -59,9 +59,9 @@
break;
if (armor_header)
@@ -352,14 +352,14 @@ int pgp_application_pgp_handler(struct B
@@ -369,14 +369,14 @@ int pgp_application_pgp_handler(struct B
{
clearsign = 0;
clearsign = false;
- if (mutt_strcmp("MESSAGE-----\n", buf + 15) == 0)
+ if (mutt_strxcmp("MESSAGE-----\n", buf + 15) == 0)
@ -69,15 +69,15 @@
- else if (mutt_strcmp("SIGNED MESSAGE-----\n", buf + 15) == 0)
+ else if (mutt_strxcmp("SIGNED MESSAGE-----\n", buf + 15) == 0)
{
clearsign = 1;
clearsign = true;
needpass = 0;
}
- else if (mutt_strcmp("PUBLIC KEY BLOCK-----\n", buf + 15) == 0)
+ else if (mutt_strxcmp("PUBLIC KEY BLOCK-----\n", buf + 15) == 0)
{
needpass = 0;
pgp_keyblock = 1;
@@ -393,9 +393,9 @@ int pgp_application_pgp_handler(struct B
pgp_keyblock = true;
@@ -410,9 +410,9 @@ int pgp_application_pgp_handler(struct B
fputs(buf, tmpfp);
@ -90,7 +90,7 @@
break;
/* remember optional Charset: armor header as defined by RfC4880 */
if (mutt_strncmp("Charset: ", buf, 9) == 0)
@@ -636,11 +636,11 @@ static int pgp_check_traditional_one_bod
@@ -650,11 +650,11 @@ static int pgp_check_traditional_one_bod
{
if (mutt_strncmp("-----BEGIN PGP ", buf, 15) == 0)
{
@ -105,7 +105,7 @@
key = 1;
}
}
@@ -1122,9 +1122,9 @@ struct Body *pgp_sign_message(struct Bod
@@ -1144,9 +1144,9 @@ struct Body *pgp_sign_message(struct Bod
*/
while (fgets(buffer, sizeof(buffer) - 1, pgpout) != NULL)
{
@ -118,11 +118,11 @@
else
fputs(buffer, fp);
--- pager.c
+++ pager.c 2017-06-13 08:15:45.323841992 +0000
@@ -803,7 +803,7 @@ static void resolve_types(char *buf, cha
lineInfo[n].type = MT_COLOR_NORMAL;
+++ pager.c 2017-09-11 12:10:06.737814133 +0000
@@ -827,7 +827,7 @@ static void resolve_types(char *buf, cha
line_info[n].type = MT_COLOR_NORMAL;
else if (check_attachment_marker((char *) raw) == 0)
lineInfo[n].type = MT_COLOR_ATTACHMENT;
line_info[n].type = MT_COLOR_ATTACHMENT;
- else if ((mutt_strcmp("-- \n", buf) == 0) || (mutt_strcmp("-- \r\n", buf) == 0))
+ else if (mutt_strxcmp("-- \n", buf) == 0)
{

View File

@ -3,8 +3,8 @@
1 file changed, 6 insertions(+)
--- pgpewrap.c
+++ pgpewrap.c 2017-04-28 12:46:25.911731441 +0000
@@ -61,6 +61,12 @@ int main(int argc, char **argv)
+++ pgpewrap.c 2017-09-11 11:34:11.241263407 +0000
@@ -63,6 +63,12 @@ int main(int argc, char **argv)
}
*opt = NULL;

View File

@ -1,44 +1,44 @@
---
Makefile.am | 4 -
lib.c | 7 ++-
lib/file.c | 7 ++-
mbox.c | 5 ++
mh.c | 9 +++-
mh.c | 8 +++
mutt.h | 3 +
opennfs.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sendlib.c | 4 +
7 files changed, 150 insertions(+), 4 deletions(-)
7 files changed, 150 insertions(+), 3 deletions(-)
--- Makefile.am
+++ Makefile.am 2017-06-13 08:34:27.043052733 +0000
@@ -44,7 +44,7 @@ mutt_SOURCES = account.c addrbook.c addr
handler.c hash.c hdrline.c header.h headers.c help.c history.c hook.c \
init.c keymap.c lib.c list.h main.c mbox.c mbyte.c mbyte_table.h md5.c \
+++ Makefile.am 2017-09-11 11:47:43.214350183 +0000
@@ -52,7 +52,7 @@ mutt_SOURCES = account.c addrbook.c addr
handler.c hdrline.c header.h headers.c help.c history.c hook.c \
init.c keymap.c list.h main.c mbox.c mbyte.c mbtable.h \
menu.c mh.c muttlib.c mutt_idna.c mutt_sasl_plain.c mutt_socket.c \
- mutt_tunnel.c mx.c newsrc.c nntp.c options.h pager.c parameter.h \
+ mutt_tunnel.c mx.c newsrc.c nntp.c opennfs.c options.h pager.c parameter.h \
- mutt_tunnel.c mx.c newsrc.c nntp.c options.h pager.c parameter.c parameter.h \
+ mutt_tunnel.c mx.c newsrc.c nntp.c opennfs.c options.h pager.c parameter.c parameter.h \
parse.c pattern.c pattern.h pop.c pop_auth.c pop_lib.c postpone.c \
query.c recvattach.c recvcmd.c rfc1524.c rfc2047.c rfc2231.c rfc3676.c \
rfc822.c safe_asprintf.c score.c send.c sendlib.c sidebar.c signal.c \
@@ -91,7 +91,7 @@ mutt_dotlock_SOURCES = mutt_dotlock.c
mutt_dotlock_LDADD = $(LIBOBJS)
mutt_dotlock_DEPENDENCIES = $(LIBOBJS)
@@ -96,7 +96,7 @@ EXTRA_DIST = account.h attach.h bcache.h
-pgpring_SOURCES = ascii.c extlib.c lib.c md5.c pgppubring.c sha1.c
+pgpring_SOURCES = ascii.c extlib.c lib.c md5.c opennfs.c pgppubring.c sha1.c
pgpring_LDADD = $(LIBOBJS) $(NCRYPT_LIBS) $(INTLLIBS)
pgpring_DEPENDENCIES = $(LIBOBJS) $(NCRYPT_DEPS) $(INTLDEPS)
EXTRA_SCRIPTS =
--- lib.c
+++ lib.c 2017-06-13 08:34:27.043052733 +0000
@@ -37,6 +37,7 @@
#include <time.h>
#include <unistd.h>
#include "lib.h"
-pgpring_SOURCES = pgppubring.c
+pgpring_SOURCES = opennfs.c pgppubring.c
pgpring_LDADD = $(LIBOBJS) $(NCRYPT_LIBS) $(INTLLIBS) $(LIBMUTT)
pgpring_DEPENDENCIES = $(LIBOBJS) $(NCRYPT_DEPS) $(INTLDEPS) $(LIBMUTTDEPS)
--- lib/file.c
+++ lib/file.c 2017-09-11 11:45:32.960743565 +0000
@@ -71,6 +71,7 @@
#include "debug.h"
#include "memory.h"
#include "message.h"
+#include "mutt.h"
#include "string2.h"
#ifdef HAVE_SYSEXITS_H
#include <sysexits.h>
@@ -635,6 +636,10 @@ int safe_open(const char *path, int flag
/* these characters must be escaped in regular expressions */
@@ -502,6 +503,10 @@ int safe_open(const char *path, int flag
struct stat osb, nsb;
int fd;
@ -49,18 +49,18 @@
if (flags & O_EXCL)
{
char safe_file[_POSIX_PATH_MAX];
@@ -657,7 +662,7 @@ int safe_open(const char *path, int flag
if ((fd = open(path, flags & ~O_EXCL, 0600)) < 0)
@@ -526,7 +531,7 @@ int safe_open(const char *path, int flag
fd = open(path, flags & ~O_EXCL, 0600);
if (fd < 0)
return fd;
-
+#endif
/* make sure the file is not symlink */
if (lstat(path, &osb) < 0 || fstat(fd, &nsb) < 0 || !compare_stat(&osb, &nsb))
if ((lstat(path, &osb) < 0 || fstat(fd, &nsb) < 0) || !compare_stat(&osb, &nsb))
{
--- mbox.c
+++ mbox.c 2017-06-13 08:34:27.043052733 +0000
@@ -1069,8 +1069,13 @@ static int mbox_sync_mailbox(struct Cont
+++ mbox.c 2017-09-11 11:40:15.902567799 +0000
@@ -1075,8 +1075,13 @@ static int mbox_sync_mailbox(struct Cont
/* Create a temporary file to write the new version of the mailbox in. */
mutt_mktemp(tempfile, sizeof(tempfile));
@ -75,11 +75,11 @@
if (-1 != i)
{
--- mh.c
+++ mh.c 2017-06-13 08:34:27.047052659 +0000
@@ -357,7 +357,11 @@ static int mh_mkstemp(struct Context *de
+++ mh.c 2017-09-11 11:49:25.892463230 +0000
@@ -383,7 +383,11 @@ static int mh_mkstemp(struct Context *de
{
snprintf(path, _POSIX_PATH_MAX, "%s/.mutt-%s-%d-%" PRIu64, dest->path,
NONULL(Hostname), (int) getpid(), mutt_rand64());
NONULL(ShortHostname), (int) getpid(), mutt_rand64());
+#if defined(__linux__)
+ if ((fd = opennfs(path, O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1)
+#else
@ -88,11 +88,10 @@
{
if (errno != EEXIST)
{
@@ -1488,8 +1492,11 @@ static int maildir_open_new_message(stru
subdir, (long long) time(NULL), mutt_rand64(), NONULL(Hostname), suffix);
@@ -1518,7 +1522,11 @@ static int maildir_open_new_message(stru
mutt_debug(2, "maildir_open_new_message (): Trying %s.\n", path);
-
+#if defined(__linux__)
+ if ((fd = opennfs(path, O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1)
+#else
@ -102,17 +101,17 @@
if (errno != EEXIST)
{
--- mutt.h
+++ mutt.h 2017-06-13 08:34:27.047052659 +0000
@@ -348,4 +348,7 @@ struct AttachMatch
#define MUTT_PARTS_TOPLEVEL (1 << 0) /* is the top-level part */
+++ mutt.h 2017-09-11 11:50:18.979487541 +0000
@@ -367,4 +367,7 @@ extern char *debugfile_cmdline;
extern int debuglevel_cmdline;
#endif
+#if defined(__linux__)
+extern int opennfs(const char *, int, int);
+#endif
#endif /* _MUTT_H */
--- opennfs.c
+++ opennfs.c 2017-06-13 08:36:39.904588552 +0000
+++ opennfs.c 2017-09-11 11:40:15.906567726 +0000
@@ -0,0 +1,122 @@
+#include <errno.h>
+#include <fcntl.h>
@ -237,8 +236,8 @@
+ return open(path, flags, mode);
+}
--- sendlib.c
+++ sendlib.c 2017-06-13 08:34:27.047052659 +0000
@@ -2255,7 +2255,11 @@ static int send_msg(const char *path, ch
+++ sendlib.c 2017-09-11 11:40:15.906567726 +0000
@@ -2354,7 +2354,11 @@ static int send_msg(const char *path, ch
if (SendmailWait >= 0 && tempfile && *tempfile)
{
/* *tempfile will be opened as stdout */

View File

@ -7,8 +7,8 @@
5 files changed, 36 insertions(+), 2 deletions(-)
--- configure.ac
+++ configure.ac 2017-06-13 07:46:56.047558768 +0000
@@ -318,7 +318,7 @@ main ()
+++ configure.ac 2017-09-11 11:24:08.296326161 +0000
@@ -337,7 +337,7 @@ main ()
mutt_cv_slang=$withval
if test -d $withval/include/slang; then
CPPFLAGS="$CPPFLAGS -I${withval}/include/slang"
@ -17,7 +17,7 @@
CPPFLAGS="$CPPFLAGS -I${withval}/include"
fi
LDFLAGS="$LDFLAGS -L${withval}/lib"
@@ -509,8 +509,12 @@ dnl -- end imap dependencies --
@@ -510,8 +510,12 @@ dnl -- end imap dependencies --
AC_ARG_WITH(ssl, AS_HELP_STRING([--with-ssl@<:@=PFX@:>@],[Enable TLS support using OpenSSL]),
[ if test "$with_ssl" != "no"; then
if test "$with_ssl" != "yes"; then
@ -30,7 +30,7 @@
fi
saved_LIBS="$LIBS"
@@ -579,8 +583,12 @@ AC_ARG_WITH(sasl, AS_HELP_STRING([--with
@@ -574,8 +578,12 @@ AC_ARG_WITH(sasl, AS_HELP_STRING([--with
[
if test "$with_sasl" != "no"; then
if test "$with_sasl" != "yes"; then
@ -42,32 +42,32 @@
+ esac
fi
saved_LIBS="$LIBS"
# OpenSolaris provides a SASL2 interface in libsasl
--- doc/Muttrc.head
+++ doc/Muttrc.head 2017-06-13 07:42:27.684468937 +0000
+++ doc/Muttrc.head 2017-09-11 11:24:59.871380290 +0000
@@ -23,7 +23,7 @@ macro index,pager,attach,compose \cb "\
"call urlview to extract URLs out of a message"
# Show documentation when pressing F1
-macro generic,pager <F1> "<shell-escape> less @docdir@/manual.txt<Enter>" "show Mutt documentation"
+macro generic,index,pager <F1> "<shell-escape> less -iM @docdir@/manual.txt.gz<Enter>" "show Mutt documentation"
+macro generic,index,pager <F1> "<shell-escape> less @docdir@/manual.txt.gz<Enter>" "show Mutt documentation"
# show the incoming mailboxes list (just like "mutt -y") and back when pressing "y"
macro index,pager y "<change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
macro index,pager y "<change-folder>?" "show incoming mailboxes list"
--- imap/auth.c
+++ imap/auth.c 2017-06-13 07:42:27.684468937 +0000
@@ -72,6 +72,23 @@ int imap_authenticate(struct ImapData *i
+++ imap/auth.c 2017-09-11 11:26:50.141357697 +0000
@@ -80,6 +80,23 @@ int imap_authenticate(struct ImapData *i
mutt_debug(2, "imap_authenticate: Trying method %s\n", method);
authenticator = imap_authenticators;
+#ifdef USE_SASL
+ /* "login" not supported by SASL */
+ if (!ascii_strcasecmp ("login", method))
+ if (!mutt_strcasecmp ("login", method))
+ {
+ while (authenticator->authenticate)
+ {
+ const char *identify = authenticator->method;
+ if (identify && !ascii_strcasecmp(identify, method))
+ if (identify && !mutt_strcasecmp(identify, method))
+ if ((r = authenticator->authenticate(idata, method)) != IMAP_AUTH_UNAVAIL)
+ {
+ FREE(&methods);
@ -79,8 +79,8 @@
+#endif
while (authenticator->authenticate)
{
if (!authenticator->method || (ascii_strcasecmp(authenticator->method, method) == 0))
@@ -83,6 +100,9 @@ int imap_authenticate(struct ImapData *i
if (!authenticator->method || (mutt_strcasecmp(authenticator->method, method) == 0))
@@ -91,6 +108,9 @@ int imap_authenticate(struct ImapData *i
authenticator++;
}
@ -91,20 +91,20 @@
FREE(&methods);
--- init.h
+++ init.h 2017-06-13 07:42:27.684468937 +0000
@@ -3808,6 +3808,9 @@ struct Option MuttVars[] = {
+++ init.h 2017-09-11 11:27:51.208237439 +0000
@@ -3864,6 +3864,9 @@ struct Option MuttVars[] = {
** the default from the GNUTLS library.
*/
#endif /* USE_SSL_GNUTLS */
+#if defined(USE_IMAP) && defined(SUSE_IMAP_FORCE_SSL)
+ { "imap_force_ssl", DT_SYN, R_NONE, UL "ssl_force_tls", 0 },
+#endif
{ "ssl_starttls", DT_QUAD, R_NONE, OPT_SSLSTARTTLS, MUTT_YES },
{ "ssl_starttls", DT_QUAD, R_NONE, OPT_SSL_STARTTLS, MUTT_YES },
/*
** .pp
--- mx.c
+++ mx.c 2017-06-13 07:42:27.684468937 +0000
@@ -1454,6 +1454,9 @@ void mx_update_context(struct Context *c
+++ mx.c 2017-09-11 11:14:29.263001870 +0000
@@ -1287,6 +1287,9 @@ void mx_update_context(struct Context *c
{
h = ctx->hdrs[msgno];

View File

@ -1,3 +1,56 @@
-------------------------------------------------------------------
Fri Sep 15 09:07:55 UTC 2017 - werner@suse.de
- Update to neomutt 20170912 which updates to mutt 1.9.0
NeoMutt
Add guix build support
Only match real mailboxes when looking for new mail
Fix the printing of ncurses version in -v output
Bind editor <delete> to delete-char
Fix overflowing colours
Fix empty In-Reply-To generation
Trim trailing slash from completed dirs
Add guix-neomutt.scm
Fix setting custom query_type in notmuch query
Better curses identification
Use the system's wchar_t support
Use the system's md5 tool (or equivalent)
Clean up configure.ac
Teach gen-map-doc about the new opcode header
Rename functions (snake_case)
Rename constants/defines (UPPER_CASE)
Create library of shared functions
Much tidying
Rename globals to match user config
Drop unnecessary functions/macros
Use a standard list implementation
Coverity fixes
Use explicit NUL for string terminators
Drop OPS* in favour of opcodes.h
Upstream
Fix menu color calls to occur before positioning the cursor
When guessing an attachment type, don't allow text/plain if there is a null character
Add $imap_poll_timeout to allow mailbox polling to time out
Handle error if REGCOMP in pager fails when resizing
Change recvattach to allow nested encryption
Fix attachment check_traditional and extract_keys operations
Add edit-content-type helper and warning for decrypted attachments
Add option to run command to query attachment mime type
Add warning about using inline pgp with format=flowed
- Rename patch mutt-1.8.3.dif which becomes now mutt-1.9.0.dif
- Modify the patches
* aw.listreply.diff
* bsc907453-CVE-2014-9116-jessie.patch
* bug-676388-largefile.patch
* mutt-1.5.15-wrapcolumn.diff
* mutt-1.5.20-sendgroupreplyto.diff
* 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
-------------------------------------------------------------------
Thu Aug 10 08:03:38 UTC 2017 - tchvatal@suse.com

View File

@ -41,14 +41,14 @@ BuildRequires: ncurses-devel
BuildRequires: notmuch-devel
%endif
BuildRequires: docbook-xsl-stylesheets
BuildRequires: libgpgme-devel
BuildRequires: libxslt-tools
BuildRequires: opensp
%if 0%{?suse_version}
BuildRequires: update-desktop-files
%endif
BuildRequires: libgpgme-devel
BuildRequires: w3m
Url: http://www.mutt.org
Url: http://www.neomutt.org
Recommends: hunspell
Provides: muttssl
Obsoletes: muttssl
@ -61,18 +61,17 @@ Recommends: w3m
Requires(post): shared-mime-info
Requires(postun): shared-mime-info
%endif
%global neo 20170609
Version: 1.8.3
%global neo 20170912
Version: 1.9.0
Release: 0
Summary: Mail Program
# ftp://ftp.mutt.org/mutt/devel/
# Source0: https://bitbucket.org/mutt/mutt/downloads/%%name-%%version.tar.gz
# https://bitbucket.org/mutt/mutt/downloads/%%name-%%version.tar.gz
# Switch over to neomutt tar ball which is based on original mutt
# http://www.neomutt.org/
### https://github.com/neomutt/neomutt/archive/neomutt-20170421.tar.gz
License: GPL-2.0+
Group: Productivity/Networking/Email/Clients
Source0: neomutt-%neo.tar.gz
Source0: https://github.com/neomutt/neomutt/archive/neomutt-%{neo}.tar.gz
Source1: Signature_conversion
Source2: README.alternates
Source3: mutt.png
@ -103,7 +102,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
A very powerful mail user agent. It supports (among other nice things)
highlighting, threading, and PGP. It takes some time to get used to,
however.
however. This version is based on NeoMutt, that is it includes many
enhancements.
%package doc
Summary: Additional Documentation about Mutt
@ -128,7 +128,8 @@ BuildArch: noarch
Provides translations to the package mutt.
%prep
%setup -q -D -n neomutt-neomutt-%neo
ln -sf neomutt-neomutt-%neo mutt-%version
%setup -q -D -n mutt-%version
%patch -p0 -b .p0
%patch2 -p0 -b .pgpewrap
%patch3 -p0 -b .sendgroupreplyto
@ -298,19 +299,22 @@ chmod a-x %{buildroot}%{_docdir}/%name/keybase/*.sh
%defattr(-,root,root)
%doc %{_docdir}/%name/COPYRIGHT
%doc %{_docdir}/%name/README*
%doc %{_docdir}/%name/ChangeLog
%doc %{_docdir}/%name/ChangeLog.neomutt
%doc %{_docdir}/%name/ChangeLog.md
%doc %{_docdir}/%name/CODE_OF_CONDUCT.md
%doc %{_docdir}/%name/LICENSE.md
%doc %{_docdir}/%name/*.html
%doc %{_docdir}/%name/*.txt
%dir %doc %{_docdir}/%name/colorschemes/
%doc %{_docdir}/%name/colorschemes/*.muttrc
%doc %{_docdir}/%name/colorschemes/vombatidae.mutt
%dir %doc %{_docdir}/%name/keybase/
%doc %{_docdir}/%name/keybase/*
%dir %doc %{_docdir}/%name/logo/
%doc %{_docdir}/%name/logo/mutt*
%doc %{_docdir}/%name/neomutt-syntax.vim
%dir %doc %{_docdir}/%name/samples/
%doc %{_docdir}/%name/samples/*.rc
%doc %{_docdir}/%name/samples/colors.*
%dir %doc %{_docdir}/%name/samples/iconv/
%doc %{_docdir}/%name/samples/iconv/*.rc
%doc %{_docdir}/%name/samples/sample.*
%doc %{_docdir}/%name/samples/smime_keys_test.pl
%dir %doc %{_docdir}/%name/vim-keys/

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:feaaf7ac230cbf397f028fac5498e38b5d662078083e0cf3329ba04d1bb4b0cd
size 2637349

3
neomutt-20170912.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f0d128fe8dbbbddb67e2b629f8b5e52a9d892f82c735845c1708c14e3046657
size 2533245

View File

@ -5,8 +5,8 @@
3 files changed, 16 insertions(+), 1 deletion(-)
--- globals.h
+++ globals.h 2017-06-13 08:12:32.139412148 +0000
@@ -291,6 +291,8 @@ WHERE struct Regex PgpDecryptionOkay;
+++ globals.h 2017-09-11 12:01:55.090752808 +0000
@@ -292,6 +292,8 @@ WHERE struct Regex PgpDecryptionOkay;
WHERE char *PgpSignAs;
WHERE short PgpTimeout;
WHERE char *PgpEntryFormat;
@ -16,29 +16,29 @@
WHERE char *PgpDecodeCommand;
WHERE char *PgpVerifyCommand;
--- init.h
+++ init.h 2017-06-13 08:12:32.139412148 +0000
@@ -3409,6 +3409,18 @@ struct Option MuttVars[] = {
+++ init.h 2017-09-11 12:03:41.660816163 +0000
@@ -3466,6 +3466,18 @@ struct Option MuttVars[] = {
** a line quoted text if it also matches $$smileys. This mostly
** happens at the beginning of a line.
*/
+ { "pgp_mime_signature_filename", DT_STR, R_NONE, UL &PgpMimeSignatureFilename, UL "signature.asc"},
+ { "pgp_mime_signature_filename", DT_STRING, R_NONE, UL &PgpMimeSignatureFilename, UL "signature.asc"},
+ /*
+ ** .pp
+ ** This option sets the filename used for signature parts in PGP/MIME
+ ** signed messages.
+ */
+ { "pgp_mime_signature_description", DT_STR, R_NONE, UL &PgpMimeSignatureDescription, UL "Digital signature"},
+ { "pgp_mime_signature_description", DT_STRING, R_NONE, UL &PgpMimeSignatureDescription, UL "Digital signature"},
+ /*
+ ** .pp
+ ** This option sets the Content-Description used for signature parts in
+ ** PGP/MIME signed messages.
+ */
{ "smime_ask_cert_label", DT_BOOL, R_NONE, OPTASKCERTLABEL, 1 },
{ "smime_ask_cert_label", DT_BOOL, R_NONE, OPT_SMIME_ASK_CERT_LABEL, 1 },
/*
** .pp
--- ncrypt/pgp.c
+++ ncrypt/pgp.c 2017-06-13 08:12:32.139412148 +0000
@@ -1186,7 +1186,8 @@ struct Body *pgp_sign_message(struct Bod
+++ ncrypt/pgp.c 2017-09-11 12:01:55.090752808 +0000
@@ -1208,7 +1208,8 @@ struct Body *pgp_sign_message(struct Bod
t->disposition = DISPNONE;
t->encoding = ENC7BIT;
t->unlink = true; /* ok to remove this file after sending. */

View File

@ -3,8 +3,8 @@
1 file changed, 6 insertions(+), 4 deletions(-)
--- handler.c
+++ handler.c 2017-06-13 08:14:25.529321141 +0000
@@ -831,6 +831,7 @@ static int text_enriched_handler(struct
+++ handler.c 2017-09-11 12:06:12.982065389 +0000
@@ -821,6 +821,7 @@ static int text_enriched_handler(struct
enum
{
TEXT,
@ -12,7 +12,7 @@
LANGLE,
TAG,
BOGUS_TAG,
@@ -868,7 +869,7 @@ static int text_enriched_handler(struct
@@ -858,7 +859,7 @@ static int text_enriched_handler(struct
{
if (state != ST_EOF)
{
@ -21,7 +21,7 @@
state = ST_EOF;
else
bytes--;
@@ -876,6 +877,8 @@ static int text_enriched_handler(struct
@@ -866,6 +867,8 @@ static int text_enriched_handler(struct
switch (state)
{
@ -30,7 +30,7 @@
case TEXT:
switch (wc)
{
@@ -936,9 +939,8 @@ static int text_enriched_handler(struct
@@ -926,9 +929,8 @@ static int text_enriched_handler(struct
enriched_flush(&stte, 1);
else
{
@ -41,9 +41,9 @@
}
break;
@@ -1653,7 +1655,7 @@ void mutt_decode_attachment(struct Body
* strip all trailing spaces to improve interoperability;
* if $text_flowed is unset, simply verbatim copy input
@@ -1657,7 +1659,7 @@ void mutt_decode_attachment(struct Body
* all trailing spaces to improve interoperability; if $text_flowed is unset,
* simply verbatim copy input
*/
-static int text_plain_handler(struct Body *b, struct State *s)
+static int text_plain_handler(struct Body *b __attribute__((unused)), struct State *s)