summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2020-07-23 17:12:33 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2020-07-23 17:12:40 +0200
commit84ec57fe06e187f41a3546131d5dae3b185c3511 (patch)
treee61e8095fc2b4bfacba21ce2ae1ce7631abaec0e
parent5c5eb9790898e4ab10bcbbdb6871947ed3018569 (diff)
downloademacs-84ec57fe06e187f41a3546131d5dae3b185c3511.tar.gz
Fix viewing of encrypted S/MIME messages
* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Don't add a content-type header if there already is one (bug#41659).
-rw-r--r--lisp/gnus/mm-decode.el10
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index 96695aabfde..587c4e01b92 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -1680,8 +1680,14 @@ If RECURSIVE, search recursively."
(t (y-or-n-p
(format "Decrypt (S/MIME) part? "))))
(mm-view-pkcs7 parts from))
- (goto-char (point-min))
- (insert "Content-type: text/plain\n\n")
+ ;; Normally there will be a Content-type header here, but
+ ;; some mailers don't add that to the encrypted part, which
+ ;; makes the subsequent re-dissection fail here.
+ (save-restriction
+ (mail-narrow-to-head)
+ (unless (mail-fetch-field "content-type")
+ (goto-char (point-max))
+ (insert "Content-type: text/plain\n\n")))
(setq parts (mm-dissect-buffer t)))))
((equal subtype "signed")
(unless (and (setq protocol