Commit Briefs

cd292c73dd Thomas Adam

gotwebd: use nitems() instead of ACTIONS__MAX

I feel safer by using the explicit size of the table rather than an hypothetical maximum value given by the enum. Mostly because in the past I edited a table and forgot to remove the corresponding enum value. ok stsp@


46c303d460 Thomas Adam

drop unnecessary zeroing after calloc()


978394e7c1 Thomas Adam

gotwebd: use 'more' for the tag listing too

prodded by stsp and jamsek; ok stsp@


c328bece03 Thomas Adam

gotwebd: render less tags in the summary page

suggested / ok stsp


34875d49d7 Thomas Adam

gotwebd: render READMEs in the tree view

ok tracey@


feaddee622 Thomas Adam

gotwebd: add patch action to serve diffs in plain text

ok tracey@


c13168e4b7 Thomas Adam

refactor gotweb_load_got_path; no functional change

ok tracey@


ab5bda7ecb Thomas Adam

remove the gotwebd repository cache

It only had 4 slots so was never quite useful, and sharing of sock->pack_fds across cached repositories seems problematic. with help from + ok op@


aea518b567 Thomas Adam

whitespace fix


f85c939fb7 Thomas Adam

gotwebd: get rid of proc.[ch]

proc.c really shines when there's a network of different types of processes, potentially with a various number of instances each, that needs to exchange messages. Gotwebd instead has a much simpler design, and using proc.c causes more overhead (/headaches) than it solves. So, this attempts to provide the same functionalities but with a much simpler implementation that fits gotwebd better. ok stsp@


b38e9a2a17 Thomas Adam

gotwebd: improve gotwebd_assign_querystring()

This prevents the issues that we just hit with forgetting to remove PREVID: instead of relying on the enum value to yield the size of a table, use nitems(). Also, quit as soon as the matching key was found, no need to iterate further. ok stsp@


4cc0851e23 Thomas Adam

gotwebd: render all the datetimes in a time tag

fixes an unused variable that should have been dropped in previous commit too. ok stsp@


10fa70e266 Thomas Adam

gotwebd: inline the only use of TM_RFC822


d8bf4f258c Thomas Adam

gotwebd: move the buffering from the fastcgi layer to the template

Reduces the indirection in fcgi.c, starts to make the struct template opaque, simplifies the template usage. All with a net negative :-) reads fine to stsp@ (thanks!)


b38bef130a Thomas Adam

gotwebd: fix branches modification time with show_repo_age off

If show_repo_age is set to off, got_get_repo_age() returns without setting the timestamp. got_get_repo_age() is also used by the branch listing to show how old they are however, and we end up rendering the stack garbage. Instead, respect `show_repo_age off' one layer above, and always return a timestamp in got_get_repo_age(). While here, initialize the timestamp to zero so it's set also in case of failures. Issue reported on IRC by xs, thanks!


b2251e6e28 Thomas Adam

bubble up got_repo_commits()

now that got_get_repo_commits() doesn't look at `action' we can stop fetching the commits during the rendering and bubble up the call. This yields better error messages and better replies codes on failure.


b95d1cf6b0 Thomas Adam

simplify gotwebd' server matching

Currently, if there is not a match on the server name, it attempts to match the "subdomain" against the server names, and fall back to the first server defined. The server name is taken from the SERVER_NAME fastcgi' parameter, the subdomain extracted from HTTP_HOST. Keep only the SERVER_NAME matching, but still use the first server defined if there's no match. Fix the manpage documenting how matching works and drop the lie about SNI as gotwebd doesn't do TLS but just looks at what the upstream http server decided. ok stsp@


b2b363b2f4 Thomas Adam

retire GOT_ERR_QUERYSTRING

it's redundant with GOT_ERR_BAD_QUERYSTRING; convert its only use to the latter.


102d840de7 Thomas Adam

dropping unnecessary strlen()s

ok jamsek, stsp


d8edcc947b Thomas Adam

gotwebd: fix some got_error_from_errno2/3 calls

it's not printf-like so %s don't make sense. Tweak the order of the arguments to obtain the intended output.


ba77389f9f Thomas Adam

don't zero fields of a calloc()-allocated struct


d00235d81c Thomas Adam

rename got_gotweb_flushfile -> got_gotweb_closefile

suggested and ok millert@


54ca6e2b43 Thomas Adam

log close() failure in gotweb_free_transport


04b2c111f2 Thomas Adam

simplify got_gotweb_openfile/flushfile

Return only the FILE *, and require only that to close subsequently. Having to manage the file descriptor too makes using these functions unnecessary complex. millert@ agrees


f5af6dbdad Thomas Adam

gotwebd: fix logic error and skip again some entries in the index

logic error introduced in df2d3cd25 ok stsp@