git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] daemon: Set up PATH properly on startup.

From
Johannes Sixt <johannes.sixt@telecom.at>
Date
Feb 10, 2008, 20:00 UTC
Message-ID
<20080210200027.169BD5B0E7@dx.sixt.local>
In-Reply-To
<1202555873-8099-1-git-send-email-mdw@distorted.org.uk>
Mark Wooding wrote:
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
Previous: Mark WoodingNext: Mark Wooding
Message 2 of 3 in “daemon: Set up PATH properly on startup.”
  1. daemon: Set up PATH properly on startup.Mark Wooding, Feb 9, 2008
  2. Johannes SixtFeb 10, 2008
  3. Mark WoodingFeb 12, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.