Commit Briefs
bump version to 0.9.1 (tags/0.9.1)
configure.ac: remove PKG_PROG_PKG_CONFIG
since 64d120d070 we no longer use pkg-config. Fixes https://github.com/omar-polo/telescope/issues/9
search: update links to new gemcap
According to gemini://geminispace.info, the search engine ha been shut down: The search provider geminispace.info has been shut down on 1st June 2024. Indeed, this seems to have happened prematurely but it is no longer serving requests. Therefore, switch to a different one.
tls: guard against faulty gemini servers
Some gemini servers have faulty TLS handling, such as: gg: tls_close: EOF without close notify In such cases, telescope will receive that error and naturally assume there was a problem and stop processing. However, in the case of there still being legitimate content read from the request, this should still be displayed, rather than ignored. This change therefore detects this condition and adds a status of 'W' to telescope's modeline to indicate that the information presented is from a faulty gemini server and could be truncated and hence display oddly.
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.
slightly rework gemini reply handling
- rename `r' to `code' - defer the buf_drain() call With libevent we had to free() the header string, whereas buf_getdelim() returns a string from the buffer itself, so we can safely defer the drain operation after the sanity checks.
don't pause the request in gemini_parse_reply()
a parse routine shouldn't interfere with the handling of the events; pulling this into the caller makes the logic simpler to follow.
configure: add a check to detect Libre/OpenSSL mixings
Now that we're using also some bits from libcrypto, it's important to not mix different libcrypto/ssl implementation in the same program. This check is taken from OpenSMTPD. May have helped with https://github.com/macports/macports-ports/pull/23007
bufio: add buf_getdelim
will help simplifying a bit in net.c, and it's generally useful.