Use "persistent", fixed spelling, updated docs. v2.10.0
authorTim Vaughan <plugd@thelambdalab.xyz>
Sun, 28 Jun 2020 22:55:03 +0000 (00:55 +0200)
committerTim Vaughan <plugd@thelambdalab.xyz>
Sun, 28 Jun 2020 22:55:03 +0000 (00:55 +0200)
elpher.el
elpher.texi

index f2a8188..40e21dc 100644 (file)
--- a/elpher.el
+++ b/elpher.el
@@ -4,7 +4,7 @@
 
 ;; Author: Tim Vaughan <plugd@thelambdalab.xyz>
 ;; Created: 11 April 2019
 
 ;; Author: Tim Vaughan <plugd@thelambdalab.xyz>
 ;; Created: 11 April 2019
-;; Version: 2.9.1
+;; Version: 2.10.0
 ;; Keywords: comm gopher
 ;; Homepage: http://thelambdalab.xyz/elpher
 ;; Package-Requires: ((emacs "26.2"))
 ;; Keywords: comm gopher
 ;; Homepage: http://thelambdalab.xyz/elpher
 ;; Package-Requires: ((emacs "26.2"))
@@ -71,7 +71,7 @@
 ;;; Global constants
 ;;
 
 ;;; Global constants
 ;;
 
-(defconst elpher-version "2.9.1"
+(defconst elpher-version "2.10.0"
   "Current version of elpher.")
 
 (defconst elpher-margin-width 6
   "Current version of elpher.")
 
 (defconst elpher-margin-width 6
@@ -763,8 +763,8 @@ longer needed for this session."
          (cert-file (concat temporary-file-directory file-base ".crt")))
     (elpher-generate-certificate file-base key-file cert-file t)))
 
          (cert-file (concat temporary-file-directory file-base ".crt")))
     (elpher-generate-certificate file-base key-file cert-file t)))
 
