summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2008-03-02 23:02:08 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-03-02 23:02:08 (GMT)
commit1a9b8bcfb92e130b4ea67fae2d26b9569da3ed1e (patch)
tree0a8c2f4f30844cfcdb66be2134deff63278e9372
parent56b6d01d8497436e6b2545482ce2c86e614fc73c (diff)
parent20632071560ad4915f4e620d3c053e5ee3af80f3 (diff)
downloadgit-1a9b8bcfb92e130b4ea67fae2d26b9569da3ed1e.zip
git-1a9b8bcfb92e130b4ea67fae2d26b9569da3ed1e.tar.gz
git-1a9b8bcfb92e130b4ea67fae2d26b9569da3ed1e.tar.bz2
Merge branch 'js/maint-daemon'
* 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 41a60af..2b4a6f1 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;