Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mutt for openSUSE:Factory checked in 
at 2026-09-14 16:25:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mutt (Old)
 and      /work/SRC/openSUSE:Factory/.mutt.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mutt"

Mon Sep 14 16:25:58 2026 rev:126 rq:1377855 version:2.4.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/mutt/mutt.changes        2026-05-05 
16:22:40.814101738 +0200
+++ /work/SRC/openSUSE:Factory/.mutt.new.1265/mutt.changes      2026-09-14 
16:26:06.011921163 +0200
@@ -1,0 +2,33 @@
+Mon Sep 14 09:09:25 UTC 2026 - Dominique Leuenberger <[email protected]>
+
+- Use https://ftp.osuosl.org to download assets: ftp.mutt.org is an
+  alias, but without valid ssl certs.
+- Use http://www.mutt.org as URL: there is no valid cert to
+  advertise https:// to the users.
+
+-------------------------------------------------------------------
+Tue Sep  8 13:50:05 UTC 2026 - Dr. Werner Fink <[email protected]>
+
+- Use ftp instead of https for ftp.mutt.org 
+
+-------------------------------------------------------------------
+Mon Sep  7 11:14:35 UTC 2026 - Dr. Werner Fink <[email protected]>
+
+- Update to mutt 2.4.2 (Bug fix release)
+  * This is a bug-fix release, fixing several small issues, including
+    a sporadic compose-menu prompt to update attachment encoding
+    occurring with recent Linux kernels
+  * 2.4.1 was a bug-fix release, fixing compilation with OpenSSL 4,
+    Alt keybindings in the foot terminal, a minor crash bug, and a
+    theoretical IMAP overflow bug. See the UPDATING file for more details. 
+  * 2.4.0 was release that has new features and bug fixes.
+    See the UPDATING file, or for more details see the release notes page. 
+  * 2.3.3 was a bug-fix release, fixing a crash bug for deeply nested
+    message types and a configure bug for the bundled-regex option. 
+
+-------------------------------------------------------------------
+Mon Sep  7 10:52:05 UTC 2026 - Dr. Werner Fink <[email protected]>
+
+- Fix python macro usage 
+
+-------------------------------------------------------------------

Old:
----
  mutt-2.3.2.tar.gz
  mutt-2.3.2.tar.gz.asc

New:
----
  mutt-2.4.2.tar.gz
  mutt-2.4.2.tar.gz.asc

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

Other differences:
------------------
++++++ mutt.spec ++++++
--- /var/tmp/diff_new_pack.vxTA8G/_old  2026-09-14 16:26:08.956044524 +0200
+++ /var/tmp/diff_new_pack.vxTA8G/_new  2026-09-14 16:26:08.959044650 +0200
@@ -20,15 +20,15 @@
 %bcond_with    mutt_openssl
 %bcond_without mutt_gnutls
 Name:           mutt
-Version:        2.3.2
+Version:        2.4.2
 Release:        0
 Summary:        Mail Program
 # ftp://ftp.mutt.org/mutt/devel/
 # https:///bitbucket.org/mutt/mutt/downloads/%%name-%%version.tar.gz
 License:        GPL-2.0-or-later
 Group:          Productivity/Networking/Email/Clients
-URL:            https://www.mutt.org
-Source0:        
https://bitbucket.org/mutt/mutt/downloads/mutt-%{version}.tar.gz
+URL:            http://www.mutt.org
+Source0:        https://ftp.osuosl.org/pub/mutt/mutt-%{version}.tar.gz
 Source1:        Signature_conversion
 Source2:        README.alternates
 Source3:        mutt.png
@@ -38,7 +38,7 @@
 Source7:        mutt_oauth2.py.README
 Source8:        backports-datetime-fromisoformat-1.0.0.tar.gz
 Source9:        mutt.mailcap
-Source10:       
https://bitbucket.org/mutt/mutt/downloads/mutt-%{version}.tar.gz.asc
+Source10:       https://ftp.osuosl.org/pub/mutt/mutt-%{version}.tar.gz.asc
 Source11:       mutt.keyring
 Patch0:         %{name}-1.13.3.dif
 # http://www.spinnaker.de/mutt/compressed/
@@ -83,6 +83,7 @@
 BuildRequires:  pkgconfig(zlib)
 BuildRequires:  tex(8r.enc)
 %if 0%{suse_version} >= 1500
+BuildRequires:  python-rpm-macros
 BuildRequires:  python3-base
 BuildRequires:  python3-devel
 BuildRequires:  python3-setuptools
@@ -349,9 +350,9 @@
 %if 0%{suse_version} >= 1500
 %{_docdir}/%{name}/mutt_oauth2.py
 %{_docdir}/%{name}/mutt_oauth2.py.README
-%if %{?pkg_vcmp:%{pkg_vcmp python3-base < 3.7.0}}%{!?pkg_vcmp:0}
-%{python3_sitearch}/backports
-%{python3_sitearch}/backports_datetime_fromisoformat-1.0.0-py3.6.egg-info
+%if 0%{?python_version_nodots} < 37
+%{python_sitearch}/backports
+%{python_sitearch}/backports_datetime_fromisoformat-1.0.0-py%{python_version}.egg-info
 %endif
 %endif
 

