X-Git-Url: https://git.ladys.computer/Gitweb/blobdiff_plain/29df2595733d045a38a2d5e881806ccd7d94c66d84749069943e49ccdfa5ee8f..01243a50328ba47405d3307dc6c097d00ea149905018a4b6ca65666a1d1193ea:/INSTALL?ds=inline diff --git a/INSTALL b/INSTALL index f048ad9..29446ef 100644 --- a/INSTALL +++ b/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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~