Re: [PATCH] daemon: Set up PATH properly on startup.
Show 5 quoted lines
> Since exec_cmd.c changed (511707d42b3b3e57d9623493092590546ffeae80) to
> just use the PATH variable for finding Git binaries, the daemon has been
> broken for people with picky inetds (such as the OpenBSD one) which
> launder the environment on startup. The result is that the daemon
> mysteriously fails to do anything useful.
Show 12 quoted lines
> diff --git a/daemon.c b/daemon.c
> index 41a60af..cfd6124 100644
> --- a/daemon.c
> +++ b/daemon.c
> @@ -1149,6 +1149,7 @@ int main(int argc, char **argv)
> usage(daemon_usage);
> }
>
> + setup_path(NULL);
> if (inetd_mode && (group_name || user_name))
> die("--user and --group are incompatible with --inetd");
> There are 2 reason, *not* to do this:
1. It's not needed. You can use
/usr/local/bin/git --exec-path=/usr/local/bin daemon --inetd ...
to inject the exec-path.
2. Security. Those inetds launder the environment for a reason. Assume inetd
sets PATH=/usr/bin:/bin and git-daemon is installed
as /usr/sbin/git-daemon. With your patch now all hooks run with the path
set to /usr/sbin:/usr/bin:/bin.
-- Hannes