X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=daemon.c;h=2b4a6f145cc0f37c95da31df23dfde3ba7fa63a7;hb=a8128ed62858063e29edc066b14b8b0fa6257cc2;hp=41a60af624ae661e9bd96a935ecdc855625b669e;hpb=55571f7861b81b033b378f3abe145ecbdbc1fdb6;p=git.git diff --git a/daemon.c b/daemon.c index 41a60af62..2b4a6f145 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;