Commits


move imsgev & co to their own file This avoids bringing the dependency on ev on telescope-identity(1) and the tests as well.


convert telescope to use ev instead of libevent libevent is a very cool library, I like the APIs and enjoy using it. However, telescope is not as large and doesn't have as many file descriptor, so libevent is quite ``too big'' for our needs. ev started as a small event loop on top of poll(2) for amused, and can be used here too, it just needed to grow the ability to handle several timers, as we need quite some on telescope (in fact, we use more timers than fds!)


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.


include compat.h explicitly in all files don't do it in telescope.h, remove telescope.h from gencmd.awk and sort the headers in parse.y while here.


move struct cmd and cmds declaration in cmd.h


include cmd.h only where it is really needed


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.


send the reply code and meta in a single imsg


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


move includes back to the root directory Splitting stuff into sub-directories was just a big mistake.