Commit Briefs

82da5d1a74 Thomas Adam

portable: release 0.118.1 (tags/0.118.1)

Fix a mistake with the build where certain header files (sha1.h and sha2.h) needed to be included portably.


c596f19322 Thomas Adam

portable: bump version for -maint release


e80e87cf3b Thomas Adam

portable: fix 0.118 build

Remove sha{1,2}.h from source files as these are included portably.


f45b7df8e9 Thomas Adam

portable: correct typo in CHANGELOG (0.118)


75db2e32f3 Thomas Adam

portable: set next version


19bdcbd82c Thomas Adam

portable: release 0.118 (tags/0.118)


0d2a62a287 Thomas Adam

bump version number


2afec09d59 Thomas Adam

CHANGES for 0.118


195d499a77 Thomas Adam

fix gotwebd regress failure introduced with querystring changes

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


9822808d41 Thomas Adam

portable: libutils: sync imsg


25b639dfa1 Thomas Adam

block gotwebd requests with paths that point outside the repository directory

ok op@






07226cf792 Thomas Adam

remove the now unused "server_cnt" gotwebd variable


7f722d7ca7 Thomas Adam

move reyk's urldecode() copyright along




af87ad5da4 Thomas Adam

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@



ea7963b950 Thomas Adam

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@


2f713fe5ea Thomas Adam

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@



049c14ecdf Thomas Adam

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@