summaryrefslogtreecommitdiffstats
path: root/builtin-clone.c
diff options
context:
space:
mode:
authorPhil Miller <mille121@illinois.edu>2009-12-30 20:35:31 +0100
committerJunio C Hamano <gitster@pobox.com>2009-12-30 23:08:09 +0100
commit03bd0d601ea842b2db5bd40a1f7f036989f9b517 (patch)
tree9da885f8a5822737478e5b98044644188ec21bc9 /builtin-clone.c
parentGit 1.6.6 (diff)
downloadgit-03bd0d601ea842b2db5bd40a1f7f036989f9b517.tar.xz
git-03bd0d601ea842b2db5bd40a1f7f036989f9b517.zip
CVS Server: Support reading base and roots from environment
The Gitosis single-account Git/ssh hosting system runs git commands through git-shell after confirming that the connecting user is authorized to access the requested repository. This works well for upload-pack and receive-pack, which take a repository argument through git-shell. This doesn't work so well for `cvs server', which is passed through literally, with no arguments. Allowing arguments risks sneaking in `--export-all', so that restriction should be maintained. Despite that, passing a repository root is necessary for per-user access control by the hosting software, and passing a base path improves usability without weakening security. Thus, git-cvsserver needs to come up with these values at runtime by some other means. Since git-shell preserves the environment for other purposes, the environment can carry these arguments as well. Thus, modify git-cvsserver to read $GIT_CVSSERVER_{BASE_PATH,ROOT} in the absence of equivalent command line arguments. Signed-off-by: Phil Miller <mille121@illinois.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-clone.c')
0 files changed, 0 insertions, 0 deletions