aboutsummaryrefslogtreecommitdiffstats
path: root/ui-shared.c
Commit message (Expand)AuthorAgeFilesLines
* ui-shared: use owner-filter for repo page headers•••Previously it was only used if owners were displayed on the index. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> June McEnroe2022-12-191-1/+7
* ui-repolist,ui-shared: remove redundant title on repo anchors•••The title attribute was being set to the same value as the anchor element text. Signed-off-by: Chris Mayo <aklhfex@gmail.com> Reviewed-by: Eric Wong <e@80x24.org> Reviewed-by: Petr Vorel <petr.vorel@gmail.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Chris Mayo2022-12-191-1/+1
* git: update to v2.30.0•••Update to git version v2.30.0, this requires changes for these upstream commits: * 88894aaeeae92e8cb41143cc2e045f50289dc790 blame: simplify 'setup_scoreboard' interface * 1fbfdf556f2abc708183caca53ae4e2881b46ae2 banned.h: mark non-reentrant gmtime, etc as banned Signed-off-by: Christian Hesse <mail@eworm.de> Christian Hesse2020-12-291-4/+5
* global: replace references to 'sha1' with 'oid'•••For some time now sha1 is considered broken and upstream is working to replace it with sha256. Replace all references to 'sha1' with 'oid', just as upstream does. Signed-off-by: Christian Hesse <mail@eworm.de> Christian Hesse2020-10-201-20/+20
* ui-shared: restrict to 15 levels•••Perhaps a more ideal version of this would be to not print breadcrumbs at all for paths that don't exist in the given repo at the given oid. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Reported-by: Fydor Wire Snark <wsnark@tuta.io> Jason A. Donenfeld2019-05-201-1/+3
* ui-shared: fix broken sizeof in title setting and rewrite•••The old algorithm was totally incorrect. While we're at it, use « instead of \, since it makes more sense. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Jason A. Donenfeld2019-01-021-26/+8
* auth-filter: pass url with query string attached•••Otherwise redirections come out wrong. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Jason A. Donenfeld2018-11-251-2/+35
* ui-shared: ban strcat()•••Git upstream bans strcat() with commit: banned.h: mark strcat() as banned 1b11b64b815db62f93a04242e4aed5687a448748 To avoid compiler warnings from gcc 8.1.x we get the hard way. Signed-off-by: Christian Hesse <mail@eworm.de> Christian Hesse2018-09-111-4/+8
* Fix gcc 8.1.1 compiler warnings••• CC ../shared.o ../shared.c: In function ‘expand_macro’: ../shared.c:487:3: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=] strncpy(name, value, len); ^~~~~~~~~~~~~~~~~~~~~~~~~ ../shared.c:484:9: note: length computed here len = strlen(value); ^~~~~~~~~~~~~ ../ui-shared.c: In function ‘cgit_repobasename’: ../ui-shared.c:136:2: warning: ‘strncpy’ specified bound 1024 equals destination size [-Wstringop-truncation] strncpy(rvbuf, reponame, sizeof(rvbuf)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC ../ui-ssdiff.o ../ui-ssdiff.c: In function ‘replace_tabs’: ../ui-ssdiff.c:142:4: warning: ‘strncat’ output truncated copying between 1 and 8 bytes from a string of length 8 [-Wstringop-truncation] strncat(result, spaces, 8 - (strlen(result) % 8)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Jason A. Donenfeld2018-07-041-7/+12
* snapshot: support tar signature for compressed tar•••This adds support for kernel.org style signatures where the uncompressed tar archive is signed and compressed later. The signature is valid for all tar* snapshots. We have a filter which snapshots may be generated and downloaded. This has to allow tar signatures now even if tar itself is not allowed. To simplify things we allow all signatures. Signed-off-by: Christian Hesse <mail@eworm.de> Christian Hesse2018-07-031-1/+8
* extra-head-content: introduce another option for meta tags•••This is to support things like go-import meta tags, which are on a per-repo basis. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Jason A. Donenfeld2018-07-031-0/+2
* global: remove functionality we deprecated for cgit v1.0•••The man page states these were deprecated for v1.0. We are past v1.1, so remove the functionality. Signed-off-by: Christian Hesse <mail@eworm.de> Reviewed-by: John Keeping <john@keeping.me.uk> Christian Hesse2018-06-271-2/+0
* snapshot: strip bit from struct cgit_snapshot_format•••We had a static bit value in struct cgit_snapshot_format. We do not rely on it and things can be calculated on the fly. So strip it. Signed-off-by: Christian Hesse <mail@eworm.de> Christian Hesse2018-06-271-1/+1
* snapshot: support archive signatures•••Read signatures from the notes refs refs/notes/signatures/$FORMAT where FORMAT is one of our archive formats ("tar", "tar.gz", ...). The note is expected to simply contain the signature content to be returned when the snapshot "${filename}.asc" is requested, so the signature for cgit-1.1.tar.xz can be stored against the v1.1 tag with: git notes --ref=refs/notes/signatures/tar.xz add -C "$( gpg --output - --armor --detach-sign cgit-1.1.tar.xz | git hash-object -w --stdin )" v1.1 and then downloaded by simply appending ".asc" to the archive URL. Signed-off-by: John Keeping <john@keeping.me.uk> Reviewed-by: Christian Hesse <mail@eworm.de> John Keeping2018-06-271-0/+7
* ui-shared: pass separator in to cgit_print_snapshot_links()•••cgit_print_snapshot_links() is almost identical to print_tag_downloads(), so let's extract the difference to a parameter in preparation for removing print_tag_downloads() in the next commit. Signed-off-by: John Keeping <john@keeping.me.uk> Reviewed-by: Christian Hesse <mail@eworm.de> John Keeping2018-06-271-2/+3
* ui-shared: use the same snapshot logic as ui-refs•••Make snapshot links in the commit UI use the same prefix algorithm as those in the summary UI, so that refs starting with the snapshot prefix are used as-is rather than composed with the prefix repeated. Signed-off-by: John Keeping <john@keeping.me.uk> Reviewed-by: Christian Hesse <mail@eworm.de> John Keeping2018-06-271-1/+7
* ui-shared: rename parameter to cgit_print_snapshot_links()•••This is expected to be a ref not a hex object ID, so name it more appropriately. Signed-off-by: John Keeping <john@keeping.me.uk> Reviewed-by: Christian Hesse <mail@eworm.de> John Keeping2018-06-271-2/+2
* ui-shared: remove unused parameter•••The "head" parameter to cgit_print_snapshot_links() is never used, so remove it. Signed-off-by: John Keeping <john@keeping.me.uk> Reviewed-by: Christian Hesse <mail@eworm.de> John Keeping2018-06-271-2/+1
* Add "snapshot-prefix" repo configuration•••Allow using a user-specified value for the prefix in snapshot files instead of the repository basename. For example, files downloaded from the linux-stable.git repository should be named linux-$VERSION and not linux-stable-$VERSION, which can be achieved by setting: repo.snapshot-prefix=linux Signed-off-by: John Keeping <john@keeping.me.uk> Reviewed-by: Christian Hesse <mail@eworm.de> John Keeping2018-06-271-1/+9
* ui-shared: pass repo object to print_snapshot_links()•••Both call sites of cgit_print_snapshot_links() use the same values for the snapshot mask and repository name, which are derived from the cgit_repo structure so let's pass in the structure and access the fields directly. Signed-off-by: John Keeping <john@keeping.me.uk> Reviewed-by: Christian Hesse <mail@eworm.de> John Keeping2018-06-271-4/+4
* print git version string in footer•••This helps tracking what git version cgit uses. The security implications are low as anybody can look up the version of our submodule anyway. The paranoid can use a custom footer. :-p On the other hand this brings potential security issues to the administrators eyes... Signed-off-by: Christian Hesse <mail@eworm.de> Christian Hesse2018-06-271-2/+3
* git: update to v2.17.1•••Update to git version v2.17.1. Required changes: * The function 'typename' has been renamed to 'type_name' (upstream commit debca9d2fe784193dc2d9f98b5edac605ddfefbb) Signed-off-by: Christian Hesse <mail@eworm.de> Christian Hesse2018-06-271-1/+1
* ui-shared: use type='search' for the search box•••Signed-off-by: Ville Skyttä <ville.skytta@iki.fi> Ville Skyttä2017-10-151-2/+2
* ui-tree: link to blame UI if enabled•••Create links to the blame page. Signed-off-by: Jeff Smith <whydoubt@gmail.com> Reviewed-by: John Keeping <john@keeping.me.uk> Jeff Smith2017-10-031-3/+17
* ui-shared: make a char* parameter const•••All cgit_xxx_link functions take const char* for the 'name' parameter, except for cgit_commit_link, which takes a char* and subsequently modifies the contents. Avoiding the content changes, and making it const char* will avoid the need to make copies of const char* strings being passed to cgit_commit_link. Signed-off-by: Jeff Smith <whydoubt@gmail.com> Reviewed-by: John Keeping <john@keeping.me.uk> Jeff Smith2017-10-031-11/+8
* ui-tree: move set_title_from_path to ui-shared•••The ui-blame code will also need to call set_title_from_path, so go ahead and move it to ui-shared. Signed-off-by: Jeff Smith <whydoubt@gmail.com> Reviewed-by: John Keeping <john@keeping.me.uk> Jeff Smith2017-10-031-0/+31
* ui-shared: don't print path crumbs without a repo•••cgit_print_path_crumbs() can call repolink() which assumes that ctx.repo is non-null. Currently we don't have any commands that set want_vpath without also setting want_repo so it shouldn't be possible to fail this test, but the check in cgit.c is in the wrong order so it is possible to specify a query string like "?p=log&path=foo/bar" to end up here without a valid repository. This was found by American fuzzy lop [0]. [0] http://lcamtuf.coredump.cx/afl/ Signed-off-by: John Keeping <john@keeping.me.uk> John Keeping2017-08-101-1/+1
* ui-shared: replace 'unsigned char sha1[20]' with 'struct object_id oid'•••Upstream git is replacing 'unsigned char sha1[20]' with 'struct object_id oid'. We have some code that can be changed independent from upstream. So here we go... Christian Hesse2016-10-041-5/+5
* ui-shared: fix decl-after-statement warnings•••git.git's coding style avoids decl-after-statement and we generally try to follow it but a few warnings have crept in recently. Fix the ones in ui-shared.c Signed-off-by: John Keeping <john@keeping.me.uk> John Keeping2016-10-011-5/+7
* ui-shared: fix segfault when defbranch is NULL•••Not sure if there's a better fix for this. defbranch is NULL here on my setup when a crawler hit an invalid URL, causing strcmp to segfault. Signed-off-by: Eric Wong <normalperson@yhbt.net> Eric Wong2016-07-061-1/+1
* Avoid ambiguities when prettifying snapshot names•••When composing snapshot file names for a tag with a prefix of the form v[0-9] (resp. V[0-9]), the leading "v" (resp. "V") is stripped. This leads to conflicts if a tag with the stripped name already exists or if there are tags only differing in the capitalization of the leading "v". Make sure we do not strip the "v" in these cases. Reported-by: Juuso Lapinlampi <wub@partyvan.eu> Signed-off-by: Lukas Fleischer <lfleischer@lfos.de> Lukas Fleischer2016-07-051-5/+21
* Hosted on HTTPS nowJason A. Donenfeld2016-06-071-1/+1
* forms: action should not be empty•••Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Jason A. Donenfeld2016-05-121-1/+1
* ui-shared: Remove a name attribute with an empty value•••The name attribute is optional in an input element, but it must not be an empty value. See: https://html.spec.whatwg.org/#attr-fe-name See: https://html.spec.whatwg.org/#the-input-element Juuso Lapinlampi2016-05-121-1/+1
* ui-shared: HTML-ize DOCTYPE and <html>•••Get rid of the XHTML headers, bringing cgit slowly to the modern age of HTML. Juuso Lapinlampi2016-05-121-3/+2
* ui-shared: Simplify cgit_print_error_page() logicJuuso Lapinlampi2016-05-121-4/+2
* ui-shared: redirect should not exit early for cache•••Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Jason A. Donenfeld2016-02-261-1/+0
* tabs: do not use target=_blankJason A. Donenfeld2016-02-231-1/+1
* ui-shared: add homepage to tabs•••Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Jason A. Donenfeld2016-02-221-0/+5
* Avoid DATE_STRFTIME for long/short dates•••Git's DATE_STRFTIME ignores the timezone argument and just uses the local timezone regardless of whether the "local" flag is set. Since our existing FMT_LONGDATE and FMT_SHORTDATE are pretty-much perfect matches to DATE_ISO8601 and DATE_SHORT, switch to taking a date_mode_type directly in cgit_date_mode(). Signed-off-by: John Keeping <john@keeping.me.uk> John Keeping2016-02-081-7/+6
* ui-shared: remove cgit_print_date()•••There are no longer any users of this function. Signed-off-by: John Keeping <john@keeping.me.uk> John Keeping2016-02-081-20/+0
* ui-shared: use show_date for footer timestamp•••Signed-off-by: John Keeping <john@keeping.me.uk> John Keeping2016-02-081-1/+1
* ui: show ages in the originator's timezone•••This affects the tooltip showing the full time and the case when a date is sufficiently old to be shown in full rather than as an offset. Signed-off-by: John Keeping <john@keeping.me.uk> John Keeping2016-02-081-11/+11
* ui-shared: add cgit_date_mode()•••This returns the correct mode value for use with Git's show_date() based on the current CGit configuration and will be used in the following patches. Signed-off-by: John Keeping <john@keeping.me.uk> John Keeping2016-02-081-0/+9
* ui-shared: remove "format" from cgit_print_age()•••We never use any format other than FMT_SHORTDATE, so move that into the function. Signed-off-by: John Keeping <john@keeping.me.uk> John Keeping2016-02-081-2/+2
* ui-shared: prevent malicious filename from injecting headersJason A. Donenfeld2016-01-141-3/+5
* ui-shared: Avoid new line injection into redirect headerJason A. Donenfeld2016-01-141-1/+3
* Fix segmentation fault in hc()•••The ctx.qry.page variable might be unset at this point, e.g. when an invalid command is passed and cgit_print_pageheader() is called to show an error message. Signed-off-by: Lukas Fleischer <lfleischer@lfos.de> Lukas Fleischer2016-01-131-0/+3
* git: update to v2.7.0•••Update to git version v2.7.0. * Upstream commit ed1c9977cb1b63e4270ad8bdf967a2d02580aa08 (Remove get_object_hash.) changed API: Convert all instances of get_object_hash to use an appropriate reference to the hash member of the oid member of struct object. This provides no functional change, as it is essentially a macro substitution. Signed-off-by: Christian Hesse <mail@eworm.de> Christian Hesse2016-01-131-1/+1
* ui-shared: fix resource leak: free allocation from cgit_hosturl•••Signed-off-by: Christian Hesse <mail@eworm.de> Christian Hesse2015-10-091-2/+3