]> granicus.if.org Git - cgit/log
cgit
12 years agoUpdate copyright headers to have latest dates.
Jason A. Donenfeld [Thu, 12 Jul 2012 18:00:40 +0000 (20:00 +0200)]
Update copyright headers to have latest dates.

12 years agoui-repolist: Case insensitive sorting and age sort
Jason A. Donenfeld [Thu, 12 Jul 2012 17:13:39 +0000 (19:13 +0200)]
ui-repolist: Case insensitive sorting and age sort

Add two options, one for doing the ordinary name sorts in a
case-insensitive manner, and another for choosing to sort repos in each
section by age instead of by name.

12 years agoscan-tree: Support gitweb.category.
Jason A. Donenfeld [Wed, 11 Jul 2012 03:32:45 +0000 (05:32 +0200)]
scan-tree: Support gitweb.category.

Use gitweb.category from git config to determine repo's section, if
option is enabled.

12 years agoscan-tree: Support gitweb.description.
Jason A. Donenfeld [Wed, 11 Jul 2012 02:24:01 +0000 (04:24 +0200)]
scan-tree: Support gitweb.description.

Use gitweb.description instead of description file to determine
description, if option is enabled.

12 years agocss: only use div#cgit
Ferry Huberts [Mon, 19 Mar 2012 22:09:25 +0000 (23:09 +0100)]
css: only use div#cgit

Don't bother with 'body' and 'div#cgit form', since
everything is wrapped in 'div#cgit' already.
Removing these two types makes embedding even easier.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
12 years agoMerge branch 'fh/mimetypes'
Lars Hjemli [Sun, 18 Mar 2012 21:01:28 +0000 (21:01 +0000)]
Merge branch 'fh/mimetypes'

12 years agoMerge branch 'jp/defbranch'
Lars Hjemli [Sun, 18 Mar 2012 21:00:18 +0000 (21:00 +0000)]
Merge branch 'jp/defbranch'

12 years agoMerge branch 'lh/module-links'
Lars Hjemli [Sun, 18 Mar 2012 20:59:36 +0000 (20:59 +0000)]
Merge branch 'lh/module-links'

12 years agoMerge branch 'stable'
Lars Hjemli [Sun, 18 Mar 2012 20:23:30 +0000 (20:23 +0000)]
Merge branch 'stable'

12 years agocss: force text color to black on decorations
Ferry Huberts [Sun, 18 Mar 2012 10:44:05 +0000 (11:44 +0100)]
css: force text color to black on decorations

improves readability when embedding into a page that
has the text color set to a different color

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
12 years agocss: vertically align the cgit logo image
Ferry Huberts [Sun, 18 Mar 2012 10:44:04 +0000 (11:44 +0100)]
css: vertically align the cgit logo image

When embedding cgit in other pages, the logo alignment needs to be
specified to avoid any css rules from the embedding page to make the
page look bad.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
12 years agocss: prefix all styles with div#cgit
Ferry Huberts [Sun, 18 Mar 2012 10:44:03 +0000 (11:44 +0100)]
css: prefix all styles with div#cgit

to facilitate easier embedding

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
12 years agofilters/syntax-highlighting.sh: work around highlight --force bug
Ferry Huberts [Sun, 18 Mar 2012 11:48:01 +0000 (11:48 +0000)]
filters/syntax-highlighting.sh: work around highlight --force bug

12 years agofilters/highlight.sh: manually support highlight version 2 and 3
Ferry Huberts [Sun, 18 Mar 2012 11:38:26 +0000 (11:38 +0000)]
filters/highlight.sh: manually support highlight version 2 and 3

12 years agotests: properly quote arguments to printf
Ferry Huberts [Sun, 18 Mar 2012 10:43:50 +0000 (11:43 +0100)]
tests: properly quote arguments to printf

v2: incorporate remarks of Lukas

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
12 years agotests: handle paths with whitespace
Ferry Huberts [Sun, 18 Mar 2012 10:43:49 +0000 (11:43 +0100)]
tests: handle paths with whitespace

