Updated: Cygwin 1.7.35-1

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Mar 4 11:36:00 GMT 2015

Hi Cygwin friends and users,

I just released Cygwin 1.7.35-1.

This release comes with a bunch of changes and bugfixes collected
since 1.7.34-6.  The major changes are

- Performance improvements in the new account handling per

- New default settings for db_home, db_shell, and db_gecos.  The
  defaults are now:

    db_home: /home/%U
    db_shell: /bin/bash
    db_gecos: <empty>

  This means, if you don't set these values in /etc/nsswitch.conf,
  there's no reason for Cygwin to access the DC via LDAP.

- A change in chmod's handling of group permissions allows to use
  chmod(1) to disable excessive group permissions.

Here's the list of changes for 1.7.35-1:

What's new:

- New APIs: cabsl, cimagl, creall, finitel, hypotl, sqrtl.

- New API: issetugid.

What changed:

- Performance improvements of the new account DB handling.

- Since 1.7.34, chmod does not always affect the POSIX permission mask as
  returned by stat(2) or printed by ls(1), due to the improved POSIX ACL
  handling.  However, that's still far from perfect, so, as a temporary
  workaround, chmod now checks if secondary groups and users in the ACL
  have more permissions than the primary group.  If so, the permissions
  of the secondary users and groups will be reduced according to the mask
  given by the new primary group permissions.  I.e, chmod 600 will remove
  all permissions from the primary group as well as all secondary user and
  group entries in the ACL.

- Change handling of group permissions if owner SID == group SID.  Now the
  group permissions don't mirror the user permissions anymore, thus leading
  to less hassle with security-conscious applications.

- Allow group SID to be the same as owner SID for "Microsoft Accounts".
  Those have the group in their user token set to the owner SID by default.
  Drop the workaround to change their primary group to "Users".  It's not
  required anymore due to the aforementioned changes.

- Change getfacl long options from --all to --access and from --dir to
  --default, along the lines of the Linux getfacl tool.

- Don't raise a SIGSYS signal in the XSI IPC functions if cygserver is not
  running.  Just return -1 with errno set to ENOSYS.

Bug Fixes

- Fix /proc/cpuinfo multicore info on Intel CPUs.
  Addresses: https://cygwin.com/ml/cygwin-apps/2015-02/msg00077.html

- Generate unique inode number for /dev/tty under all circumstances.
  Addresses: https://cygwin.com/ml/cygwin/2015-02/msg00211.html

- Fix handling of PATH search in execlp and other calls to honor mount flags.
  Addresses: https://cygwin.com/ml/cygwin/2015-02/msg00119.html

- Remove a debug message accidentally printed to the terminal window
  if an application calls fcntl(F_SETFL) erroneously.

- Two regressions in 1.7.34 acl(SETACL, ...):

  - SETACL overwrote the incoming acltent_t array for bookkeeping purposes
    while iterating over its entries.  This broke reusing the acl in the
    calling application (e.g. setfacl).
    Addresses: https://cygwin.com/ml/cygwin/2015-02/msg00304.html

  - SETACL accidentally missed to grant owner FILE_WRITE_ATTRIBUTES access.
    Addresses: https://cygwin.com/ml/cygwin/2015-02/msg00457.html

- Keep SETACL from duplicating user/group deny/allow ACEs if owner SID is
  the same as group SID.

- When creating directories, keep permissions inherited from parent directory
  inheritable, per POSIX 1003.1e.

- 64 bit: Export forgotten symbol __mempcpy.
  Addresses: https://cygwin.com/ml/cygwin/2015-02/msg00394.html

- 64 bit: Avoid misbehaviour in signal mask computation.
  Addresses: https://cygwin.com/ml/cygwin/2015-02/msg00665.html

- Avoid data loss on non-blocking pipes after switching back to blocking.
  Addresses: https://cygwin.com/ml/cygwin/2015-02/msg00575.html

- Fix a potential heap corruption in mkgroup and mkpasswd when enumerating
  Unix users.

- Regression in 1.7.34:  A patch to the pty handling fixing the problem
  reported in https://cygwin.com/ml/cygwin-developers/2014-11/msg00000.html
  was incomplete and lead to undesired buffering in non-canonical mode.
  This should be fixed now.
  Addresses: https://cygwin.com/ml/cygwin/2015-02/msg00608.html

- Fix signal handling in a few functions.
  Partially addresses: https://cygwin.com/ml/cygwin/2015-02/msg00762.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 Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

More information about the Cygwin-announce mailing list