public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Christian Franke <Christian.Franke@t-online.de>
To: Jon Turney <jon.turney@dronecode.org.uk>,
	"cygwin-apps@cygwin.com" <cygwin-apps@cygwin.com>
Subject: Re: [PATCH setup] Add new option --chown-admin
Date: Fri, 26 Aug 2022 17:02:35 +0200	[thread overview]
Message-ID: <9f1a7088-4f4f-999b-3076-be347477c969@t-online.de> (raw)
In-Reply-To: <80661301-d584-3af0-e588-1ec10f3b4108@dronecode.org.uk>

Jon Turney wrote:
> On 23/08/2022 18:27, Christian Franke wrote:
>> Jon Turney wrote:
>>> On 12/07/2022 13:50, Jon Turney wrote:
>>>> [Replying to the right list this time...]
>>>> On 09/07/2022 13:21, Christian Franke wrote:
>>> [...]
>>>>>
>>>>> The UserSettings ctor has a somewhat hidden side effect which sets 
>>>>> root_scope correctly:
>>>>>
>>>>>   UserSettings::UserSettings(...);
>>>>>    open_settings("setup.rc", ...);
>>>>>     io_stream::open("cygfile:///etc/setup/setup.rc", ...);
>>>>> io_stream_cygfile::io_stream_cygfile("/etc/setup/setup.rc", ...);
>>>>>       get_root_dir_now();
>>>>>        read_mounts("");
>>>>>         read_mounts_nt("");
>>>>>          root_scope = isuser ? IDC_ROOT_USER : IDC_ROOT_SYSTEM;
>>>>>
>>>>> Conclusion: Regression introduced Feb 24, 2012 (befc9dd).
>>>>>
>>>>
>>>> Thanks for tracking this down.
>>>>
>>>> That just seems... fractally wrong.
>>>
>>> I kind of lost track of this.  Is there anything else needed to fix 
>>> the original problem here?  Or is it solved by the change to defer 
>>> setting the group until after root_scope is known?
>>
>> The group seems to be correctly set now.
>>
>> An old problem still remains: root_scope always ends up as 
>> IDC_ROOT_SYSTEM if setup is run elevated, regardless off GUI setting. 
>> Apply the temporary patch from here to see what happens:
>> https://sourceware.org/pipermail/cygwin-apps/2022-July/042151.html
>
> Ah, right, I remember now.
>
> I think having read_mounts() have a side effect of setting root_scope 
> is just nonsense now (it might have made some sense back in the day 
> when the mount table was also stored in the registry).
>
> So, how about the attached?
>
> (We should perhaps also set the installation root directory to 
> something other than C:\cygwin64 if a non-admin user, since they are 
> unlikely to be able to write there in current windows versions, but 
> that's difficult from a sequencing point of view in that dialog, and 
> for backwards compatibility)
>
>> Possibly difficult to fix, in particular in conjunction with later 
>> changes via [< Back] button. An easier approach: Remove the GUI 
>> setting and connect root_scope to -B option.
>
> Looking for that option is not correct, because we might be running 
> without -B, but from an already elevated shell.  I think checking 
> nt_sec.isRunAsAdmin() would be the correct test.

Did some quick tests with patch applied. LGTM.


  reply	other threads:[~2022-08-26 15:02 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-06  7:14 Christian Franke
2022-07-06 13:53 ` Jon Turney
2022-07-06 16:34   ` Christian Franke
2022-07-07 11:38     ` Jon Turney
2022-07-07 14:45       ` Christian Franke
2022-07-07 14:59         ` Christian Franke
     [not found]         ` <d7d51d1c-f6d5-2fac-3e6d-86714efd0734@dronecode.org.uk>
     [not found]           ` <32655945-5075-0823-2a1d-b72caa4b7791@t-online.de>
2022-07-12 12:50             ` Jon Turney
2022-08-23 15:20               ` Jon Turney
2022-08-23 17:27                 ` Christian Franke
2022-08-26 13:27                   ` Jon Turney
2022-08-26 15:02                     ` Christian Franke [this message]
2022-08-28 17:33                       ` Christian Franke
2022-09-02 13:56                         ` Jon Turney
2022-09-02 15:17                           ` Christian Franke
2022-09-15 17:45                             ` Jon Turney
2022-10-04 12:05                               ` Christian Franke
2022-11-29 21:37                                 ` Jon Turney
2022-11-30 18:49                                   ` Christian Franke

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=9f1a7088-4f4f-999b-3076-be347477c969@t-online.de \
    --to=christian.franke@t-online.de \
    --cc=cygwin-apps@cygwin.com \
    --cc=jon.turney@dronecode.org.uk \
    /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 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).