v2: incorporate remarks of Lukas

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
12 years agoMerge branch 'stable'
Lars Hjemli [Sun, 18 Mar 2012 10:19:59 +0000 (10:19 +0000)]
Merge branch 'stable'

12 years agoCGIT-0.9.0.3 v0.9.0.3
Lars Hjemli [Sun, 18 Mar 2012 10:16:27 +0000 (10:16 +0000)]
CGIT-0.9.0.3

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
12 years agoMerge branch 'stable'
Lars Hjemli [Sun, 18 Mar 2012 10:10:10 +0000 (10:10 +0000)]
Merge branch 'stable'

12 years agosegfault fix on some bogus requests
Eric Wong [Wed, 4 Jan 2012 09:01:51 +0000 (09:01 +0000)]
segfault fix on some bogus requests

ctx.qry.head can be NULL in some cases due to bad requests
by weird bots.  I managed to reproduce with:

   PATH_INFO=/repo.git/shop.php QUERY_STRING=id=

Signed-off-by: Eric Wong <normalperson@yhbt.net>
12 years agouse correct type for sizeof
Jamie Couture [Thu, 12 Jan 2012 03:38:49 +0000 (22:38 -0500)]
use correct type for sizeof

**L would have worked well too.  Depending on the distribution sizeof *L
may return 8 instead of 4. **L is preferable, but since we don't expect
this datatype to change very often, sizeof int is less subtle and easier
to understand.

Signed-off-by: Jamie Couture <jamie.couture@gmail.com>
12 years agoui-ssdiff.c: correct length check for LCS table
Eric Wong [Wed, 4 Jan 2012 08:59:15 +0000 (08:59 +0000)]
ui-ssdiff.c: correct length check for LCS table

Each individual string may be too long for its respective
dimension of the LCS table.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
13 years agoMerge branch 'stable'
Lars Hjemli [Tue, 3 Jan 2012 21:19:29 +0000 (21:19 +0000)]
Merge branch 'stable'

13 years agoFix segmentation fault in empty repository
John Keeping [Thu, 24 Nov 2011 11:54:47 +0000 (11:54 +0000)]
Fix segmentation fault in empty repository

When a repository is empty, the ATOM feed link is written in the header,
but this involves formatting ctx->qry.head which is NULL in this case.
With glibc, vsnprintf formats "%s" with a NULL input as "(null)" but on
Solaris this results in a segmentation fault.  Since we don't have a
meaningful head for the atom feed in an empty repository, it's simplest
not to write out the link element at all.

Signed-off-by: John Keeping <john@metanate.com>
13 years agoMerge branch 'stable'
Lars Hjemli [Tue, 3 Jan 2012 16:48:22 +0000 (16:48 +0000)]
Merge branch 'stable'

13 years agoMakefile: fetch git tarballs from http://hjemli.net/git/git/
Lars Hjemli [Tue, 3 Jan 2012 16:43:33 +0000 (16:43 +0000)]
Makefile: fetch git tarballs from http://hjemli.net/git/git/

The git tarballs are currently not available from kernel.org, so for now
the makefile will download autogenerated tarballs from cgit.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agofix css color value and vertical-align value
Norberto Lopes [Wed, 23 Nov 2011 01:59:26 +0000 (17:59 -0800)]
fix css color value and vertical-align value

13 years agoui-ssdiff.c: set correct diffmode in "control panel"
Tim Chen [Tue, 3 Jan 2012 16:09:59 +0000 (16:09 +0000)]
ui-ssdiff.c: set correct diffmode in "control panel"

When side-by-side-diffs=1 was set in cgitrc, specifying 'ss=0' in the
querystring would not set the 'unified' option as active in the dropdown
box used to select diffmode.

13 years agoMerge branch 'stable'
Lars Hjemli [Tue, 3 Jan 2012 16:06:58 +0000 (16:06 +0000)]
Merge branch 'stable'

13 years agoFix diff mode switching when side-by-side-diffs=1
Tim Chen [Tue, 3 Jan 2012 16:02:14 +0000 (16:02 +0000)]
Fix diff mode switching when side-by-side-diffs=1

