Commits


pretiffy the makefile.am; no functional change


typo; wilcard -> wildcard


Makefile: dist-hook: use $(distdir) When running "make clean" in libgrapheme, do so in the $(distdir) target, and not the $(topsrc)/libgrapheme target, as by the time dist-hook runs, the files have already been prepared in $(distdir).


Makefile: add dist-hook target to clean libgrapheme Make sure we clean out any unwanted files in libgrapheme/ when creeating a release tarball, as we don't want such files present.


release: include libgrapheme When making release tarballs, ensure we also include libgrapheme in case that's not available system-wide.


move exec routines to their own file This leaves the room open to further improvements and tries to keep it apart from the UI itself.


code: add wrappers for common failure cases Certain calls to well-known functions sometimes result in similar error handling across the code base. Sometimes there's a need to centralise the failure case. Achieve this for common wrappers to often-used functions. The transformation is achieved via coccinelle, commited with this patch. Note that coccinelle can be told to ignore code blocks with comment delimiters. This transformation applies just to telescope's code, and not any of the bundled depdencies in telescope (libgrapheme).


mailcap: add parser for external command handling This introduces a (limited) subset of mailcap handling, as defined in RFC 1524. This makes it possible for telescope to run commands on different mime types as defined in a mailcap file, but defaults to a default mime type of using xdg-open if no match is found, or no mailcap file defined.


avoid unnecessary echo


portability: fixes for FreeBSD Add a PKG_CHECK_MODULES check for libtls so that the appropriate values for LDFLAGS and CFLAGS are set -- but only do this is AC_SEARCH_LIBS fails; not every system will have an associated .pc file for pkg-config checks. Additionally, update the core Makefile.am to use .NOPARALLEL -- not every system honours .NOTPARALLEL.


libgrapheme: don't allow parallel builds When building the bundled version of libgrapheme, don't build it in parallel, with "-j" is used to "make". In most cases, there's no guarantee that libgrapheme is going to be built before telescope, and the detection for this is such that it's always going to be called on-demand, which almost always guarantees that libgrapheme will be built after telescope.


add release target


add the keys (previous and one future)


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!)


hook telescope-identity.1


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.


phos is no more


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.


add a comment explaining the overridden rule