diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-03-02 15:02:08 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-03-02 15:02:08 -0800 |
commit | 1a9b8bcfb92e130b4ea67fae2d26b9569da3ed1e (patch) | |
tree | 0a8c2f4f30844cfcdb66be2134deff63278e9372 | |
parent | 56b6d01d8497436e6b2545482ce2c86e614fc73c (diff) | |
parent | 20632071560ad4915f4e620d3c053e5ee3af80f3 (diff) | |
download | git-1a9b8bcfb92e130b4ea67fae2d26b9569da3ed1e.tar.gz git-1a9b8bcfb92e130b4ea67fae2d26b9569da3ed1e.tar.xz |
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.c | 18 |
1 files changed, 13 insertions, 5 deletions
@@ -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; |