Commit Briefs
don't crash on handshake failures
ty gemini://discovery.geminiprotocol.com =)
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)
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.
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.
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.