Hello community, here is the log from the commit of package mutt for openSUSE:Factory checked in at 2013-06-05 13:31:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mutt (Old) and /work/SRC/openSUSE:Factory/.mutt.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mutt" Changes: -------- --- /work/SRC/openSUSE:Factory/mutt/mutt.changes 2013-04-23 17:21:50.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.mutt.new/mutt.changes 2013-06-05 13:31:14.000000000 +0200 @@ -1,0 +2,5 @@ +Wed May 29 10:26:45 UTC 2013 - [email protected] + +- Enable mutt to parse e.g. PGP markers with CRLF + +------------------------------------------------------------------- New: ---- mutt-1.5.21-cariage-return.path ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mutt.spec ++++++ --- /var/tmp/diff_new_pack.Bu55OJ/_old 2013-06-05 13:31:15.000000000 +0200 +++ /var/tmp/diff_new_pack.Bu55OJ/_new 2013-06-05 13:31:15.000000000 +0200 @@ -30,13 +30,14 @@ BuildRequires: krb5-devel BuildRequires: libcom_err BuildRequires: libgcrypt +BuildRequires: libgnutls-devel BuildRequires: libgpg-error-devel BuildRequires: libidn-devel +BuildRequires: libopenssl-devel BuildRequires: libxml2 BuildRequires: libxslt BuildRequires: lynx BuildRequires: ncurses-devel -BuildRequires: openssl-devel BuildRequires: postfix BuildRequires: sgml-skel BuildRequires: update-desktop-files @@ -94,6 +95,8 @@ 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 BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir %{_sysconfdir} @@ -125,6 +128,7 @@ %patch13 -p1 -b .automake-1.12 %patch14 -p1 -b .sidebar.color %patch15 -p0 -b .widechar.sidebar +%patch16 -p0 -b .crlf cp doc/Muttrc Muttrc.SuSE cp %{S:2} . @@ -189,6 +193,8 @@ --with-ssl=%{_prefix} \ --with-sasl=%{_prefix} \ --with-gss=%{_prefix} \ + --with-gnutls=%{_prefix} \ + --with-curses=%{_prefix} \ --with-regex \ --enable-smtp \ --enable-hcache \ ++++++ mutt-1.5.21-cariage-return.path ++++++ --- 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 +++ lib.c 2013-05-29 09:31:53.325439198 +0000 @@ -875,6 +875,18 @@ int mutt_strcmp(const char *a, const cha return strcmp(NONULL(a), NONULL(b)); } +int mutt_strxcmp(const char *a, const char *b) +{ + size_t xa, xb; + xa = strcspn(NONULL(a), "\r\n"); + xb = strcspn(NONULL(b), "\r\n"); + if (xb != xa) + return -1; + if (!xa) + return 0; + 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 2013-05-29 09:25:21.805439324 +0000 @@ -179,6 +179,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 *); +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 2013-05-29 09:31:53.433440090 +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; #endif - else if (mutt_strcmp ("-- \n", buf) == 0 || mutt_strcmp ("-- \r\n", buf) == 0) + else if (mutt_strxcmp ("-- \n", buf) == 0) { i = n + 1; --- pgp.c +++ pgp.c 2013-05-29 09:31:53.461439587 +0000 @@ -287,14 +287,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) needpass = 1; - else if (mutt_strcmp ("SIGNED MESSAGE-----\n", buf + 15) == 0) + else if (mutt_strxcmp ("SIGNED MESSAGE-----\n", buf + 15) == 0) { 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; @@ -327,10 +327,10 @@ int pgp_application_pgp_handler (BODY *m fputs (buf, tmpfp); - if ((needpass && mutt_strcmp ("-----END PGP MESSAGE-----\n", buf) == 0) || + if ((needpass && mutt_strxcmp ("-----END PGP MESSAGE-----\n", buf) == 0) || (!needpass - && (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) @@ -552,11 +552,11 @@ static int pgp_check_traditional_one_bod { 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; } } @@ -1065,9 +1065,9 @@ BODY *pgp_sign_message (BODY *a) */ 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); - 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); else fputs (buffer, fp); -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
