diff options
author | Tarmigan Casebolt <tarmigan+git@gmail.com> | 2009-12-28 16:49:00 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-01-06 01:16:50 -0800 |
commit | 8b2bd7cdacf71260dbc954316af2bed8e076c182 (patch) | |
tree | 81e62e0a245f409adb2db62ec792c49ab1033901 /http-backend.c | |
parent | 902f235378cb2b2f6dd5dd664b9630c95321f0ae (diff) | |
download | git-8b2bd7cdacf71260dbc954316af2bed8e076c182.tar.gz |
Smart-http: check if repository is OK to export before serving it
Similar to how git-daemon checks whether a repository is OK to be
exported, smart-http should also check. This check can be satisfied
in two different ways: the environmental variable GIT_HTTP_EXPORT_ALL
may be set to export all repositories, or the individual repository
may have the file git-daemon-export-ok.
Acked-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Tarmigan Casebolt <tarmigan+git@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'http-backend.c')
-rw-r--r-- | http-backend.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/http-backend.c b/http-backend.c index f729488fc5..345c12b790 100644 --- a/http-backend.c +++ b/http-backend.c @@ -648,6 +648,9 @@ int main(int argc, char **argv) setup_path(); if (!enter_repo(dir, 0)) not_found("Not a git repository: '%s'", dir); + if (!getenv("GIT_HTTP_EXPORT_ALL") && + access("git-daemon-export-ok", F_OK) ) + not_found("Repository not exported: '%s'", dir); git_config(http_config, NULL); cmd->imp(cmd_arg); |