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