Commits


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.


move fs_init() closer to config_init()


improve error message


too much -> too many redirects


remove imsg_borrow_str it's redundant due to ibuf_borrow_str()


send the reply code and meta in a single imsg


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


save finger:// and gopher:// URLs to the history gemini is handled when the 2x reply is received. Gopher and Finger lack an equivalent, so call history_add() for them at EOF.


cache finger pages as well


removed -C/--colours flag


rework the history management It was a huge pile of spaghetti with useless utility functions and lots of code reaching into the "data structure" (if you can call it so) to do stuff. Instead, provide a "module" with a clean interface and noone reaching in the insides.


attempt to fix relative URLs Was broken in 2590504796 with the switch to the new APIs. The previous implementation accepted a parsed URL as base, while the new one takes a string and we pass NULL when we want to refer to the current URL...


use the new imsg_get_data() in a few places


fix handling of redirects with relative URLs


add default-protocol knob So that now one can decide to assume a finger:// or gopher:// protocol instead of gemini:// for load-url.