public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* [ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.3
@ 2014-10-27 21:48 Corinna Vinschen
  2014-10-27 22:03 ` Denis Excoffier
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Corinna Vinschen @ 2014-10-27 21:48 UTC (permalink / raw)
  To: cygwin

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.

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

- Drop code checking for connected socket in read/recv/recvfrom/recvmsg
  calls.  Too many bordercases break this test.

- Fix a SEGV in some 64 bit applications explicitely dlclosing DLLs.
  Addresses: https://cygwin.com/ml/cygwin/2014-10/msg00402.html


If you want to help testing this new release (which I seriously hope
for), you can find it in your setup-x86.exe or setup-x86_64.exe as
"test" release.


The major change in this new release is the new method to read account
(passwd and group) information from the Windows user databases directly,
without the requirement to generate /etc/passwd and /etc/group files to
generate Unix-like uid and gid.

For your convenience I wrote new documentation.  Since this is a TEST
prerelease, the new documentation is not part of the official docs yet.
Rather have a look at

  https://cygwin.com/preliminary-ntsec.html

If you read it
(which I seriously hope for) and it's all just incomprehensible
gobbledygook to you, please say so on the mailing list

  cygwin AT cygwin DOT com

so we have a chance to improve the documentation.

Please give this TEST release a try.

If you find problems in the new features or regressions compared to the
current stable release 1.7.32, please report them to the public mailing
list

  cygwin AT cygwin DOT com


Following is a list of changes in this new release:


What's new:
-----------

- Cygwin can now generate passwd/group entries directly from Windows
  user databases (local SAM or Active Directory), thus allowing to run
  Cygwin without having to create /etc/passwd and /etc/group files.
  Introduce /etc/nsswitch.conf file to configure passwd/group handling.

  For bordercase which require to use /etc/passwd and /etc/group files,
  change mkpasswd/mkgroup to generate passwd/group entries compatible
  with the entries read from SAM/AD.

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

- /proc/cygdrive is a new symlink pointing to the current cygdrive prefix.
  This can be utilized in scripts to access paths via cygdrive prefix, even
  if the cygdrive prefix has been changed by the user.

- /proc/partitions now prints the windows mount points the device is mounted
  on.  This allows to recognize the underlying Windows devices of the Cygwin
  raw device names.

- New API: quotactl, designed after the Linux/BSD function, but severely
  restricted:  Windows only supports user block quotas on NTFS, no group
  quotas, no inode quotas, no time constraints.

- New APIs: ffsl, ffsll (glibc extensions).

- New API: stime (SVr4).

- Provide Cygwin documentation (PDFs and HTML) for offline usage in
  /usr/share/doc/cygwin-${version}.


What changed:
-------------

- New internal exception handling based on SEH on 64 bit Cygwin.

- Revamp Solaris ACL implementation to more closely work like POSIX ACLs
  are supposed to work.  Finally implement a CLASS_OBJ emulation.  Update
  getfacl(1)/setfacl(1) accordingly.

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

- Improve various header files for C++- and standards-compliance.

- Doug Lea malloc implementation update from 2.8.3 to the latest 2.8.6.


Bug Fixes
---------

- Per POSIX, dirfd(3) now returns EINVAL rather than EBADF on invalid
  directory stream.

- Fix a resource leak in rmdir(2).

- Fix fchmod(2)/fchown(2)/fsetxattr(2) in case the file got renamed after
  open and before calling one of the affected functions.
  Addresses: https://cygwin.com/ml/cygwin/2014-08/msg00517.html

- Handle Netapp-specific problem in statvfs(2)/fstatvfs(2).
  Addresses: https://cygwin.com/ml/cygwin/2014-06/msg00425.html

- Fix chown(2) on ptys in a corner case.

- Generate correct error when a path is inaccessible due to missing permissions.
  Addresses: https://cygwin.com/ml/cygwin-developers/2014-10/msg00010.html

- Don't hang in accept calls if socket is no listener.  Set errno to EINVAL
  instead.

- Don't allow seeking on serial lines and sockets.  Set errno to ESPIPE
  instead.
  Addresses: https://cygwin.com/ml/cygwin/2014-08/msg00319.html

- Fix output of /proc/<PID>/statm.

- Fix a SEGV in cygcheck if the environment variable COMSPEC is not, or
  incorrectly set.
  Addresses: https://cygwin.com/ml/cygwin/2014-10/msg00292.html

- Fix a SEGV in some 64 bit applications explicitely dlclosing DLLs.
  Addresses: https://cygwin.com/ml/cygwin/2014-10/msg00402.html


To install 32-bit Cygwin use http://cygwin.com/setup-x86.exe
To install 64 bit Cygwin use http://cygwin.com/setup-x86_64.exe

If you're already running a 32 bit version of Cygwin on 64 bit Windows
machines, you can continue to do so.  If you're planning a new install
of Cygwin on a 64 bit Windows machine, consider to use the new 64 bit
Cygwin version, unless you need certain packages not yet available in
the 64 bit release.


Have fun,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.3
  2014-10-27 21:48 [ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.3 Corinna Vinschen
@ 2014-10-27 22:03 ` Denis Excoffier
  2014-10-28  9:15   ` Corinna Vinschen
  2014-10-28 14:46 ` Ken Brown
  2014-10-28 20:44 ` Christian Franke
  2 siblings, 1 reply; 6+ messages in thread
From: Denis Excoffier @ 2014-10-27 22:03 UTC (permalink / raw)
  To: cygwin

On 2014-10-27 22:46, 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.
Not found for the moment (it's okay of course), but found a new snapshot.

This remembers me that for some time now, there are
/usr/include/rpc/types.h
and
/usr/include/rpc/xdr.h
which are present in the snapshots but not in releases.

This is just a remark and i suppose this is ok.

Regards,

Denis Excoffier.

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.3
  2014-10-27 22:03 ` Denis Excoffier
@ 2014-10-28  9:15   ` Corinna Vinschen
  0 siblings, 0 replies; 6+ messages in thread
From: Corinna Vinschen @ 2014-10-28  9:15 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 962 bytes --]

On Oct 27 23:03, Denis Excoffier wrote:
> On 2014-10-27 22:46, 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.
> Not found for the moment (it's okay of course), but found a new snapshot.

The snapshot is equivalent to 1.7.33-0.3.

> This remembers me that for some time now, there are
> /usr/include/rpc/types.h
> and
> /usr/include/rpc/xdr.h
> which are present in the snapshots but not in releases.

The /usr/include/rpc directory is provided by newlib and gets
explicitely removed in the release in favor of /usr/include/tirpc
from the libtirpc-devel package.  The snapshot generation script
didn't catch up apparently.  I (think I) fixed that now.


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.3
  2014-10-27 21:48 [ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.3 Corinna Vinschen
  2014-10-27 22:03 ` Denis Excoffier
@ 2014-10-28 14:46 ` Ken Brown
  2014-10-28 20:44 ` Christian Franke
  2 siblings, 0 replies; 6+ messages in thread
From: Ken Brown @ 2014-10-28 14:46 UTC (permalink / raw)
  To: cygwin

On 10/27/2014 5:46 PM, 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.

Nice!  I'm finding this very useful for cleaning up old directories with 
inherited ACLs.

Ken

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.3
  2014-10-27 21:48 [ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.3 Corinna Vinschen
  2014-10-27 22:03 ` Denis Excoffier
  2014-10-28 14:46 ` Ken Brown
@ 2014-10-28 20:44 ` Christian Franke
  2014-10-29 10:42   ` Corinna Vinschen
  2 siblings, 1 reply; 6+ messages in thread
From: Christian Franke @ 2014-10-28 20:44 UTC (permalink / raw)
  To: cygwin

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.3
  2014-10-28 20:44 ` Christian Franke
@ 2014-10-29 10:42   ` Corinna Vinschen
  0 siblings, 0 replies; 6+ messages in thread
From: Corinna Vinschen @ 2014-10-29 10:42 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 2515 bytes --]

On Oct 28 21:44, Christian Franke wrote:
> 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.... :-)

Ouch!  What a dumb typo.  Thanks for pointing it out.

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

Isn't it nice how CMD is not capable of using Windows' own capabilities?
I applied a patch which uses the non-prefixed directory if possible,


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-10-29 10:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-27 21:48 [ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.33-0.3 Corinna Vinschen
2014-10-27 22:03 ` Denis Excoffier
2014-10-28  9:15   ` Corinna Vinschen
2014-10-28 14:46 ` Ken Brown
2014-10-28 20:44 ` Christian Franke
2014-10-29 10:42   ` Corinna Vinschen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).