delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2015/04/17/16:10:27

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: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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 <Stromeko AT nexgo DOT de>
To: cygwin AT cygwin DOT com
Subject: Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.0.0-0.7
References: <announce DOT 20150417103517 DOT GV3657 AT calimero DOT vinschen DOT de>
Date: Fri, 17 Apr 2015 22:09:53 +0200
In-Reply-To: <announce.20150417103517.GV3657@calimero.vinschen.de> (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
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


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019