All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guy Maurel <guy.j@maurel.de>
To: "Carlo Marcelo Arenas Belón" <carenas@gmail.com>,
	"Junio C Hamano" <gitster@pobox.com>
Cc: Philip Oakley <philipoakley@iee.email>,
	Johannes Schindelin <johannes.schindelin@gmx.de>,
	git@vger.kernel.org
Subject: Re: a problem with git describe
Date: Mon, 25 Apr 2022 17:11:32 +0200	[thread overview]
Message-ID: <02adbd7f-d806-1400-1f9c-a37a64b63981@maurel.de> (raw)
In-Reply-To: <20220425084003.nf267feurpqyvmsd@carlos-mbp.lan>

Hello!

It might be important for your debugging work.
I introduce a new file /root/.gitconfig
-rw-r--r--  1 root root   57 Apr 25 17:03 .gitconfig
with
[safe]
         directory = /home/guy/Software/uncrustify

And the call works pretty well:
uncrustify/build $ sudo ~/Software/Git/2.36.0/tar-gz/git-2.36.0/git-describe
uncrustify-0.74.0-315-ga3466c92

Thanks for helping!
guy
Am 25.04.22 um 10:40 schrieb Carlo Marcelo Arenas Belón:
> On Mon, Apr 25, 2022 at 12:02:45AM -0700, Carlo Marcelo Arenas Belón wrote:
>> On Sun, Apr 24, 2022 at 11:39:27PM -0700, Junio C Hamano wrote:
>>> Carlo Marcelo Arenas Belón <carenas@gmail.com> writes:
>>>
>>>> At that point, though you might as well excempt root from this check
>>>
>>> But "root" or any higher-valued account is what needs this kind of
>>> protection the most, no?
>>
>> correct, and I didn't meant to excempt root from the protection, but
>> from the check that requires that the config file ownership matches.
>>
>> if the config file is owned by root, we already lost, regardless of what
>> uid git is running as.
> 
> apologies for my confusing english, hopefully this C is clearer
> 
> diff --git a/git-compat-util.h b/git-compat-util.h
> index 58fd813bd01..6a385be7d1d 100644
> --- a/git-compat-util.h
> +++ b/git-compat-util.h
> @@ -440,9 +440,19 @@ static inline int git_offset_1st_component(const char *path)
>   static inline int is_path_owned_by_current_uid(const char *path)
>   {
>   	struct stat st;
> +	uid_t euid;
> +
>   	if (lstat(path, &st))
>   		return 0;
> -	return st.st_uid == geteuid();
> +
> +	euid = geteuid();
> +	if (!euid && st.st_uid && isatty(0)) {
> +		struct stat ttyst;
> +		if (!stat(ttyname(0), &ttyst))
> +			euid = ttyst.st_uid;
> +	}
> +
> +	return st.st_uid == euid;
>   }
>   
>   #define is_path_owned_by_current_user is_path_owned_by_current_uid
> 
> it uses stdin instead not to fall in the issue that was raised by
> Gábor, but I am affraid that it might need to check all stdnandles for
> a valid tty to be safe, and it looking even more complex.
> 
> Carlo

-- 
Guy Maurel
Sebastian-Fischer-Weg 13
89077 Ulm

  reply	other threads:[~2022-04-25 15:11 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-23  9:12 a problem with git describe Guy Maurel
2022-04-23 11:27 ` Philip Oakley
2022-04-23 16:09   ` Junio C Hamano
2022-04-23 23:44     ` Junio C Hamano
2022-04-25  2:01       ` Carlo Marcelo Arenas Belón
2022-04-25  5:05         ` SZEDER Gábor
2022-04-25  6:03           ` Carlo Marcelo Arenas Belón
2022-04-25  6:39         ` Junio C Hamano
2022-04-25  7:02           ` Carlo Marcelo Arenas Belón
2022-04-25  8:40             ` Carlo Marcelo Arenas Belón
2022-04-25 15:11               ` Guy Maurel [this message]
2022-04-26 15:43               ` Johannes Schindelin
2022-04-26 15:56                 ` rsbecker
2022-04-26 16:35                 ` Carlo Arenas
2022-04-26 16:46                   ` Junio C Hamano
2022-04-26 17:15                     ` Carlo Arenas
2022-04-26 15:45       ` Johannes Schindelin
2022-04-26 16:25         ` Junio C Hamano
2022-04-26  1:52     ` Taylor Blau
2022-04-26 15:41       ` Johannes Schindelin
2022-04-26 15:50         ` Taylor Blau
2022-04-26 15:30     ` Johannes Schindelin
2022-04-26 15:36       ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=02adbd7f-d806-1400-1f9c-a37a64b63981@maurel.de \
    --to=guy.j@maurel.de \
    --cc=carenas@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=johannes.schindelin@gmx.de \
    --cc=philipoakley@iee.email \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.