Commit 3bbf21b9 authored by Allen Li's avatar Allen Li Committed by Noam Postavsky

Add choice to reshow certificate information (Bug#31877)

In various situations, the window displaying the certificate
information can be hidden (such as if the user accidentally presses ?,
which causes the read-multiple-choice help window to replace it).
Instead of leaving the user to make a choice blindly, add a choice to
reshow the certification information.

* lisp/net/nsm.el (nsm-query-user): Add reshow choice.
parent 6f2c4716
......@@ -319,6 +319,8 @@ unencrypted."
t))))
(defun nsm-query-user (message args cert)
(catch 'return
(while t
(let ((buffer (get-buffer-create "*Network Security Manager*")))
(save-window-excursion
;; First format the certificate and warnings.
......@@ -334,14 +336,17 @@ unencrypted."
;; contains lots of explanatory text.
(fill-region (point) (line-end-position)))))
;; Then ask the user what to do about it.
(unwind-protect
(pcase (unwind-protect
(cadr
(read-multiple-choice
"Continue connecting?"
'((?a "always" "Accept this certificate this session and for all future sessions.")
(?s "session only" "Accept this certificate this session only.")
(?n "no" "Refuse to use this certificate, and close the connection."))))
(kill-buffer buffer)))))
(?n "no" "Refuse to use this certificate, and close the connection.")
(?r "reshow" "Reshow certificate information."))))
(kill-buffer buffer))
("reshow")
(val (throw 'return val))))))))
(defun nsm-save-host (host port status what permanency)
(let* ((id (nsm-id host port))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment