git/gitweb
Jakub Narebski 24d0693a68 gitweb: Split validate_input into validate_pathname and validate_refname
Split validate_input subroutine into validate_pathname which is used
for $project, $file_name and $file_parent parameters, and
validate_refname which is used for $hash, $hash_base, $hash_parent and
$hash_parent_base parameters.  Reintroduce validation of $file_name
and $file_parent parameters, removed in a2f3db2f

validate_pathname in addition to what validate_input did checks also
for doubled slashes and NUL character. It does not check if input is
textual hash, and does not check if all characters are from the
following set: [a-zA-Z0-9_\x80-\xff\ \t\.\/\-\+\#\~\%].

validate_refname first check if the input is textual hash, then checks
if it is valid pathname, then checks for invalid characters (according
to git-check-ref-format manpage). It does not check if all charactes
are from the [a-zA-Z0-9_\x80-\xff\ \t\.\/\-\+\#\~\%] set.

We do not have to validate pathnames we got from git.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-09-27 00:41:35 -07:00
..
test Merge git://git.kernel.org/pub/scm/git/gitweb 2006-06-10 11:20:59 -07:00
git-favicon.png gitweb: Add GIT favicon, assuming image/png type 2006-09-04 15:33:04 -07:00
git-logo.png gitweb: use out-of-line GIT logo. 2006-08-01 15:55:19 -07:00
gitweb.css gitweb: Add author information to commitdiff view 2006-08-28 16:21:34 -07:00
gitweb.perl gitweb: Split validate_input into validate_pathname and validate_refname 2006-09-27 00:41:35 -07:00
README gitweb: require $ENV{'GITWEB_CONFIG'} 2006-08-02 13:56:34 -07:00

GIT web Interface

The one working on:
  http://www.kernel.org/git/

From the git version 1.4.0 gitweb is bundled with git.


How to configure gitweb for your local system:

You can specify the following configuration variables when building GIT:
 * GITWEB_SITENAME
   Shown in the title of all generated pages, defaults to the servers name.
 * GITWEB_PROJECTROOT
   The root directory for all projects shown by gitweb.
 * GITWEB_LIST
   points to a directory to scan for projects (defaults to project root)
   or to a file for explicit listing of projects.
 * GITWEB_HOMETEXT
   points to an .html file which is included on the gitweb project
   overview page.
 * GITWEB_CSS
   Points to the location where you put gitweb.css on your web server.
 * GITWEB_LOGO
   Points to the location where you put git-logo.png on your web server.
 * GITWEB_CONFIG
   This file will be loaded using 'require'.  If the environment
   $GITWEB_CONFIG is set when gitweb.cgi is executed the file in the
   environment variable will be loaded instead of the file
   specified when gitweb.cgi was created.

Originally written by:
  Kay Sievers <kay.sievers@vrfy.org>

Any comment/question/concern to:
  Git mailing list <git@vger.kernel.org>