Commit Briefs

Omar Polo

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!


Omar Polo

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.


Omar Polo

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@


Omar Polo

retire GOT_ERR_QUERYSTRING

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


Omar Polo

dropping unnecessary strlen()s

ok jamsek, stsp


Omar Polo

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.



Omar Polo

rename got_gotweb_flushfile -> got_gotweb_closefile

suggested and ok millert@



Omar Polo

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


Omar Polo

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

logic error introduced in df2d3cd25 ok stsp@


Omar Polo

gotwebd: don't special case BLOB, BLOBRAW and RSS

shuffle some code to handle all the page types in the switch. ok tracey@


Omar Polo

gotwebd: reply with non-200 HTTP status code on error

ok tracey@


Omar Polo

gotwebd: provide gotweb_render_page() entrypoint for all pages

simplify gotweb_process_request more, handling all the pages inside the big switch. There's only one entrypoint for rendering the templates gotweb_render_page() that takes the page' content as argument. The only real difference is that gotweb_render_index() now skips directory entries which fails to handle. ok tracey@


Omar Polo

include sha2.h too where sha1.h is included

In preparation for wide sha256 support; stsp@ agrees. Change done mechanically with find . -iname \*.[cy] -exec sam {} + X ,x/<sha1\.h>/i/\n#include <sha2.h>



Omar Polo

gotwebd: fix briefs/tags navigation overlap

Introduces a separate field for the "next" button (now called "More") and adjusted the CSS/HTML so it's used. Finally, drops the old code used to handle the pagination for the BRIEFS/COMMITS cases. Needs a small hack for the time being, setting the action to TAGS. This is due how qs->action is changed in gotweb.c while handling the request. ok jamsek


Omar Polo

gotwebd: turn gotweb_get_time_str into gotweb_render_age

ok jamsek


Omar Polo

gotwebd: refactor gotweb_render_content_type/_file

Rework them so that they allow to set the Status header (the HTTP status code; only way since we're behind FastCGI) and optionally a Location. Since they're now unused outside of gotweb.c, mark them as static. They also used to always return NULL so the error is pointless; return the -1 on failure though. While here, rename to gotweb_reply and gotweb_reply_file. ok jamsek


Omar Polo

gotwebd: delete now unused code

gotweb_escape_html and gotweb_link are now completely unused. ok jamsek


Omar Polo

gotwebd: inline got_output_file_blob into gotweb_process_request

ok jamsek


Omar Polo

gotwebd: templateify gotweb_render_blame

ok and tweak from jamsek


Omar Polo

gotwebd: templateify gotweb_render_summary

ok jamsek


Omar Polo

gotwebd: bubble up got_get_repo_tags

This bubbles up the call to got_get_repo_tags from gotweb_render_tags to its caller, gotweb_process_request and gotweb_render_summary. It helps simplifying gotweb_render_summary and making it easier to templateify, but also helps in untangling a bit the code. At this point gotweb_render_tags becomes just a wrapper to gotweb_render_tags_tmpl so switch completely to it. ok jamsek


Omar Polo

gotwebd: templateify gotweb_render_branches

no functional change intended. Bubble up the allocation of the reflist from gotweb_render_branches to gotweb_render_summary (its only caller) and rewrite it as a template. ok tracey@