| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
Update to git version v2.7.1, no changes required.
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
|
|
| |
There are no longer any users of this function.
Signed-off-by: John Keeping <john@keeping.me.uk>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: John Keeping <john@keeping.me.uk>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
We never use any format other than FMT_SHORTDATE, so move that into the
function.
Signed-off-by: John Keeping <john@keeping.me.uk>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Avoid integer truncation on 64-bit systems.
Coverity-id: 13864
Signed-off-by: John Keeping <john@keeping.me.uk>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
Unrestricts plain/ to contents likely to be executed by browser.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Peter Colberg <peter@colberg.org>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Peter Colberg <peter@colberg.org>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
| |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
|
|
| |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
|
|
| |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
|
|
|
| |
Coverity-id: 13910
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
|
| |
Coverity-id: 13945
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
|
| |
Coverity-id: 13946
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
|
| |
Coverity-id: 13947
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
|
| |
Coverity-id: 13944
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
|
| |
Coverity-id: 13943
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
|
| |
Coverity-id: 13939
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
|
| |
Coverity-id: 13940
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
|
| |
Coverity-id: 13930
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
|
| |
Coverity-id: 13931
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
| |
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
|
|
|
|
| |
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
|
|
| |
Signed-off-by: Christian Hesse <mail@eworm.de>
|