aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-06-17md2html: use utf-8 and flush output bufferJason A. Donenfeld1-6/+11
Otherwise we get the classic Python UTF-8 errors, and the text is all out of order. While we're at it, switch to python3 so we only have to support one set of oddball semantics. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Suggested-by: Daniel Campbell <dlcampbell@gmx.com>
2016-06-07Hosted on HTTPS nowJason A. Donenfeld4-5/+5
2016-06-07Bump version.v1.0Jason A. Donenfeld1-1/+1
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-05-20git: update to v2.8.3Christian Hesse2-1/+1
Update to git version v2.8.3, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
2016-05-12ui-diff: action='.' is not correctJason A. Donenfeld1-1/+1
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-05-12forms: action should not be emptyJason A. Donenfeld2-2/+2
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-05-12ui-shared: Remove a name attribute with an empty valueJuuso Lapinlampi1-1/+1
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
2016-05-12ui-shared: HTML-ize DOCTYPE and <html>Juuso Lapinlampi1-3/+2
Get rid of the XHTML headers, bringing cgit slowly to the modern age of HTML.
2016-05-12ui-shared: Simplify cgit_print_error_page() logicJuuso Lapinlampi1-4/+2
2016-05-12git: update to v2.8.2Christian Hesse3-2/+2
Update to git version v2.8.2. * Upstream commit 1a0c8dfd89475d6bb09ddee8c019cf0ae5b3bdc2 (strbuf: give strbuf_getline() to the "most text friendly" variant) changed API. Signed-off-by: Christian Hesse <mail@eworm.de>
2016-05-12ui-log: Simplify decoration codeTim Nordell1-24/+22
The decoration code inside of git returns the decoration type, so utilize this to create the decoration spans. Additionally, use prettify_refname(...) to get the shorter name for the ref. Signed-off-by: Tim Nordell <tim.nordell@logicpd.com>
2016-05-12ui-log: Do not always emit decoration spanTim Nordell1-0/+2
The decoration span does not need to be emited if there aren't any decorations to show. This modification saves slightly on bandwidth. Signed-off-by: Tim Nordell <tim.nordell@logicpd.com>
2016-03-08Renamed repo-specific configuration for enable-html-serving in cgitrc.5.txtMatt Comben1-1/+1
2016-02-26ui-shared: redirect should not exit early for cacheJason A. Donenfeld1-1/+0
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-02-26about: path_info might not be validJason A. Donenfeld1-1/+2
2016-02-23tabs: do not use target=_blankJason A. Donenfeld1-1/+1
2016-02-23css: fix indentationJason A. Donenfeld1-4/+4
2016-02-23css: use less blurry icon for external linkChristian Hesse1-1/+2
Your mileage may vary, but for me the old icon looks blurry. The new one is character 0xf08e from OTF font awsome in size 10. The icon color is black, gray level is adjusted via opacity. Signed-off-by: Christian Hesse <mail@eworm.de>
2016-02-23md2html: Do syntax highlighting tooJason A. Donenfeld1-1/+5
2016-02-23git: update to v2.7.2Christian Hesse2-1/+1
Update to git version v2.7.2, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
2016-02-22ui-plain: fix to show a repo's root directory listing in plain viewJoe Anakata1-1/+1
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>
2016-02-22cmd: redirect empty about/ to homepage or summaryJason A. Donenfeld1-1/+10
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-02-22ui-shared: add homepage to tabsJason A. Donenfeld7-5/+26
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2016-02-08ui-atom: avoid DATE_STRFTIMEJohn Keeping2-12/+4
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>
2016-02-08Avoid DATE_STRFTIME for long/short datesJohn Keeping5-13/+10
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>
2016-02-08ui-stats: cast pointer before checking for zeroJohn Keeping1-2/+2
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>
2016-02-08ui-stats: if we're going to abuse void*, do it safelyJason A. Donenfeld1-10/+7
2016-02-08git: update to v2.7.1Christian Hesse2-1/+1
Update to git version v2.7.1, no changes required. Signed-off-by: Christian Hesse <mail@eworm.de>
2016-02-08ui-shared: remove cgit_print_date()John Keeping2-21/+0
There are no longer any users of this function. Signed-off-by: John Keeping <john@keeping.me.uk>
2016-02-08ui-atom: use show_date directly for atom datesJohn Keeping1-2/+7
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>
2016-02-08ui-shared: use show_date for footer timestampJohn Keeping1-1/+1
Signed-off-by: John Keeping <john@keeping.me.uk>
2016-02-08ui: show ages in the originator's timezoneJohn Keeping5-18/+18
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>
2016-02-08ui-{commit,tag}: show dates in originator's timezoneJohn Keeping2-3/+6
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>
2016-02-08ui-shared: add cgit_date_mode()John Keeping2-0/+10
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>
2016-02-08parsing: add timezone to ident structuresJohn Keeping2-4/+9
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>
2016-02-08ui-shared: remove "format" from cgit_print_age()John Keeping5-9/+9
We never use any format other than FMT_SHORTDATE, so move that into the function. Signed-off-by: John Keeping <john@keeping.me.uk>
2016-01-18ui-tree: put reverse path in titleJason A. Donenfeld1-0/+34
2016-01-18syntax-highlighting: always use utf-8 to avoid ascii codec issuesJason A. Donenfeld1-0/+3
2016-01-17cache: don't check for match with no keyJohn Keeping1-2/+3
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>
2016-01-17cache: use size_t for string lengthsJohn Keeping1-2/+2
Avoid integer truncation on 64-bit systems. Coverity-id: 13864 Signed-off-by: John Keeping <john@keeping.me.uk>
2016-01-17ui-log: handle parse_commit() errorsJohn Keeping1-1/+3
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>
2016-01-14Bump versionv0.12Jason A. Donenfeld1-1/+1
2016-01-14ui-plain: add enable-html-serving flagJason A. Donenfeld5-0/+29
Unrestricts plain/ to contents likely to be executed by browser.
2016-01-14ui-blob: set CSP just in caseJason A. Donenfeld1-0/+3
2016-01-14ui-blob: always use generic mimetypesJason A. Donenfeld1-6/+4
2016-01-14ui-blob: Do not accept mimetype from userJason A. Donenfeld3-4/+0
2016-01-14ui-shared: prevent malicious filename from injecting headersJason A. Donenfeld3-3/+32
2016-01-14ui-shared: Avoid new line injection into redirect headerJason A. Donenfeld1-1/+3
2016-01-14Fix missing prototype declarationsPeter Colberg6-15/+15
Signed-off-by: Peter Colberg <peter@colberg.org>
2016-01-13ui-repolist: return HTTP 404 if no repositories foundPeter Colberg1-3/+17
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>