When side-by-side-diffs=1 was set in cgitrc, specyfing 'ss=0' in the query-
string would not switch to unified diffs. This patch fixes the issue by
introducing a separate variable to track the occurrence of "ss" in the
querystring.

13 years agoui-log.c: do not show remote heads if enable-remote-branches=0
Georg Müller [Tue, 3 Jan 2012 15:30:50 +0000 (15:30 +0000)]
ui-log.c: do not show remote heads if enable-remote-branches=0

If remote branches are not enabled, the branches are still listed in
the log view. This patch removes them if enable-remote-branches=0.

13 years agoAdd sort parameter to pager of repo list
Tobias Grimm [Sun, 31 Jul 2011 00:44:05 +0000 (02:44 +0200)]
Add sort parameter to pager of repo list

When the repolist is paged, the page-links are missing the sort parameter,
causing the initial page to be custom sorted, but any clicked page will
then be with the default sort order again.

13 years agoui-ssdiff: move LCS table away from the stack
Jamie Couture [Sat, 17 Sep 2011 22:25:01 +0000 (18:25 -0400)]
ui-ssdiff: move LCS table away from the stack

Printing deferred line changes for files containing long lines would
cause a segfault.

- limit LCS table size: 128x128.
- move LCS table to global context: avoid allocating/freeing memory
  for every deferred line change.

Signed-off-by: Jamie Couture <jamie.couture@gmail.com>
13 years agoshared.c: Only setenv() if value is non-null
Lukas Fleischer [Wed, 14 Sep 2011 09:52:43 +0000 (11:52 +0200)]
shared.c: Only setenv() if value is non-null

