Hello community,

here is the log from the commit of package mutt for openSUSE:Factory checked in 
at 2017-10-05 12:00:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mutt (Old)
 and      /work/SRC/openSUSE:Factory/.mutt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mutt"

Thu Oct  5 12:00:09 2017 rev:79 rq:531064 version:1.9.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/mutt/mutt.changes        2017-09-18 
19:54:40.957281829 +0200
+++ /work/SRC/openSUSE:Factory/.mutt.new/mutt.changes   2017-10-05 
12:03:57.640911310 +0200
@@ -1,0 +2,6 @@
+Wed Oct  4 07:55:59 UTC 2017 - [email protected]
+
+- Add patch neomutt-c030a8b.patch from upstream commit to fix
+  boo#1061343
+
+-------------------------------------------------------------------

New:
----
  neomutt-c030a8b.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mutt.spec ++++++
--- /var/tmp/diff_new_pack.UqgaXb/_old  2017-10-05 12:03:59.912591716 +0200
+++ /var/tmp/diff_new_pack.UqgaXb/_new  2017-10-05 12:03:59.912591716 +0200
@@ -99,6 +99,8 @@
 Patch18:        mutt-1.5.21-mailcap.diff
 # PATCH-FIX-SUSE: bsc#907453 - CVE-2014-9116: mutt: heap-based buffer overflow 
in mutt_substrdup()
 Patch19:        bsc907453-CVE-2014-9116-jessie.patch
+# PATCH-FIX-UPSTREAM: bsc#1061343 - (neo)mutt displaying times in Zulu time
+Patch20:        neomutt-c030a8b.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %global         _sysconfdir %{_sysconfdir}
 
@@ -145,6 +147,7 @@
 %patch16 -p0 -b .crlf
 %patch18 -p0 -b .mailcap
 %patch19 -p0 -b .cvw2014.9116
+%patch20 -p1 -b .zulu
 rm -vf README*.orig
 rm -vf PATCHES*.orig
 


++++++ neomutt-c030a8b.patch ++++++
>From c030a8b8ef43f2bc549e4f00651c25681d54f26e Mon Sep 17 00:00:00 2001
From: Richard Russon <[email protected]>
Date: Thu, 14 Sep 2017 17:36:19 +0100
Subject: [PATCH] fix: %{fmt} date format

A mistake was introduced when moving the date code to the library.
The dates being displayed were those of the base timezone, not the email.

Remove the `%<...>` documentation from `$index_format`

Fixes #757
---
 init.h     |  2 --
 lib/date.c | 12 ++++++++----
 lib/date.h |  2 +-
 parse.c    | 10 +++++-----
 4 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/init.h b/init.h
index 247b0f211..4f029f39c 100644
--- a/init.h
+++ b/init.h
@@ -1584,8 +1584,6 @@ struct Option MuttVars[] = {
   ** .dt %(fmt) .dd the local date and time when the message was received.
   **                ``fmt'' is expanded by the library function 
\fCstrftime(3)\fP;
   **                a leading bang disables locales
-  ** .dt %<fmt> .dd the current local time. ``fmt'' is expanded by the library
-  **                function \fCstrftime(3)\fP; a leading bang disables 
locales.
   ** .dt %>X    .dd right justify the rest of the string and pad with 
character ``X''
   ** .dt %|X    .dd pad to the end of the line with character ``X''
   ** .dt %*X    .dd soft-fill with character ``X'' as pad
diff --git a/lib/date.c b/lib/date.c
index b1a450a24..5cce4b3f9 100644
--- a/lib/date.c
+++ b/lib/date.c
@@ -432,7 +432,7 @@ bool is_day_name(const char *s)
  *
  * The 'timezone' field is optional; it defaults to +0000 if missing.
  */
-time_t mutt_parse_date(const char *s, const struct Tz **tz_out)
+time_t mutt_parse_date(const char *s, struct Tz *tz_out)
 {
   int count = 0;
   char *t = NULL;
@@ -537,9 +537,6 @@ time_t mutt_parse_date(const char *s, const struct Tz 
**tz_out)
             zhours = tz->zhours;
             zminutes = tz->zminutes;
             zoccident = tz->zoccident;
-
-            if (tz_out)
-              *tz_out = tz;
           }
 
           /* ad hoc support for the European MET (now officially CET) TZ */
@@ -568,5 +565,12 @@ time_t mutt_parse_date(const char *s, const struct Tz 
**tz_out)
     return -1;
   }
 
+  if (tz_out)
+  {
+    tz_out->zhours = zhours;
+    tz_out->zminutes = zminutes;
+    tz_out->zoccident = zoccident;
+  }
+
   return (mutt_mktime(&tm, 0) + tz_offset);
 }
diff --git a/lib/date.h b/lib/date.h
index ad0eb9c38..fab7a1b8f 100644
--- a/lib/date.h
+++ b/lib/date.h
@@ -45,7 +45,7 @@ time_t mutt_local_tz(time_t t);
 time_t mutt_mktime(struct tm *t, int local);
 void mutt_normalize_time(struct tm *tm);
 char *mutt_make_date(char *buf, size_t buflen);
-time_t mutt_parse_date(const char *s, const struct Tz **tz_out);
+time_t mutt_parse_date(const char *s, struct Tz *tz_out);
 bool is_day_name(const char *s);
 int mutt_check_month(const char *s);
 
diff --git a/parse.c b/parse.c
index 38f46129d..3b8966e1a 100644
--- a/parse.c
+++ b/parse.c
@@ -835,13 +835,13 @@ int mutt_parse_rfc822_line(struct Envelope *e, struct 
Header *hdr, char *line,
         mutt_str_replace(&e->date, p);
         if (hdr)
         {
-          const struct Tz *tz = NULL;
+          struct Tz tz;
           hdr->date_sent = mutt_parse_date(p, &tz);
-          if (tz)
+          if (hdr->date_sent > 0)
           {
-            hdr->zhours = tz->zhours;
-            hdr->zminutes = tz->zminutes;
-            hdr->zoccident = tz->zoccident;
+            hdr->zhours = tz.zhours;
+            hdr->zminutes = tz.zminutes;
+            hdr->zoccident = tz.zoccident;
           }
         }
         matched = 1;

Reply via email to