Website Summary Files Commits Branches @commit @diff @stats
Commit message (Collapse)AuthorAgeLinesSHA
...
* git: update to v2.7.2
 Christian Hesse
2016-02-23-1/+1a9e9dfc
| | | | | | Update to git version v2.7.2, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* ui-plain: fix to show a repo's root directory listing in plain view
 Joe Anakata
2016-02-22-1/+1de6098b
| | | | | | | | | | | | This is to fix the case of accessing http://host.com/cgit.cgi/repo.git/plain/ There is code here to make this case work (match_baselen is set to -1 for top-of-the-tree views) but the unsigned to signed comparison was always false in this case, causing an empty directory listing without this fix. Signed-off-by: Joe Anakata <jea-signup-github@anakata.org> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* cmd: redirect empty about/ to homepage or summary
 Jason A. Donenfeld
2016-02-22-1/+1094c02bb
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui-shared: add homepage to tabs
 Jason A. Donenfeld
2016-02-22-5/+265f2664f
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* ui-atom: avoid DATE_STRFTIME
 John Keeping
2016-02-08-12/+47529820
| | | | | | | | | | | | | | Git's DATE_STRFTIME ignores the timezone argument and just uses the local timezone regardless of whether the "local" flag is set. Since Atom accepts ISO8601 dates [1], we can use Git's DATE_ISO8601_STRICT instead, which does get this right. Additionally, we never use the local timezone here so we can use the date_mode_from_type() wrapper to simplify the code a bit. [1] https://tools.ietf.org/html/rfc4287#section-3.3 Signed-off-by: John Keeping <john@keeping.me.uk>
* Avoid DATE_STRFTIME for long/short dates
 John Keeping
2016-02-08-13/+109c15f3c
| | | | | | | | | | | 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>
* ui-stats: cast pointer before checking for zero
 John Keeping
2016-02-08-2/+2bdcbe09
| | | | | | | | | | | | | We abuse the "void *util" field as a counter and recently started to cast it to a uintptr_t to avoid risking nasal demons by performing arithmetic on a void pointer. However, compilers are also known to do "interesting" things if they know that a pointer is or isn't NULL. Make this safer by checking if the counter (after casting) is non-zero rather than checking if the pointer is non-null. Signed-off-by: John Keeping <john@keeping.me.uk>
* ui-stats: if we're going to abuse void*, do it safely
 Jason A. Donenfeld
2016-02-08-10/+7a8b9ef8
|
* git: update to v2.7.1
 Christian Hesse
2016-02-08-1/+185ec9f0
| | | | | | Update to git version v2.7.1, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
* ui-shared: remove cgit_print_date()
 John Keeping
2016-02-08-21/+017c74ee
| | | | | | There are no longer any users of this function. Signed-off-by: John Keeping <john@keeping.me.uk>
* ui-atom: use show_date directly for atom dates
 John Keeping
2016-02-08-2/+7eb80b4e
| | | | | | | This will allow us to remove cgit_print_date and use Git's show_date consistently. Signed-off-by: John Keeping <john@keeping.me.uk>
* ui-shared: use show_date for footer timestamp
 John Keeping
2016-02-08-1/+1e68c86e
| | | | Signed-off-by: John Keeping <john@keeping.me.uk>
* ui: show ages in the originator's timezone
 John Keeping
2016-02-08-18/+18f2a901d
| | | | | | | 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>
* ui-{commit,tag}: show dates in originator's timezone
 John Keeping
2016-02-08-3/+621dcf10
| | | | | | | This is done by switching to Git's show_date() function and the mode given by cgit_date_mode(). Signed-off-by: John Keeping <john@keeping.me.uk>
* ui-shared: add cgit_date_mode()
 John Keeping
2016-02-08-0/+10360af46
| | | | | | | | 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>
* parsing: add timezone to ident structures
 John Keeping
2016-02-08-4/+945c87ca
| | | | | | | This will allow us to mimic Git's behaviour of showing times in the originator's timezone when displaying commits and tags. Signed-off-by: John Keeping <john@keeping.me.uk>
* ui-shared: remove "format" from cgit_print_age()
 John Keeping
2016-02-08-9/+957ea1aa
| | | | | | | We never use any format other than FMT_SHORTDATE, so move that into the function. Signed-off-by: John Keeping <john@keeping.me.uk>
* ui-tree: put reverse path in title
 Jason A. Donenfeld
2016-01-18-0/+3423f7dad
|
* syntax-highlighting: always use utf-8 to avoid ascii codec issues
 Jason A. Donenfeld
2016-01-18-0/+3d3756bd
|
* cache: don't check for match with no key
 John Keeping
2016-01-17-2/+333bc949
| | | | | | | | | | | We call open_slot() from cache_ls() without a key since we simply want to read the path out of the header. Should the file happen to contain an empty key then we end up calling memcmp() with NULL and a non-zero length. Fix this by assigning slot->match only if a key is set, which is always will be in the code paths where we use slot->match. Coverity-id: 13807 Signed-off-by: John Keeping <john@keeping.me.uk>
* cache: use size_t for string lengths
 John Keeping
2016-01-17-2/+23fbfced
| | | | | | | Avoid integer truncation on 64-bit systems. Coverity-id: 13864 Signed-off-by: John Keeping <john@keeping.me.uk>
* ui-log: handle parse_commit() errors
 John Keeping
