Thread (4 messages) 4 messages, 4 authors, 2016-06-15

Re: [PATCH] Preserve the protection mode for the Git config files

From: Catalin Marinas <catalin.marinas@arm.com>
Date: 2016-06-15 22:47:06

Hi Junio,

On Wed, 2009-07-22 at 11:14 -0700, Junio C Hamano wrote:
Catalin Marinas [off-list ref] writes:
quoted
Every time an option is set, the config file protection mode is changed
to 0666 & ~umask even if it was different before. This patch is useful
if people store passwords (SMTP server in the StGit case) and do not
want others to read the .gitconfig file.
[...]
Your log message talks about .git/config and nothing else, but I think
this codepath affects everything that is created under the lock, such as
the index and refs.
I haven't checked all the places where this function is called. For my
use-case, I store the SMTP password in the .git/config file (or
~/.gitconfig) and every time I update this file (with git or via stgit),
the permission gets changed.
The patch description must defend itself a bit better, perhaps by saying
something like this at the end.

	This patch touches the codepath that affects not just .git/config
	but other files like the index and the loose refs, so they also
	inherit the original protection bits.  In a private repository,
	this is not an issue exactly because the repository is private,

	In a shared repository, a later call made in this function to
	adjust_shared_perm() widens the permission bits as configured.
	Because adjust_shared_perm() is designed to do so from any mode
	limited by user's umask, even though this patch changes the
	behaviour in the strict sense, it should not affect the outcome in
	a negative way and what is explicitly marked as allowed in the
	configuration will still be allowed.
Thanks for the explanation. Would you like me to repost with your
description?

Thanks.

-- 
Catalin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help