aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* Merge branch 'lh/clone-url'Lars Hjemli2011-06-1311-16/+40
|\
| * 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> Lars Hjemli2011-06-137-4/+26
| * 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> Lars Hjemli2011-06-138-12/+14
|/
* 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> Lars Hjemli2011-06-131-26/+24
* Merge branch 'stable'•••Conflicts: cgitrc.5.txt Lars Hjemli2011-06-131-4/+26
|\
| * 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> Lars Hjemli2011-06-131-4/+26
* | Merge branch 'stable'Lars Hjemli2011-06-131-16/+6
|\|
| * README: update some stale information/add some new•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2011-06-131-16/+6
* | Merge branch 'stable'Lars Hjemli2011-06-131-1/+1
|\|
| * CGIT 0.9.0.1•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2011-06-131-1/+1
* | Merge branch 'stable'Lars Hjemli2011-06-121-19/+46
|\|
| * 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> Lars Hjemli2011-06-121-19/+46
* | Merge branch 'stable'Lars Hjemli2011-06-061-0/+2
|\|
| * 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> Jamie Couture2011-06-061-0/+2
* | Merge branch 'stable'Lars Hjemli2011-06-023-12/+1
|\|
| * 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> Lars Hjemli2011-06-022-10/+1
| * ui-snapshot.c: remove debug cruft•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2011-06-021-2/+0
* | ui-stats.c: fix invalid html•••Found by http://validator.w3.org. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2011-05-301-1/+1
* | Merge branch 'stable'Lars Hjemli2011-05-301-1/+3
|\|
| * 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> Lukas Fleischer2011-05-301-1/+3
* | 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> Ferry Huberts2011-05-301-3/+12
* | Merge branch 'lh/panel'Lars Hjemli2011-05-238-62/+124
|\ \
| * | ui-stats.c: create a control panel for stat options•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2011-03-071-24/+27
| * | ui-diff.c: create a control panel for diff options•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2011-03-065-38/+88
| * | html.c: add html_intoption()•••This is similar to html_option, but for int values. Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2011-03-062-0/+9
* | | Merge branch 'fh/filter-api'•••Conflicts: cgit.c Lars Hjemli2011-05-2311-21/+127
|\ \ \
| * | | shared.c: use execvp() to execute filter commands•••This reintroduces the use of execvp(), since the filter commands doesn't always contain an absolute path (i.e. snapshot compression filters). Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2011-03-261-56/+10
| * | | filters: document environment variables in filter scripts•••Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Ferry Huberts2011-03-263-5/+64
| * | | cgit_open_filter: hand down repo configuration to script•••The environment variables can be used to (for example) resolve the following situation: Suppose a server setup in which each repository has a trac instance; the commit filter needs to know with which repository it's dealing in order to be able to resolve the #123 ticket numbers in the commit messages into hyperlinks into the correct trac instance. Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Ferry Huberts2011-03-261-1/+77
| * | | cgit_open_filter: also take the repo as a parameter•••To prepare for handing repo configuration to the filter script that is executed. Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Ferry Huberts2011-03-267-9/+9
| * | | new_filter: determine extra_args from filter type•••Currently the number of extra arguments is linked hard to the type of the filter. This is also logical since it would be confusing to have a different number of arguments for the same type of filter depending on the context under which the filter is run (unless ofcourse one the parameters would make the context clear, which is currently not the case). Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Ferry Huberts2011-03-262-7/+24
| |/ /
* | | Merge branch 'stable'Lars Hjemli2011-05-239-29/+61
|\ \ \ | | |/ | |/|
| * | 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> Mark Lodato2011-05-231-1/+4
| * | 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> Lars Hjemli2011-05-231-1/+1
| * | 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> Lukas Fleischer2011-05-231-2/+6
| * | 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> Lukas Fleischer2011-05-231-1/+4
| * | Fix memory leak in http_parse_querystring().•••Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lukas Fleischer2011-05-231-2/+3
| * | 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> Lukas Fleischer2011-05-231-3/+2
| * | shared.c: do not modify const memory•••Noticed-by: zhongjj <zhongjj@lemote.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Lars Hjemli2011-05-231-11/+3
| * | 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> Lars Hjemli2011-05-233-3/+19
| * | 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> Lars Hjemli2011-05-231-1/+13
| * | Fix escaping of paths with spaces•••Signed-off-by: Lars Hjemli <hjemli@gmail.com> Jonathon Mah2011-05-231-4/+6
* | | Merge branch 'dm/disable-clone'Lars Hjemli2011-05-145-23/+40
|\ \ \
| * | | Return 404 on command not found•••We were returning 200 before. Even 404 is questionable in all cases, but 200 was totally wrong. Also match the case of all of the "Not found" status messsages. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Dan McGee2011-02-191-1/+3
| * | | Allow disabling of HTTP clone URLs•••If advertising other URLs to your users, you may not want to make this available through cgit (e.g. if you have the smart HTTP transport set up elsewhere). Allow disabling the three magic commands that simulate the git server, but default it to enabled. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Dan McGee2011-02-193-0/+14
| * | | Add is_clone flag to available commands•••This will be used to make these operations configurable via a config option. Signed-off-by: Dan McGee <dpmcgee@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com> Dan McGee2011-02-192-22/+23
* | | | Merge branch 'stable'Lars Hjemli2011-03-262-11/+18
|\ \ \ \ | | |/ / | |/| |
| * | | 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> Julius Plenz2011-03-261-2/+3
| * | | 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> Julius Plenz2011-03-261-9/+15
* | | | 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> Julius Plenz2011-03-261-15/+14
|/ / /