X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gitweb%2FINSTALL;h=18c9ce35e8fc6566663ad76dd04bd1aa70035c25;hb=71cbf773df4a339e3534077bc9a0e69875146963;hp=26967e201aca8ea1c799e6b21cad468484753779;hpb=373a273309433d66d56505f0a125434c57fa508d;p=git.git diff --git a/gitweb/INSTALL b/gitweb/INSTALL index 26967e201..18c9ce35e 100644 --- a/gitweb/INSTALL +++ b/gitweb/INSTALL @@ -166,6 +166,27 @@ Gitweb repositories shows repositories only if this file exists in its object database (if directory has the magic file named $export_ok). +- Finally, it is possible to specify an arbitrary perl subroutine that + will be called for each project to determine if it can be exported. + The subroutine receives an absolute path to the project as its only + parameter. + + For example, if you use mod_perl to run the script, and have dumb + http protocol authentication configured for your repositories, you + can use the following hook to allow access only if the user is + authorized to read the files: + + $export_auth_hook = sub { + use Apache2::SubRequest (); + use Apache2::Const -compile => qw(HTTP_OK); + my $path = "$_[0]/HEAD"; + my $r = Apache2::RequestUtil->request; + my $sub = $r->lookup_file($path); + return $sub->filename eq $path + && $sub->status == Apache2::Const::HTTP_OK; + }; + + Generating projects list using gitweb ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~