| delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| X-Original-To: | cygwin AT cygwin DOT com |
| Delivered-To: | cygwin AT cygwin DOT com |
| DMARC-Filter: | OpenDMARC Filter v1.4.1 sourceware.org D936D3858C52 |
| Authentication-Results: | sourceware.org; |
| dmarc=none (p=none dis=none) header.from=t-online.de | |
| Authentication-Results: | sourceware.org; spf=none smtp.mailfrom=t-online.de |
| Subject: | Re: [PATCH setup] Add new option --chown-admin |
| To: | The Cygwin Mailing List <cygwin AT cygwin DOT com> |
| References: | <3096f251-d7ca-073b-d7d7-751b7fe3e8c1 AT t-online DOT de> |
| <405df5c6-ce47-0254-ae4d-4a23ff3533d5 AT dronecode DOT org DOT uk> | |
| <e7e0a117-1f85-a59c-5654-010652be5044 AT t-online DOT de> | |
| <5b45ccdc-da32-ff11-037f-c00828f397c5 AT dronecode DOT org DOT uk> | |
| <cc769e09-6a2b-ccdd-12f6-0f596e25d7d9 AT t-online DOT de> | |
| <d7d51d1c-f6d5-2fac-3e6d-86714efd0734 AT dronecode DOT org DOT uk> | |
| From: | Christian Franke <Christian DOT Franke AT t-online DOT de> |
| Message-ID: | <32655945-5075-0823-2a1d-b72caa4b7791@t-online.de> |
| Date: | Sat, 9 Jul 2022 14:21:09 +0200 |
| User-Agent: | Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 |
| SeaMonkey/2.53.12 | |
| MIME-Version: | 1.0 |
| In-Reply-To: | <d7d51d1c-f6d5-2fac-3e6d-86714efd0734@dronecode.org.uk> |
| X-TOI-EXPURGATEID: | 150726::1657369270-014275D8-7AB3134D/0/0 CLEAN NORMAL |
| X-TOI-MSGID: | 5471de1a-c338-4164-bc1f-918a4cd49dbe |
| X-Spam-Status: | No, score=-1.1 required=5.0 tests=BAYES_00, BODY_8BITS, |
| FREEMAIL_FROM, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, | |
| RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, | |
| SPF_NONE, TXREP, | |
| T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 | |
| X-Spam-Checker-Version: | SpamAssassin 3.4.6 (2021-04-09) on |
| server2.sourceware.org | |
| X-BeenThere: | cygwin AT cygwin DOT com |
| X-Mailman-Version: | 2.1.29 |
| List-Id: | General Cygwin discussions and problem reports <cygwin.cygwin.com> |
| List-Unsubscribe: | <https://cygwin.com/mailman/options/cygwin>, |
| <mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe> | |
| List-Archive: | <https://cygwin.com/pipermail/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-request AT cygwin DOT com?subject=help> |
| List-Subscribe: | <https://cygwin.com/mailman/listinfo/cygwin>, |
| <mailto:cygwin-request AT cygwin DOT com?subject=subscribe> | |
| Errors-To: | cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com |
| Sender: | "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com> |
| X-MIME-Autoconverted: | from base64 to 8bit by delorie.com id 269CLsaF021277 |
Jon Turney wrote:
> On 07/07/2022 15:45, Christian Franke wrote:
>> Jon Turney wrote:
>>> On 06/07/2022 17:34, Christian Franke wrote:
>>>> Jon Turney wrote:
>>>>> On 06/07/2022 08:14, Christian Franke wrote:
> [...]
>>>>>>
>>>>>> BTW: 'nt_sec.setDefaultSecurity (isAdmin)' is never called with
>>>>>> 'isAdmin==true' as 'root_scope' is always 0.
>>>>>
>>>>> root_scope is set later, by the "Install For" option on the
>>>>> "Select Root Install Directory" page.
>>>>>
>>>>> To me, this looks like a (very long standing) bug that we
>>>>> shouldn't be calling setAdminGroup() here, but after root_scope
>>>>> has been set.
>>>>
>>>> If this bug is very old, I'm not sure whether this should be fixed.
>>>> Setting admin group to files which are owned "only" by current user
>>>> is possibly not very effective.
>>>
>>> It's true that some people might be relying on that buggy behaviour.
>>
>> I have one very old Cygwin installation from Win7 times. Very old
>> installed files still have group="Administrator", newer files have
>> group="None". The timestamps suggest that the regression was
>> introduced early in 2012. The first file with group="None" is from
>> March 2 2012.
>
> Hmm... [1] seems like the obvious suspect for the change responsible
> for that, but I don't immediately see how...
>
> [1]
> https://cygwin.com/git/?p=cygwin-apps/setup.git;a=commitdiff;h=befc9dd806824f22ebb740be96ba8c0ae8f63bb4;hp=34d534a6d74e5516d6691fb1d9cb6309682afa0b
>
Hmm... correct as this change moves UserSettings ctor behind
setDefaultSecurity ():
Old version 34d534a:
...
UserSettings Settings (local_dir);
...
nt_sec.setDefaultSecurity ();
...
Main.WindowCreate()
New version befc9dd:
...
nt_sec.setDefaultSecurity ();
...
UserSettings Settings (local_dir);
...
Main.WindowCreate()
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).
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |