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