Commit Briefs

4113e6853e Stefan Sperling

use an absolute URL in redirects generated by gotwebd (main)

I am going to be using HTTP::Tiny in upcoming regression tests and this HTTP client fails on redirects sent by gotwebd unless the URL is absolute.


62c4f01be7 Stefan Sperling

start up gotwebd in the gotsysd regress VM



eadacb4975 Stefan Sperling

fix wrong process names in error messages



815b2d48a1 Stefan Sperling

bump version number


f19045181e Stefan Sperling

CHANGES for 0.118 (tags/0.118)


8180d9b1ef Stefan Sperling

fix gotwebd regress failure introduced with querystring changes

A folder parameter addressing the root directory is expected to be an empty string rather than "/".


dcb8959570 Stefan Sperling

block gotwebd requests with paths that point outside the repository directory

ok op@



36d3c1c96e Stefan Sperling

remove now unused 'gotweb_cur' variable from gotwebd


265417ecb5 Stefan Sperling

rename GOTWEBD_PROC_SERVER back to GOTWEBD_PROC_SOCKETS



da64fca0d1 Stefan Sperling

remove the now unused "server_cnt" gotwebd variable


cf4650e179 Stefan Sperling

move reyk's urldecode() copyright along




adaf63907c Stefan Sperling

move parsing of gotwebd querystrings into the pledge("stdio") process

Fields of the querystring structure become fixed-sized buffers for easy passing over imsg. This means we can no longer check pointers in this structure for NULL. Instead we have to check for empty strings. ok op@



4fb828fbc1 Stefan Sperling

dispatch new requests to the least-busy gotwebd worker

Instead of distributing requests across workers in a round-robin fashion keep track of how many requests a given worker has queued and send new requests to the worker which has the least amount of work queued for it. This makes gotwebd much more responsive than stupid round-robin, even though the new strategy is still not optimal because different types of requests carry different cost. E.g. blaming a file is usually heavier than listing trees. But it might be good enough, for now. Let's try and see. ok op@


19545591fb Stefan Sperling

run just one gotwebd process which listens on sockets

The listen statement is a global configuration setting and it does not make sense to have more than one process listening. Run just one process which listens and is now again called "sockets", having been renamed from "sockets" to "server" some time ago. There is no good reason to run more than one "server" since server-specific settings from gotwebd.conf are selected based on the SERVER_NAME sent in the FastCGI request. This selection is handled by the gotweb.c process. ok op@



5b971887f7 Omar Polo

sockets_launch: simplify listen() handling

* clean up the SOCKS_BACKLOG versus SOMAXCONN usage * factor out just one listen() call * slightly improve the logging by showing the socket "name" too. ok stsp@


28ad1c18bb Stefan Sperling

make gotsysd-managed repositories readable for the _gotd group

This allows making the repositories readable by other user accounts, such as _gotwebd, by adding those users to the _gotd group.