aboutsummaryrefslogtreecommitdiff
path: root/Documentation/git-daemon.txt
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-09-03 15:54:03 -0700
committerJunio C Hamano <gitster@pobox.com>2012-09-03 15:54:03 -0700
commit19801d6a2768b9ce056da4635a287885d08940cb (patch)
tree686a4f4de3490f1eb9bc7f69a1a8dd2dd9c490e5 /Documentation/git-daemon.txt
parent200282f1c7eca23ad34b1c5f81bf4b9de334a7d1 (diff)
parent93741e4a915fc33a00e6facff88cd27565d10f82 (diff)
downloadgit-19801d6a2768b9ce056da4635a287885d08940cb.tar.gz
git-19801d6a2768b9ce056da4635a287885d08940cb.tar.xz
Merge branch 'jc/daemon-access-hook'
Allow an external command to tell git-daemon to decline service based on the client address, repository path, etc. * jc/daemon-access-hook: daemon: --access-hook option
Diffstat (limited to 'Documentation/git-daemon.txt')
-rw-r--r--Documentation/git-daemon.txt16
1 files changed, 16 insertions, 0 deletions
diff --git a/Documentation/git-daemon.txt b/Documentation/git-daemon.txt
index e8f757704..7e5098a95 100644
--- a/Documentation/git-daemon.txt
+++ b/Documentation/git-daemon.txt
@@ -16,6 +16,7 @@ SYNOPSIS
[--reuseaddr] [--detach] [--pid-file=<file>]
[--enable=<service>] [--disable=<service>]
[--allow-override=<service>] [--forbid-override=<service>]
+ [--access-hook=<path>]
[--inetd | [--listen=<host_or_ipaddr>] [--port=<n>] [--user=<user> [--group=<group>]]
[<directory>...]
@@ -171,6 +172,21 @@ the facility of inet daemon to achieve the same before spawning
errors are not enabled, all errors report "access denied" to the
client. The default is --no-informative-errors.
+--access-hook=<path>::
+ Every time a client connects, first run an external command
+ specified by the <path> with service name (e.g. "upload-pack"),
+ path to the repository, hostname (%H), canonical hostname
+ (%CH), ip address (%IP), and tcp port (%P) as its command line
+ arguments. The external command can decide to decline the
+ service by exiting with a non-zero status (or to allow it by
+ exiting with a zero status). It can also look at the $REMOTE_ADDR
+ and $REMOTE_PORT environment variables to learn about the
+ requestor when making this decision.
++
+The external command can optionally write a single line to its
+standard output to be sent to the requestor as an error message when
+it declines the service.
+
<directory>::
A directory to add to the whitelist of allowed directories. Unless
--strict-paths is specified this will also include subdirectories