On Sat, 2008-12-13 at 14:02 -0800, Jakub Narebski wrote: > Cannot you do this with new $export_auth_hook gitweb configuration > variable, added by Alexander Gavrilov in > dd7f5f1 (gitweb: Add a per-repository authorization hook.) > It is used in check_export_ok subroutine, and is is checked also when > getting list of project from file > > >From gitweb/INSTALL > > - 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; > }; $export_auth_hook would work, and it would have the nice (but not essential) feature of including private projects in the list shown to suitably authenticated users. The only problem is that my Web host doesn't support mod_perl. Is there a practical way to accomplish the same thing as the above example in a CGI script? I would like to avoid reimplementing Apache authentication-checking functionality if at all possible. -- Matt -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html