This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-0.7
- From: Achim Gratz <Stromeko at nexgo dot de>
- To: cygwin at cygwin dot com
- Date: Fri, 17 Apr 2015 22:09:53 +0200
- Subject: Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-0.7
- Authentication-results: sourceware.org; auth=none
- References: <announce dot 20150417103517 dot GV3657 at calimero dot vinschen dot de>
Corinna Vinschen writes:
> New 2.0.0-0.7 test release:
>
> - Improved setfacl tool. It now handles mask recomputation just like
> the Linux tool. -d option renamed to -x (but -d is still accepted
> for backward compat). New -n,--no-mask and --mask options.
"setfacl -b -k" still errors out instead of removing both the default
and extended ACL entries.
> The important change in this release is the POSIX permission handling
> change, a rewrite of the underlying routines reading and creating
> Windows ACLs following POSIX permission rules and POSIX ACL creating
> rules per POSIX 1003.1e draft 17, as on Linux.
I seem to have found another fly in that ointment (or rather cygport
did find it for meâ):
While packaging a "find usr/ -type f -executable" would find newly
created info files that ls and getfacl agree are not executable:
-rw-------+ 1 ASSI Kein 48880 5. Apr 2014 ucl.log
# file: ucl.log
# owner: ASSI
# group: Kein
user::rw-
group::---
group:SYSTEM:rwx #effective:---
group:Administratoren:rwx #effective:---
mask:---
other:---
It seems that some of the code doesn't take the masking bits into
account just yet. Here's the relevant portion of an strace on a
different file (I had already deleted the ACL on the original ones):
215 43687 [main] find 2808 normalize_posix_path: src /mnt/share/maint/ucl.log
23 43710 [main] find 2808 normalize_posix_path: /mnt/share/maint/ucl.log = normalize_posix_path (/mnt/share/maint/ucl.log)
35 43745 [main] find 2808 mount_info::conv_to_win32_path: conv_to_win32_path (/mnt/share/maint/ucl.log)
28 43773 [main] find 2808 set_flags: flags: binary (0x2)
27 43800 [main] find 2808 mount_info::conv_to_win32_path: src_path /mnt/share/maint/ucl.log, dst D:\Freeware\CygShare\maint\ucl.log, flags 0x2, rc 0
63 43863 [main] find 2808 symlink_info::check: 0x0 = NtCreateFile (\??\D:\Freeware\CygShare\maint\ucl.log)
43 43906 [main] find 2808 symlink_info::check: not a symlink
57 43963 [main] find 2808 symlink_info::check: 0 = symlink.check(D:\Freeware\CygShare\maint\ucl.log, 0x23B600) (0x400002)
24 43987 [main] find 2808 path_conv::check: this->path(D:\Freeware\CygShare\maint\ucl.log), has_acls(1)
32 44019 [main] find 2808 build_fh_pc: fh 0x1802FEE38, dev 000000C3
22 44041 [main] find 2808 stat_worker: (\??\D:\Freeware\CygShare\maint\ucl.log, 0x60003B6E0, 0x1802FEE38), file_attributes 32
125 44166 [main] find 2808 fhandler_base::fstat_helper: 0 = fstat (\??\D:\Freeware\CygShare\maint\ucl.log, 0x60003B6E0) st_size=48880, st_mode=0100600, st_ino=281474977000743st_atim=533FAD65.25D44958 st_ctim=5531679B.D5E5E90 st_mtim=533FADD7.6CDF1E4 st_birthtim=533FAD65.25D44958
27 44193 [main] find 2808 stat_worker: 0 = (\??\D:\Freeware\CygShare\maint\ucl.log,0x60003B6E0)
226 44419 [main] find 2808 normalize_posix_path: src /mnt/share/maint/ucl.log
23 44442 [main] find 2808 normalize_posix_path: /mnt/share/maint/ucl.log = normalize_posix_path (/mnt/share/maint/ucl.log)
21 44463 [main] find 2808 mount_info::conv_to_win32_path: conv_to_win32_path (/mnt/share/maint/ucl.log)
25 44488 [main] find 2808 set_flags: flags: binary (0x2)
19 44507 [main] find 2808 mount_info::conv_to_win32_path: src_path /mnt/share/maint/ucl.log, dst D:\Freeware\CygShare\maint\ucl.log, flags 0x2, rc 0
86 44593 [main] find 2808 symlink_info::check: 0x0 = NtCreateFile (\??\D:\Freeware\CygShare\maint\ucl.log)
34 44627 [main] find 2808 symlink_info::check: not a symlink
21 44648 [main] find 2808 symlink_info::check: 0 = symlink.check(D:\Freeware\CygShare\maint\ucl.log, 0x23B530) (0x400002)
21 44669 [main] find 2808 path_conv::check: this->path(D:\Freeware\CygShare\maint\ucl.log), has_acls(1)
38 44707 [main] find 2808 build_fh_pc: fh 0x1802FEE38, dev 000000C3
110 44817 [main] find 2808 check_file_access: flags 0x1, ret 0
47 44864 [main] find 2808 fhandler_base::fhaccess: returning 0
44 44908 [main] find 2808 faccessat: returning 0
With the ACLÂremoved, the trace looks like this instead:
277 46985 [main] find 3992 normalize_posix_path: src /mnt/share/maint/ucl.log
29 47014 [main] find 3992 normalize_posix_path: /mnt/share/maint/ucl.log = normalize_posix_path (/mnt/share/maint/ucl.log)
39 47053 [main] find 3992 mount_info::conv_to_win32_path: conv_to_win32_path (/mnt/share/maint/ucl.log)
20 47073 [main] find 3992 set_flags: flags: binary (0x2)
18 47091 [main] find 3992 mount_info::conv_to_win32_path: src_path /mnt/share/maint/ucl.log, dst D:\Freeware\CygShare\maint\ucl.log, flags 0x2, rc 0
58 47149 [main] find 3992 symlink_info::check: 0x0 = NtCreateFile (\??\D:\Freeware\CygShare\maint\ucl.log)
51 47200 [main] find 3992 symlink_info::check: not a symlink
20 47220 [main] find 3992 symlink_info::check: 0 = symlink.check(D:\Freeware\CygShare\maint\ucl.log, 0x23B600) (0x400002)
23 47243 [main] find 3992 path_conv::check: this->path(D:\Freeware\CygShare\maint\ucl.log), has_acls(1)
39 47282 [main] find 3992 build_fh_pc: fh 0x1802FEE38, dev 000000C3
22 47304 [main] find 3992 stat_worker: (\??\D:\Freeware\CygShare\maint\ucl.log, 0x60003B6E0, 0x1802FEE38), file_attributes 32
143 47447 [main] find 3992 fhandler_base::fstat_helper: 0 = fstat (\??\D:\Freeware\CygShare\maint\ucl.log, 0x60003B6E0) st_size=48880, st_mode=0100600, st_ino=281474977000743st_atim=533FAD65.25D44958 st_ctim=5531680B.36B1E654 st_mtim=533FADD7.6CDF1E4 st_birthtim=533FAD65.25D44958
27 47474 [main] find 3992 stat_worker: 0 = (\??\D:\Freeware\CygShare\maint\ucl.log,0x60003B6E0)
206 47680 [main] find 3992 normalize_posix_path: src /mnt/share/maint/ucl.log
27 47707 [main] find 3992 normalize_posix_path: /mnt/share/maint/ucl.log = normalize_posix_path (/mnt/share/maint/ucl.log)
18 47725 [main] find 3992 mount_info::conv_to_win32_path: conv_to_win32_path (/mnt/share/maint/ucl.log)
68 47793 [main] find 3992 set_flags: flags: binary (0x2)
24 47817 [main] find 3992 mount_info::conv_to_win32_path: src_path /mnt/share/maint/ucl.log, dst D:\Freeware\CygShare\maint\ucl.log, flags 0x2, rc 0
51 47868 [main] find 3992 symlink_info::check: 0x0 = NtCreateFile (\??\D:\Freeware\CygShare\maint\ucl.log)
42 47910 [main] find 3992 symlink_info::check: not a symlink
21 47931 [main] find 3992 symlink_info::check: 0 = symlink.check(D:\Freeware\CygShare\maint\ucl.log, 0x23B530) (0x400002)
65 47996 [main] find 3992 path_conv::check: this->path(D:\Freeware\CygShare\maint\ucl.log), has_acls(1)
26 48022 [main] find 3992 build_fh_pc: fh 0x1802FEE38, dev 000000C3
71 48093 [main] find 3992 __set_errno: int check_access(security_descriptor&, GENERIC_MAPPING&, ACCESS_MASK, int, bool):588 setting errno 13
31 48124 [main] find 3992 check_file_access: flags 0x1, ret -1
73 48197 [main] find 3992 fhandler_base::fhaccess: returning -1
69 48266 [main] find 3992 faccessat: returning -1
Regards,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
SD adaptation for Waldorf rackAttack V1.04R1:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple