This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.3


Corinna Vinschen wrote:
Hi Cygwin friends and users,


I just released a 3rd TEST version of the next upcoming Cygwin release,
1.7.33-0.3.

Changes compared to the former test version 1.7.33-0.2:

- Add -b/--remove-all option to setfacl to reduce the ACL to only the
   entries representing POSIX permission bits.

Thanks, I missed that functionality several times.

But unfortunaltely this change introduced a regression.
This testcase is from the syslog-ng-config script and worked with 1.7.33-0.2:

$ setfacl -m u:system:rwx FILE
setfacl: Invalid argument

Hmm...
$ git diff cygwin-1.7.32-0.2
...
-  else if ((lcnt = acl (path, GETACL, MAX_ACL_ENTRIES, lacl)) < 0
-      || (lcnt = modacl (lacl, lcnt, acls, cnt)) < 0
-      || (action != Delete && (lcnt = addmissing (lacl, lcnt)) < 0)
-      || (lcnt = acl (path, SETACL, lcnt, lacl)) < 0)
...
+    default:
+      if ((lcnt = acl (path, GETACL, MAX_ACL_ENTRIES, lacl)) < 0
+         || (lcnt = modacl (lacl, lcnt, acls, cnt)) < 0
+         || (lcnt = addmissing (lacl, lcnt) < 0)   // <==== Hmm.... :-)
+         || (lcnt = acl (path, SETACL, lcnt, lacl)) < 0)


- Drop code removing current working directory from the default DLL
   search path.  Instead:
   When exec'ing applications, check if $PATH exists and is non-empty.  If not,
   add PATH variable with Cygwin installation directory as content to Windows
   environment to allow loading of Cygwin system DLLs.

This works as expected.

Interesting:
The windows PATH is set to "\\?\X:\cygwin_dir\bin" instead of "X:\cygwin_dir\bin". This apparently works to find DLLs by CreateProcess() but not to find commands by cmd.exe:

$ export PATH=/bin

$ /cygdrive/c/Windows/System32/cmd /c PATH
PATH=C:\cygwin\bin

$ /cygdrive/c/Windows/System32/cmd /c uname
CYGWIN_NT-6.1-WOW64

$ unset PATH

$ /cygdrive/c/Windows/System32/cmd /c PATH
PATH=\\?\C:\cygwin\bin

$ /cygdrive/c/Windows/System32/cmd /c uname
... some localized 'uname not found' message


Thanks,
Christian


--
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]