Some setenv() implementations (e.g. the one in OpenBSD's stdlib)
segfault if we pass a NULL value. Only set environment variables if the
corresponding settings are defined to avoid this.

Note that this is a minor behaviour change as environment variables were
supposed to be set to an empty string if a setting was undefined. Given
that this feature isn't part of any official release yet, there's no
need to worry about backwards compatibility, really. Change the
documentation accordingly.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
13 years agoshared.c: Remove unused "linux/limits.h" include
Lukas Fleischer [Fri, 22 Jul 2011 15:15:49 +0000 (17:15 +0200)]
shared.c: Remove unused "linux/limits.h" include

This isn't used anywhere and prevents the code from being compiled on
other platforms, such as *BSD.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
13 years agoMerge branch 'stable'
Lars Hjemli [Fri, 22 Jul 2011 12:22:17 +0000 (12:22 +0000)]
Merge branch 'stable'

13 years agoFix potential XSS vulnerability in rename hint
Lukas Fleischer [Fri, 22 Jul 2011 11:47:19 +0000 (13:47 +0200)]
Fix potential XSS vulnerability in rename hint

The file name displayed in the rename hint should be escaped to avoid
XSS. Note that this vulnerability is only applicable when an attacker
has gained push access to the repository.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoRemove dead initialization in cgit_parse_commit()
Lukas Fleischer [Thu, 21 Jul 2011 21:04:53 +0000 (23:04 +0200)]
Remove dead initialization in cgit_parse_commit()

The value stored to "t" during its initialization gets overwritten in
any case, so just leave it uninitialized. Spotted by clang-analyzer.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'stable'
Lars Hjemli [Thu, 21 Jul 2011 14:27:03 +0000 (14:27 +0000)]
Merge branch 'stable'

13 years agoCGIT 0.9.0.2 v0.9.0.2
Lars Hjemli [Thu, 21 Jul 2011 14:23:50 +0000 (14:23 +0000)]
CGIT 0.9.0.2

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agohtml.c: avoid out-of-bounds access for url_escape_table
Eric Wong [Thu, 21 Jul 2011 03:24:54 +0000 (03:24 +0000)]
html.c: avoid out-of-bounds access for url_escape_table

This fixes a segfault for me with with -O2 optimization on x86
with gcc (Debian 4.4.5-8) 4.4.5

I can reliably reproduce it with the following parameters
when pointed to the git.git repository:

PATH_INFO='/git-core.git/diff/'
QUERY_STRING='id=2b93bfac0f5bcabbf60f174f4e7bfa9e318e64d5&id2=d6da71a9d16b8cf27f9d8f90692d3625c849cbc8'

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'stable'
Lars Hjemli [Thu, 21 Jul 2011 12:50:07 +0000 (12:50 +0000)]
Merge branch 'stable'

13 years agotests: fix failures when CDPATH is set
Ferry Huberts [Thu, 21 Jul 2011 12:43:54 +0000 (14:43 +0200)]
tests: fix failures when CDPATH is set

Some tests would otherwise fail because commands such as
  cd trash/repos/foo && git rev-list --reverse HEAD | head -1
would return 2 lines instead of 1: the 'cd' command also
prints the path when CDPATH is set.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoui-repolist.c: fallback to "master" if no default branch is specified
Lars Hjemli [Tue, 19 Jul 2011 09:34:18 +0000 (09:34 +0000)]
ui-repolist.c: fallback to "master" if no default branch is specified

When looking for the modtime of a repo we used to rely on repo.defbranch
having a value. This is no longer true so this patch provides a default
value when needed.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoui_plain: automatically lookup mimetype when mimetype-file is set
Ferry Huberts [Tue, 19 Jul 2011 08:51:58 +0000 (10:51 +0200)]
ui_plain: automatically lookup mimetype when mimetype-file is set

For sites that do not want to configure mime types by hand but
still want the correct mime type for 'plain' blobs, configuring
a mime type file is made possible. This is handy since such a
file is normally already provided (at least on Linux systems).

Also, this reflects the gitweb option '$mimetypes_file'

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMakefile: fix oversight of not using $(DESTDIR) in uninstall
Ferry Huberts [Mon, 18 Jul 2011 10:45:56 +0000 (12:45 +0200)]
Makefile: fix oversight of not using $(DESTDIR) in uninstall

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agocommit-links.sh: improve regular expressions
Ferry Huberts [Mon, 18 Jul 2011 10:45:20 +0000 (12:45 +0200)]
commit-links.sh: improve regular expressions

The default length for sha1 abbreviations in git is 7.

A '#num' at the beginning of the commit message is now
recognised, a ':#num' as well, etc.: a '#num' anywhere
is now converted to a link.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agocgit.c: use resolve_ref() to guess_defbranch()
Lars Hjemli [Mon, 20 Jun 2011 22:52:51 +0000 (22:52 +0000)]
cgit.c: use resolve_ref() to guess_defbranch()

The resolve_ref() function handles reading of git- and filesystem
symbolic links (including proper whitespace trimming) and packed refs.
There's no point in reimplementing this function in cgit.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoOnly guess default branch when a repo page is requested
Lars Hjemli [Mon, 20 Jun 2011 18:59:10 +0000 (20:59 +0200)]
Only guess default branch when a repo page is requested

There's no need to invoke guess_defbranch() for each repo during
scan-path, since repo.defbranch is only used when repo content is
being displayed.

Also, some users prefer to register their projects manually in cgitrc
but they got no benefit from the new repo.defbranch handling.

This patch tries to rectify these issues by only invoking guess_defbranch()
when needed, regardless of how the repo was registered.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoguess default branch from HEAD
Julius Plenz [Thu, 7 Apr 2011 10:59:24 +0000 (12:59 +0200)]
guess default branch from HEAD

This is a saner alternative than hardcoding the default branch to be
"master". The add_repo() function will now check for a symbolic ref in
repo_path/HEAD. If there is a suitable one, overwrite repo->defbranch
with it. Note that you'll need to strip the newline from the file (->
len-17).

If HEAD is a symbolic link pointing directly to a branch below
refs/heads/, do a readlink() instead to find the ref name.

Signed-off-by: Julius Plenz <plenz@cis.fu-berlin.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'stable'
Lars Hjemli [Sat, 18 Jun 2011 12:59:51 +0000 (14:59 +0200)]
Merge branch 'stable'