2016-01-17-1/+3baa5ad1
| | | | | | | | | | | | | If parse_commit() fails, none of the fields in the commit structure will have been populated so we will dereference NULL when accessing item->tree. There isn't much we can do about the error at this point, but if we return true then we'll try parsing the commit again from print_commit() and we can report an error to the user at that point. Coverity-id: 13801 Signed-off-by: John Keeping <john@keeping.me.uk>
* Bump version
 Jason A. Donenfeld
2016-01-14-1/+1e64d5e0
|
* ui-plain: add enable-html-serving flag
 Jason A. Donenfeld
2016-01-14-0/+29c326f3e
| | | | Unrestricts plain/ to contents likely to be executed by browser.
* ui-blob: set CSP just in case
 Jason A. Donenfeld
2016-01-14-0/+39ca2566
|
* ui-blob: always use generic mimetypes
 Jason A. Donenfeld
2016-01-14-6/+492996ac
|
* ui-blob: Do not accept mimetype from user
 Jason A. Donenfeld
2016-01-14-4/+01c581a0
|
* ui-shared: prevent malicious filename from injecting headers
 Jason A. Donenfeld
2016-01-14-3/+32513b386
|
* ui-shared: Avoid new line injection into redirect header
 Jason A. Donenfeld
2016-01-14-1/+34291453
|
* Fix missing prototype declarations
 Peter Colberg
2016-01-14-15/+154c69241
| | | | Signed-off-by: Peter Colberg <peter@colberg.org>
* ui-repolist: return HTTP 404 if no repositories found
 Peter Colberg
2016-01-13-3/+179abe4a2
| | | | | | | | | Return HTTP status code 404 Not found when querying a non-existent repository, which signals to search engines that a repository no longer exists. Further, some webservers such as nginx permit logging requests to different files depending on the HTTP code. Signed-off-by: Peter Colberg <peter@colberg.org>
* ui-repolist: extract repo visibility criteria to separate function
 Peter Colberg
2016-01-13-3/+10a4014d0
| | | | Signed-off-by: Peter Colberg <peter@colberg.org>
* Fix segmentation fault in hc()
 Lukas Fleischer
2016-01-13-0/+3da1b897
| | | | | | | | 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>
* git: update to v2.7.0
 Christian Hesse
2016-01-13-26/+26559ab5e
| | | | | | | | | | | | | | 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>
* ui-repolist: initialize char *buf to NULL
 Christian Hesse
2016-01-13-1/+16edc84b
| | | | | | | readfile() can fail if the agefile is not readable. Make sure free() does not free an ininitialized string. Signed-off-by: Christian Hesse <mail@eworm.de>
* filter: avoid integer overflow in authenticate_post
 Jason A. Donenfeld
2015-11-24-1/+14458abf
| | | | | | | | | | | | ctx.env.content_length is an unsigned int, coming from the CONTENT_LENGTH environment variable, which is parsed by strtoul. The HTTP/1.1 spec says that "any Content-Length greater than or equal to zero is a valid value." By storing this into an int, we potentially overflow it, resulting in the following bounding check failing, leading to a buffer overflow. Reported-by: Erik Cabetas <Erik@cabetas.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* about-formatting.sh: comment text out of date
 Jason A. Donenfeld
2015-11-12-1/+1ffe0962
|
* filters: port syntax-highlighting.py to python 3.x
 Christian Hesse
2015-10-12-10/+9143e652
| | | | Signed-off-by: Christian Hesse <mail@eworm.de>
* md2html: the default of stdin works fine
 Jason A. Donenfeld
2015-10-12-2/+13f9e14a
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* filters: misc cleanups
 Jason A. Donenfeld
2015-10-12-2/+1c301899
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* md2html: use pure python
 Jason A. Donenfeld
2015-10-12-6/+9ccb4254
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* cache: fix resource leak: close file handle before return
 Christian Hesse
2015-10-10-3/+976dc7a3
| | | | | Coverity-id: 13910 Signed-off-by: Christian Hesse <mail@eworm.de>
* ui-atom: fix resource leak: free allocation from cgit_pageurl
 Christian Hesse
2015-10-10-1/+4ed5dccb
| | | | | Coverity-id: 13945 Signed-off-by: Christian Hesse <mail@eworm.de>
* ui-atom: fix resource leak: free before return
 Christian Hesse
2015-10-10-1/+2144e3c6
| | | | | Coverity-id: 13946 Signed-off-by: Christian Hesse <mail@eworm.de>
* ui-atom: fix resource leak: free allocation from cgit_repourl
 Christian Hesse
2015-10-10-1/+397da17b
| | | | | Coverity-id: 13947 Signed-off-by: Christian Hesse <mail@eworm.de>
* ui-blob: fix resource leak: free before return
 Christian Hesse
2015-10-10-0/+17320bfa
| | | | | Coverity-id: 13944 Signed-off-by: Christian Hesse <mail@eworm.de>
* ui-blob: fix resource leak: free before return
 Christian Hesse
2015-10-10-0/+13080212
| | | | | Coverity-id: 13943 Signed-off-by: Christian Hesse <mail@eworm.de>
* ui-plain: fix resource leak: free before assigning NULL
 Christian Hesse
2015-10-09-1/+308a2b81
| | | | | Coverity-id: 13939 Signed-off-by: Christian Hesse <mail@eworm.de>
* ui-plain: fix resource leak: free before return
 Christian Hesse
2015-10-09-0/+1979db79
| | | | | Coverity-id: 13940 Signed-off-by: Christian Hesse <mail@eworm.de>
* ui-repolist: fix resource leak: free allocation from cgit_currenturl
 Christian Hesse
2015-10-09-1/+351338f7
| | | | | Coverity-id: 13930 Signed-off-by: Christian Hesse <mail@eworm.de>