diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2020-07-23 17:12:33 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2020-07-23 17:12:40 +0200 |
commit | 84ec57fe06e187f41a3546131d5dae3b185c3511 (patch) | |
tree | e61e8095fc2b4bfacba21ce2ae1ce7631abaec0e | |
parent | 5c5eb9790898e4ab10bcbbdb6871947ed3018569 (diff) | |
download | emacs-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.el | 10 |
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 |