13 years agocgit.c: improve error message when git repo cannot be accessed
Lars Hjemli [Sat, 18 Jun 2011 12:32:43 +0000 (14:32 +0200)]
cgit.c: improve error message when git repo cannot be accessed

The current 'Not a git repository' error message is not very helpful,
since it doesn't state the cause of the problem.

This patch uses errno to provide a hint of the underlying problem. It
would have been even better to give the exact cause (e.g. for ENOENT it
would be nice to know which file/directory is missing), but that would
require reimplementing setup_git_directory_gently() which seems a bit
overkill.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoDo not provide a default value for `module-link`
Lars Hjemli [Wed, 15 Jun 2011 08:13:15 +0000 (10:13 +0200)]
Do not provide a default value for `module-link`

The old default value was an abomination which never should have been
allowed to see the light of day.

This patch removes the default, which is a backwards incompatible change
with low probability of causing anyone any real trouble (a repo with
submodules, displayed by cgit using the default value of `module-link`,
is very unlikely to actually generate working links).

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoui-plain.c: add support for path-selected submodule links
Lars Hjemli [Wed, 15 Jun 2011 08:10:41 +0000 (10:10 +0200)]
ui-plain.c: add support for path-selected submodule links

In ui-plain.c, the links generated for submodule entry ignored the fact
that the entry was in fact a submodule. This patch adds proper submodule
links to the plain directory listings.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoui-tree.c: add support for path-selected submodule links
Lars Hjemli [Wed, 15 Jun 2011 08:04:13 +0000 (10:04 +0200)]
ui-tree.c: add support for path-selected submodule links

The current 'repo.module-link' option is sufficient when all gitlinks
in a repository can be converted to commit links in a uniform way, but
not when different submodules/paths needs different settings.

This patch adds support for 'repo.module-link.<path>', which will be
used for linking to submodules at paths matching one such entry.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'stable'
Lars Hjemli [Wed, 15 Jun 2011 08:40:00 +0000 (10:40 +0200)]
Merge branch 'stable'

13 years agocgitrc.5.txt: document repo.module-link
Lars Hjemli [Wed, 15 Jun 2011 07:58:42 +0000 (09:58 +0200)]
cgitrc.5.txt: document repo.module-link

The global module-link option can be overridden per repo, but this has
never been documented.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'lh/clone-url'
Lars Hjemli [Mon, 13 Jun 2011 23:05:10 +0000 (23:05 +0000)]
Merge branch 'lh/clone-url'

13 years agocgit.c: add 'clone-url' setting with support for macro expansion
Lars Hjemli [Mon, 6 Jun 2011 20:49:13 +0000 (20:49 +0000)]
cgit.c: add 'clone-url' setting with support for macro expansion

The current 'clone-prefix' setting has some known issues:
* All repos get the same 'clone-prefix' value since the setting is not
  adopted during repo registration (in cgitrc, or during scan-path traversal),
  but only when the setting is used.
* The generated clone-urls for a repo is a combination of 'clone-prefix', a
  slash and the repo url. This doesn't work well with e.g. ssh-style urls
  like 'git@example.org:repo.git', since the inserted slash will make the
  repo relative to the filesystem root.
* If 'remove-suffix' is enabled, the generated clone-urls will not work for
  cloning (except for http-urls to cgit itself) since they miss the '.git'
  suffix.

The new 'clone-url' setting is designed to avoid the mentioned issues:
* Each repo adopts the default 'clone-url' when the repo is defined. This
  allows different groups of repos to adopt different values.
* The clone-urls for a repo is generated by expanding environment variables
  in a string template without inserting arbitrary characters, hence any
  kind of clone-url can be generated.
* Macro expansion also eases the 'remove-suffix' pain since it's now
  possible to define e.g. 'clone-url=git://foo.org/$CGIT_REPO_URL.git' for
  a set of repos. A furter improvement would be to define e.g.
  $CGIT_REPO_SUFFIX to '.git' for all repos which had their url prettified,
  or to store the original $CGIT_REPO_URL in e.g. $CGIT_REPO_REAL_URL before
  suffix removal.

