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. - Add -k/--remove-default option to setfacl to remove all default ACL entries from an ACL. - Provide Cygwin documentation (PDFs and HTML) for offline usage in /usr/share/doc/cygwin-${version}. - New APIs: qsort_r, __bsd_qsort_r. - New APIs: __fbufsize, __flbf, __fpending, __freadable, __freading, __fsetlocking, __fwritable, __fwriting. - New APIs: clearerr_unlocked, feof_unlocked, ferror_unlocked, fflush_unlocked, fgetc_unlocked, fgets_unlocked, fgetwc_unlocked, fgetws_unlocked, fileno_unlocked, fputc_unlocked, fputs_unlocked, fputwc_unlocked, fputws_unlocked, fread_unlocked, fwrite_unlocked, getwc_unlocked, getwchar_unlocked, putwc_unlocked, putwchar_unlocked. What changed: ------------- - 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. - The xdr functions are no longer exported for newly built executables. Use libtirpc-devel instead. - 32 bit only: Change default values for socket buffer size to raise performance on 10Gb networks. - When spawning a process under another user account, merge the user's default Windows environment into the new process' environment. Bug Fixes --------- - Fix the problem that ptys master side always writes single byte packages to the slave side, and pty slaves always read VMIN byte packages from the master side if VMIN is > 0. Fixes: https://cygwin.com/ml/cygwin-developers/2014-11/msg00000.html - Fix a synchronization problem in signal handling when using pthreads. Addresses: https://cygwin.com/ml/cygwin/2014-11/msg00472.html - Fix an "invalid handle" problem when using flock(2) with a parent process holding the lock. Addresses: https://cygwin.com/ml/cygwin/2014-12/msg00012.html - Load correct timezone offsets when fetching timezone info from zoneinfo files. Use tm_gmtoff and tm_zone members in strftime to generate more correct timezone info for non-recent eras. Addresses: https://cygwin.com/ml/cygwin/2014-12/msg00313.html - Fix type of cmsg_len member of struct cmsghdr in /usr/include/cygwin/socket.h to size_t to align with Winsock. Addresses: https://cygwin.com/ml/cygwin/2014-12/msg00376.html