aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Avoid null pointer dereference in cgit_print_diff().Gravatar Lukas Fleischer2011-05-24-2/+6
| | | | | | | | | | 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>
* Avoid null pointer dereference in reencode().Gravatar Lukas Fleischer2011-05-24-1/+4
| | | | | | | | 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>
* Fix memory leak in http_parse_querystring().Gravatar Lukas Fleischer2011-05-24-2/+3
| | | | | Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Remove unused variable from cgit_diff_tree().Gravatar Lukas Fleischer2011-05-24-3/+2
| | | | | | | Seen with "-Wunused-but-set-variable". Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* shared.c: do not modify const memoryGravatar Lars Hjemli2011-05-24-11/+3
| | | | | Noticed-by: zhongjj <zhongjj@lemote.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* tests: add tests for links with space in path and/or argsGravatar Lars Hjemli2011-05-24-3/+19
| | | | | | | | | 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>
* tests/setup.sh: add support for known bugsGravatar Lars Hjemli2011-05-24-1/+13
| | | | | | | This patch makes it possible to add tests for known bugs without aborting the testrun. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Fix escaping of paths with spacesGravatar Jonathon Mah2011-05-24-4/+6
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add advice about scan-path in cgitrc.5.txtGravatar Julius Plenz2011-03-26-2/+3
| | | | | Signed-off-by: Julius Plenz <plenz@cis.fu-berlin.de> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* fix two encoding bugsGravatar Julius Plenz2011-03-26-9/+15
| | | | | | | | | | | | | | 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>
* new_filter: correctly initialise all arguments for a new filterGravatar Ferry Huberts2011-03-26-2/+4
| | | | | Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* source_filter: fix a memory leakGravatar Ferry Huberts2011-03-26-0/+2
| | | | | Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* cgitrc.5: tar.xz is a supported snapshot formatGravatar Lars Hjemli2011-03-26-1/+2
| | | | | | | | 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>
* Fix crash when projectsfile cannot be openedGravatar Stefan Gehn2011-03-26-0/+1
| | | | | | 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.
* CGIT 0.9Gravatar Lars Hjemli2011-03-05-1/+1
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Update READMEGravatar Lars Hjemli2011-03-05-8/+1
|
* ui-diff.c: avoid html injectionGravatar Lukasz Janyst2011-03-05-2/+5
| | | | | | | | When path-filtering was used in commit-view, the path filter was included without proper html escaping. This patch closes the hole. Signed-off-by: Lukasz Janyst <ljanyst@cern.ch> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Merge branch 'stable'Gravatar Lars Hjemli2011-03-05-6/+7
|\
| * CGIT 0.8.3.5Gravatar Lars Hjemli2011-03-05-1/+1
| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Avoid trailing slash in virtual-rootGravatar Lars Hjemli2011-03-05-2/+3
| | | | | | | | | | | | | | | | | | | | When setting virtual-root from cgitrc, care is taken to avoid trailing slashes. But when no virtual-root setting is specified, SCRIPT_FILE from the web server is used without similar checks. This patch fixes the inconsistency, which could lead to double-slashes in generated links. Noticed-by: Wouter Van Hemel <wouter@duodecim.org> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * do not infloop on a query ending in %XY, for invalid hex X or YGravatar Jim Meyering2011-03-05-1/+1
| | | | | | | | | | | | | | | | | | | | | | When a query ends in say %gg, (or any invalid hex) e.g., http://git.gnome.org/browse/gdlmm/commit/?id=%gg convert_query_hexchar calls memmove(txt, txt+3, 0), and then returns txt-1, so the loop in http_parse_querystring never terminates. The solution is to make the memmove also copy the trailing NUL. * html.c (convert_query_hexchar): Fix off-by-one error. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * ui-shared: silence warningGravatar Bernhard Reutner-Fischer2011-02-19-1/+1
| | | | | | | | | | | | | | | | warning: format ‘%ld’ expects type ‘long int’, but argument 2 has type ‘size_t’ Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * Makefile: Make `make get-git` work under OpenBSD.Gravatar Lukas Fleischer2011-02-19-1/+1
| | | | | | | | | | | | | | | | OpenBSD tar(1) defaults to read from "/dev/rst0" when not specifying an filename and thus fails to extract the Git sourcecode when not passing stdin as input file descriptor explicitly. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | Merge branch 'br/misc'Gravatar Lars Hjemli2011-02-19-17/+74
|\ \ | | | | | | | | | | | | | | | | | | * br/misc: Use transparent background for the cgit logo ssdiff: anchors for ssdiff implement repo.logo and repo.logo-link
| * | Use transparent background for the cgit logoGravatar Bernhard Reutner-Fischer2011-02-19-0/+0
| | | | | | | | | | | | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | ssdiff: anchors for ssdiffGravatar Bernhard Reutner-Fischer2011-02-19-11/+43
| | | | | | | | | | | | | | | | | | | | | Emit anchors to the respective revisions in side-by-side diff view Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | implement repo.logo and repo.logo-linkGravatar Bernhard Reutner-Fischer2011-02-19-6/+31
| | | | | | | | | | | | | | | | | | | | | | | | Allow for per repo logo and logo-link; Use global logo and logo-link per default. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'jh/scan-path'Gravatar Lars Hjemli2011-02-19-9/+23
|\ \ \ | | | | | | | | | | | | | | | | | | | | * jh/scan-path: scan_path(): Do not recurse into hidden directories by default scan_path(): Improve handling of inaccessible directories
| * | | scan_path(): Do not recurse into hidden directories by defaultGravatar Johan Herland2011-02-19-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Paths that start with a period ('.') are considered hidden in the Unix world. scan_path() should arguably not recurse into these directories by default. This patch makes it so, and introduces the "scan-hidden-path" config variable for overriding the new default and revert to the old behaviour (scanning _all_ directories, including hidden .directories). Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <larsh@prediktor.no>
| * | | scan_path(): Improve handling of inaccessible directoriesGravatar Johan Herland2010-11-16-9/+9
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When scanning a tree containing inaccessible directories (e.g. '.ssh' directories in users' homedirs, or repos with explicitly restricted access), scan_path() currently causes three lines of "Permissions denied" errors to be printed to the CGI error log per inaccessible directory: Error checking path /home/foo/.ssh: Permission denied (13) Error checking path /home/foo/.ssh/.git: Permission denied (13) Error opening directory /home/foo/.ssh: Permission denied (13) This is a side-effect of calling is_git_dir(path) and is_git_dir(fmt("%s/.git", path) _before_ we try to opendir(path). By placing the opendir(path) before the two is_git_dir() calls, we reduce the noise to a single line per inaccessible directory: Error opening directory /home/foo/.ssh: Permission denied (13) Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <larsh@prediktor.no>
* | | Merge branch 'jh/graph'Gravatar Lars Hjemli2011-02-19-49/+219
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jh/graph: ui-log: Move 'Age' column when commit graph is present ui-log: Line-wrap long commit subjects when showmsg is enabled ui-log: Colorize commit graph ui-log: Implement support for commit graphs ui-log: Change display of full commit messages (and notes) Conflicts: cgit.css
| * | | ui-log: Move 'Age' column when commit graph is presentGravatar Johan Herland2010-11-16-12/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the commit graph is present, we prefer to draw it along the left edge, and moving the 'Age' column to the right of the 'Author' column, like in gitk. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-log: Line-wrap long commit subjects when showmsg is enabledGravatar Johan Herland2010-11-16-8/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When showmsg is disabled ui-log truncates long commit subjects. This is good. However, the same is not desirable when showmsg is enabled, since you then end up with a truncated commit subject followed by the rest of the commit message below. Instead, when showmsg is enabled (and we're using all this space to display the entire commit message, anyway), line-wrap the commit subject instead of truncating it. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-log: Colorize commit graphGravatar Johan Herland2010-11-16-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the existing coloring logic in Git's graph code to color the lines between commits in the commit graph. Whereas Git normally uses ANSI color escapes to produce colors, we here use graph_set_column_colors() to replace those with HTML color escapes, that embed the graph lines in <span> tags that apply the desired color using CSS. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-log: Implement support for commit graphsGravatar Johan Herland2010-11-16-23/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach CGit to print an ASCII art commit graph to the left of the commit message, similar to 'git log --graph'. The graph adds extra lines (table rows) to the log when needed to add/remove/shuffle edges in the graph. When 'showmsg' is enabled, the graph is automatically padded to account for the extra lines added by the commit message/notes. This feature is controlled by a new config variable: "enable-commit-graph" (disabled by default), and individual repos can control it by setting "repo.enable-commit-graph". Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-log: Change display of full commit messages (and notes)Gravatar Johan Herland2010-11-16-25/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When showmsg is enabled, ui-log (in addition to the table row containing the details of the current commit) adds a second table row containing the remainder of the commit message, and yet another table row containing the commit notes (if any). The vertical margins between commit subject, commit message and commit notes are controlled by CSS. In preparation for the commit graph (which will be printed to the left of the commit message/notes) we need to eliminate these vertical margins (as they would produce ugly gaps in the commit graph) and instead achieve them by adding newlines to the commit message/notes. Furthermore, we can no longer print the "Notes:" header in the "Age" column, since the graph will be drawn between the "Age" column and the "Commit message" column. This patch therefore prepares the commit message and commit notes in a single buffer (properly formatting the notes using the NOTES_SHOW_HEADER and NOTES_INDENT flags to format_note()), and then prints the entire buffer into a single table row. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Merge branch 'lh/improve-range-search'Gravatar Lars Hjemli2011-02-19-13/+118
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | * lh/improve-range-search: html.c: use '+' to escape spaces in urls ui-log.c: improve handling of range-search argument Add vector utility functions
| * | | html.c: use '+' to escape spaces in urlsGravatar Lars Hjemli2010-11-10-2/+2
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | ui-log.c: improve handling of range-search argumentGravatar Lars Hjemli2010-11-10-11/+60
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | | Add vector utility functionsGravatar Lars Hjemli2010-11-10-0/+56
| | | | | | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | | Use GIT-1.7.4Gravatar Lars Hjemli2011-02-19-1/+1
| |/ / |/| | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | ui-stats: Remove unnecessary #includeGravatar Johan Herland2010-11-16-2/+0
| | | | | | | | | | | | | | | | | | | | | <string-list.h> is already #included from cgit.h Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Merge branch 'tz/make-improvements'Gravatar Lars Hjemli2010-11-10-13/+77
|\ \ \ | |/ / |/| |
| * | Use example.com in documentation, per RFC 2606Gravatar Todd Zullinger2010-09-20-5/+5
| | | | | | | | | | | | | | | Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | cgit.css: Add syntax highlighting entriesGravatar Todd Zullinger2010-09-20-1/+15
| | | | | | | | | | | | | | | Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Install filter scriptsGravatar Todd Zullinger2010-09-20-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | The syntax-highlighting.sh script is quite useful without any changes. Installing it by default makes it easier to use and package. Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Add Makefile targets to install/uninstall docsGravatar Todd Zullinger2010-09-20-1/+38
| | | | | | | | | | | | | | | Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| * | Generalize doc generationGravatar Todd Zullinger2010-09-20-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | This borrows from the git Documentation/Makefile. The goal is to make it easier to add new man pages and other documentation as well as to prevent make from re-generating the documentation needlessly. Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | ui-log: Prevent crash when given empty range searchGravatar Johan Herland2010-11-10-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | | Makefile: avoid spurious rebuilds of git sources due to `sudo make`Gravatar Lars Hjemli2010-11-10-0/+2
| | | | | | | | | | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>