X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=elpher.git;a=blobdiff_plain;f=elpher.el;h=703e1e4938600f2fe1f99db31515b9093a5734b5;hp=cc0da442628a3c81fcfaff38575ad4ce9134dfc5;hb=efc5b2480f8e40b48298cd2617aecb7df11c032b;hpb=71b4b025b5c0450405aae3d342428cfd624ace01 diff --git a/elpher.el b/elpher.el index cc0da44..703e1e4 100644 --- a/elpher.el +++ b/elpher.el @@ -29,23 +29,22 @@ ;; Elpher aims to provide a practical and friendly gopher client ;; for GNU Emacs. It supports: -;; - an intuitive keyboard and mouse-driven interface, -;; - caching of visited sites (both content and cursor position), +;; - intuitive keyboard and mouse-driven browsing, +;; - out-of-the-box compatibility with evil-mode, +;; - clickable web and gopher links *in plain text*, +;; - caching of visited sites, ;; - pleasant and configurable colouring of Gopher directories, ;; - direct visualisation of image files, -;; - (m)enu key support, similar to Emacs' info browser, -;; - clickable web and gopher links in plain text, ;; - a simple bookmark management system, -;; - support for TLS gopherholes. +;; - connections using TLS encryption. ;; To launch Elpher, simply use 'M-x elpher'. This will open a start ;; page containing information on key bindings and suggested starting ;; points for your gopher exploration. -;; Faces, caching and other options can be configured via -;; the Elpher customization group in Applications. +;; Further instructions can be found in the Elpher info manual. -;; Elpher is under active development, and any suggestions for +;; Elpher is under active development. Any suggestions for ;; improvements are welcome! ;;; Code: @@ -195,6 +194,13 @@ Otherwise, use the system browser via the BROWSE-URL function." "If non-nil, display current node information in buffer header." :type '(boolean)) +(defcustom elpher-auto-disengage-TLS nil + "If non-nil, automatically disengage TLS following an unsuccessful connection. +While enabling this may seem convenient, it is also potentially dangerous as it +allows switching from an encrypted channel back to plain text without user input." + :type '(boolean)) + + ;;; Model ;; @@ -499,9 +505,11 @@ up to the calling function." (error (if (and (consp the-error) (eq (car the-error) 'gnutls-error) - (not (elpher-address-use-tls-p address))) + (not (elpher-address-use-tls-p address)) + (or elpher-auto-disengage-TLS + (yes-or-no-p "Could not establish encrypted connection. Disable TLS mode? "))) (progn - (message "Could not establish TLS connection. Disengaging TLS mode.") + (message "Disengaging TLS mode.") (setq elpher-use-tls nil) (elpher-get-selector address after)) (elpher-process-cleanup)