Commit Briefs
gotwebd: percent-encode generated URLs
This adds a new helper function `gotweb_link' that outputs an HTML link with the parameter correctly escaped. ok stsp@
gotwebd: add missing closing for div tags_content
reported by the W3C validator.
gotwebd: fix page title
due to an error in the order of the arguments to fcgi_printf that I've introduced last time I touched gotweb_render_header the title is now "/" (or SCRIPT_NAME) and one assets (the safari pinned tab svg) is a funny URL :)
gotwebd: shrink struct server
keeping GOTWEBD_REPO_CACHESIZE * sizeof(struct cache_repo) inside the struct server makes it too large for imsg on some platforms (linux at least.) Instead, store a pointer and allocate the array when it's received on the child processes. ok stsp@
gotwebd: fix leak in gotweb_init_querystring in error path
if strdup fails we fail to free the querystring Found by clang' scan-build.
gotwebd: add missing fcgi_printf return check
dead store found by clang' scan-build.
gotwebd: fix assets URLs
In 95a4a5a1e8d0952ee0d2523dc31df7170d80e0b3 I forgot to fix the links for the favicons and the web manifest.
fix regression in gotweb_free_repo_tag(): free(...): modified chunk-pointer
problem introduced in commit 625e5896fc9ecf87ccfc92ad2a65cd3be58f73c0
gotwebd: free all allocated fields of repo_tag
got_get_repo_tags needs some tweaking to how tag_commit is allocated too. ok stsp@
gotwebd: fix possible leaks when handling errors
all very unlikely. part of a bigger diff that's ok stsp@
gotwebd: minor tweaks
drop: - a tautological s[strlen(s)] == '\0' - a few duplicates checks - a lone if (error) when it's always NULL - an extra NULL check part of a bigger diff that's ok stsp@
gotwebd: refactor gotweb_load_got_path
- don't special case ".got": if it's a work-tree gotwebd will just fail soon enough. Suggested by stsp@ - avoid an strdup. - drop `opened' to make it easier to follow what's going on. ok stsp@
gotwebd: use SCRIPT_NAME to derive URLs
This makes gotwebd use SCRIPT_NAME instead of the DOCUMENT_ROOT fastcgi param to generate the links to the assets and changes some links so every page is consistently linked with a relative URL. It allows to drop the `root "/"' in the location for fastcgi and, as a bonus, also makes possible to run gotwebd on non "/" paths. ok stsp@
gotwebd: add CSP policy
ok tracey@
gotwebd: fix for possible NULL beign passed to fcgi_printf
reported by and ok tracey@
gotwebd: make sure to escape possibly unsafe strings
this fixes only the HTML escaping of strings, the urlencode is still missig. while here also plug a memory leak in gotweb_render_branches and drop some needless ternary operators. ok tracey@