Commits


tag 0.7.1 -- bugfix release fix use after free when loading an about:* page from about:about. Reported by Brian Callahan, thanks!


sync changelog


avoid possible use after free `url' may be a pointer to a string of the buffer which gets corrupted upon tab_stop. This bug shows when loadfn is load_about_url, because in make_fs_request we first tab_stop, and then send the request, which ends up sending to the fs process a free'd string. At least on OpenBSD with Otto' malloc is (partially) corrupted and will either make the fs process abort or return a not found page. One solution may be to rework make_fs_request to process things in a different order, but that would only hide the problem. Instead, use the newly created history element as url given to the loadfns: that is guaranteed to be valid up to the next load_url call. Reported by Brian Callahan, thanks!


start a new release cycle


update the site for 0.7


tag 0.7, "Via Paolo Fabbri 43"


fix a couple of printw fmt strings two %d really needs %zu


fix puntaction


mention u in the "essential commands" list


fix glitch with tab-bar-show=1 and tab-undo-close a missing ui_schedule_redraw on unkill_tab means that the tabbar is not rendered when calling tab-undo-close when there is only one tab.


add utils.h, forgot in recent commits


link the thfr@ article about OOTB-TOFU in the ACKNOWLEDGEMNTS section


add to CAVEATS a note about the naive text-wrapping algorithm


tweak cache-info message


fringes already have a prefix of "~"


crank up cache limits delete pages that are older than one hour, and scan the cache only once every five minutes. The previous defaults were a bit too much conservative.


document cache-info


drop useless struct instead of keeping the struct mcache that's private to mcache.c and used only once, just define its fields as (static) variables. While here, mark as static also gemtext_prefixes.


timer-based cache removal: delete cached pages older than 15 minutes


simplify load_url_in_tab


sync changelog


add cache-info


cache: keep track of the total size and number of cached pages


mcache_tab: free previous copies of that page


rename util.c -> utils.c for consistency