Commits


retire telescope_strnchr in favor of memmem


don't need to save the \n position


introduce close_with_errf (refactoring errors code path)


don't crash on handshake failures ty gemini://discovery.geminiprotocol.com =)


de-duplication: factorize dispatch_imsg


fix various warnings, no functional changes now that we have a bounch of -Wxxx flags during compilation, let's fix everything.


added fs process it's the only one that has file system access. For now it serves about:new (from memory) and about:bookmarks (from ~/.telescope/bookmarks.gmi if found)


don't printf


set the off to zero after flushing the buffer this was the cause we had duplicated "chunks" in the pages: if we enter copy_body with req->off != 0 but then tls_read returns WANT_POLLIN/POLLOUT, the next time we flush the same chunk again.


style


refactoring + move wrapping logic to its own file


don't drop the start of the document The first tls_read may and up reading more than the response line, but we were using another buffer in copy_body so we loose up to the first 1K of every document.


plug the sandbox


allow IMSG_STOP of not-existent requests It's easier to allow the stopping of not-existent requests rather than track which tabs have still ongoing connections and what not and handle this bit of logic in the UI.


early add requests to the queue close_with_err does a close_conn which in turns drops req from the queue. Thus it crashes on error, avoid that.