Package: mutt Version: 1.5.21-6.2 Severity: normal Tags: patch Outlook S/MIME signatures' MIME information[1] look like this:
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_0048_01CE0F64.555D09B0" [...] ------=_NextPart_000_0048_01CE0F64.555D09B0 Content-Type: application/pkcs7-signature; name="smime.p7s" RFC1847 wants both Content-Types to be the same, which Outlook does not do. The attached patch tolerates an x- prefix in the minor protocol type. Otherwise mutt will detect an "Inconsistent multipart/signed structure" and stop verification. This issue has already been reported years ago[2]. [1] I hope it's Outlook and not Exchange's MAPI interface. [2] http://marc.info/?l=mutt-users&m=116086978520003 -- Package-specific info: Mutt 1.5.21 (2010-09-15) Copyright (C) 1996-2009 Michael R. Elkins and others. Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'. Mutt is free software, and you are welcome to redistribute it under certain conditions; type `mutt -vv' for details. System: Linux 3.2.0-4-amd64 (x86_64) ncurses: ncurses 5.9.20110404 (compiled with 5.9) libidn: 1.25 (compiled with 1.25) hcache backend: tokyocabinet 1.4.47 Compile options: -DOMAIN +DEBUG -HOMESPOOL +USE_SETGID +USE_DOTLOCK +DL_STANDALONE +USE_FCNTL -USE_FLOCK +USE_POP +USE_IMAP +USE_SMTP -USE_SSL_OPENSSL +USE_SSL_GNUTLS +USE_SASL +USE_GSS +HAVE_GETADDRINFO +HAVE_REGCOMP -USE_GNU_REGEX +HAVE_COLOR +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_BKGDSET +HAVE_CURS_SET +HAVE_META +HAVE_RESIZETERM +CRYPT_BACKEND_CLASSIC_PGP +CRYPT_BACKEND_CLASSIC_SMIME +CRYPT_BACKEND_GPGME -EXACT_ADDRESS -SUN_ATTACHMENT +ENABLE_NLS -LOCALES_HACK +COMPRESSED +HAVE_WC_FUNCS +HAVE_LANGINFO_CODESET +HAVE_LANGINFO_YESEXPR +HAVE_ICONV -ICONV_NONTRANS +HAVE_LIBIDN +HAVE_GETSID +USE_HCACHE ISPELL="/usr/bin/ispell" SENDMAIL="/usr/sbin/sendmail" MAILPATH="/var/mail" PKGDATADIR="/usr/share/mutt" SYSCONFDIR="/etc" EXECSHELL="/bin/sh" MIXMASTER="mixmaster" To contact the developers, please mail to <mutt-...@mutt.org>. To report a bug, please visit http://bugs.mutt.org/. misc/fix-smime-outlook-recognition.patch misc/am-maintainer-mode features/ifdef features/xtitles features/trash-folder features/purge-message features/imap_fast_trash features/sensible_browser_position features-old/patch-1.5.4.vk.pgp_verbose_mime features/compressed-folders features/compressed-folders.debian debian-specific/Muttrc debian-specific/Md.etc_mailname_gethostbyname.diff debian-specific/use_usr_bin_editor.diff debian-specific/correct_docdir_in_man_page.diff debian-specific/dont_document_not_present_features.diff debian-specific/document_debian_defaults debian-specific/assumed_charset-compat debian-specific/467432-write_bcc.patch debian-specific/566076-build_doc_adjustments.patch misc/define-pgp_getkeys_command.diff misc/gpg.rc-paths misc/smime.rc upstream/531430-imapuser.patch upstream/537818-emptycharset.patch upstream/543467-thread-segfault.patch upstream/542817-smimekeys-tmpdir.patch upstream/548577-gpgme-1.2.patch upstream/553321-ansi-escape-segfault.patch upstream/568295-references.patch upstream/547980-smime_keys-chaining.patch upstream/528233-readonly-open.patch upstream/228671-pipe-mime.patch upstream/383769-score-match.patch upstream/578087-header-strchr.patch upstream/603288-split-fetches.patch upstream/537061-dont-recode-saved-attachments.patch upstream/608706-fix-spelling-errors.patch upstream/620854-pop3-segfault.patch upstream/611412-bts-regexp.patch upstream/624058-gnutls-deprecated-set-priority.patch upstream/624085-gnutls-deprecated-verify-peers.patch upstream/584138-mx_update_context-segfault.patch upstream/619216-gnutls-CN-validation.patch upstream/611410-no-implicit_autoview-for-text-html.patch upstream/path_max misc/579967-fixes-german-translation.patch mutt.org -- System Information: Debian Release: 7.0 APT prefers testing APT policy: (500, 'testing'), (300, 'unstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages mutt depends on: ii libc6 2.13-37 ii libcomerr2 1.42.5-1 ii libgnutls26 2.12.20-4 ii libgpg-error0 1.10-3.1 ii libgpgme11 1.2.0-1.4 ii libgssapi-krb5-2 1.10.1+dfsg-3 ii libidn11 1.25-2 ii libk5crypto3 1.10.1+dfsg-3 ii libkrb5-3 1.10.1+dfsg-3 ii libncursesw5 5.9-10 ii libsasl2-2 2.1.25.dfsg1-6 ii libtinfo5 5.9-10 ii libtokyocabinet9 1.4.47-2 Versions of packages mutt recommends: ii exim4-daemon-light [mail-transport-agent] 4.80-7 ii libsasl2-modules 2.1.25.dfsg1-6 ii locales 2.13-37 ii mime-support 3.52-1 Versions of packages mutt suggests: ii aspell 0.60.7~20110707-1 ii ca-certificates 20130119 ii gnupg 1.4.12-7 ii ispell 3.3.02-6 pn mixmaster <none> ii openssl 1.0.1c-4 pn urlview <none> Versions of packages mutt is related to: ii mutt 1.5.21-6.3 pn mutt-dbg <none> pn mutt-patched <none> -- no debconf information
Index: mutt-1.5.21/crypt.c =================================================================== --- mutt-1.5.21.orig/crypt.c 2013-02-20 13:35:28.747076790 +0100 +++ mutt-1.5.21/crypt.c 2013-02-20 13:36:14.184235250 +0100 @@ -775,6 +775,7 @@ char *protocol; int protocol_major = TYPEOTHER; char *protocol_minor = NULL; + char *xstripped_protocol_minor = NULL; BODY *b = a; BODY **signatures = NULL; @@ -803,12 +804,16 @@ *t = '\0'; protocol_major = mutt_check_mime_type (major); + + if (strncmp(protocol_minor, "x-", 2) == 0) + xstripped_protocol_minor = protocol_minor + 2; } /* consistency check */ if (!(a && a->next && a->next->type == protocol_major && - !mutt_strcasecmp (a->next->subtype, protocol_minor))) + (!mutt_strcasecmp (a->next->subtype, protocol_minor) || + !mutt_strcasecmp (a->next->subtype, xstripped_protocol_minor)))) { state_attach_puts (_("[-- Error: " "Inconsistent multipart/signed structure! --]\n\n"),