Commit Briefs

Stefan Sperling

fix got-fetch-http when chunked encoding is not used

We would end up raising a spurious error when the server had no more data to send and would abort the clone operation, while everything was fine in fact. Problem reported by vazub via IRC, thanks!


Tobias Heider

Use got_pkt_readlen() to parse pkt-lens.


Stefan Sperling

make got-fetch-http pass "done\n" through rather than faking it

Without this we exit the loop early and got-fetch-pack sees unexpected end-of-file on stdout trying to write its final "done\n" message. ok op@




Stefan Sperling

remove dead code under DEBUG_HTTP; ok op@


Stefan Sperling

use unveil to restrict filesystem access of got-fetch-http

With HTTPS we only need to be able to read /etc/ssl/cert.pem. With plaintext HTTP no filesystem access is needed at all.






Stefan Sperling

make got-fetch-http get_refs() understand when packet lines end

Previously it would only exit the loop when reading failed. ok tobhe@




Tobias Heider

Remove some dead code


Tobias Heider

Rewrite got-fetch-http I/O using bufio API. This should help make the

code more portable supports almost everything we need out of the box. pledge needs the rpath promise because of libtls. This was technically also the case with the old API but we didn't actually enable pledge thanks to DEBUG_HTTP. The synchronous bufio wrappers should probably move to lib/bufio.c in the future. ok and feedback from op@



Tobias Heider

Rename got-http helper to got-fetch-http to match naming scheme.

We aren't planning to support sending anyway. ok stsp@