Commit Briefs
remove the dependency on utils.c from a few binaries
telescope-identity(1) and the tests don't need it anymore.
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!)
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.
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.
add certs.[ch]
adapted from gmid. we'll soon use it to provide client certificates support in telescope.
move all the sources back in the root directory
subdir is just messier for no good reason
move includes back to the root directory
Splitting stuff into sub-directories was just a big mistake.
remove phos; now unused
phos was an attempt at building a gemini client/server library. It didn't went as I expected, mostly because it's such a simple protocol... Anyway, the only use in telescope was for the uri module, which has already been replaced with the built-in iri. Which still sucks (and despite the name, can still only handle URIs) but it's hopefully better. The APIs are better.