Commit Briefs
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.
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.
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.
generate session/history_file atomically
if an i/o error occurs while writing those files, they may end up being corrupted or truncated. Use the approach already used for tofu, write a temp file and rename(2) it to the correct position.
merge the fs into the ui process
The previous separation between the fs and ui process wasn't that good. The idea was to have a `ui' process tightly sandboxed, but it was a lie actually. `ui' was one imsg away from making internet connections and accessing data on the disk, so it wasn't really limited in (almost) any way. Furthermore, having to serialize data to/from the fs proc started to become not really maneagable. As a first step to fix this situation, join the fs and ui process.