mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-18 04:19:21 +08:00
5aa8817e3a
* 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>
64 lines
2.6 KiB
Plaintext
64 lines
2.6 KiB
Plaintext
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.
|
|
|
|
- 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
|