summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2008-03-08 02:20:30 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2008-03-08 02:20:30 -0800
commit1f1300b4f16591feaa1387e967752af33d4fffda (patch)
treef6cd86dea9a8df410b1c4312282c1885714706d0
parentMerge branch 'js/maint-cvsexport' into maint (diff)
parentdaemon: ensure that base-path is an existing directory (diff)
downloadtgif-1f1300b4f16591feaa1387e967752af33d4fffda.tar.xz
Merge branch 'js/maint-daemon' into maint
* js/maint-daemon: daemon: ensure that base-path is an existing directory daemon: send more error messages to the syslog
-rw-r--r--daemon.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/daemon.c b/daemon.c
index 41a60af624..2b4a6f145c 100644
--- a/daemon.c
+++ b/daemon.c
@@ -1149,6 +1149,11 @@ int main(int argc, char **argv)
usage(daemon_usage);
}
+ if (log_syslog) {
+ openlog("git-daemon", 0, LOG_DAEMON);
+ set_die_routine(daemon_die);
+ }
+
if (inetd_mode && (group_name || user_name))
die("--user and --group are incompatible with --inetd");
@@ -1176,14 +1181,17 @@ int main(int argc, char **argv)
}
}
- if (log_syslog) {
- openlog("git-daemon", 0, LOG_DAEMON);
- set_die_routine(daemon_die);
- }
-
if (strict_paths && (!ok_paths || !*ok_paths))
die("option --strict-paths requires a whitelist");
+ if (base_path) {
+ struct stat st;
+
+ if (stat(base_path, &st) || !S_ISDIR(st.st_mode))
+ die("base-path '%s' does not exist or "
+ "is not a directory", base_path);
+ }
+
if (inetd_mode) {
struct sockaddr_storage ss;
struct sockaddr *peer = (struct sockaddr *)&ss;