Commit Briefs

c8af7691c9 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@


23c35dae29 Omar Polo

change got_get_repo_tags' limit argument to size_t

The function already carefully avoids wrapping around zero. While here add a sanity check for limit == 0, like what was previously done for got_get_repo_commits().


0a2fc48663 Omar Polo

gotwebd: make got_get_repo_commits take a size_t

and while here make sure 0 is rejected. requested by, improvements and ok stsp@


1adf41e808 Omar Polo

gotwebd: drop unused `prefixlen' from struct address

ok stsp@


c034b06627 Stefan Sperling

fix the size of gotwebd's array of tempfiles used for deltas

Prevents ftruncate() errors due to bogus file descriptors passed from gotwebd once the repository layer runs out of temporary files to use for deltas. Have gotwebd open the maximum amount of required temporary files for now. A proper fix which scales to lower ulimit -n settings can be implemented later. Problem reported by patrick@


24a4d8019b Omar Polo

rename got_gotweb_flushfile -> got_gotweb_closefile

suggested and ok millert@


18069c98fe 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


8f37175d25 Omar Polo

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

ok tracey@


df2d3cd254 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@


e3662697ea 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


cb93ab4065 Omar Polo

gotwebd: turn gotweb_get_time_str into gotweb_render_age

ok jamsek


6cdf29f935 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


d38823945b Omar Polo

gotwebd: delete now unused code

gotweb_escape_html and gotweb_link are now completely unused. ok jamsek


760079985f Omar Polo

gotwebd: inline got_output_file_blob into gotweb_process_request

ok jamsek


8319855fa7 Omar Polo

gotwebd: templateify gotweb_render_blame

ok and tweak from jamsek


69525b4e72 Omar Polo

gotwebd: templateify gotweb_render_summary

ok jamsek


d60961d296 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


3ab2c91424 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@


587550a504 Omar Polo

gotwebd: templateify gotweb_render_diff

ok tracey@; rebased after recent changes.


dc07f76c4f Omar Polo

gotwebd: templateify gotweb_render_tag

ok tracey@


067396e611 Omar Polo

gotwebd: templateify gotweb_render_tags

ok tracey@


17c726049a Omar Polo

backout 169b163113a6db9878c9166aa05fbd30d05eb832

pushed by mistake, wasn't reviewed.


169b163113 Omar Polo

gotwebd: templateify gotweb_render_diff

To avoid calling functions from got_operations.c directly from a template (which would hide the error), change got_output_repo_diff into got_open_diff_for_output that returns a file with the diff in it, to be then rendered by the template. got_gotweb_flushfile needs to be exposed then. It also bundles a smaller change: the `label' argument of got_repo_match_object_id is optional and not used, so just pass NULL there.


43d421de22 Omar Polo

gotwebd: templateify gotweb_render_tree

ok tracey@


298f95fb39 Omar Polo

gotwebd: render BLOB inline, add BLOBRAW for serving raw blobs

binary blobs are automatically redirected to the BLOBRAW page (which is the old BLOB.) ok jamske