Commits


draft of telescope-identity(1) This is intended to generate and manage certificates outside of telescope. Some operations are already available in the telescope UI, such as use and forget a certificate for a specific page, but generate and removal are hard at the moment to implement inside telescope limited UI, so provide an helper program for that.


rework a bit the certificate handling Two stores are not a good idea to handle all the edge-cases since telescope supports certificates (or absence of these) per-session.


add client_cert_temp flag to the struct tab This way we can improve unload-certificate prompt. While here, move the cert handling in make_request().


fix cert_delete_for w/ the temp_store


add unload-certificate to stop using a certificate


load and optionally remember client certificates This adds use-certificate, a user function to start using a certificate or switch to a different one. It asks whether to persist the certificate, if not it will only be used for the current session. use-certificate is implicitly called when the server replies with a 6x status code.


load all the certs in ~/.telescope/certs


simplify cert sorting No need to overly-optimize this: since mergesort() is not standard and can fail, just use qsort().


use something better to decide if a path is under another


first draft of client certificate support At the moment telescope loads a mapping host:port/path -> certificate from a file and always uses it, no ways to change it, use a temporary one, generate a new one, etc are provided yet. The format of ~/.telescope/certs/certs is host port path certificate file name where the certificate file name is the name of a file inside ~/.telescope/certs. ~/.telescope/certs/ is ~/.local/share/telescope/ when using XDG.


add certs.[ch] adapted from gmid. we'll soon use it to provide client certificates support in telescope.