-(defun elpher-generate-permanent-certificate (file-base common-name)
-  "Generate and return details of a persistant certificate.
+(defun elpher-generate-persistent-certificate (file-base common-name)
+  "Generate and return details of a persistent certificate.
 The argument FILE-BASE is used as the base for the key and certificate
 files, while COMMON-NAME specifies the common name field of the
 certificate.
 The argument FILE-BASE is used as the base for the key and certificate
 files, while COMMON-NAME specifies the common name field of the
 certificate.
@@ -803,7 +803,7 @@ base for the installed key and certificate files."
           (expand-file-name cert-file))))
 
 (defun elpher-list-existing-certificates ()
           (expand-file-name cert-file))))
 
 (defun elpher-list-existing-certificates ()
-  "Return a list of the persistant certificates in `elpher-certificate-directory'."
+  "Return a list of the persistent certificates in `elpher-certificate-directory'."
   (mapcar
    (lambda (file)
      (file-name-sans-extension file))
   (mapcar
    (lambda (file)
      (file-name-sans-extension file))
@@ -1190,13 +1190,13 @@ that the response was malformed."
     (pcase (read-answer "What do you want to do? "
                         '(("throwaway" ?t
                            "generate and use throw-away certificate")
     (pcase (read-answer "What do you want to do? "
                         '(("throwaway" ?t
                            "generate and use throw-away certificate")
-                          ("persistant" ?p
-                           "generate new or use existing persistant certificate")
+                          ("persistent" ?p
+                           "generate new or use existing persistent certificate")
                           ("abort" ?a
                            "stop immediately")))
       ("throwaway"
        (setq elpher-client-certificate (elpher-generate-throwaway-certificate)))
                           ("abort" ?a
                            "stop immediately")))
       ("throwaway"
        (setq elpher-client-certificate (elpher-generate-throwaway-certificate)))
-      ("persistant"
+      ("persistent"
        (let* ((existing-certificates (elpher-list-existing-certificates))
               (file-base (completing-read
                           "Nickname for new or existing certificate (autocompletes, empty response aborts): "
        (let* ((existing-certificates (elpher-list-existing-certificates))
               (file-base (completing-read
                           "Nickname for new or existing certificate (autocompletes, empty response aborts): "
@@ -1218,7 +1218,7 @@ that the response was malformed."
                                                 file-base)))
                   (message "New key and self-signed certificate written to %s"
                            elpher-certificate-directory)
                                                 file-base)))
                   (message "New key and self-signed certificate written to %s"
                            elpher-certificate-directory)
-                  (elpher-generate-permanent-certificate file-base common-name)))
+                  (elpher-generate-persistent-certificate file-base common-name)))
                ("install"
                 (let* ((cert-file (read-file-name "Certificate file: " nil nil t))
                        (key-file (read-file-name "Key file: " nil nil t)))
                ("install"
                 (let* ((cert-file (read-file-name "Certificate file: " nil nil t))
                        (key-file (read-file-name "Key file: " nil nil t)))
index 475dd19..7229c99 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo @c -*-texinfo-*-
 
 @setfilename elpher.info
 \input texinfo @c -*-texinfo-*-
 
 @setfilename elpher.info
-@settitle Elpher Manual v2.7.0
+@settitle Elpher Manual v2.10.0
 
 @dircategory Emacs
 @direntry
 
 @dircategory Emacs
 @direntry
@@ -11,7 +11,7 @@
 @copying
 This manual documents Elpher, a gopher and gemini client for Emacs.
 
 @copying
 This manual documents Elpher, a gopher and gemini client for Emacs.
 
-Copyright @copyright{} 2019 Tim Vaughan
+Copyright @copyright{} 2019, 2020 Tim Vaughan
 
 @quotation
 The source and documentation of Elpher is free software.  You can
 
 @quotation
 The source and documentation of Elpher is free software.  You can
@@ -534,8 +534,9 @@ longer time period.
 
 When Elpher receives a request for a client certificate from a server,
 it will present you with the option to create and use a single-use
 
 When Elpher receives a request for a client certificate from a server,
 it will present you with the option to create and use a single-use
-``throwaway'' certificate, to create and use a new ``persistent''
-certificate, or to use an existing (persistent) certificate.
+``throwaway'' certificate, or to use a ``persistent''
+certificate (optionally creating it or installing pre-existing key and
+certificate files).
 
 Certificate creation in Elpher requires an installation of OpenSSL, and
 ---in particular---that Elpher be able to run the @command{openssl} command-line
 
 Certificate creation in Elpher requires an installation of OpenSSL, and
 ---in particular---that Elpher be able to run the @command{openssl} command-line
@@ -556,8 +557,24 @@ folder defined by the Elpher variable
 The base name of the files (i.e. sans extension) is what Elpher uses
 to identify the certificate.
 
 The base name of the files (i.e. sans extension) is what Elpher uses
 to identify the certificate.
 
-To make externally-created certificate and key files accessible from
-Elpher, simply copy them to @code{elpher-certificate-directory}.
+Using throwaway certificates is as simple as pressing the @key{t} 
+key at the prompt which appears following a certificate request from
+a server.  There is nothing more to do.
+
+Using a persistent certificate requires instead selecting @key{p} from the same
+menu.  This will result in Elpher asking you for the name identifying
+the certificate.  This entry autocompletes to the list of known certificate
+names, so you can use @key{TAB} to display the list.
+
+In the case that you choose a name that does not belong to the list of
+known certificates, Elpher will offer to create one for you or to
+``install'' one from existing key and certificate files.
+Pressing the @key{n} key will cause Elpher to begin the process of
+creating a new persistent certificate, using some additional
+details for which you will be prompted.
+Alternatively, pressing the @key{i} key will cause Elpher to ask for the
+locations of edisting key and certificate files to add to
+@code{elpher-certificate-directory} under the chosen name.
 
 Once a certificate is selected, it will be used for all subsequent TLS
 transactions to the host for which the certificate was created.
 
 Once a certificate is selected, it will be used for all subsequent TLS
 transactions to the host for which the certificate was created.