]> Lady’s Gitweb - Gitweb/blobdiff - INSTALL
gitweb: Fix bug in insert_file() subroutine
[Gitweb] / INSTALL
diff --git a/INSTALL b/INSTALL
index f048ad9e9bf6be4bc119b74d6da23eba88b774d73575f57ac69f323b0494d053..29446ef47561e1acb0402f252000ad4c26633b5b015ff6af392cb505142e36c3 100644 (file)
--- 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
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
This page took 0.260055 seconds and 4 git commands to generate.