Commits


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().


move tofu declarations to their own header While here replace GEMINI_URL_LEN with TOFU_URL_MAX_LEN to avoid a dependency on telescope.h. Ideally, we should move this stuff to another header that comes with less dependencies.


some headers cleanup try to not include headers from headers, and remove some redundant include. This helps in modularizing the codebase and also helps during incremental compilations.


include cmd.h only where it is really needed


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.


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.


move fs_init() closer to config_init()


improve error message


too much -> too many redirects


remove imsg_borrow_str it's redundant due to ibuf_borrow_str()


send the reply code and meta in a single imsg


inline dispatch_imsg(); start to use some newer imsg api


save finger:// and gopher:// URLs to the history gemini is handled when the 2x reply is received. Gopher and Finger lack an equivalent, so call history_add() for them at EOF.


cache finger pages as well


removed -C/--colours flag