Reviewed-by: Ferry Huberts <mailings@hupie.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agocgit.c: always setup cgit repo environment variables
Lars Hjemli [Mon, 6 Jun 2011 19:29:58 +0000 (19:29 +0000)]
cgit.c: always setup cgit repo environment variables

When cgit learned to setup environment variables for certain repo
settings before invoking a filter process, the setup occurred inside
cgit_open_filter().

This patch moves the setup out of cgit_open_filter() and into
prepare_repo_cmd() to prepare for additional uses of these variables.

Reviewed-by: Ferry Huberts <mailings@hupie.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agocgitrc.5.txt: reformat the "FILTER API" section
Lars Hjemli [Mon, 13 Jun 2011 22:34:13 +0000 (22:34 +0000)]
cgitrc.5.txt: reformat the "FILTER API" section

This patch makes the generated man-page for the filer api section more
similar to the other sections. Also, the bulleted list of environment
variables wasn't rendered correctly (with asciidoc 8.5.2), without an
empty line before the first item.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'stable'
Lars Hjemli [Mon, 13 Jun 2011 22:02:02 +0000 (22:02 +0000)]
Merge branch 'stable'

Conflicts:
cgitrc.5.txt

13 years agocgitrc.5.txt: describe macro expansion of cgitrc options
Lars Hjemli [Mon, 13 Jun 2011 21:58:39 +0000 (21:58 +0000)]
cgitrc.5.txt: describe macro expansion of cgitrc options

This is a new feature in cgit-0.9 which was formerly undocumented.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'stable'
Lars Hjemli [Mon, 13 Jun 2011 13:28:18 +0000 (13:28 +0000)]
Merge branch 'stable'

13 years agoREADME: update some stale information/add some new
Lars Hjemli [Mon, 13 Jun 2011 13:24:46 +0000 (13:24 +0000)]
README: update some stale information/add some new

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'stable'
Lars Hjemli [Mon, 13 Jun 2011 12:41:01 +0000 (12:41 +0000)]
Merge branch 'stable'

13 years agoCGIT 0.9.0.1 v0.9.0.1
Lars Hjemli [Mon, 13 Jun 2011 12:37:04 +0000 (12:37 +0000)]
CGIT 0.9.0.1

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'stable'
Lars Hjemli [Sun, 12 Jun 2011 21:23:14 +0000 (21:23 +0000)]
Merge branch 'stable'

13 years agoui-plain.c: fix html and links generated by print_dir() and print_dir_entry()
Lars Hjemli [Sun, 12 Jun 2011 20:49:35 +0000 (20:49 +0000)]
ui-plain.c: fix html and links generated by print_dir() and print_dir_entry()

This patch fixes the following issues:
* the base argument usually isn't zero-terminated, so printing base
  without considering baselen will usually generate random garbage
* when the current url represents a directory but doesn't end in a slash,
  relative urls would be incorrect
* using unescaped paths allows XSS

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'stable'
Lars Hjemli [Mon, 6 Jun 2011 19:12:21 +0000 (19:12 +0000)]
Merge branch 'stable'

13 years agoscan-tree.c: avoid memory leak
Jamie Couture [Fri, 3 Jun 2011 23:21:01 +0000 (19:21 -0400)]
scan-tree.c: avoid memory leak

No references are kept to the memory pointed to by the 'rel' variable, so
it should be free()'d before returning from add_repo().

Signed-off-by: Jamie Couture <jamie.couture@gmail.com>
Signed-off-by: Lars Hjemli <larsh@hjemli.net>
13 years agoMerge branch 'stable'
Lars Hjemli [Thu, 2 Jun 2011 10:33:23 +0000 (10:33 +0000)]
Merge branch 'stable'

13 years agoui-log.c: do not link from age column
Lars Hjemli [Thu, 2 Jun 2011 10:30:26 +0000 (10:30 +0000)]
ui-log.c: do not link from age column

