Commits


bump version to 0.9.1


changelog for 0.9.1


warn also when a download could have been interrupted


README.md: mention the irc channel


site: remove mention of pkg-config


site: mention the irc channel and tweak the home page


site: s/ge/gemexp


remove mentions of pkg-config from the README


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.


fmt


bufio: add bufio_io_err


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.


bufio: rename pflags -> wantev


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.


grammar


make gemini_parse_reply() return -1 on error


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.


simplify gemini_parse_reply()


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


simplify gemini header handling with buf_getdelim()


bufio: add buf_getdelim will help simplifying a bit in net.c, and it's generally useful.


delete trailing whitespace


point out the dependency changes in 0.9