Browse Source

credential-cache--daemon: disallow relative socket path

Relative socket paths are dangerous since the user cannot generally
control when the daemon starts (initially, after a timeout, kill or
crash). Since the daemon creates but does not delete the socket
directory, this could lead to spurious directory creation relative
to the users cwd.

Suggested-by: Jeff King <peff@peff.net>
Signed-off-by: Jon Griffiths <jon_p_griffiths@yahoo.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Jon Griffiths 9 years ago committed by Junio C Hamano
parent
commit
bd93b8d9be
  1. 2
      Documentation/git-credential-cache.txt
  2. 3
      credential-cache--daemon.c

2
Documentation/git-credential-cache.txt

@ -36,7 +36,7 @@ OPTIONS @@ -36,7 +36,7 @@ OPTIONS
cache daemon if one is not started). Defaults to
`~/.git-credential-cache/socket`. If your home directory is on a
network-mounted filesystem, you may need to change this to a
local filesystem.
local filesystem. You must specify an absolute path.

CONTROLLING THE DAEMON
----------------------

3
credential-cache--daemon.c

@ -262,6 +262,9 @@ int main(int argc, const char **argv) @@ -262,6 +262,9 @@ int main(int argc, const char **argv)
if (!socket_path)
usage_with_options(usage, options);

if (!is_absolute_path(socket_path))
die("socket directory must be an absolute path");

init_socket_directory(socket_path);
register_tempfile(&socket_file, socket_path);


Loading…
Cancel
Save