1
0
forked from pool/mutt
Dr. Werner Fink 2015-01-26 16:35:10 +00:00 committed by Git OBS Bridge
parent aaea026ecb
commit 5f3812736e
18 changed files with 738 additions and 783 deletions

View File

@ -1,12 +0,0 @@
Index: mutt-1.5.21/configure.ac
===================================================================
--- mutt-1.5.21.orig/configure.ac
+++ mutt-1.5.21/configure.ac
@@ -27,7 +27,6 @@ AC_MSG_RESULT($mutt_cv_prefix)
AC_PROG_CC
AC_ISC_POSIX
-AM_C_PROTOTYPES
if test "x$U" != "x"; then
AC_MSG_ERROR(Compiler not ANSI compliant)
fi

View File

@ -1,19 +1,21 @@
ask when sending list message replies to author only - Armin Wolfermann (aw)
Index: mutt-1.5.21/PATCHES
===================================================================
--- mutt-1.5.21.orig/PATCHES 2012-06-21 11:48:06.757181997 +0200
+++ mutt-1.5.21/PATCHES 2012-06-21 11:48:50.352837436 +0200
@@ -1,3 +1,4 @@
---
PATCHES | 1 +
init.h | 7 +++++++
mutt.h | 1 +
send.c | 18 ++++++++++++++++++
4 files changed, 27 insertions(+)
--- mutt-1.5.23/PATCHES
+++ mutt-1.5.23/PATCHES 2015-01-26 15:34:40.133518493 +0000
@@ -1,2 +1,3 @@
+patch-1.5.9.aw.listreply.1
patch-1.5.21.sidebar.20120829.txt
patch-1.5.19.rr.compressed.1
patch-1.5.5.1.nt.xtitles.3.ab.1
Index: mutt-1.5.21/init.h
===================================================================
--- mutt-1.5.21.orig/init.h 2012-06-21 11:48:06.754181952 +0200
+++ mutt-1.5.21/init.h 2012-06-21 11:48:22.426417566 +0200
@@ -1331,6 +1331,13 @@ struct option_t MuttVars[] = {
patch-1.5.23.sidebar.20140412.txt
rr.compressed
--- mutt-1.5.23/init.h
+++ mutt-1.5.23/init.h 2012-06-21 09:48:22.000000000 +0000
@@ -1340,6 +1340,13 @@ struct option_t MuttVars[] = {
** The locale used by \fCstrftime(3)\fP to format dates. Legal values are
** the strings your system accepts for the locale environment variable \fC$$$LC_TIME\fP.
*/
@ -27,11 +29,9 @@ Index: mutt-1.5.21/init.h
{ "mail_check", DT_NUM, R_NONE, UL &BuffyTimeout, 5 },
/*
** .pp
Index: mutt-1.5.21/mutt.h
===================================================================
--- mutt-1.5.21.orig/mutt.h 2012-06-21 11:48:06.788182463 +0200
+++ mutt-1.5.21/mutt.h 2012-06-21 11:48:22.426417566 +0200
@@ -290,6 +290,7 @@ enum
--- mutt-1.5.23/mutt.h
+++ mutt-1.5.23/mutt.h 2012-06-21 09:48:22.000000000 +0000
@@ -288,6 +288,7 @@ enum
#endif
OPT_SUBJECT,
OPT_VERIFYSIG, /* verify PGP signatures */
@ -39,11 +39,9 @@ Index: mutt-1.5.21/mutt.h
/* THIS MUST BE THE LAST VALUE. */
OPT_MAX
Index: mutt-1.5.21/send.c
===================================================================
--- mutt-1.5.21.orig/send.c 2012-06-21 11:48:06.724181501 +0200
+++ mutt-1.5.21/send.c 2012-06-21 11:48:22.426417566 +0200
@@ -453,6 +453,7 @@ static int include_reply (CONTEXT *ctx,
--- mutt-1.5.23/send.c
+++ mutt-1.5.23/send.c 2012-06-21 09:48:22.000000000 +0000
@@ -452,6 +452,7 @@ static int include_reply (CONTEXT *ctx,
static int default_to (ADDRESS **to, ENVELOPE *env, int flags, int hmfupto)
{
char prompt[STRING];
@ -51,7 +49,7 @@ Index: mutt-1.5.21/send.c
if (flags && env->mail_followup_to && hmfupto == M_YES)
{
@@ -466,6 +467,23 @@ static int default_to (ADDRESS **to, ENV
@@ -465,6 +466,23 @@ static int default_to (ADDRESS **to, ENV
if (flags & SENDLISTREPLY)
return 0;

View File

@ -12,9 +12,13 @@ has -jessie prefixed in its name.
Index: mutt/lib.c
===================================================================
---
lib.c | 3 +++
1 file changed, 3 insertions(+)
--- mutt/lib.c
+++ mutt/lib.c
@@ -819,6 +819,9 @@ char *mutt_substrdup (const char *begin,
+++ mutt/lib.c 2015-01-26 00:00:00.000000000 +0000
@@ -820,6 +820,9 @@ char *mutt_substrdup (const char *begin,
size_t len;
char *p;
@ -24,20 +28,3 @@ Index: mutt/lib.c
if (end)
len = end - begin;
else
Index: mutt/sendlib.c
===================================================================
--- mutt/sendlib.c
+++ mutt/sendlib.c
@@ -1814,7 +1814,11 @@ static int write_one_header (FILE *fp, i
{
tagbuf = mutt_substrdup (start, t);
++t; /* skip over the colon separating the header field name and value */
- SKIPWS(t); /* skip over any leading whitespace */
+
+ /* skip over any leading whitespace (WSP, as defined in RFC5322) */
+ while (*t == ' ' || *t == '\t')
+ t++;
+
valbuf = mutt_substrdup (t, end);
}
dprint(4,(debugfile,"mwoh: buf[%s%s] too long, "

View File

@ -1,7 +1,12 @@
diff -ur orig.010003/mutt-1.5.21/crypt-gpgme.c mutt-1.5.21/crypt-gpgme.c
--- orig.010003/mutt-1.5.21/crypt-gpgme.c 2010-09-13 19:19:55.000000000 +0200
+++ mutt-1.5.21/crypt-gpgme.c 2011-03-02 18:18:01.000000000 +0100
@@ -461,7 +461,7 @@
---
crypt-gpgme.c | 2 +-
mh.c | 6 +++---
mutt.h | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
--- mutt-1.5.23/crypt-gpgme.c
+++ mutt-1.5.23/crypt-gpgme.c 2011-03-02 17:18:01.000000000 +0000
@@ -450,7 +450,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. */
@ -10,31 +15,9 @@ diff -ur orig.010003/mutt-1.5.21/crypt-gpgme.c mutt-1.5.21/crypt-gpgme.c
{
int err = 0;
gpgme_data_t data;
@@ -2156,7 +2156,7 @@
{
int needpass = -1, pgp_keyblock = 0;
int clearsign = 0;
- long start_pos = 0;
+ LOFF_T start_pos = 0;
long bytes;
LOFF_T last_pos, offset;
char buf[HUGE_STRING];
diff -ur orig.010003/mutt-1.5.21/handler.c mutt-1.5.21/handler.c
--- orig.010003/mutt-1.5.21/handler.c 2009-08-25 21:08:52.000000000 +0200
+++ mutt-1.5.21/handler.c 2011-03-02 18:12:28.000000000 +0100
@@ -1520,7 +1520,7 @@
FILE *fp = NULL;
char tempfile[_POSIX_PATH_MAX];
handler_t handler = NULL;
- long tmpoffset = 0;
+ LOFF_T tmpoffset = 0;
size_t tmplength = 0;
char type[STRING];
int rc = 0;
diff -ur orig.010003/mutt-1.5.21/mh.c mutt-1.5.21/mh.c
--- orig.010003/mutt-1.5.21/mh.c 2010-08-24 18:34:21.000000000 +0200
+++ mutt-1.5.21/mh.c 2011-03-02 18:48:36.000000000 +0100
@@ -1493,9 +1493,9 @@
--- mutt-1.5.23/mh.c
+++ mutt-1.5.23/mh.c 2011-03-02 17:48:36.000000000 +0000
@@ -1579,9 +1579,9 @@ static int mh_rewrite_message (CONTEXT *
char newpath[_POSIX_PATH_MAX];
char partpath[_POSIX_PATH_MAX];
@ -47,10 +30,9 @@ diff -ur orig.010003/mutt-1.5.21/mh.c mutt-1.5.21/mh.c
if ((dest = mx_open_new_message (ctx, h, 0)) == NULL)
return -1;
diff -ur orig.010003/mutt-1.5.21/mutt.h mutt-1.5.21/mutt.h
--- orig.010003/mutt-1.5.21/mutt.h 2010-09-13 19:19:55.000000000 +0200
+++ mutt-1.5.21/mutt.h 2011-03-02 17:52:03.000000000 +0100
@@ -625,7 +625,7 @@
--- mutt-1.5.23/mutt.h
+++ mutt-1.5.23/mutt.h 2011-03-02 16:52:03.000000000 +0000
@@ -638,7 +638,7 @@ typedef struct body
PARAMETER *parameter; /* parameters of the content-type */
char *description; /* content-description */
char *form_name; /* Content-Disposition form-data name param */
@ -59,45 +41,3 @@ diff -ur orig.010003/mutt-1.5.21/mutt.h mutt-1.5.21/mutt.h
* this info is used when invoking metamail,
* where we need to send the headers of the
* attachment
diff -ur orig.010003/mutt-1.5.21/pgp.c mutt-1.5.21/pgp.c
--- orig.010003/mutt-1.5.21/pgp.c 2010-09-13 19:19:55.000000000 +0200
+++ mutt-1.5.21/pgp.c 2011-03-02 18:48:08.000000000 +0100
@@ -251,7 +251,7 @@
int needpass = -1, pgp_keyblock = 0;
int clearsign = 0, rv, rc;
int c = 1; /* silence GCC warning */
- long start_pos = 0;
+ LOFF_T start_pos = 0;
long bytes;
LOFF_T last_pos, offset;
char buf[HUGE_STRING];
diff -ur orig.010003/mutt-1.5.21/smime.c mutt-1.5.21/smime.c
--- orig.010003/mutt-1.5.21/smime.c 2010-09-13 19:19:55.000000000 +0200
+++ mutt-1.5.21/smime.c 2011-03-02 18:12:08.000000000 +0100
@@ -1546,7 +1546,7 @@
pid_t thepid;
int badsig = -1;
- long tmpoffset = 0;
+ LOFF_T tmpoffset = 0;
size_t tmplength = 0;
int origType = sigbdy->type;
char *savePrefix = NULL;
@@ -1660,7 +1660,7 @@
{
int len=0;
int c;
- long last_pos;
+ LOFF_T last_pos;
char buf[HUGE_STRING];
char outfile[_POSIX_PATH_MAX], errfile[_POSIX_PATH_MAX];
char tmpfname[_POSIX_PATH_MAX];
@@ -1865,7 +1865,7 @@
char tempfile[_POSIX_PATH_MAX];
STATE s;
- long tmpoffset = b->offset;
+ LOFF_T tmpoffset = b->offset;
size_t tmplength = b->length;
int origType = b->type;
FILE *tmpfp=NULL;

View File

@ -1,12 +0,0 @@
Index: mutt-1.5.20/crypt-gpgme.c
===================================================================
--- mutt-1.5.20/crypt-gpgme.c 2009-05-19 02:11:35.000000000 +0200
+++ mutt-1.5.20/crypt-gpgme.c 2009-07-14 14:43:43.000000000 +0200
@@ -344,6 +344,7 @@ static gpgme_ctx_t create_gpgme_context
if (!GpgmeLocaleSet)
{
+ gpgme_check_version(NULL);
gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL));
#ifdef ENABLE_NLS
gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL));

View File

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

View File

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

View File

@ -1,41 +1,13 @@
--- crypt-gpgme.c
+++ crypt-gpgme.c 2013-05-29 09:31:53.141939173 +0000
@@ -2003,12 +2003,12 @@ static int pgp_check_traditional_one_bod
{
if (!mutt_strncmp ("-----BEGIN PGP ", buf, 15))
{
- if (!mutt_strcmp ("MESSAGE-----\n", buf + 15))
+ if (!mutt_strxcmp ("MESSAGE-----\n", buf + 15))
{
enc = 1;
break;
}
- else if (!mutt_strcmp ("SIGNED MESSAGE-----\n", buf + 15))
+ else if (!mutt_strxcmp ("SIGNED MESSAGE-----\n", buf + 15))
{
sgn = 1;
break;
@@ -2196,14 +2196,14 @@ int pgp_gpgme_application_handler (BODY
clearsign = 0;
start_pos = last_pos;
- if (!mutt_strcmp ("MESSAGE-----\n", buf + 15))
+ if (!mutt_strxcmp ("MESSAGE-----\n", buf + 15))
needpass = 1;
- else if (!mutt_strcmp ("SIGNED MESSAGE-----\n", buf + 15))
+ else if (!mutt_strxcmp ("SIGNED MESSAGE-----\n", buf + 15))
{
clearsign = 1;
needpass = 0;
}
- else if (!mutt_strcmp ("PUBLIC KEY BLOCK-----\n", buf + 15))
+ else if (!mutt_strxcmp ("PUBLIC KEY BLOCK-----\n", buf + 15))
{
needpass = 0;
pgp_keyblock = 1;
---
lib.c | 12 ++++++++++++
lib.h | 1 +
pager.c | 2 +-
pgp.c | 24 ++++++++++++------------
4 files changed, 26 insertions(+), 13 deletions(-)
--- lib.c
+++ lib.c 2013-05-29 09:31:53.325439198 +0000
@@ -875,6 +875,18 @@ int mutt_strcmp(const char *a, const cha
+++ lib.c 2013-05-29 09:31:53.000000000 +0000
@@ -876,6 +876,18 @@ int mutt_strcmp(const char *a, const cha
return strcmp(NONULL(a), NONULL(b));
}
@ -55,8 +27,8 @@
{
return strcasecmp(NONULL(a), NONULL(b));
--- lib.h
+++ lib.h 2013-05-29 09:25:21.805439324 +0000
@@ -179,6 +179,7 @@ int mutt_copy_bytes (FILE *, FILE *, siz
+++ lib.h 2013-05-29 09:25:22.000000000 +0000
@@ -197,6 +197,7 @@ int mutt_copy_bytes (FILE *, FILE *, siz
int mutt_rx_sanitize_string (char *, size_t, const char *);
int mutt_strcasecmp (const char *, const char *);
int mutt_strcmp (const char *, const char *);
@ -65,7 +37,7 @@
int mutt_strncmp (const char *, const char *, size_t);
int mutt_strcoll (const char *, const char *);
--- pager.c
+++ pager.c 2013-05-29 09:31:53.433440090 +0000
+++ pager.c 2013-05-29 09:31:53.000000000 +0000
@@ -771,7 +771,7 @@ resolve_types (char *buf, char *raw, str
else if (check_attachment_marker ((char *) raw) == 0)
lineInfo[n].type = MT_COLOR_ATTACHMENT;
@ -76,10 +48,19 @@
i = n + 1;
--- pgp.c
+++ pgp.c 2013-05-29 09:31:53.461439587 +0000
@@ -287,14 +287,14 @@ int pgp_application_pgp_handler (BODY *m
+++ pgp.c 2015-01-26 15:48:02.361518080 +0000
@@ -219,7 +219,7 @@ static void pgp_copy_clearsigned (FILE *
continue;
}
- if (mutt_strcmp (buf, "-----BEGIN PGP SIGNATURE-----\n") == 0)
+ if (mutt_strxcmp (buf, "-----BEGIN PGP SIGNATURE-----\n") == 0)
break;
if (armor_header)
@@ -285,14 +285,14 @@ int pgp_application_pgp_handler (BODY *m
{
clearsign = 0;
start_pos = last_pos;
- if (mutt_strcmp ("MESSAGE-----\n", buf + 15) == 0)
+ if (mutt_strxcmp ("MESSAGE-----\n", buf + 15) == 0)
@ -95,7 +76,7 @@
{
needpass = 0;
pgp_keyblock = 1;
@@ -327,10 +327,10 @@ int pgp_application_pgp_handler (BODY *m
@@ -325,10 +325,10 @@ int pgp_application_pgp_handler (BODY *m
fputs (buf, tmpfp);
@ -109,7 +90,7 @@
break;
/* remember optional Charset: armor header as defined by RfC4880 */
if (mutt_strncmp ("Charset: ", buf, 9) == 0)
@@ -552,11 +552,11 @@ static int pgp_check_traditional_one_bod
@@ -550,11 +550,11 @@ static int pgp_check_traditional_one_bod
{
if (mutt_strncmp ("-----BEGIN PGP ", buf, 15) == 0)
{
@ -124,7 +105,7 @@
key = 1;
}
}
@@ -1065,9 +1065,9 @@ BODY *pgp_sign_message (BODY *a)
@@ -1063,9 +1063,9 @@ BODY *pgp_sign_message (BODY *a)
*/
while (fgets (buffer, sizeof (buffer) - 1, pgpout) != NULL)
{

View File

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

3
mutt-1.5.23.tar.gz Normal file
View File

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

View File

@ -1,10 +0,0 @@
--- mutt-1.5.21/copy.c
+++ mutt-1.5.21/copy.c 2014-03-25 08:42:27.466839319 +0000
@@ -254,6 +254,7 @@ mutt_copy_hdr (FILE *in, FILE *out, LOFF
{
if (!address_header_decode (&this_one))
rfc2047_decode (&this_one);
+ this_one_len = mutt_strlen (this_one);
}
if (!headers[x])

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Mon Jan 26 16:22:08 UTC 2015 - werner@suse.de
- Update to mutt version 1.5.23 which is a security bugfix release
as well as add support for TLS 1.1/1.2
- Remove the patches automake-1.12.patch,
mutt-1.5.20-gpgme_set_locale.patch, and mutt-CVE-2014-0467.patch
- Replace the patches
patch-1.5.23.rr.compressed.bz2 with patch-1.5.21.rr.compressed.1.bz2
mutt-1.5.21.sidebar.20120829.patch with patch-1.5.23.sidebar.20140412.patch
patch-1.5.5.1.nt.xtitles.3.ab.1 with patch-1.5.23.xtitles.patch
mutt-1.5.21.dif with mutt-1.5.23.dif
- Modify the patches aw.listreply.diff, bug-676388-largefile.patch,
and bsc907453-CVE-2014-9116-jessie.patch
- Build with PIE
-------------------------------------------------------------------
Thu Dec 4 12:03:10 UTC 2014 - werner@suse.de

View File

@ -1,7 +1,7 @@
#
# spec file for package mutt
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -57,6 +57,7 @@ Url: http://www.mutt.org
Provides: muttssl
Obsoletes: muttssl
Recommends: smtp_daemon
Recommends: urlview
Recommends: w3m
%if 0%{?suse_version} > 1130
Requires(post): shared-mime-info
@ -65,13 +66,13 @@ Requires(postun): shared-mime-info
# NOTE: We don't want this dependency and desktop-data-SuSE is in all
# desktop selections.
#Requires: desktop-data-SuSE
Version: 1.5.21
Version: 1.5.23
Release: 33.2
Summary: Mail Program
License: GPL-2.0+
Group: Productivity/Networking/Email/Clients
# ftp://ftp.mutt.org/mutt/devel/
Source0: %name-%version.tar.bz2
Source0: https://bitbucket.org/mutt/mutt/downloads/%name-%version.tar.gz
Source1: Signature_conversion
Source2: README.alternates
Source3: mutt.png
@ -83,28 +84,24 @@ Source8: %name-%version-patches.tar.bz2
Source9: mutt.mailcap
Patch: %name-%version.dif
# http://www.spinnaker.de/mutt/compressed/
Patch1: patch-%version.rr.compressed.1.bz2
Patch1: patch-%version.rr.compressed.bz2
Patch2: %name-1.5.9i-pgpewrap.diff
Patch3: %name-1.5.20-sendgroupreplyto.diff
Patch4: %name-1.5.15-wrapcolumn.diff
Patch5: patch-1.5.5.1.nt.xtitles.3.ab.1
Patch5: patch-1.5.23.xtitles.patch
# http://lunar-linux.org/mutt-sidebar
Patch6: mutt-1.5.21.sidebar.20120829.patch
Patch6: patch-1.5.23.sidebar.20140412.patch
Patch7: mutt-1.5.21-opennfs.dif
Patch8: mutt-1.5.20-gpgme_set_locale.patch
Patch9: bug-676388-largefile.patch
Patch10: mutt-1.5.21-tinfo.dif
# http://www.wolfermann.org/mutt.html
Patch11: aw.listreply.diff
Patch12: patch-1.5.21.vk.pgp_verbose_mime
Patch13: automake-1.12.patch
Patch14: nion.sidebar-color.diff
# PATCH-FIX-OPENSUSE: bnc#813498 - mutt crashes in fgetwc in text_enriched_handler
Patch15: widechar.sidebar.dif
# PATCH-FIX-OPENSUSE: Be able to read signed/encrypted messsages even with CRLF
Patch16: mutt-1.5.21-cariage-return.path
# PATCH-FIX-SUSE: bnc#868115 - CVE-2014-0467: mutt: crash due to malicious email
Patch17: mutt-CVE-2014-0467.patch
Patch16: mutt-1.5.23-cariage-return.path
# PATCH-FIX-OPENSUSE bnc#899712 - fallback mailcap for e.g text/html
Patch18: mutt-1.5.21-mailcap.diff
# PATCH-FIX-SUSE: bsc#907453 - CVE-2014-9116: mutt: heap-based buffer overflow in mutt_substrdup()
@ -132,16 +129,13 @@ done
%patch5 -p1 -b .xtitles
%patch6 -p1 -b .sidebar
%patch7 -p0 -b .opennfs
%patch8 -p1 -b .gpgme
%patch9 -p1 -b .largefile
%patch10 -p0 -b .tinfo
%patch11 -p1 -b .listreply
%patch12 -p1 -b .pgp_verbose_mtime
%patch13 -p1 -b .automake-1.12
%patch14 -p1 -b .sidebar.color
%patch15 -p0 -b .widechar.sidebar
%patch16 -p0 -b .crlf
%patch17 -p1 -b .cve.2014.0467
%patch18 -p1 -b .mailcap
%patch19 -p1 -b .cvw2014.9116
@ -178,14 +172,15 @@ autoreconf -fi
CC=gcc
CFLAGS="-Wall $RPM_OPT_FLAGS -I. -D_GNU_SOURCE"
#cflags -DSUSE_IMAP_FORCE_SSL CFLAGS
cflags -std=gnu99 CFLAGS
cflags -fno-strict-aliasing CFLAGS
cflags -fstack-protector CFLAGS
cflags -fPIE CFLAGS
cflags -g3 CFLAGS
cflags -pipe CFLAGS
cflags -Wl,--as-needed LDFLAGS
cflags -Wl,-O2 LDFLAGS
cflags -Wl,--hash-size=8599 LDFLAGS
cflags -pie LDFLAGS
KRB5CFGPATH=%{S:6}
export CC CFLAGS LDFLAGS KRB5CFGPATH
chmod 755 $KRB5CFGPATH
@ -276,6 +271,7 @@ install -D -m 644 %{SOURCE9} %{buildroot}%{_datadir}/mutt/mailcap
%{_datadir}/applications/*.desktop
%{_datadir}/pixmaps/mutt.png
%{_mandir}/man1/mutt.1.gz
%{_mandir}/man1/pgp*.1.gz
%{_mandir}/man1/smime_keys.1.gz
%{_mandir}/man5/mmdf_mutt.5.gz
%{_mandir}/man5/muttrc.5.gz

View File

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

View File

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

View File

@ -1,21 +1,42 @@
Index: mutt-1.5.20/PATCHES
===================================================================
--- mutt-1.5.20.orig/PATCHES
+++ mutt-1.5.20/PATCHES
@@ -1 +1,2 @@
patch-1.5.19.rr.compressed.1
+patch-1.5.5.1.nt.xtitles.3.ab.1
Index: mutt-1.5.20/curs_main.c
===================================================================
--- mutt-1.5.20.orig/curs_main.c
+++ mutt-1.5.20/curs_main.c
@@ -110,6 +110,19 @@ static const char *No_visible = N_("No v
From: Cristoph Berg <myon@debian.org>
Date: Thu, 27 Feb 2014 12:25:51 +0100
Subject: xtitles
This is the xterm title patch as found on the mutt mailing lists.
* Changes made:
- 2007-01-27 myon: using %P caused a segfault, updated status.c to catch
menu==NULL.
- 2007-02-20 myon: make the note about the xterm_set_titles defaults a
comment.
- 2008-08-02 myon: move set_xterm_* prototypes into the proper header file
(cleaner code, no functional change, evades conflict with sidebar patch)
Signed-off-by: Matteo F. Vescovi <mfvescovi@gmail.com>
Gbp-Pq: Topic features
---
curs_main.c | 20 ++++++++++++++++++++
globals.h | 2 ++
init.c | 20 ++++++++++++++++++++
init.h | 21 +++++++++++++++++++++
mutt.h | 1 +
mutt_menu.h | 2 ++
pager.c | 7 +++++++
status.c | 2 ++
8 files changed, 75 insertions(+)
diff --git a/curs_main.c b/curs_main.c
index aa4b044..16ddbc9 100644
--- a/curs_main.c
+++ b/curs_main.c
@@ -110,6 +110,19 @@ static const char *No_visible = N_("No visible messages.");
extern size_t UngetCount;
+#define ASCII_CTRL_G 0x07
+#define ASCII_CTRL_OPEN_SQUARE_BRAKET 0x1b
+
+
+void set_xterm_title_bar(char *title)
+{
+ fprintf(stderr ,"%c]2;%s%c", ASCII_CTRL_OPEN_SQUARE_BRAKET, title, ASCII_CTRL_G);
@ -29,9 +50,9 @@ Index: mutt-1.5.20/curs_main.c
void index_make_entry (char *s, size_t l, MUTTMENU *menu, int num)
{
format_flag flag = M_FORMAT_MAKEPRINT | M_FORMAT_ARROWCURSOR | M_FORMAT_INDEX;
@@ -566,6 +579,13 @@ int mutt_index_menu (void)
SETCOLOR (MT_COLOR_NORMAL);
BKGDSET (MT_COLOR_NORMAL);
@@ -560,6 +573,13 @@ int mutt_index_menu (void)
mutt_paddstr (COLS, buf);
NORMAL_COLOR;
menu->redraw &= ~REDRAW_STATUS;
+ if (option(OPTXTERMSETTITLES))
+ {
@ -43,10 +64,10 @@ Index: mutt-1.5.20/curs_main.c
}
menu->redraw = 0;
Index: mutt-1.5.20/globals.h
===================================================================
--- mutt-1.5.20.orig/globals.h
+++ mutt-1.5.20/globals.h
diff --git a/globals.h b/globals.h
index 6fefe5b..584cd0c 100644
--- a/globals.h
+++ b/globals.h
@@ -141,6 +141,8 @@ WHERE char *Tempdir;
WHERE char *Tochars;
WHERE char *Username;
@ -56,11 +77,11 @@ Index: mutt-1.5.20/globals.h
WHERE char *CurrentFolder;
WHERE char *LastFolder;
Index: mutt-1.5.20/init.c
===================================================================
--- mutt-1.5.20.orig/init.c
+++ mutt-1.5.20/init.c
@@ -1833,6 +1833,26 @@ static int parse_set (BUFFER *tmp, BUFFE
diff --git a/init.c b/init.c
index cc3cf4b..81bb9e7 100644
--- a/init.c
+++ b/init.c
@@ -1877,6 +1877,26 @@ static int parse_set (BUFFER *tmp, BUFFER *s, unsigned long data, BUFFER *err)
toggle_option (MuttVars[idx].data);
else
set_option (MuttVars[idx].data);
@ -87,11 +108,11 @@ Index: mutt-1.5.20/init.c
}
else if (myvar || DTYPE (MuttVars[idx].type) == DT_STR ||
DTYPE (MuttVars[idx].type) == DT_PATH ||
Index: mutt-1.5.20/init.h
===================================================================
--- mutt-1.5.20.orig/init.h
+++ mutt-1.5.20/init.h
@@ -3348,6 +3348,27 @@ struct option_t MuttVars[] = {
diff --git a/init.h b/init.h
index 80d05ce..cf8e75a 100644
--- a/init.h
+++ b/init.h
@@ -3412,6 +3412,27 @@ struct option_t MuttVars[] = {
** Also see the $$read_inc, $$net_inc and $$time_inc variables and the
** ``$tuning'' section of the manual for performance considerations.
*/
@ -103,11 +124,11 @@ Index: mutt-1.5.20/init.h
+ ** ``$$status_format''.
+ */
+ {"xterm_set_titles", DT_BOOL, R_BOTH, OPTXTERMSETTITLES, 0},
+ /* The default must be off to force in the validity checking. */
+ /*
+ ** .pp
+ ** Controls whether mutt sets the xterm title bar and icon name
+ ** (as long as you're in an appropriate terminal). The default must
+ ** be off to force in the validity checking.
+ ** (as long as you are in an appropriate terminal).
+ */
+ {"xterm_title", DT_STR, R_BOTH, UL &XtermTitle, UL "Mutt with %?m?%m messages&no messages?%?n? [%n NEW]?"},
+ /*
@ -119,11 +140,11 @@ Index: mutt-1.5.20/init.h
/*--*/
{ NULL, 0, 0, 0, 0 }
};
Index: mutt-1.5.20/mutt.h
===================================================================
--- mutt-1.5.20.orig/mutt.h
+++ mutt-1.5.20/mutt.h
@@ -452,6 +452,7 @@ enum
diff --git a/mutt.h b/mutt.h
index dcd7dc5..1d7e177 100644
--- a/mutt.h
+++ b/mutt.h
@@ -449,6 +449,7 @@ enum
OPTWRAPSEARCH,
OPTWRITEBCC, /* write out a bcc header? */
OPTXMAILER,
@ -131,14 +152,27 @@ Index: mutt-1.5.20/mutt.h
OPTCRYPTUSEGPGME,
OPTCRYPTUSEPKA,
Index: mutt-1.5.20/pager.c
===================================================================
--- mutt-1.5.20.orig/pager.c
+++ mutt-1.5.20/pager.c
@@ -1784,6 +1784,13 @@ mutt_pager (const char *banner, const ch
diff --git a/mutt_menu.h b/mutt_menu.h
index d459bef..82abecd 100644
--- a/mutt_menu.h
+++ b/mutt_menu.h
@@ -103,6 +103,8 @@ void menu_current_middle (MUTTMENU *);
void menu_current_bottom (MUTTMENU *);
void menu_check_recenter (MUTTMENU *);
void menu_status_line (char *, size_t, MUTTMENU *, const char *);
+void set_xterm_title_bar (char *title);
+void set_xterm_icon_name (char *name);
MUTTMENU *mutt_new_menu (int);
void mutt_menuDestroy (MUTTMENU **);
diff --git a/pager.c b/pager.c
index 486d8c8..23eb8ca 100644
--- a/pager.c
+++ b/pager.c
@@ -1812,6 +1812,13 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t *extra)
mutt_paddstr (COLS, bn);
}
BKGDSET (MT_COLOR_NORMAL);
SETCOLOR (MT_COLOR_NORMAL);
NORMAL_COLOR;
+ if (option(OPTXTERMSETTITLES))
+ {
+ menu_status_line (buffer, sizeof (buffer), index, NONULL (XtermTitle));
@ -149,15 +183,16 @@ Index: mutt-1.5.20/pager.c
}
if ((redraw & REDRAW_INDEX) && index)
Index: mutt-1.5.20/mutt_menu.h
===================================================================
--- mutt-1.5.20.orig/mutt_menu.h
+++ mutt-1.5.20/mutt_menu.h
@@ -112,4 +112,7 @@ int mutt_menuLoop (MUTTMENU *);
void index_make_entry (char *, size_t, struct menu_t *, int);
int index_color (int);
diff --git a/status.c b/status.c
index 1bb9a5a..6051e3a 100644
--- a/status.c
+++ b/status.c
@@ -195,6 +195,8 @@ status_format_str (char *buf, size_t buflen, size_t col, char op, const char *sr
break;
+void set_xterm_title_bar(char *);
+void set_xterm_icon_name(char *);
+
#endif /* _MUTT_MENU_H_ */
case 'P':
+ if (!menu)
+ break;
if (menu->top + menu->pagelen >= menu->max)
cp = menu->top ? "end" : "all";
else