From: Junio C Hamano <gitster@pobox.com> To: Carlo Arenas <carenas@gmail.com> Cc: Phillip Wood <phillip.wood123@gmail.com>, git@vger.kernel.org Subject: Re: [PATCH v2 3/3] t: add tests for safe.directory when running with sudo Date: Fri, 06 May 2022 14:43:48 -0700 [thread overview] Message-ID: <xmqq1qx6jq0b.fsf@gitster.g> (raw) In-Reply-To: <CAPUEspibV6LKVAGpUPBoDYWvF7cjBJUJOSMDzLY6ErMF8s-Eng@mail.gmail.com> (Carlo Arenas's message of "Fri, 6 May 2022 10:50:04 -0700") Carlo Arenas <carenas@gmail.com> writes: > Since I am renaming it anyway as part of this topic with RFC v4, would > it be a good idea to require both? > > I see the "IKNOWHATIAMDOING" not as a normal GIT_TEST flag, but as a > "here be dragons!" warning, and I later found that I either > misremembered it being enabled in the CI, or it was dropped with one > of those refactors we do often there. > > My RFC v4 includes a new nice looking GIT_TEST variable as suggested > by Phillip which I am also enabling in the CI to hopefully make it > even more clear that this is only meant to run there, but sadly that > also means that this patch will likely have a conflict when merged > upwards. This must build from the older mainteance tracks like maint-2.30, so let's keep the changes to absolute minimum, especially since that will become the base for any further usability tweaks (in an earlier round you suggested to cover "doas", and other changes may want to be applied but all of them should be deferred to later changes). I actually think 1/3 and 3/3 are OK. Are there remaining issues in these two patches (which only are tests)? As to 2/3, I think the code is basically already fine, but a simplification like the following on top would be a good idea. * The callers do not care how errno is modified by the call made into extract_id_from_env(); we are potentially clobbering errno by calling getenv(), lstat(), geteuid(), etc, and we have no "preserve errno as the caller had" around them. So let's lose the saved_errno thing. * We clear errno before making strtoul() call, so any non-zero errno must have happeneed in strtoul(), which includes ERANGE. There is no point chekcing the returned value env_id; if it is ULONG_MAX but errno is 0, then the SUDO_UID legitimately is naming a user whose UID is that special value, and it is not an indication of an overflow. With the change squashed in, [2/3] can have Reviewed-by: Junio C Hamano <gitster@pobox.com> Thanks. git-compat-util.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git c/git-compat-util.h w/git-compat-util.h index dfdd3e4f81..43c9cd0b48 100644 --- c/git-compat-util.h +++ w/git-compat-util.h @@ -413,14 +413,11 @@ static inline void extract_id_from_env(const char *env, uid_t *id) if (real_uid && *real_uid) { char *endptr; unsigned long env_id; - int saved_errno = errno; errno = 0; env_id = strtoul(real_uid, &endptr, 10); - if (!errno && !*endptr && env_id <= (uid_t)-1) + if (!*endptr && !errno) *id = env_id; - - errno = saved_errno; } }
next prev parent reply other threads:[~2022-05-06 21:44 UTC|newest] Thread overview: 170+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-04-26 18:31 [RFC PATCH] git-compat-util: avoid failing dir ownership checks if running priviledged Carlo Marcelo Arenas Belón 2022-04-26 19:48 ` Derrick Stolee 2022-04-26 19:56 ` Junio C Hamano 2022-04-26 20:10 ` rsbecker 2022-04-26 20:45 ` Carlo Arenas 2022-04-26 21:10 ` Junio C Hamano 2022-04-26 20:12 ` Carlo Arenas 2022-04-26 20:26 ` Carlo Arenas 2022-04-29 16:16 ` Derrick Stolee 2022-04-27 0:05 ` [PATCH] git-compat-util: avoid failing dir ownership checks if running privileged Carlo Marcelo Arenas Belón 2022-04-27 9:33 ` Phillip Wood 2022-04-27 12:30 ` Phillip Wood 2022-04-27 14:15 ` rsbecker 2022-04-27 15:58 ` Carlo Arenas 2022-04-27 16:14 ` Phillip Wood 2022-04-27 18:54 ` Junio C Hamano 2022-04-27 20:59 ` Carlo Arenas 2022-04-27 21:09 ` rsbecker 2022-04-27 21:25 ` Junio C Hamano 2022-04-28 17:56 ` Phillip Wood 2022-04-27 15:38 ` Carlo Arenas 2022-04-27 15:50 ` rsbecker 2022-04-27 16:19 ` Junio C Hamano 2022-04-27 16:45 ` Carlo Arenas 2022-04-27 17:22 ` Phillip Wood 2022-04-27 17:49 ` rsbecker 2022-04-27 17:54 ` Carlo Arenas 2022-04-27 18:05 ` rsbecker 2022-04-27 18:11 ` Carlo Arenas 2022-04-27 18:16 ` rsbecker 2022-04-27 16:31 ` Phillip Wood 2022-04-27 16:54 ` Carlo Arenas 2022-04-27 17:28 ` Phillip Wood 2022-04-27 17:49 ` Carlo Arenas 2022-04-27 22:26 ` [RFC PATCH v2] " Carlo Marcelo Arenas Belón 2022-04-27 22:33 ` Junio C Hamano 2022-04-28 3:35 ` [PATCH 0/2] fix `sudo make install` regression in maint Carlo Marcelo Arenas Belón 2022-04-28 3:35 ` [PATCH 1/2] Documentation: explain how safe.directory works when running under sudo Carlo Marcelo Arenas Belón 2022-04-28 5:17 ` Junio C Hamano 2022-04-28 5:58 ` Carlo Arenas 2022-04-28 6:41 ` Junio C Hamano 2022-04-28 3:35 ` [PATCH 2/2] t: add tests for safe.directory when running with sudo Carlo Marcelo Arenas Belón 2022-04-28 5:34 ` Junio C Hamano 2022-04-28 4:57 ` [PATCH 0/2] fix `sudo make install` regression in maint Junio C Hamano 2022-04-28 10:58 ` [PATCH v2 0/3] " Carlo Marcelo Arenas Belón 2022-04-28 10:58 ` [PATCH v2 1/3] git-compat-util: avoid failing dir ownership checks if running privileged Carlo Marcelo Arenas Belón 2022-04-28 18:02 ` Phillip Wood 2022-04-28 18:57 ` Carlo Arenas 2022-04-28 10:58 ` [PATCH v2 2/3] Documentation: explain how safe.directory works when running under sudo Carlo Marcelo Arenas Belón 2022-04-30 6:17 ` Bagas Sanjaya 2022-04-30 6:39 ` Junio C Hamano 2022-04-30 14:15 ` Carlo Marcelo Arenas Belón 2022-04-28 10:58 ` [PATCH v2 3/3] t: add tests for safe.directory when running with sudo Carlo Marcelo Arenas Belón 2022-04-28 16:55 ` Junio C Hamano 2022-04-28 18:08 ` Phillip Wood 2022-04-28 18:12 ` Junio C Hamano 2022-05-06 17:50 ` Carlo Arenas 2022-05-06 21:43 ` Junio C Hamano [this message] 2022-05-06 22:57 ` Carlo Arenas 2022-05-06 23:55 ` Junio C Hamano 2022-05-07 11:57 ` Carlo Marcelo Arenas Belón 2022-04-28 19:53 ` rsbecker 2022-04-28 20:22 ` Carlo Arenas 2022-04-28 20:43 ` rsbecker 2022-04-28 20:51 ` Junio C Hamano 2022-04-28 20:56 ` Carlo Arenas 2022-04-28 21:55 ` rsbecker 2022-04-28 22:21 ` Junio C Hamano 2022-04-28 22:45 ` rsbecker 2022-04-28 20:46 ` Junio C Hamano 2022-04-28 20:32 ` Junio C Hamano 2022-04-28 20:40 ` rsbecker 2022-04-28 20:48 ` Carlo Arenas 2022-04-28 21:02 ` Carlo Arenas 2022-04-28 21:07 ` Junio C Hamano 2022-04-29 1:24 ` Carlo Marcelo Arenas Belón 2022-04-29 18:50 ` Junio C Hamano 2022-04-29 20:05 ` Carlo Marcelo Arenas Belón 2022-05-02 18:39 ` [RFC PATCH v3 0/3] fix `sudo make install` regression in maint Carlo Marcelo Arenas Belón 2022-05-02 18:39 ` [RFC PATCH v3 1/3] t: document regression git safe.directory when using sudo Carlo Marcelo Arenas Belón 2022-05-02 21:35 ` Junio C Hamano 2022-05-02 23:07 ` Carlo Arenas 2022-05-02 18:39 ` [RFC PATCH v3 2/3] git-compat-util: avoid failing dir ownership checks if running privileged Carlo Marcelo Arenas Belón 2022-05-02 18:39 ` [RFC PATCH v3 3/3] t0034: enhance framework to allow testing more commands under sudo Carlo Marcelo Arenas Belón 2022-05-02 22:10 ` Junio C Hamano 2022-05-03 0:00 ` Carlo Arenas 2022-05-03 6:54 ` [PATCH v3 0/3] fix `sudo make install` regression in maint Carlo Marcelo Arenas Belón 2022-05-03 6:54 ` [PATCH v3 1/3] t: document regression git safe.directory when using sudo Carlo Marcelo Arenas Belón 2022-05-03 14:03 ` Phillip Wood 2022-05-03 15:56 ` Carlo Marcelo Arenas Belón 2022-05-04 11:15 ` Phillip Wood 2022-05-04 13:02 ` Carlo Arenas 2022-05-04 14:11 ` Phillip Wood 2022-05-05 13:44 ` Johannes Schindelin 2022-05-05 14:34 ` Phillip Wood 2022-05-05 15:50 ` Junio C Hamano 2022-05-05 18:33 ` Junio C Hamano 2022-05-05 19:39 ` Junio C Hamano 2022-05-06 21:03 ` Carlo Arenas 2022-05-09 8:21 ` Phillip Wood 2022-05-09 14:51 ` Carlo Arenas 2022-05-09 15:18 ` Phillip Wood 2022-05-09 16:01 ` Junio C Hamano 2022-05-09 16:21 ` Carlo Arenas 2022-05-06 17:39 ` Carlo Arenas 2022-05-03 6:54 ` [PATCH v3 2/3] git-compat-util: avoid failing dir ownership checks if running privileged Carlo Marcelo Arenas Belón 2022-05-05 14:01 ` Johannes Schindelin 2022-05-05 14:32 ` Phillip Wood 2022-05-06 19:15 ` Carlo Arenas 2022-05-06 20:00 ` Junio C Hamano 2022-05-06 20:22 ` Carlo Arenas 2022-05-06 20:59 ` Junio C Hamano 2022-05-06 21:40 ` Carlo Arenas 2022-05-06 21:07 ` rsbecker 2022-05-05 16:09 ` Junio C Hamano 2022-05-06 20:02 ` Carlo Arenas 2022-05-03 6:54 ` [PATCH v3 3/3] t0034: enhance framework to allow testing more commands under sudo Carlo Marcelo Arenas Belón 2022-05-03 14:12 ` Phillip Wood 2022-05-03 15:27 ` Junio C Hamano 2022-05-06 16:54 ` Carlo Arenas 2022-05-07 16:35 ` [RFC PATCH v4 0/3] fix `sudo make install` regression in maint Carlo Marcelo Arenas Belón 2022-05-07 16:35 ` [RFC PATCH v4 1/3] t: regression git needs safe.directory when using sudo Carlo Marcelo Arenas Belón 2022-05-07 16:35 ` [RFC PATCH v4 2/3] git-compat-util: avoid failing dir ownership checks if running privileged Carlo Marcelo Arenas Belón 2022-05-07 17:34 ` Junio C Hamano 2022-05-07 18:56 ` Carlo Marcelo Arenas Belón 2022-05-09 16:54 ` Junio C Hamano 2022-05-09 17:36 ` rsbecker 2022-05-09 18:48 ` Carlo Arenas 2022-05-09 19:16 ` rsbecker 2022-05-09 19:41 ` Junio C Hamano 2022-05-07 16:35 ` [RFC PATCH v4 3/3] t0034: add negative tests and allow git init to mostly work under sudo Carlo Marcelo Arenas Belón 2022-05-10 14:17 ` [RFC PATCH v4 0/3] fix `sudo make install` regression in maint Phillip Wood 2022-05-10 15:47 ` Carlo Arenas 2022-05-10 17:46 ` [PATCH " Carlo Marcelo Arenas Belón 2022-05-10 17:46 ` [PATCH v4 1/3] t: regression git needs safe.directory when using sudo Carlo Marcelo Arenas Belón 2022-05-10 22:10 ` Junio C Hamano 2022-05-10 23:11 ` Carlo Arenas 2022-05-10 23:44 ` Junio C Hamano 2022-05-11 0:56 ` Carlo Arenas 2022-05-11 1:11 ` Junio C Hamano 2022-05-10 17:46 ` [PATCH v4 2/3] git-compat-util: avoid failing dir ownership checks if running privileged Carlo Marcelo Arenas Belón 2022-05-10 22:57 ` Junio C Hamano 2022-05-11 7:34 ` Carlo Arenas 2022-05-11 14:58 ` Junio C Hamano 2022-05-10 17:46 ` [PATCH v4 3/3] t0034: add negative tests and allow git init to mostly work under sudo Carlo Marcelo Arenas Belón 2022-05-10 23:11 ` Junio C Hamano 2022-05-10 23:25 ` Junio C Hamano 2022-05-11 14:04 ` Carlo Arenas 2022-05-11 15:29 ` Junio C Hamano 2022-05-13 1:00 ` [PATCH v5 0/4] fix `sudo make install` regression in maint Carlo Marcelo Arenas Belón 2022-05-13 1:00 ` [PATCH v5 1/4] t: regression git needs safe.directory when using sudo Carlo Marcelo Arenas Belón 2022-06-03 12:12 ` SZEDER Gábor 2022-05-13 1:00 ` [PATCH v5 2/4] git-compat-util: avoid failing dir ownership checks if running privileged Carlo Marcelo Arenas Belón 2022-06-03 11:05 ` SZEDER Gábor 2022-06-03 16:54 ` Junio C Hamano 2022-06-03 17:34 ` SZEDER Gábor 2022-05-13 1:00 ` [PATCH v5 3/4] t0034: add negative tests and allow git init to mostly work under sudo Carlo Marcelo Arenas Belón 2022-05-13 1:20 ` Junio C Hamano 2022-05-14 14:36 ` Carlo Arenas 2022-05-15 16:54 ` Junio C Hamano 2022-05-15 19:21 ` Carlo Arenas 2022-05-16 5:27 ` Junio C Hamano 2022-05-16 13:07 ` Carlo Marcelo Arenas Belón 2022-05-16 16:25 ` Junio C Hamano 2022-05-13 1:00 ` [PATCH v5 4/4] git-compat-util: allow root to access both SUDO_UID and root owned Carlo Marcelo Arenas Belón 2022-06-15 14:02 ` Johannes Schindelin 2022-06-17 14:26 ` Carlo Arenas 2022-06-17 16:00 ` Junio C Hamano 2022-06-17 20:23 ` [PATCH v6] " Carlo Marcelo Arenas Belón 2022-06-17 21:02 ` 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 List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=xmqq1qx6jq0b.fsf@gitster.g \ --to=gitster@pobox.com \ --cc=carenas@gmail.com \ --cc=git@vger.kernel.org \ --cc=phillip.wood123@gmail.com \ --subject='Re: [PATCH v2 3/3] t: add tests for safe.directory when running with sudo' \ /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
Code repositories for project(s) associated with this inbox: https://80x24.org/mirrors/git.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).