]> git.eshelyaron.com Git - emacs.git/commitdiff
Warn in message.el when sending encryptable mail
authorLars Ingebrigtsen <larsi@gnus.org>
Sat, 6 Feb 2021 12:26:25 +0000 (13:26 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Sat, 6 Feb 2021 12:26:25 +0000 (13:26 +0100)
* lisp/gnus/message.el (message-send): Query if it looks like
encryption was intended, but is not going to happen.

* lisp/gnus/mml-sec.el (mml-secure-is-encrypted-p): Allow saying
whether there's any <#secure tags present (bug#24411).

lisp/gnus/message.el
lisp/gnus/mml-sec.el

index 6668784f93c8d46d9cc8cb8a5ad8c8d91e2a7343..5a5dbcebc1e96f6528c19ac0053eab44a6be3c85 100644 (file)
@@ -4315,6 +4315,10 @@ It should typically alter the sending method in some way or other."
   (when message-confirm-send
     (or (y-or-n-p "Send message? ")
        (keyboard-quit)))
+  (when (and (not (mml-secure-is-encrypted-p))
+            (mml-secure-is-encrypted-p 'anywhere)
+            (not (yes-or-no-p "This message has a <#secure tag, but is not going to be encrypted.  Send anyway?")))
+    (error "Aborting sending"))
   (message message-sending-message)
   (let ((alist message-send-method-alist)
        (success t)
index 8d01d15ca01968b98341206ceabcd99264218459..d41c9dd0d9af29492c28dba85db98872b76ee90e 100644 (file)
@@ -298,14 +298,17 @@ Use METHOD if given.  Else use `mml-secure-method' or
   (interactive)
   (mml-secure-part "smime"))
 
-(defun mml-secure-is-encrypted-p ()
-  "Check whether secure encrypt tag is present."
+(defun mml-secure-is-encrypted-p (&optional tag-present)
+  "Whether the current buffer contains a mail message that should be encrypted.
+If TAG-PRESENT, say whether the <#secure tag is present anywhere
+in the buffer."
   (save-excursion
     (goto-char (point-min))
-    (re-search-forward
-     (concat "^" (regexp-quote mail-header-separator) "\n"
-            "<#secure[^>]+encrypt")
-     nil t)))
+    (message-goto-body)
+    (if tag-present
+       (re-search-forward "<#secure[^>]+encrypt" nil t)
+      (skip-chars-forward "[ \t\n")
+      (looking-at "<#secure[^>]+encrypt"))))
 
 (defun mml-secure-bcc-is-safe ()
   "Check whether usage of Bcc is safe (or absent).