libc/winsup/cygwin/release/2.4.0

71 lines
2.8 KiB
Plaintext
Raw Normal View History

What's new:
-----------
- New, unified implementation of POSIX permission and ACL handling. The
new ACLs now store the POSIX ACL MASK/CLASS_OBJ permission mask, and
they allow to inherit the S_ISGID bit. ACL inheritance now really
works as desired, in a limited, but theoretically equivalent fashion
even for non-Cygwin processes.
To accommodate standard Windows ACLs, the POSIX permissions of the
owner and all other users in the ACL are computed using the Windows
AuthZ API. This may slow down the computation of POSIX permissions
noticably in some circumstances, but is generally more correct. The
new code also ignores SYSTEM and Administrators group permissions when
computing the MASK/CLASS_OBJ permission mask on old ACLs, and it
doesn't deny access to SYSTEM and Administrators group based on the
value of MASK/CLASS_OBJ when creating the new ACLs.
The new code now handles the S_ISGID bit on directories as on Linux:
Setting S_ISGID on a directory causes new files and subdirs created
within to inherit its group, rather than the primary group of the user
who created the file. This only works for files and directories
created by Cygwin processes.
2015-12-15 11:25:23 +01:00
- New mount type "usertemp" which allows to mount a POSIX directory to
the Windows per-user temporary directory.
Allow cygwin_conv_path(3) and cygpath(1) to emit /proc/cygdrive prefixed path * include/sys/cygwin.h (CCP_PROC_CYGDRIVE): New flag. * mount.cc (mount_info::cygdrive_posix_path): Take flag values rather than just a trailing_slash_p bool. Emit /proc/cygdrive path if CCP_PROC_CYGDRIVE flag is given. (mount_info::conv_to_posix_path): Take flag values rather than just a keep_rel_p bool. Rename _p variables. Print flag value as hex in debug_printf. Call cygdrive_posix_path with flag values. * mount.h (mount_info::cygdrive_posix_path): Accommodate above change in declaration. (mount_info::conv_to_posix_path): Ditto. * fhandler_process.cc (format_process_exename): Accommodate change to mount_info::conv_to_posix_path. * path.cc (cygwin_conv_path): Ditto. * cygpath.cc (absolute_flag): Initialize to CCP_RELATIVE to simplify expressions. (cygdrive_flag): New global flag. (long_options): Add --proc-cygdrive option. (options): Add -U option. (usage): Add description for -U option. (do_sysfolders): Or cygdrive_flag to cygwin_conv_path call. (do_pathconv): Simply or absolute_flag to conv_func. Or cygdrive_flag to conv_func. (do_options): Initalize absolute_flag to CCP_RELATIVE. Initialize new cygdrive_flag. Set absolute_flag to CCP_ABSOLUTE on -a. Set cygdrive_flag to CCP_PROC_CYGDRIVE on -U. * new-features.xml (ov-new2.4): Document cygpath -U option. * utils.xml (cygpath): Ditto. * path.xml (func-cygwin-path): Add CCP_PROC_CYGDRIVE description. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-12-06 17:25:48 +01:00
- cygpath has a new -U option, which creates cygdrive paths using the
unambiguous /proc/cygdrive prefix.
- New API: rpmatch.
What changed:
-------------
- setfacl(1) now allows to use the -b and -k option combined to allow reducing
an ACL to only reflect standard POSIX permissions.
- Fix (numeric and monetary) decimal point and thousands separator in
fa_IR and ps_AF locales to be aligned with Linux.
Bug Fixes
---------
- Not a bug fix as such, but a workaround for new behaviour in Windows 10
version 1511 64 bit. This version introduces a problem which existed in
a similar variation (just vice versa) in XP and Server 2003 64 bit as well.
An unexpected stack arrangement when starting a 64 bit Cygwin application
from a 32 bit application (e.g. 32 bit CMD.EXE) broke Cygwin's fork.
Addresses: https://cygwin.com/ml/cygwin/2015-12/msg00003.html
- Replaced old, buggy strtold implementation with well-tested gdtoa version
from David M. Gay.
Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00205.html
- Fix handling of relative paths in native symlinks if the target is in a
drive's root dir or one level below.
Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00277.html
- Fix a SEGV when calling `kill -l 0'.
Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00430.html
- Fix a race condition in signal handling.
Addresses: https://cygwin.com/ml/cygwin/2015-11/msg00387.html
- Fix a potential crash reading invalid passwd and group entries from
/etc/passwd and /etc/group.
Addresses: https://cygwin.com/ml/cygwin/2015-12/msg00170.html