X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:references:date:in-reply-to :message-id:mime-version:content-type:content-transfer-encoding; q=dns; s=default; b=Bxay3GCtdBK7RaRFpkEeM1+IH0EchVLdTQjUqWwL08C HsXbdYrFcT1E/JSwsYfSD8OKnHcALYCfDZImC2DaqLaQwgekruYbNmcY8QgtTiRE xerL5phsn6D+3TGZp1AaaJg4+jl3jxBu0jmM2r1LCXPqih/cbFspJMWeXyxg7qnk = DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:references:date:in-reply-to :message-id:mime-version:content-type:content-transfer-encoding; s=default; bh=HlQx7phpw2DzcKtn69yXn8wrEAQ=; b=absFVuUyha6XnWwUc IC/gEhf92LFFrHk2ZcR7V8ykUrfD3tIMcmFX5Gd2MU/W/gIvrTkHnERMGju//P6U d9jyn7BvnhmM6JCD3v5npgW0lyt/wG+TfixM3fWAVHKOh0Bud/3oGPmwCEuPfdOX eo98V58ic5gZQqxjZWkbLIxWz8= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-in-10.arcor-online.net X-DKIM: Sendmail DKIM Filter v2.8.2 mail-in-01.arcor-online.net 3lT7nL5YdRz2ljF From: Achim Gratz To: cygwin AT cygwin DOT com Subject: Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-0.7 References: Date: Fri, 17 Apr 2015 22:09:53 +0200 In-Reply-To: (Corinna Vinschen's message of "Fri, 17 Apr 2015 12:35:17 +0200") Message-ID: <87pp72sei6.fsf@Rainer.invalid> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id t3HKALxg017156 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