++++++ bsc907453-CVE-2014-9116-jessie.patch ++++++
--- /var/tmp/diff_new_pack.vxTA8G/_old  2026-09-14 16:26:09.021047248 +0200
+++ /var/tmp/diff_new_pack.vxTA8G/_new  2026-09-14 16:26:09.025047416 +0200
@@ -18,7 +18,7 @@
 
 --- lib.c
 +++ lib.c      2019-01-02 13:25:44.767193676 +0000
-@@ -675,6 +675,9 @@ char *mutt_substrdup (const char *begin,
+@@ -676,6 +676,9 @@ char *mutt_substrdup (const char *begin,
    size_t len;
    char *p;
  

++++++ mutt-1.13.3.dif ++++++
--- /var/tmp/diff_new_pack.vxTA8G/_old  2026-09-14 16:26:09.043048170 +0200
+++ /var/tmp/diff_new_pack.vxTA8G/_new  2026-09-14 16:26:09.051048505 +0200
@@ -6,7 +6,7 @@
  4 files changed, 39 insertions(+), 7 deletions(-)
 
 --- configure.ac
-+++ configure.ac       2020-01-14 13:04:28.102878757 +0000
++++ configure.ac       2026-09-07 11:28:13.667631479 +0000
 @@ -298,7 +298,7 @@ main ()
                          mutt_cv_slang=$withval
                          if test -d $withval/include/slang; then
@@ -16,22 +16,22 @@
                                  CPPFLAGS="$CPPFLAGS -I${withval}/include"
                          fi
                          LDFLAGS="$LDFLAGS -L${withval}/lib"
-@@ -747,8 +747,12 @@ AC_ARG_WITH(ssl, AS_HELP_STRING([--with-
-         else
+@@ -751,8 +751,12 @@ AC_ARG_WITH(ssl, AS_HELP_STRING([--with-
+           else
              if test "$with_ssl" != "yes"
              then
 -             LDFLAGS="$LDFLAGS -L$withval/lib"
 -             CPPFLAGS="$CPPFLAGS -I$withval/include"
-+             case $withval in /usr|/usr/local) ;;
++             case $with_ssl in /usr|/usr/local) ;;
 +             *)
-+               LDFLAGS="$LDFLAGS -L$withval/lib"
-+               CPPFLAGS="$CPPFLAGS -I$withval/include"
++               LDFLAGS="$LDFLAGS -L$with_ssl/lib"
++               CPPFLAGS="$CPPFLAGS -I$with_ssl/include"
 +               ;;
 +             esac
              fi
              saved_LIBS="$LIBS"
  
-@@ -835,8 +839,12 @@ AC_ARG_WITH(sasl, AS_HELP_STRING([--with
+@@ -839,8 +843,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    2020-01-14 13:05:31.265704120 +0000
++++ doc/Muttrc.head    2026-09-07 11:21:35.050729687 +0000
 @@ -23,7 +23,7 @@ macro index,pager,attach,compose \cb "\
  "call urlview to extract URLs out of a message"
  
@@ -58,47 +58,47 @@
  # show the incoming mailboxes list (just like "mutt -y") and back when 
pressing "y"
  # note: these macros have been subsumed by the <browse-mailboxes> function.
 --- imap/auth.c
-+++ imap/auth.c        2020-01-14 13:04:28.102878757 +0000
-@@ -79,6 +79,25 @@ int imap_authenticate (IMAP_DATA* idata)
-       dprint (2, (debugfile, "imap_authenticate: Trying method %s\n", 
method));
++++ imap/auth.c        2026-09-07 11:32:06.795479596 +0000
+@@ -79,6 +79,25 @@ int imap_authenticate(IMAP_DATA *idata)
+       muttdbg(2, "imap_authenticate: Trying method %s", method);
        authenticator = imap_authenticators;
  
 +#ifdef USE_SASL
 +      /* "login" not supported by SASL */
 +      if (!ascii_strcasecmp ("login", method))
 +      {
-+      while (authenticator->authenticate)
-+      {
-+        const char *identify = authenticator->method;
-+        if (identify && !ascii_strcasecmp(identify, method))
-+          if ((r = authenticator->authenticate(idata, method)) !=
-+              IMAP_AUTH_UNAVAIL)
-+          {
-+            FREE(&methods);
-+            return r;
-+          }
++       while (authenticator->authenticate)
++       {
++         const char *identify = authenticator->method;
++         if (identify && !ascii_strcasecmp(identify, method))
++           if ((r = authenticator->authenticate(idata, method)) !=
++               IMAP_AUTH_UNAVAIL)
++           {
++             FREE(&methods);
++             return r;
++           }
 +
-+        authenticator++;
-+      }
++         authenticator++;
++       }
 +      } else {
 +#endif
        while (authenticator->authenticate)
        {
-       if (!authenticator->method ||
-@@ -93,7 +112,9 @@ int imap_authenticate (IMAP_DATA* idata)
-       authenticator++;
+         if (!authenticator->method ||
+@@ -93,7 +112,9 @@ int imap_authenticate(IMAP_DATA *idata)
+         authenticator++;
        }
      }
 -
 +#ifdef USE_SASL
 +    }
 +#endif
-     FREE (&methods);
+     FREE(&methods);
    }
    else
 --- mx.c
-+++ mx.c       2020-01-14 13:04:28.102878757 +0000
-@@ -1501,6 +1501,9 @@ void mx_update_context (CONTEXT *ctx, in
++++ mx.c       2026-09-07 11:21:35.050729687 +0000
+@@ -1499,6 +1499,9 @@ void mx_update_context(CONTEXT *ctx, int
    {
      h = ctx->hdrs[msgno];
  

++++++ mutt-1.5.15-wrapcolumn.diff ++++++
--- /var/tmp/diff_new_pack.vxTA8G/_old  2026-09-14 16:26:09.068049217 +0200
+++ /var/tmp/diff_new_pack.vxTA8G/_new  2026-09-14 16:26:09.071049343 +0200
@@ -6,7 +6,7 @@
 
 --- init.h
 +++ init.h     2020-01-14 13:28:27.408149074 +0000
-@@ -4889,6 +4889,7 @@ struct option_t MuttVars[] = {
+@@ -4931,6 +4931,7 @@ struct option_t MuttVars[] = {
    ** Also see $$copy_decode_weed, $$pipe_decode_weed, $$print_decode_weed.
    */
    { "wrap",             DT_NUM,  R_PAGER_FLOW, {.p=&Wrap}, {.l=0} },

++++++ mutt-1.5.20-sendgroupreplyto.diff ++++++
--- /var/tmp/diff_new_pack.vxTA8G/_old  2026-09-14 16:26:09.083049846 +0200
+++ /var/tmp/diff_new_pack.vxTA8G/_new  2026-09-14 16:26:09.092050223 +0200
@@ -5,24 +5,24 @@
  3 files changed, 14 insertions(+), 3 deletions(-)
 
 --- init.h
-+++ init.h     2020-01-14 13:12:26.725982952 +0000
-@@ -3492,6 +3492,13 @@ struct option_t MuttVars[] = {
++++ init.h     2026-09-07 11:51:23.794925171 +0000
+@@ -3494,6 +3494,13 @@ struct option_t MuttVars[] = {
    ** .pp
    ** Also see the $$force_name variable.
    */
-+  { "send_group_reply_to",    DT_BOOL, R_NONE, {.l=OPTSENDGROUPREPLYTO}, 
{.l=0} },
++  { "send_group_reply_to",     DT_BOOL, R_NONE, {.l=OPTSENDGROUPREPLYTO}, 
{.l=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, {.l=OPTSCORE}, {.l=1} },
+   { "score",            DT_BOOL, R_NONE, {.l=OPTSCORE}, {.l=1} },
    /*
    ** .pp
 --- mutt.h
-+++ mutt.h     2020-01-14 13:07:33.727426389 +0000
-@@ -540,6 +540,7 @@ enum
++++ mutt.h     2026-09-07 11:33:55.253547888 +0000
+@@ -538,6 +538,7 @@ enum
    OPTSAVEADDRESS,
    OPTSAVEEMPTY,
    OPTSAVENAME,
@@ -31,21 +31,21 @@
  #ifdef USE_SIDEBAR
    OPTSIDEBAR,
 --- send.c
-+++ send.c     2020-01-14 13:07:33.727426389 +0000
-@@ -700,9 +700,12 @@ int mutt_fetch_recips (ENVELOPE *out, EN
++++ send.c     2026-09-07 11:53:16.068931144 +0000
+@@ -699,9 +699,12 @@ int mutt_fetch_recips(ENVELOPE *out, ENV
          (!in->mail_followup_to || hmfupto != MUTT_YES))
      {
        /* if (!mutt_addr_is_user(in->to)) */
 -      if (flags & SENDGROUPREPLY)
--        rfc822_append (&out->cc, in->to, 1);
+-        rfc822_append(&out->cc, in->to, 1);
 -      else
 +      if (flags & SENDGROUPREPLY) {
-+      if (option (OPTSENDGROUPREPLYTO))
++       if (option (OPTSENDGROUPREPLYTO))
 +          rfc822_append (&out->to, in->to, 1);
-+      else
++       else
 +          rfc822_append (&out->cc, in->to, 1);
 +      } else
-         rfc822_append (&out->to, in->to, 1);
-       rfc822_append (&out->cc, in->cc, 1);
+         rfc822_append(&out->to, in->to, 1);
+       rfc822_append(&out->cc, in->cc, 1);
      }
 

++++++ mutt-1.5.21-mailcap.diff ++++++
--- /var/tmp/diff_new_pack.vxTA8G/_old  2026-09-14 16:26:09.104050726 +0200
+++ /var/tmp/diff_new_pack.vxTA8G/_new  2026-09-14 16:26:09.112051061 +0200
@@ -8,14 +8,14 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 --- init.c
-+++ init.c     2019-01-02 13:25:20.795634552 +0000
-@@ -3854,7 +3854,7 @@ void mutt_init (int skip_sys_rc, LIST *c
++++ init.c     2026-09-07 12:30:47.628932167 +0000
+@@ -3848,7 +3848,7 @@ void mutt_init(int skip_sys_rc, LIST *co
    else
    {
      /* Default search path from RFC1524 */
--    MailcapPath = safe_strdup ("~/.mailcap:" PKGDATADIR "/mailcap:" 
SYSCONFDIR "/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap");
-+    MailcapPath = safe_strdup ("~/.mailcap:" PKGDATADIR "/mailcap:" 
SYSCONFDIR "/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap:" SYSCONFDIR 
"/mutt/mailcap");
+-    MailcapPath = safe_strdup("~/.mailcap:" PKGDATADIR "/mailcap:" SYSCONFDIR 
"/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap");
++    MailcapPath = safe_strdup("~/.mailcap:" PKGDATADIR "/mailcap:" SYSCONFDIR 
"/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap:" SYSCONFDIR "/mutt/mailcap");
    }
  
-   Tempdir = safe_strdup ((p = getenv ("TMPDIR")) ? p : "/tmp");
+   Tempdir = safe_strdup((p = getenv("TMPDIR")) ? p : "/tmp");
 

++++++ mutt-1.5.23-carriage-return.path ++++++
--- /var/tmp/diff_new_pack.vxTA8G/_old  2026-09-14 16:26:09.129051773 +0200
+++ /var/tmp/diff_new_pack.vxTA8G/_new  2026-09-14 16:26:09.132051899 +0200
@@ -7,19 +7,19 @@
  5 files changed, 26 insertions(+), 14 deletions(-)
 
 --- crypt-gpgme.c
-+++ crypt-gpgme.c      2019-11-13 13:46:16.512388398 +0000
-@@ -2733,7 +2733,7 @@ static void copy_clearsigned (gpgme_data
++++ crypt-gpgme.c      2026-09-07 12:23:13.828994085 +0000
+@@ -2731,7 +2731,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 = 0;
        continue;
      }
 --- lib.c
-+++ lib.c      2019-11-13 13:42:00.245189313 +0000
-@@ -693,6 +693,17 @@ int mutt_strcmp(const char *a, const cha
++++ lib.c      2026-09-07 12:17:15.575357607 +0000
+@@ -694,6 +694,17 @@ int mutt_strcmp(const char *a, const cha
    return strcmp(NONULL(a), NONULL(b));
  }
  
@@ -38,91 +38,91 @@
  {
    return strcasecmp(NONULL(a), NONULL(b));
 --- lib.h
-+++ lib.h      2019-11-13 13:47:17.399247662 +0000
-@@ -225,6 +225,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 *, 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 *);
++++ lib.h      2026-09-07 12:23:47.140402342 +0000
+@@ -241,6 +241,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 *, 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-11-13 13:48:32.257845120 +0000
-@@ -975,7 +975,7 @@ resolve_types (char *buf, char *raw, str
++++ pager.c    2026-09-07 12:27:34.016371928 +0000
+@@ -974,7 +974,7 @@ resolve_types(char *buf, char *raw, stru
      lineInfo[n].type = MT_COLOR_NORMAL;
-   else if (check_attachment_marker ((char *) raw) == 0)
+   else if (check_attachment_marker((char *) raw) == 0)
      lineInfo[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)
+-  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-11-13 13:51:06.746954963 +0000
-@@ -371,7 +371,7 @@ static void pgp_copy_clearsigned (FILE *
++++ pgp.c      2026-09-07 12:25:45.898292670 +0000
+@@ -363,7 +363,7 @@ static void pgp_copy_clearsigned(FILE *f
        continue;
      }
  
--    if (mutt_strcmp (buf, "-----BEGIN PGP SIGNATURE-----\n") == 0)
-+    if (mutt_strxcmp (buf, "-----BEGIN PGP SIGNATURE-----\n") == 0)
+-    if (mutt_strcmp(buf, "-----BEGIN PGP SIGNATURE-----\n") == 0)
++    if (mutt_strxcmp(buf, "-----BEGIN PGP SIGNATURE-----\n") == 0)
        break;
  
      if (armor_header)
-@@ -446,11 +446,11 @@ int pgp_application_pgp_handler (BODY *m
+@@ -438,11 +438,11 @@ int pgp_application_pgp_handler(BODY *m,
        could_not_decrypt = 0;
        decrypt_okay_rc = 0;
  
--      if (mutt_strcmp ("MESSAGE-----\n", buf + 15) == 0)
-+      if (mutt_strxcmp ("MESSAGE-----\n", buf + 15) == 0)
+-      if (mutt_strcmp("MESSAGE-----\n", buf + 15) == 0)
++      if (mutt_strxcmp("MESSAGE-----\n", buf + 15) == 0)
          needpass = 1;
--      else if (mutt_strcmp ("SIGNED MESSAGE-----\n", buf + 15) == 0)
-+      else if (mutt_strxcmp ("SIGNED MESSAGE-----\n", buf + 15) == 0)
-       clearsign = 1;
--      else if (!mutt_strcmp ("PUBLIC KEY BLOCK-----\n", buf + 15))
-+      else if (!mutt_strxcmp ("PUBLIC KEY BLOCK-----\n", buf + 15))
+-      else if (mutt_strcmp("SIGNED MESSAGE-----\n", buf + 15) == 0)
++      else if (mutt_strxcmp("SIGNED MESSAGE-----\n", buf + 15) == 0)
+         clearsign = 1;
+-      else if (!mutt_strcmp("PUBLIC KEY BLOCK-----\n", buf + 15))
++      else if (!mutt_strxcmp("PUBLIC KEY BLOCK-----\n", buf + 15))
          pgp_keyblock = 1;
        else
        {
-@@ -480,10 +480,10 @@ int pgp_application_pgp_handler (BODY *m
+@@ -472,10 +472,10 @@ int pgp_application_pgp_handler(BODY *m,
  
-       fputs (buf, tmpfp);
+         fputs(buf, tmpfp);
  
--      if ((needpass && mutt_strcmp ("-----END PGP MESSAGE-----\n", buf) == 0) 
||
-+      if ((needpass && mutt_strxcmp ("-----END PGP MESSAGE-----\n", buf) == 
0) ||
-           (!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
-+                 || mutt_strxcmp ("-----END PGP PUBLIC KEY BLOCK-----\n",buf) 
== 0)))
-         break;
-       /* remember optional Charset: armor header as defined by RfC4880 */
-       if (mutt_strncmp ("Charset: ", buf, 9) == 0)
-@@ -746,11 +746,11 @@ static int pgp_check_traditional_one_bod
+-        if ((needpass && mutt_strcmp("-----END PGP MESSAGE-----\n", buf) == 
0) ||
++        if ((needpass && mutt_strxcmp("-----END PGP MESSAGE-----\n", buf) == 
0) ||
+             (!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
++                 || mutt_strxcmp("-----END PGP PUBLIC KEY BLOCK-----\n",buf) 
== 0)))
+           break;
+         /* remember optional Charset: armor header as defined by RfC4880 */
+         if (mutt_strncmp("Charset: ", buf, 9) == 0)
+@@ -752,11 +752,11 @@ static int pgp_check_traditional_one_bod
    {
-     if (mutt_strncmp ("-----BEGIN PGP ", buf, 15) == 0)
+     if (mutt_strncmp("-----BEGIN PGP ", buf, 15) == 0)
      {
--      if (mutt_strcmp ("MESSAGE-----\n", buf + 15) == 0)
-+      if (mutt_strxcmp ("MESSAGE-----\n", buf + 15) == 0)
-       enc = 1;
--      else if (mutt_strcmp ("SIGNED MESSAGE-----\n", buf + 15) == 0)
-+      else if (mutt_strxcmp ("SIGNED MESSAGE-----\n", buf + 15) == 0)
-       sgn = 1;
--      else if (mutt_strcmp ("PUBLIC KEY BLOCK-----\n", buf + 15) == 0)
-+      else if (mutt_strxcmp ("PUBLIC KEY BLOCK-----\n", buf + 15) == 0)
-       key = 1;
+-      if (mutt_strcmp("MESSAGE-----\n", buf + 15) == 0)
++      if (mutt_strxcmp("MESSAGE-----\n", buf + 15) == 0)
+         enc = 1;
+-      else if (mutt_strcmp("SIGNED MESSAGE-----\n", buf + 15) == 0)
++      else if (mutt_strxcmp("SIGNED MESSAGE-----\n", buf + 15) == 0)
+         sgn = 1;
+-      else if (mutt_strcmp("PUBLIC KEY BLOCK-----\n", buf + 15) == 0)
++      else if (mutt_strxcmp("PUBLIC KEY BLOCK-----\n", buf + 15) == 0)
+         key = 1;
      }
    }
-@@ -1296,9 +1296,9 @@ BODY *pgp_sign_message (BODY *a)
+@@ -1312,9 +1312,9 @@ BODY *pgp_sign_message(BODY *a)
     */
-   while (fgets (buffer, sizeof (buffer) - 1, pgpout) != NULL)
+   while (fgets(buffer, sizeof(buffer) - 1, pgpout) != NULL)
    {
--    if (mutt_strcmp ("-----BEGIN PGP MESSAGE-----\n", buffer) == 0)
-+    if (mutt_strxcmp ("-----BEGIN PGP MESSAGE-----\n", buffer) == 0)
-       fputs ("-----BEGIN PGP SIGNATURE-----\n", fp);
+-    if (mutt_strcmp("-----BEGIN PGP MESSAGE-----\n", buffer) == 0)
++    if (mutt_strxcmp("-----BEGIN PGP MESSAGE-----\n", buffer) == 0)
+       fputs("-----BEGIN PGP SIGNATURE-----\n", fp);
 -    else if (mutt_strcmp("-----END PGP MESSAGE-----\n", buffer) == 0)
 +    else if (mutt_strxcmp("-----END PGP MESSAGE-----\n", buffer) == 0)
-       fputs ("-----END PGP SIGNATURE-----\n", fp);
+       fputs("-----END PGP SIGNATURE-----\n", fp);
      else
-       fputs (buffer, fp);
+       fputs(buffer, fp);
 

++++++ mutt-1.6.1-opennfs.dif ++++++
--- /var/tmp/diff_new_pack.vxTA8G/_old  2026-09-14 16:26:09.149052612 +0200
+++ /var/tmp/diff_new_pack.vxTA8G/_new  2026-09-14 16:26:09.152052737 +0200
@@ -1,15 +1,15 @@
 ---
  Makefile.am |    4 -
  mbox.c      |    5 ++
- mh.c        |    9 +++-
+ mh.c        |    8 +++
  mutt.h      |    3 +
  muttlib.c   |    6 ++
  opennfs.c   |  122 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  sendlib.c   |    4 +
- 7 files changed, 149 insertions(+), 4 deletions(-)
+ 7 files changed, 149 insertions(+), 3 deletions(-)
 
 --- Makefile.am
-+++ Makefile.am        2020-01-14 13:28:45.787807571 +0000
++++ Makefile.am        2026-09-07 12:01:20.256330180 +0000
 @@ -34,7 +34,7 @@ mutt_SOURCES = \
        edit.c enter.c flags.c init.c filter.c from.c \
        getdomain.c group.c \
@@ -29,51 +29,50 @@
  mutt_pgpring_DEPENDENCIES = $(LIBOBJS) $(INTLDEPS)
  
 --- mbox.c
-+++ mbox.c     2020-01-14 13:30:35.969760118 +0000
-@@ -893,8 +893,13 @@ static int mbox_sync_mailbox (CONTEXT *c
++++ mbox.c     2026-09-07 12:01:50.683789592 +0000
+@@ -933,8 +933,13 @@ static int mbox_sync_mailbox(CONTEXT *ct
    /* Create a temporary file to write the new version of the mailbox in. */
-   tempfile = mutt_buffer_pool_get ();
-   mutt_buffer_mktemp (tempfile);
+   tempfile = mutt_buffer_pool_get();
+   mutt_buffer_mktemp(tempfile);
 +#if defined(__linux__)
-+  if ((i = opennfs (mutt_b2s (tempfile), O_WRONLY | O_EXCL | O_CREAT, 0600)) 
== -1 ||
-+      (fp = fdopen (i, "w")) == NULL)
++  if ((i = opennfs(mutt_b2s (tempfile), O_WRONLY | O_EXCL | O_CREAT, 0600)) 
== -1 ||
++      (fp = fdopen(i, "w")) == NULL)
 +#else
-   if ((i = open (mutt_b2s (tempfile), O_WRONLY | O_EXCL | O_CREAT, 0600)) == 
-1 ||
-       (fp = fdopen (i, "w")) == NULL)
+   if ((i = open(mutt_b2s(tempfile), O_WRONLY | O_EXCL | O_CREAT, 0600)) == -1 
||
+       (fp = fdopen(i, "w")) == NULL)
 +#endif
    {
      if (-1 != i)
      {
 --- mh.c
-+++ mh.c       2020-01-14 13:28:45.787807571 +0000
-@@ -369,7 +369,11 @@ static int mh_mkstemp (CONTEXT * dest, F
++++ mh.c       2026-09-07 12:03:57.157542505 +0000
+@@ -366,7 +366,11 @@ static int mh_mkstemp(CONTEXT * dest, FI
    {
-     mutt_buffer_printf (path, "%s/.mutt-%s-%d-%d",
-                         dest->path, NONULL (Hostname), (int) getpid (), 
Counter++);
+     mutt_buffer_printf(path, "%s/.mutt-%s-%d-%d",
+                        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)
+     if ((fd = open(mutt_b2s(path), O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1)
 +#endif
      {
        if (errno != EEXIST)
        {
-@@ -1559,8 +1563,11 @@ static int maildir_open_new_message (MES
+@@ -1552,7 +1556,11 @@ static int maildir_open_new_message(MESS
+     muttdbg(2, "maildir_open_new_message (): Trying %s.",
+             mutt_b2s(path));
  
-     dprint (2, (debugfile, "maildir_open_new_message (): Trying %s.\n",
-               mutt_b2s (path)));
--
 +#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)
+     if ((fd = open(mutt_b2s(path), O_WRONLY | O_EXCL | O_CREAT, 0666)) == -1)
 +#endif
      {
        if (errno != EEXIST)
        {
 --- mutt.h
-+++ mutt.h     2020-01-14 13:28:45.787807571 +0000
-@@ -1223,4 +1223,7 @@ typedef struct
++++ mutt.h     2026-09-07 12:01:20.260330110 +0000
+@@ -1221,4 +1221,7 @@ typedef struct
  #include "lib.h"
  #include "globals.h"
  
@@ -82,29 +81,29 @@
 +#endif
  #endif /*MUTT_H*/
 --- muttlib.c
-+++ muttlib.c  2020-01-14 13:28:45.787807571 +0000
-@@ -2562,6 +2562,10 @@ int safe_open (const char *path, int fla
++++ muttlib.c  2026-09-07 12:05:57.587402650 +0000
+@@ -2637,6 +2637,10 @@ int safe_open(const char *path, int flag
    BUFFER *safe_file = NULL;
    BUFFER *safe_dir = NULL;
  
 +#if defined(__linux__)
-+  if ((fd = opennfs (path, flags, 0600)) < 0)
++  if ((fd = opennfs(path, flags, 0600)) < 0)
 +    return fd;
 +#else
    if (flags & O_EXCL)
    {
-     safe_file = mutt_buffer_pool_get ();
-@@ -2590,7 +2594,7 @@ int safe_open (const char *path, int fla
+     safe_file = mutt_buffer_pool_get();
+@@ -2665,7 +2669,7 @@ int safe_open(const char *path, int flag
  
-   if ((fd = open (path, flags & ~O_EXCL, 0600)) < 0)
+   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 ||
+   if (lstat(path, &osb) < 0 || fstat(fd, &nsb) < 0 ||
        compare_stat(&osb, &nsb) == -1)
 --- opennfs.c
-+++ opennfs.c  2020-01-14 13:28:45.787807571 +0000
++++ opennfs.c  2026-09-07 12:01:20.260330110 +0000
 @@ -0,0 +1,122 @@
 +#include <errno.h>
 +#include <fcntl.h>
@@ -229,17 +228,17 @@
 +    return open(path, flags, mode);
 +}
 --- sendlib.c
-+++ sendlib.c  2020-01-14 13:28:45.787807571 +0000
-@@ -2591,7 +2591,11 @@ send_msg (const char *path, char **args,
++++ sendlib.c  2026-09-07 12:06:54.982382778 +0000
+@@ -2634,7 +2634,11 @@ send_msg(const char *path, char **args,
        if (SendmailWait >= 0 && tempfile && *tempfile)
        {
-       /* *tempfile will be opened as stdout */
+         /* *tempfile will be opened as stdout */
 +#if defined(__linux__)
-+      if (opennfs(*tempfile, O_WRONLY | O_APPEND | O_CREAT | O_EXCL, 0600) < 
0)
++        if (opennfs(*tempfile, O_WRONLY | O_APPEND | O_CREAT | O_EXCL, 0600) 
< 0)
 +#else
-       if (open (*tempfile, O_WRONLY | O_APPEND | O_CREAT | O_EXCL, 0600) < 0)
+         if (open(*tempfile, O_WRONLY | O_APPEND | O_CREAT | O_EXCL, 0600) < 0)
 +#endif
-         _exit (S_ERR);
-       /* redirect stderr to *tempfile too */
-       if (dup (1) < 0)
+           _exit(S_ERR);
+         /* redirect stderr to *tempfile too */
+         if (dup(1) < 0)
 

++++++ mutt-2.3.2.tar.gz -> mutt-2.4.2.tar.gz ++++++
++++ 312236 lines of diff (skipped)

++++++ mutt-Fix-SIGQUIT-handling.patch ++++++
--- /var/tmp/diff_new_pack.vxTA8G/_old  2026-09-14 16:26:09.877083117 +0200
+++ /var/tmp/diff_new_pack.vxTA8G/_new  2026-09-14 16:26:09.880083242 +0200
@@ -15,8 +15,8 @@
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 --- signal.c
-+++ signal.c   2019-11-14 08:40:31.823464569 +0000
-@@ -170,6 +170,7 @@ static void sighandler (int sig)
++++ signal.c   2026-09-07 12:34:35.768878697 +0000
+@@ -170,6 +170,7 @@ static void sighandler(int sig)
        break;
  #endif
  
@@ -24,35 +24,35 @@
      case SIGINT:
        SigInt = 1;
        break;
-@@ -199,7 +200,6 @@ void mutt_signal_init (void)
+@@ -199,7 +200,6 @@ void mutt_signal_init(void)
    act.sa_handler = exit_handler;
-   sigaction (SIGTERM, &act, NULL);
-   sigaction (SIGHUP, &act, NULL);
--  sigaction (SIGQUIT, &act, NULL);
+   sigaction(SIGTERM, &act, NULL);
+   sigaction(SIGHUP, &act, NULL);
+-  sigaction(SIGQUIT, &act, NULL);
  
    /* we want to avoid race conditions */
-   sigaddset (&act.sa_mask, SIGTSTP);
-@@ -219,6 +219,7 @@ void mutt_signal_init (void)
+   sigaddset(&act.sa_mask, SIGTSTP);
+@@ -219,6 +219,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);
-@@ -258,6 +259,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);
-@@ -358,5 +360,6 @@ void mutt_allow_interrupt (int dispositi
+   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);
+@@ -258,6 +259,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);
+@@ -358,5 +360,6 @@ void mutt_allow_interrupt(int dispositio
    if (disposition == 0)
      sa.sa_flags |= SA_RESTART;
  #endif
-+  sigaction (SIGQUIT, &sa, NULL);
-   sigaction (SIGINT, &sa, NULL);
++  sigaction(SIGQUIT, &sa, NULL);
+   sigaction(SIGINT, &sa, NULL);
  }
 



++++++ patch-1.5.24.vk.pgp_verbose_mime ++++++
--- /var/tmp/diff_new_pack.vxTA8G/_old  2026-09-14 16:26:10.014088857 +0200
+++ /var/tmp/diff_new_pack.vxTA8G/_new  2026-09-14 16:26:10.023089234 +0200
@@ -5,8 +5,8 @@
  3 files changed, 16 insertions(+), 4 deletions(-)
 
 --- globals.h
-+++ globals.h  2020-01-14 13:37:00.770606718 +0000
-@@ -284,6 +284,8 @@ WHERE char *PgpDefaultKey;
++++ globals.h  2026-09-07 12:08:12.145011607 +0000
+@@ -285,6 +285,8 @@ WHERE char *PgpDefaultKey;
  WHERE char *PgpSignAs;
  WHERE long  PgpTimeout;
  WHERE char *PgpEntryFormat;
@@ -16,8 +16,8 @@
  WHERE char *PgpDecodeCommand;
  WHERE char *PgpVerifyCommand;
 --- init.h
-+++ init.h     2020-01-14 13:41:15.145875625 +0000
-@@ -3875,9 +3875,18 @@ struct option_t MuttVars[] = {
++++ init.h     2026-09-07 12:09:05.068071138 +0000
+@@ -3877,9 +3877,18 @@ struct option_t MuttVars[] = {
    ** a line quoted text if it also matches $$smileys. This mostly
    ** happens at the beginning of a line.
    */
@@ -36,19 +36,19 @@
 +  ** This option sets the Content-Description used for signature parts in
 +  ** PGP/MIME signed messages.
 +  */
-   { "smime_ask_cert_label",   DT_BOOL, R_NONE, {.l=OPTASKCERTLABEL}, {.l=1} },
+   { "smime_ask_cert_label",     DT_BOOL, R_NONE, {.l=OPTASKCERTLABEL}, {.l=1} 
},
    /*
    ** .pp
 --- pgp.c
-+++ pgp.c      2020-01-14 13:42:29.880485319 +0000
-@@ -1359,7 +1359,8 @@ BODY *pgp_sign_message (BODY *a)
++++ pgp.c      2026-09-07 12:11:08.673874498 +0000
+@@ -1375,7 +1375,8 @@ BODY *pgp_sign_message(BODY *a)
    t->disposition = DISPNONE;
    t->encoding = ENC7BIT;
    t->unlink = 1; /* ok to remove this file after sending. */
--  mutt_set_parameter ("name", "signature.asc", &t->parameter);
-+  mutt_set_parameter ("name", PgpMimeSignatureFilename, &t->parameter);
-+  t->description = safe_strdup (PgpMimeSignatureDescription);
+-  mutt_set_parameter("name", "signature.asc", &t->parameter);
++  mutt_set_parameter("name", PgpMimeSignatureFilename, &t->parameter);
++  t->description = safe_strdup(PgpMimeSignatureDescription);
  
  cleanup:
-   mutt_buffer_pool_release (&sigfile);
+   mutt_buffer_pool_release(&sigfile);
 

++++++ widechar.sidebar.dif ++++++
--- /var/tmp/diff_new_pack.vxTA8G/_old  2026-09-14 16:26:10.070091204 +0200
+++ /var/tmp/diff_new_pack.vxTA8G/_new  2026-09-14 16:26:10.080091623 +0200
@@ -3,9 +3,9 @@
  1 file changed, 6 insertions(+), 5 deletions(-)
 
 --- handler.c
-+++ handler.c  2022-01-11 10:41:03.491446992 +0000
-@@ -782,7 +782,7 @@ static void enriched_set_flags (const wc
- static int text_enriched_handler (BODY *a, STATE *s)
++++ handler.c  2026-09-07 12:16:24.792259574 +0000
+@@ -781,7 +781,7 @@ static void enriched_set_flags(const wch
+ static int text_enriched_handler(BODY *a, STATE *s)
  {
    enum {
 -    TEXT, LANGLE, TAG, BOGUS_TAG, NEWLINE, ST_EOF, DONE
@@ -13,41 +13,41 @@
    } state = TEXT;
  
    LOFF_T bytes = a->length;
-@@ -812,7 +812,7 @@ static int text_enriched_handler (BODY *
+@@ -811,7 +811,7 @@ static int text_enriched_handler(BODY *a
    {
      if (state != ST_EOF)
      {
--      if (!bytes || (wc = fgetwc (s->fpin)) == WEOF)
-+      if (state != TEXT_GOTWC && (!bytes || (wc = fgetwc (s->fpin)) == WEOF))
-       state = ST_EOF;
+-      if (!bytes || (wc = fgetwc(s->fpin)) == WEOF)
++      if (state != TEXT_GOTWC && !bytes || (wc = fgetwc(s->fpin)) == WEOF)
+         state = ST_EOF;
        else
-       bytes--;
-@@ -820,6 +820,8 @@ static int text_enriched_handler (BODY *
+         bytes--;
+@@ -819,6 +819,8 @@ static int text_enriched_handler(BODY *a
  
      switch (state)
      {
 +      case TEXT_GOTWC:
-+      state = TEXT;
++        state = TEXT;
        case TEXT :
-       switch (wc)
-       {
-@@ -881,9 +883,8 @@ static int text_enriched_handler (BODY *
-         enriched_flush (&stte, 1);
-       else
-       {
--        ungetwc (wc, s->fpin);
-         bytes++;
--        state = TEXT;
-+        state = TEXT_GOTWC;
-       }
-       break;
+         switch (wc)
+         {
+@@ -880,9 +882,8 @@ static int text_enriched_handler(BODY *a
+           enriched_flush(&stte, 1);
+         else
+         {
+-          ungetwc(wc, s->fpin);
+           bytes++;
+-          state = TEXT;
++          state = TEXT_GOTWC;
+         }
+         break;
  
-@@ -1588,7 +1589,7 @@ void mutt_decode_attachment (BODY *b, ST
+@@ -1589,7 +1590,7 @@ void mutt_decode_attachment(const BODY *
   * strip all trailing spaces to improve interoperability;
   * if $text_flowed is unset, simply verbatim copy input
   */
--static int text_plain_handler (BODY *b, STATE *s)
-+static int text_plain_handler (BODY *b __attribute__((unused)), STATE *s)
+-static int text_plain_handler(BODY *b, STATE *s)
++static int text_plain_handler(BODY *b  __attribute__((unused)), STATE *s)
  {
    char *buf = NULL;
    size_t l = 0, sz = 0;

Reply via email to