Cygwin: flock: Fix overlap handling in lf_setlock() and lf_clearlock()
[newlib-cygwin.git] / winsup / cygwin / release / 2.4.0
blob6247fb8f42ec8e9cde0c00bd2113ade94a4e4673
1 What's new:
2 -----------
4 - New, unified implementation of POSIX permission and ACL handling.  The
5   new ACLs now store the POSIX ACL MASK/CLASS_OBJ permission mask, and
6   they allow to inherit the S_ISGID bit.  ACL inheritance now really
7   works as desired, in a limited, but theoretically equivalent fashion
8   even for non-Cygwin processes.
10   To accommodate standard Windows ACLs, the POSIX permissions of the
11   owner and all other users in the ACL are computed using the Windows
12   AuthZ API.  This may slow down the computation of POSIX permissions
13   noticably in some circumstances, but is generally more correct.  The
14   new code also ignores SYSTEM and Administrators group permissions when
15   computing the MASK/CLASS_OBJ permission mask on old ACLs, and it
16   doesn't deny access to SYSTEM and Administrators group based on the
17   value of MASK/CLASS_OBJ when creating the new ACLs.
19   The new code now handles the S_ISGID bit on directories as on Linux:
20   Setting S_ISGID on a directory causes new files and subdirs created
21   within to inherit its group, rather than the primary group of the user
22   who created the file.  This only works for files and directories
23   created by Cygwin processes.
25 - New mount type "usertemp" which allows to mount a POSIX directory to
26   the Windows per-user temporary directory.
28 - cygpath has a new -U option, which creates cygdrive paths using the
29   unambiguous /proc/cygdrive prefix.
31 - New API: rpmatch.
34 What changed:
35 -------------
37 - Align setfacl(1) usage a bit closer to the usage on Linux.  Rename -d option
38   to -x, --substitute to --set.  Add --no-mask and --mask options.  Allow to
39   use the -b and -k option combined to allow reducing an ACL to only reflect
40   standard POSIX permissions.
42 - Fix (numeric and monetary) decimal point and thousands separator in
43   fa_IR and ps_AF locales to be aligned with Linux.
45 - utmpname/utmpxname are now defined as int functions as on Linux.
46   Addresses: https://cygwin.com/ml/cygwin/2015-12/msg00320.html
49 Bug Fixes
50 ---------
52 - Not a bug fix as such, but a workaround for new behaviour in Windows 10
53   version 1511 64 bit.  This version introduces a problem which existed in
54   a similar variation (just vice versa) in XP and Server 2003 64 bit as well.
55   An unexpected stack arrangement when starting a 64 bit Cygwin application
56   from a 32 bit application (e.g. 32 bit CMD.EXE) broke Cygwin's fork.
57   Addresses: https://cygwin.com/ml/cygwin/2015-12/msg00003.html
59 - Replaced old, buggy strtold implementation with well-tested gdtoa version
60   from David M. Gay.
61   Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00205.html
63 - Fix handling of relative paths in native symlinks if the target is in a
64   drive's root dir or one level below.
65   Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00277.html
67 - Fix a SEGV when calling `kill -l 0'.
68   Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00430.html
70 - Fix a race condition in signal handling.
71   Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00387.html
73 - Fix a potential crash reading invalid passwd and group entries from
74   /etc/passwd and /etc/group.
75   Addresses: https://cygwin.com/ml/cygwin/2015-12/msg00170.html
77 - Cygpath(1) now tries to correct the case of system directories when
78   returned as POSIX paths.
79   Addresses: https://cygwin.com/ml/cygwin/2016-01/msg00002.html
81 - *Always* zero out descriptor arrays when returning from select due to
82   timeout, per POSIX.
83   Addresses: https://cygwin.com/ml/cygwin/2015-12/msg00332.html
85 - Return unique inode numbers when calling stat/fstat on pipes and IP sockets.
86   Addresses: https://cygwin.com/ml/cygwin/2015-12/msg00310.html