Commits


got-notify-http: fix I/O with TLS tls_write() may return TLS_WANT_READ. In that case, we're stuck trying to read while we have the request still in the buffer. So, we have to retry bufio_write() regardless of the POLLIN/POLLOUT state. We'd need this only in the TLS case, but in practice it doesn't harm for the plaintext case too. In fact, we're either waiting to flush the request or we're only reading the server reply. ok stsp


sort includes in got-notify-http; suggested by op@


send got-http-notify error output to syslog ok op@


set a default port for http notifications if not specified in gotd.conf ok op@


make it harder to leak notification credentials over plaintext HTTP ok op@


http-server: send $res in wrong method case


fix previous; pledge("stdio") must wait until after the TLS handshake


use pledge("stdio") late in got-fetch-http, currently as early as possible


remove dead code under DEBUG_HTTP; ok op@


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.


can drop "rpath" pledge in got-fetch-http if plaintext HTTP is being used


attempt to kill http-server when tests exit abnormally


fix test dir name


add a basic HTTP test for 'got send', expecting failure


add a basic test for HTTP protocol used with 'got fetch'


drop git+ssh protocol name from documentation; Git has done the same We can keep accepting git+ssh for backwards compatibility with existing configs.


doc tweaks regarding HTTP protocol support


document new regress dependency on p5-http-daemon


add a basic regression test for 'got clone' over HTTP


ensure that a pkt-line fits into read buffers used by got-fetch-http


fmt


http-server: cleanup (unused) global state


http-server: error on unknown method just for robustness; neither git nor got-fetch-http are expected to use other methods except for GET and POST.


add http-server; will be used to test got-fetch-http based on a draft by stsp; git(1) manages to clone from it.


add missing \n to got-fetch-http debug output