The link url wasn't properly escaped, and since the link was identical
to the one used on the commit message it didn't serve any special purpose.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoui-snapshot.c: remove debug cruft
Lars Hjemli [Thu, 2 Jun 2011 10:26:41 +0000 (10:26 +0000)]
ui-snapshot.c: remove debug cruft

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoui-stats.c: fix invalid html
Lars Hjemli [Mon, 30 May 2011 22:21:22 +0000 (22:21 +0000)]
ui-stats.c: fix invalid html

Found by http://validator.w3.org.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'stable'
Lars Hjemli [Mon, 30 May 2011 21:57:25 +0000 (23:57 +0200)]
Merge branch 'stable'

13 years agoProperly escape ampersands inside HTML attributes
Lukas Fleischer [Tue, 24 May 2011 18:38:40 +0000 (20:38 +0200)]
Properly escape ampersands inside HTML attributes

Ampersands ("&") appearing inside HTML attributes need to be translated
to "&amp;". Otherwise, invalid XHTML will be generated at various
places, such as at tree views containing links to submodules.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoui_repolist: get modtime from packed-refs as fallback
Ferry Huberts [Fri, 13 May 2011 21:09:34 +0000 (23:09 +0200)]
ui_repolist: get modtime from packed-refs as fallback

When no modtime could be determined then as a final
fallback try to get it from the packed-refs.

This will show an idle time when a repository has been packed
with all refs in the packed-refs.

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'lh/panel'
Lars Hjemli [Mon, 23 May 2011 21:29:24 +0000 (23:29 +0200)]
Merge branch 'lh/panel'

13 years agoMerge branch 'fh/filter-api'
Lars Hjemli [Mon, 23 May 2011 21:28:38 +0000 (23:28 +0200)]
Merge branch 'fh/filter-api'

Conflicts:
cgit.c

13 years agoMerge branch 'stable'
Lars Hjemli [Mon, 23 May 2011 21:26:10 +0000 (23:26 +0200)]
Merge branch 'stable'

13 years agofix virtual-root if script-name is ""
Mark Lodato [Fri, 13 May 2011 23:59:07 +0000 (19:59 -0400)]
fix virtual-root if script-name is ""

In d0cb841 (Avoid trailing slash in virtual-root), virtual-root was set
from script-name using trim_end().  However, if script-name was the
empty string (""), which happens when cgit is used to serve the root
path on a domain (/), trim_end() returns NULL and cgit acts like
virtual-root is not available.  Now, set virtual-root to "" in this
case, which fixes this bug.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoui-repolist.c: do not return random/stale data from read_agefile
Lars Hjemli [Mon, 23 May 2011 21:10:37 +0000 (23:10 +0200)]
ui-repolist.c: do not return random/stale data from read_agefile

When git/date.c:parse_date() cannot parse its input it returns -1. But
read_agefile() checks if the result is different from zero, essentialy
returning random data from the date buffer when parsing fails. This
patch fixes the issue by verifying that the result from parse_date()
is positive.

Noticed-by: Julius Plenz <plenz@cis.fu-berlin.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoAvoid null pointer dereference in cgit_print_diff().
Lukas Fleischer [Tue, 5 Apr 2011 08:38:53 +0000 (10:38 +0200)]
Avoid null pointer dereference in cgit_print_diff().

When calling cgit_print_diff() with a bad new_rev and a NULL old_rev,
checking for new_rev's parent commit will result in a null pointer
dereference. Returning on an invalid commit before dereferencing fixes
this. Spotted with clang-analyzer.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoAvoid null pointer dereference in reencode().
Lukas Fleischer [Tue, 5 Apr 2011 08:35:43 +0000 (10:35 +0200)]
Avoid null pointer dereference in reencode().

Returning "*txt" if "txt" is a null pointer is a bad thing. Spotted with
clang-analyzer.

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoFix memory leak in http_parse_querystring().
Lukas Fleischer [Wed, 30 Mar 2011 23:21:39 +0000 (01:21 +0200)]
Fix memory leak in http_parse_querystring().

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoRemove unused variable from cgit_diff_tree().
Lukas Fleischer [Wed, 30 Mar 2011 17:17:58 +0000 (19:17 +0200)]
Remove unused variable from cgit_diff_tree().

Seen with "-Wunused-but-set-variable".

Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoshared.c: do not modify const memory
Lars Hjemli [Sun, 22 May 2011 10:45:32 +0000 (12:45 +0200)]
shared.c: do not modify const memory

Noticed-by: zhongjj <zhongjj@lemote.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agotests: add tests for links with space in path and/or args
Lars Hjemli [Sun, 22 May 2011 10:22:56 +0000 (12:22 +0200)]
tests: add tests for links with space in path and/or args

These tests tries to detect bad links in various pages. On the log page,
there currently exists links which are not properly escaped due to the
use of cgit_fileurl() when building the link. For now, this bug is simply
tagged as such.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agotests/setup.sh: add support for known bugs
Lars Hjemli [Sun, 22 May 2011 10:21:31 +0000 (12:21 +0200)]
tests/setup.sh: add support for known bugs

This patch makes it possible to add tests for known bugs without aborting
the testrun.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoFix escaping of paths with spaces
Jonathon Mah [Sun, 10 Apr 2011 11:10:03 +0000 (04:10 -0700)]
Fix escaping of paths with spaces

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoMerge branch 'dm/disable-clone'
Lars Hjemli [Sat, 14 May 2011 18:00:33 +0000 (20:00 +0200)]
Merge branch 'dm/disable-clone'

13 years agoMerge branch 'stable'
Lars Hjemli [Sat, 26 Mar 2011 14:22:35 +0000 (15:22 +0100)]
Merge branch 'stable'

13 years agoAdd advice about scan-path in cgitrc.5.txt
Julius Plenz [Thu, 10 Mar 2011 16:03:24 +0000 (17:03 +0100)]
Add advice about scan-path in cgitrc.5.txt

Signed-off-by: Julius Plenz <plenz@cis.fu-berlin.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agofix two encoding bugs
Julius Plenz [Thu, 10 Mar 2011 16:03:23 +0000 (17:03 +0100)]
fix two encoding bugs

reencode() takes three arguments in the order (txt, from, to), opposed to
reencode_string, which will, like iconv, handle the arguments with from
and to swapped. Fix that (this makes reencode more intuitive).
If src and dst encoding are equivalent, don't do any encoding.

If no special encoding parameter is found within the commit, assume
UTF-8 and explicitly convert to PAGE_ENCODING. The change to reencode()
mentioned above avoids re-encoding a UTF-8 string to UTF-8, for example.

Signed-off-by: Julius Plenz <plenz@cis.fu-berlin.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agomake enable-log-linecount independent of -filecount
Julius Plenz [Thu, 10 Mar 2011 16:03:22 +0000 (17:03 +0100)]
make enable-log-linecount independent of -filecount

You should be able to independently switch file and line count on and
off. This patch makes the code work like the documentation suggests: no
dependency for line counts to be displayed only when file counts are.

Signed-off-by: Julius Plenz <plenz@cis.fu-berlin.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agonew_filter: correctly initialise all arguments for a new filter
Ferry Huberts [Wed, 9 Mar 2011 07:16:59 +0000 (08:16 +0100)]
new_filter: correctly initialise all arguments for a new filter

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agosource_filter: fix a memory leak
Ferry Huberts [Wed, 9 Mar 2011 07:16:58 +0000 (08:16 +0100)]
source_filter: fix a memory leak

Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agocgitrc.5: tar.xz is a supported snapshot format
Lars Hjemli [Sat, 26 Mar 2011 12:40:20 +0000 (13:40 +0100)]
cgitrc.5: tar.xz is a supported snapshot format

When tar.xz support was added in 0642435fed (2009-12-08: Add
.tar.xz-snapshot support), cgitrc.5 was not updated to match. This
patch fixes the issue.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
13 years agoFix crash when projectsfile cannot be opened
Stefan Gehn [Sat, 26 Mar 2011 08:51:39 +0000 (09:51 +0100)]
Fix crash when projectsfile cannot be opened

This patch makes cgit properly abort in case the projectsfile cannot
be opened. Without the added return cgit continues using the projects
pointer which is NULL and thus causes a segfault.