diff options
Diffstat (limited to 'winsup/cygwin/ChangeLog')
-rw-r--r-- | winsup/cygwin/ChangeLog | 2261 |
1 files changed, 1 insertions, 2260 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 546df2489..62f63d500 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,2260 +1 @@ -2015-12-25 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Only request - query_write_dac rather than query_write_control access when writing - an ACL. Fix a comment. - -2015-12-24 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (__aclcalcmask): New function to recalculate ACL masks. - (aclsort32): Honor calclass argument. - -2015-12-24 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (aclfromtext32): Return missing aclcnt parameter. - -2015-12-24 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (acltotext32): Use tmp_pathbuf rather than stack buffer. - (aclfromtext32): Ditto. - -2015-12-24 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc: Cosmetic changes. - -2015-12-18 Corinna Vinschen <corinna@vinschen.de> - - * strfuncs.cc (sys_cp_wcstombs): Delete and move functionality into - sys_wcstombs. - * wchar.h (sys_cp_wcstombs): Drop declaration. - * fhandler_console.cc (dev_console::con_to_str): Call sys_wcstombs. - -2015-12-16 Corinna Vinschen <corinna@vinschen.de> - - * grp.cc (pwdgrp::parse_group): Only copy the SID if it's valid. - * passwd.cc (pwdgrp::parse_passwd): Ditto. - -2015-12-14 Sebastian Huber <sebastian.huber@embedded-brains.de> - - * include/cygwin/signal.h (sigset_t): Move defintition to newlib. - -2015-12-11 Ken Brown <kbrown@cornell.edu> - - * fhandler_disk_file.cc (fhandler_base::fstat_helper): Align - regparm attribute to declaration in fhandler.h. - -2015-12-10 Corinna Vinschen <corinna@vinschen.de> - - * path.h (class path_conv_handle): Use FILE_ALL_INFORMATION instead of - FILE_NETWORK_OPEN_INFORMATION. Use definitions from ntdll.h since it's - included anyway. - (path_conv_handle::fai): Change name from fnoi. - (path_conv::fai): Ditto. - (file_get_fai): Change name from file_get_fnoi. Drop second parameter. - * path.cc (file_get_fai): Ditto. Fetch FileAllInformation rather than - FileNetworkOpenInformation. Convert STATUS_BUFFER_OVERFLOW to - STATUS_SUCCESS. Remove workaround to fetch FileBasicInformation and - FileStandardInformation on filesystems with broken - FileNetworkOpenInformation handling. - (symlink_info::check): Accommodate above changes. In case of using - the NtQueryDirectoryFile fallback, fetch FileIdBothDirectoryInformation - to get inode number as well. - * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Drop outdated - comment. Accommodate change to using FileAllInformation. Drop - extra function calls to fetch NumberOfLinks and IndexNumber. Set ino - directly from IndexNumber stored in pc.fai(). Drop second argument - from call to fstat_helper. - (fhandler_base::fstat_by_name): Drop second argument from call to - fstat_helper. - (fhandler_base::fstat_helper): Drop second parameter. Accommodate - the fact that we access a FILE_ALL_INFORMATION structure now. - (fhandler_base::open_fs): Set ino directly from IndexNumber stored in - pc.fai(). - * fhandler.h (fhandler_base::fstat_helper): Fix declaration accrdingly. - -2015-12-10 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (path_conv::ndisk_links): Drop unused method. - (fhandler_base::fstat_helper): Drop unused call to ndisk_links. - -2015-12-10 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (path_conv::get_ino_by_handle): Rename fai to - fii for clearness. - (fhandler_disk_file::readdir): Ditto. - -2015-12-09 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (FILE_ID_BOTH_DIR_INFORMATION): Revert IndexNumber to FileId - since it's actually right here. - * fhandler_disk_file.cc: Accommodate above change. - -2015-12-08 Corinna Vinschen <corinna@vinschen.de> - - * thread.cc (pthread::setcancelstate): Remove unnecessary locking. - (pthread::setcanceltype): Ditto. - -2015-12-08 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (FILE_ID_BOTH_DIR_INFORMATION): Rename FileId to IndexNumber - to align with Microsoft naming scheme. - (FILE_INTERNAL_INFORMATION): Ditto. - * fhandler_disk_file.cc: Rename FileId to IndexNumber throughout. - * syscalls.cc: Ditto. - -2015-12-07 Johannes Schindelin <johannes.schindelin@gmx.de> - - * mount.cc (mount_info::from_fstab_line): Support mounting the current - user's temp folder as /tmp/. This is particularly useful a feature - when Cygwin's own files are write-protected. - -2015-12-07 Corinna Vinschen <corinna@vinschen.de> - - * include/sys/select.h: Move select(2) macros from newlib's sys/types.h - here. Rename howmany to _howmany to unclutter namespace. Move file to - newlib. - * libc/rexex.cc: Add declaration for cygwin_gethostname. - * poll.cc: Include sys/param.h and locale select.h. - * select.h (cygwin_select): Declare. - * uname.cc: Declare cygwin_gethostname. - * winsup.h: Drop declarations of cygwin_select and cygwin_gethostname. - -2015-12-07 Corinna Vinschen <corinna@vinschen.de> - - * dcrt0.cc: Semi-revert commit 12743c2d5d2721f3a80b4d7671a349be03c1f520. - (dll_crt0_0): Drop setting wow64_needs_stack_adjustment on 64 bit. - (_dll_crt0): Split out 64 bit code again and always create new main - thread stack, unless forked off from the non main thread in the parent. - Call create_new_main_thread_stack with parent stack commitsize if - started from the parent's main thread. - Only call child_info_fork::alloc_stack for the latter case on 64 bit. - Slightly rearrange moving rsp and rbp to new stack and document how. - Revert 32 bit wow64 handling to its former self. - * miscfunc.cc (create_new_main_thread_stack): Take a commitsize - parameter and use it if it's not 0. Don't set _main_tls here, it's - done in the caller _dll_crt0 anyway. Return stackbase - 16 bytes, - rather than stacklimit (which was very wrong anyway). - * miscfuncs.h (create_new_main_thread_stack): Accommodate declaration - to aforementioned change. - * wincap.h (wincaps::has_3264_stack_broken): Remove element. - * wincap.cc: Ditto, throughout. - * wow64.cc: Semi-revert to pre-12743c2d5d2721f3a80b4d7671a349be03c1f520 - but keep architecture-agnostic type changes intact. Fix formatting. - * wow64.h: Revert to pre-12743c2d5d2721f3a80b4d7671a349be03c1f520. - -2015-12-06 Corinna Vinschen <corinna@vinschen.de> - - * 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. - -2015-12-03 Corinna Vinschen <corinna@vinschen.de> - - * dcrt0.cc (dll_crt0_0): On 64 bit, set wow64_needs_stack_adjustment - if not started from a 64 bit process. - (_dll_crt0): Enable wow64_needs_stack_adjustment branch on 64 bit - as well. Remove 64 bit only code. Introduce CREATE_STACK and - FIX_STACK macros to conditionalize the code. Rearrange and - partially rewrite comments. - * wincap.h (wincaps::has_3264_stack_broken): New element. - * wincap.cc: Implement above element throughout. - (wincapc::init): Set has_3264_stack_broken to false on 32 bit. - * wow64.cc: Enable functionality on 64 bit architecture, except for - wow64_revert_to_original_stack. Enhance comments to explain. - (wow64_eval_expected_main_stack): Make 64 bit clean. - (wow64_test_for_64bit_parent): Ditto. - * wow64.h: Export wow64_revert_to_original_stack on 32 bit only, - everything else on all architectures. - -2015-12-03 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_process.cc (thread_info::thread_info): Accommodate the fact - that TEBs take two pages. - (thread_info::fill_if_match): Rewrite the method for post W10 1511 TEB - detection. - (format_process_maps): Add a state member to region. Fix the code - to handle PEB/TEB region since W10 1511. - -2015-12-03 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_process.cc (heap_info::fill_if_match): Return NULL, not 0. - (thread_info::fill_if_match): Ditto. - (thread_info::fill_if_match): New method to extract TEB info from - PEB/TEB region since W10 1511. - (format_process_maps): Drop outdated FIXME comment. Add code to handle - PEB/TEB region since W10 1511. - * mmap.cc (posix_madvise): Align comment to new W10 1511 version. - * wincap.h (wincaps::has_new_pebteb_region): New element. - * wincap.cc: Implement above element throughout. - (wincap_10_1511): New global wincaps to support Windows 10 since 1511. - (wincapc::init): Use wincap_10_1511 for W10 builds >= 10586. - -2015-12-03 Corinna Vinschen <corinna@vinschen.de> - - x86_64 only: - * dcrt0.cc (_dll_crt0): Always move stack to pthread stack area. - Explain why. - * miscfuncs.cc (create_new_main_thread_stack): New function to create - OS-like stack for main thread in pthread stack area. - * miscfuncs.cc (create_new_main_thread_stack): Declare. - -2015-12-03 Corinna Vinschen <corinna@vinschen.de> - - * dcrt0.cc (child_info_fork::alloc_stack): Fix formatting. - * fork.cc (frok::parent): Fix formatting. - (child_copy): Change type of res to BOOL. - -2015-12-03 Corinna Vinschen <corinna@vinschen.de> - - * crt0.cc (dll_crt0_1): Always restore the TEB stack info. Especially - restore DeallocationStack. Fix comment. - -2015-12-03 Corinna Vinschen <corinna@vinschen.de> - - * dcrt0.cc (child_info_fork::alloc_stack): Don't set stackaddr to 0. - -2015-12-03 Corinna Vinschen <corinna@vinschen.de> - - * child_info.h (struct child_info): Add member from_main. - * fork.cc (frok::child): Check from_main rather than stackaddr. - (frok::parent): Set ch.from_main if running in the main thread. - -2015-12-02 Corinna Vinschen <corinna@vinschen.de> - - * child_info.h (CURR_CHILD_INFO_MAGIC): Align to below change. - (class child_info_fork): Rename stacktop to stacklimit. Rename - stackbottom to stackbase. Accommodate name change throughout Cygwin. - Rephrase comments to be clearer. - -2015-12-02 Corinna Vinschen <corinna@vinschen.de> - - * cygtls.h (_tlsbase): Remove. Replace throughout with - NtCurrentTeb()->Tib.StackBase. - (_tlstop): Remove. Replace throughout with - NtCurrentTeb()->Tib.StackLimit. - * dcrt0.cc (child_info_fork::alloc_stack): Move definition of local - teb variable up to be used throughout. - * include/cygwin/config.h (__getreent): Use inline function on both - architectures. - -2015-11-29 Corinna Vinschen <corinna@vinschen.de> - - * uinfo.cc (pwdgrp::fetch_account_from_windows): Only create 1-5-32-x - SIDs from ids for x <= 999. - -2015-11-29 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (get_posix_access): In case owner SID == group SID, when - encountering the group entry, change the value of `id' accordingly. - Explain why. - -2015-11-28 Corinna Vinschen <corinna@vinschen.de> - - * gendef (sigdelayed): Save and restore content of the MXCSR register - on x86_64. - -2015-11-27 Corinna Vinschen <corinna@vinschen.de> - - * cygtls.h (_cygtls::wait_signal_arrived): Renamed from - set_signal_arrived. - (_cygtls::set_signal_arrived): New function signalling signal_arrived. - (_cygtls::reset_signal_arrived): Don't reset will_wait_for_signal. - (_cygtls::unwait_signal_arrived): New function only resetting - will_wait_for_signal. - (class wait_signal_arrived): Rename from set_signal_arrived. - Accommodate name change throughout Cygwin. - (wait_signal_arrived::~wait_signal_arrived): Call - _cygtls::unwait_signal_arrived. Add comment. - * cygserver_ipc.h (ipc_set_proc_info): Fetch signal_arrived handle - via call to _cygtls::get_signal_arrived. - * exceptions.cc (_cygtls::interrupt_setup): Signal signal_arrived via - call to _cygtls::set_signal_arrived. - (_cygtls::handle_SIGCONT): Ditto. - * fhandler_socket.cc (fhandler_socket::wait_for_events): Generate - WSAEVENT array prior to entering wait loop. Add cancel event object - if available. Remove calls to pthread_testcancel and just call - pthread::static_cancel_self if the cancel event object is signalled. - -2015-11-26 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (symlink_native): Fix index when looking for colon in path. - -2015-11-21 Corinna Vinschen <corinna@vinschen.de> - - * nlsfuncs.cc (setlocaleinfo): New macro calling __setlocaleinfo. - (__setlocaleinfo): New function to set a locale-specific character - to an explicit wchar_t value. - (__set_lc_numeric_from_win): Handle fa_IR and ps_AF locales to return - same decimal point and thousands separator characters as on Linux. - (__set_lc_monetary_from_win): Ditto for monetary characters. - -2015-11-20 Corinna Vinschen <corinna@vinschen.de> - - * common.din (strtold): Drop redirection to _strtold. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (get_posix_access): Skip merging permissions if current - user has rwx permissions anywa, or if the sum of all group and other - permissions is less than or equal to the user's permissions. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (get_posix_access): Fix computation of effective user - permissions to handle current user, not only the file owner. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_tty.cc (fhandler_pty_slave::open): Add S_IFCHR flag - in call to create_object_sd_from_attribute. - (fhandler_pty_slave::fstat): Ditto in call to get_object_attribute. - (fhandler_pty_slave::fchmod): Add an orig_mode flag and ditto for - both calls. - (fhandler_pty_master::setup): Ditto in call to - create_object_sd_from_attribute. - * security.cc (get_object_attribute): Never add S_IFCHR to mode - here. Let the caller decide. - (create_object_sd_from_attribute): Ditto. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - * security.h (authz_get_user_attribute): Declare bool. - * sec_helper.cc (authz_ctx::get_user_attribute): Make bool method. - Set S_IxOTH bits in returned attributes rather than S_IxUSR bits. - (authz_get_user_attribute): Make bool function. - * sec_acl.cc (get_posix_access): Introduce cygsid array to keep - track of all SIDs in the ACL. Move AuthZ calls into !new_style - permission post processing. When not using AuthZ, use - CheckTokenMembership to collect group permissions. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Disable - deviation from POSIX 1003.1e in terms of GROUP_OBJ/CLASS_OBJ - permissions. Follow POSIX 1003.1e again. Keep old code in - for future reference. - * sec_acl.cc: Accommodate changes in ACE creation in leading - comment. - (set_posix_access): Fix user deny ACE creation. Split group - deny ACE creation into two steps, one to reflect CLASS_OBJ, - the other to reflect OTHER_OBJ. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (getacl): Use Authz to fetch correct user permissions. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (AuthzAccessCheck): Import. - (AuthzFreeContext): Import. - (AuthzInitializeContextFromSid): Import. - (AuthzInitializeContextFromToken): Import. - (AuthzInitializeResourceManager): Import. - * sec_helper.cc (get_sids_info): Remove. - (class authz_ctx_cache_entry): New class. - (class authz_ctx_cache): New class. - (class authz_ctx): New class. - (authz_get_user_attribute): New function. - * security.h (get_sids_info): Drop prototype. - (authz_get_user_attribute): Add prototype. - * winlean.h (_AUTHZ_): Define. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (get_posix_access): Fix class_perm in !new_style case. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - Reapply POSIX ACL changes. - - * sec_acl.cc (get_posix_access): Check for Cygwin "standard" ACL. - Apply umask, if so. Align comments. - * security.cc (set_created_file_access): Fix permission masking by - incoming requested file mode. - - * sec_acl.cc (set_posix_access): Apply mask only in terms of execute bit - for SYSTEM and Admins group. - - * sec_acl.cc (set_posix_access): Don't create DENY ACEs for USER and - GROUP entries if they are the same as USER_OBJ or GROUP_OBJ. - - * fhandler.h (fhandler_pty_slave::facl): Add prototype. - * fhandler_tty.cc (fhandler_pty_slave::facl): New method. - (fhandler_pty_slave::fchown): Fix uid/gid handling. - * sec_acl.cc (set_posix_access): Drop superfluous class_idx variable. - Simplify and move around code in a few places. To improve ACL - readability, add r/w permissions to Admins ACE appended to pty ACL. - Add comment to explain Windows ACE Mask filtering being in the way of - creating a real CLASS_OBJ. - (get_posix_access): Fake CLASS_OBJ for ptys. Explain why. - * security.cc (get_object_attribute): Add S_IFCHR flag to attributes - when calling get_posix_access. - - * sec_acl.cc (set_posix_access): Move merging group perms into owner - perms in case of owner == group after mask has been computed. Take - mask into account when doing so to avoid unnecessary ACCESS_DENIED_ACE. - - * sec_acl.cc (get_posix_access): Only set saw_group_obj flag if we saw - the ACCESS_ALLOWED_ACE. - - * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Deliberatly - set GROUP_OBJ and CLASS_OBJ perms to new group perms. Add comment - to explain why. - * security.cc (set_created_file_access): Ditto. - - * sec_acl.cc (set_posix_access): Replace previous patch. Return - EINVAL if uid and/or guid is invalid and not backed by an actual - Windows account. - - * sec_acl.cc (set_posix_access): Workaround owner/group SIDs being NULL. - - * sec_acl.cc (set_posix_access): Handle files with owner == group. - Rephrase switch statement checking against unfiltered a_type value. - (get_posix_access): Handle files with owner == group. - - * sec_acl.cc (get_posix_access): Don't use GROUP_OBJ access to fix up - CLASS_OBJ mask on old-style ACLs. Fix a comment. - - * sec_acl.cc (set_posix_access): Always make sure Admins have - WRITE_DAC and WRITE_OWNER permissions. - * security.h (create_object_sd_from_attribute): Drop handle parameter - from prototype. - * security.cc (create_object_sd_from_attribute): Drop handle parameter. - Just create the standard POSIXy security descriptor. - (set_object_attribute): Accommodate dropped paramter in call to - create_object_sd_from_attribute. - * fhandler_tty.cc: Ditto, throughout. - - * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Fix typo in - mask computation. - - * fhandler.cc (fhandler_base::open_with_arch): Call open with mode - not umasked. - (fhandler_base::open): Explicitely umask mode on NFS here. Call new - set_created_file_access rather than set_file_attribute. - * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Reimplement - setting permissions on filesystems supporting ACLs using the new - set_posix_access call. - (fhandler_disk_file::fchown): Ditto. - (fhandler_disk_file::mkdir): Call new set_created_file_access rather - than set_file_attribute. - * fhandler_socket.cc (fhandler_socket::bind): Don't umask here. Add - WRITE_OWNER access to allow writing group in case of SGID bit set. - Call new set_created_file_access rather than set_file_attribute. - * path.cc (symlink_worker): Call new set_created_file_access rather - than set_file_attribute. - * sec_acl.cc (searchace): Un-staticize. - (set_posix_access): New, complementary functionality to - get_posix_access. - (setacl): Implement in terms of get_posix_access/set_posix_access. - (get_posix_access): Add handling for just created files requiring - their first Cygwin ACL. Fix new_style recognition. Handle SGID - bit. For old-style ACLs, ignore SYSTEM and Administrators when - computing the {DEF_}CLASS_OBJ perms. - * security.cc (get_file_sd): Revamp comment. Change and (hopefully) - speed up inheritance processing for just created files. - (alloc_sd): Remove. - (set_security_attribute): Call set_posix_access instead of alloc_sd. - (get_object_attribute): Fix return value. - (create_object_sd_from_attribute): Call set_posix_access instead of - alloc_sd. - (set_file_attribute): Remove. - (set_created_file_access): New function implemented in terms of - get_posix_access/set_posix_access. - * security.h (set_file_attribute): Remove prototype. - (set_created_file_access): Add prototype. - (searchace): Ditto. - (set_posix_access): Ditto. - * syscalls.cc (open): Call open_with_arch with mode not umasked. - - * sec_acl.cc: Change preceeding comment explaining new-style ACLs. - Describe how to generate deny ACEs in more detail. Accommodate the - fact that a NULL deny ACE is used for {DEF_}CLASS_OBJ, rather than - a special Cygwin ACE. Improve further comments. - (CYG_ACE_NEW_STYLE): Define. - (get_posix_access): Change from Cygwin ACE to NULL deny ACE. Fix - CLASS_OBJ handling to generate CLASS_OBJ and DEF_CLASS_OBJ from a single - NULL deny ACE if the inheritance flags say so. - * sec_helper.cc (well_known_cygwin_sid): Remove. - * security.h (well_known_cygwin_sid): Drop declaration. - - * sec_acl.cc (CYG_ACE_ISBITS_TO_WIN): Fix typo. - (get_posix_access): Rename index variable from i to idx. Define only - once at top level. - - * security.cc (add_access_allowed_ace): Drop unused parameter "offset". - Accommodate throughout. - (add_access_denied_ace): Ditto. - * sec_acl.cc: Accommodate above change throughout. - * security.h (add_access_allowed_ace): Adjust prototype to above change. - (add_access_denied_ace): Ditto. - - * sec_acl.cc (get_posix_access): Handle multiple ACEs for the - owner and primary group of the file. Handle the default primary - group ACE as DEF_GROUP_OBJ entry if the directory has the S_ISGID bit - set. Add comments. Minor code rearrangements. - - Preliminary read side implementation of new permission handling. - * acl.h (MAX_ACL_ENTRIES): Raise to 2730. Add comment to explain. - * sec_acl.cc: Add leading comment to explain new ACL style. - Add definitions and macros to use for bits in new Cygwin ACL. - (DENY_RWX): New mask value for all temporary deny bits. - (getace): Add bool parameter to decide when leaving all bits intact, - rather than filtering them per the already set bits. - (get_posix_access): New function, taking over functionality to read - POSIX ACL from SECURITY_DESCRIPTOR. - (getacl): Just call get_posix_access. - * sec_helper.cc (well_known_cygwin_sid): Define. - * security.cc (get_attribute_from_acl): Remove. - (get_info_from_sd): Remove. - (get_reg_sd): Call get_posix_access instead of get_info_from_sd. - (get_file_attribute): Ditto. - (get_object_attribute): Ditto. - * security.h (well_known_cygwin_sid): Declare. - (get_posix_access): Add prototype. - - * Throughout, use simpler ACE macros from Windows' accctrl.h. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MAJOR): Bump to 2004. - (CYGWIN_VERSION_API_MINOR): Reset to 0. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - * collate.h (__collate_load_error): Convert to extern declaration. - * globals.cc (__collate_load_error): Define and initialize here. - * libc/fnmatch.c: Update to latest from FreeBSD. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (symlink_native): Don't generate native symlink targeting - Cygwin special file. Inform the caller. - (symlink_worker): Don;t bail out in WSYM_nativestrict case if the - target is a Cygwin special file. - -2015-11-18 Corinna Vinschen <corinna@vinschen.de> - - * lc_msg.h: Regenerate. - -2015-11-17 Yaakov Selkowitz <yselkowi@redhat.com> - - * common.din (rpmatch): Export. - * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. - -2015-11-12 Corinna Vinschen <corinna@vinschen.de> - - * flock.cc (lockf_t::create_lock_obj): Correctly recreate lock object - attributes anew in each loop. - -2015-11-12 Corinna Vinschen <corinna@vinschen.de> - - * init.cc (munge_threadfunc): Don't call NtQueryInformationThread with - ThreadQuerySetWin32StartAddress info class on XP 64 and Server 2003 64. - It crashes. - -2015-11-09 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 1. - -2015-11-05 Corinna Vinschen <corinna@vinschen.de> - - * mount.cc (fs_info::update): Fake a serial number on filesystems not - providing one. - -2015-11-05 Corinna Vinschen <corinna@vinschen.de> - - * fcntl.cc (fcntl64): Don't lock fd table when performing locking. - * flock.cc (flock): Ditto. - (lockf): Ditto. - -2015-11-05 Corinna Vinschen <corinna@vinschen.de> - - * sigproc.cc (pending_signals::clear): Yet another fix to fix the fix. - Actually iterate over the list of pending signals even if there's a - signal which doesn't have to be cleared. Other than that, revert loop - to it's former self as a while loop. - -2015-11-04 Corinna Vinschen <corinna@vinschen.de> - - * globals.cc (ro_u_prlfs): Add trailing NUL. Explain why. - * mount.cc (fs_info::update): Add a comment to explain PrlSF. - * path.h (path_conv::fs_is_prlfs): Add for symmetry. - -2015-11-03 Corinna Vinschen <corinna@vinschen.de> - - * sigproc.cc (pending_signals::clear): Fix previous fix resulting in - yet another endless loop. - -2015-11-02 Corinna Vinschen <corinna@vinschen.de> - - * include/netinet/ip.h (MAX_IPOPTLEN): Define. - -2015-11-02 Corinna Vinschen <corinna@vinschen.de> - - * sigproc.cc (class pending_signals): Drop sigproc_init friendship. - (pending_signals::clear): Fix implementation to avoid subsequent - endless loop in wait_sig. Improve comment. - -2015-11-02 Corinna Vinschen <corinna@vinschen.de> - - * mount.h (enum fs_info_type): Add prlfs (Parallels Desktop FS). - (class fs_info): Add has_broken_fnoi flag. Implement prlfs FS flag. - * mount.cc (fs_info::update): Handle PrlFS. Fill new has_broken_fnoi - flag with life. - (fs_names): Add prlfs. - * globals.cc (ro_u_prlfs): Define. - * path.h (path_conv::has_broken_fnoi): New method. - * path.cc (symlink_info::check): Call file_get_fnoi utilizing new - has_broken_fnoi filesystem flag. - * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Ditto. - -2015-10-30 Corinna Vinschen <corinna@vinschen.de> - - * nlsfuncs.cc (__get_lcid_from_locale): Handle LocaleNameToLCID - returning LOCALE_CUSTOM_UNSPECIFIED instead of failing in case of - an unsupported locale on Windows 10. - -2015-10-30 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (sigpacket::process): Avoid potentially double unlocking - the TLS mutex. - -2015-10-30 Corinna Vinschen <corinna@vinschen.d> - - * signal.cc (sigwait): Fix return value to reflect errno in case of - error according to POSIX. Never return EINTR. - * thread.cc (pthread_kill): Return errno if sig_send failed. - -2015-10-29 Qian Hong <qhong@codeweavers.com> - - * init.cc (munge_threadfunc): Check that we're actually replacing - the correct original function address on the stack. - * ntdll.h (enum _THREADINFOCLASS): Add ThreadQuerySetWin32StartAddress. - -2015-08-21 Jon Turney <jon.turney@dronecode.org.uk> - - * cygwin-cxx.h: Remove execute permissions. - * fenv.cc: Ditto. - * how-startup-shutdown-works.txt: Ditto. - * include/arpa/nameser.h: Ditto. - * include/arpa/nameser_compat.h: Ditto. - * include/fenv.h: Ditto. - * include/resolv.h: Ditto. - * libstdcxx_wrapper.cc: Ditto. - -2015-10-23 Corinna Vinschen <corinna@vinschen.de> - - * cygtls.cc (_cygtls::remove): Call remove_pending_sigs. - * cygtls.h (_cygtls::remove_pending_sigs): Declare. - * sigproc.cc (pending_signals::clear): Define new method taking a - _cygtls pointer argument. Drop pending signals for that thread. - (_cygtls::remove_pending_sigs): Call pending_signals::clear for this - thread. - -2015-10-22 Corinna Vinschen <corinna@vinschen.de> - - * common.din (aligned_alloc): Export. - (at_quick_exit): Export. - (quick_exit): Export. - -2015-10-22 Corinna Vinschen <corinna@vinschen.de> - - * sec_helper.cc (cygsid::get_sid): Don't reject SIDs with missing - subauthorities. - -2015-10-22 Corinna Vinschen <corinna@vinschen.de> - - * strfuncs.cc (sys_cp_wcstombs): Always return number of multibytes - without trailing NUL as the documentation implies. Throughout Cygwin, - fix usage to align to this pattern. - * fhandler_process.cc (format_process_winexename): Drop trailing NUL - and LF from output. - -2015-10-21 Corinna Vinschen <corinna@vinschen.de> - - * thread.cc (pthread_getattr_np): Fix memory leak, remove usage of - malloc for small local buffer. - -2015-10-21 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (symlink_info::check_reparse_point): Don't generate an EIO - error if NtFsControlFile returns STATUS_NOT_A_REPARSE_POINT. - -2015-09-23 Evgeny Grin <k2k@yandex.ru> - - * fhandler_socket.cc (fhandler_socket::wait_for_events): Fix compiler - warning in -O3 case. - (fhandler_socket::connect): Ditto. - * regex/regcomp.c (singleton): Ditto. - -2015-09-08 Corinna Vinschen <corinna@vinschen.de> - - * flock.cc (lockf_t::create_lock_obj_attr): Add buffer parameter. - Call _everyone_sd with buffer argument from caller rather than - everyone_sd with locally allocated stack buffer. - (lockf_t::create_lock_obj): Call create_lock_obj_attr only once - outside the loop and with additional buffer argument. - (lockf_t::open_lock_obj): Call create_lock_obj_attr with additional - buffer argument. - -2015-08-29 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_proc.cc (format_proc_cpuinfo): Fetch cache information - from new cache functions in sysconf.cc, get_cpu_cache_intel and - get_cpu_cache_amd. - * sysconf.cc (__nt_query_system): New local helper. - (get_nproc_values): Utilize __nt_query_system on pre-Windows 7 systems. - Use GetLogicalProcessorInformationEx otherwise to handle more than - 64 CPUs. Only handle _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN. - (get_phys_pages): New helper to handle _SC_PHYS_PAGES. - (cpuid2_cache_descriptor): New array to map Intel CPUID 2 descriptor - values to cache type, cache size, associativity and linesize. - (cpuid2_cache_desc_compar): Comparision function for bsearch over - cpuid2_cache_descriptor. - (get_cpu_cache_intel_cpuid2): New function to fetch cache info from - Intel CPUID 2. - (get_cpu_cache_intel_cpuid4): Ditto from Intel CPUID 4. - (get_cpu_cache_intel): New function as CPU-specific entry point. - (assoc): New array to map associativity values from AMD CPUID - 0x80000006. - (get_cpu_cache_amd): New function to fetch cache info from AMD CPUIDs - 0x80000005 and 0x80000006. - (get_cpu_cache): New function to fetch cache info. - (sca): Call get_phys_pages if _SC_PHYS_PAGES is requested. Call - get_cpu_cache for new _SC_* cache requests. - (SC_MAX): Set to _SC_LEVEL4_CACHE_LINESIZE. - (get_phys_pages(void)): Call get_phys_pages(int). - * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. - -2015-08-27 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (DiscardVirtualMemory): Import. - (PrefetchVirtualMemory): Import. - * mmap.cc (posix_madvise): Actually implement POSIX_MADV_WILLNEED - utilizing PrefetchVirtualMemory and POSIX_MADV_DONTNEED utilizing - DiscardVirtualMemory on systems supporting them. - * wincap.h (wincaps::has_broken_prefetchvm): New element. - * wincap.cc: Implement above element throughout. - (wincapc::init): Make sure has_broken_prefetchvm is only true on - W10 under WOW64. - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MAJOR): Bump to 2003. - (CYGWIN_VERSION_API_MINOR): Reset to 0. - -2015-08-26 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_proc.cc (format_proc_cpuinfo): Only fetch group relations, - we don't need anything else. - -2015-08-25 Corinna Vinschen <corinna@vinschen.de> - - * winsup.h (_WIN32_WINNT): Set to 0x0a00 for Windows 10. - (WINVER): Ditto. Remove outdated comment. - -2015-08-25 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (std_dll_init): Revert using full paths to system DLLs. - -2015-08-25 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (noload): i686 only: Save and restore $edx when calling - SetLastError to avoid clobbering return address stating with Windows 7. - -2015-08-25 Corinna Vinschen <corinna@vinschen.de> - - * mmap.cc: Fix a few comments. - -2015-08-24 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (PROCESSINFOCLASS): Define ProcessDebugFlags. - * sigproc.cc (child_info::child_info): Only propagate _CI_STRACED to - child if strace is actually tracing child processes. - -2015-08-24 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 2. - -2015-08-18 Corinna Vinschen <corinna@vinschen.de> - - * netdb.cc (parse_services_line): Convert port number to network byte - order. - -2015-08-18 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc: Drop including ucontext.h. - -2015-08-17 Corinna Vinschen <corinna@vinschen.de> - - * grp.cc (internal_getgrfull): Drop asking caches. Explain why. - (internal_getgroups): In case we're not utilizing the Windows account - DBs, don't call LsaLookupSids but iterate over the group SIDs in the - token and call internal_getgrsid for each of them. Explain why. - -2015-08-17 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Rearrange - to fall back to myself uid/gid in case we don't utilize Windows - account DBs, just as prior to 1.7.34. - * sec_helper.cc (cygpsid::get_id): Disable Samba user/group mapping per - RFC2307 if we're not utilizing Windows account DBs. - * security.cc (convert_samba_sd): Revert previous patch. - -2015-08-17 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_proc.cc (format_proc_cpuinfo): Handle AMDs providing - extended topology info in CPUID leaf 0x8000001e. Fix handling of - AMD CPUs providing extended legacy core info in CPUID leaf 0x80000008. - -2015-08-17 Orgad Shaneh <orgads@gmail.com> - - * mkglobals_h: Handle CRLF earlier. - -2015-08-17 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_proc.cc (format_proc_cpuinfo): Print cpb and eff_freq_ro - power management flags. - -2015-08-15 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (fhandler_base_overlapped::raw_write): When performing - nonblocking I/O, copy user space data into own buffer. Add longish - comment to explain why. - * fhandler.h (fhandler_base_overlapped::atomic_write_buf): New member. - (fhandler_base_overlapped::fhandler_base_overlapped): Initialize - atomic_write_buf. - (fhandler_base_overlapped::fhandler_base_overlapped): New destructor, - free'ing atomic_write_buf. - (fhandler_base_overlapped::copyto): Set atomic_write_buf to NULL in - copied fhandler. - -2015-08-14 Corinna Vinschen <corinna@vinschen.de> - - * security.cc (convert_samba_sd): Fix copy/paste error in previous - patch. - -2015-08-14 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Only try - to map user and group info per RFC2307 if account info is fetched - from Windows account DB. - * security.cc (convert_samba_sd): Ditto. - -2015-08-14 Corinna Vinschen <corinna@vinschen.de> - - * security,cc (get_attribute_from_acl): Merge all group perms into - user perms if user is member of group. - -2015-08-13 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (GetLogicalProcessorInformationEx): Import. - (SetThreadGroupAffinity): Import. - * fhandler_proc.cc (add_size): New macro. - (get_msb): New inline function. - (mask_bits): Ditto. - (format_proc_cpuinfo): Drop handling of old CPUs. Check if we're - running on a OS version supporting porcessor groups. If so, use - SetThreadGroupAffinity to set thread affinity. Improve cache info - to include 3rd level cache on Intel CPUs. Improve multi core info. - * wincap.h (wincaps::has_processor_groups): New element. - * wincap.cc: Implement above element throughout. - -2015-08-10 Corinna Vinschen <corinna@vinschen.de> - - * miscfuncs.cc: Fix comment preceeding x86_64 memset and friends. - -2015-08-10 Corinna Vinschen <corinna@vinschen.de> - - * uinfo.cc (cygheap_user::ontherange): Revert previous patch. - -2015-08-03 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 1. - -2015-07-29 Corinna Vinschen <corinna@vinschen.de> - - * miscfuncs.cc (memset): x86_64 only: Implement in assembler. - (memmove,memcpy): x86_64 only: Ditto. - (wmemmove,wmemcpy): x86_64 only: Ditto. - -2015-07-29 Corinna Vinschen <corinna@vinschen.de> - - * cygtls.h: Include cygtls_padsize.h and define CYGTLS_PADSIZE there. - * cygtls_padsize.h: New file. Define CYGTLS_PADSIZE. - * environ.cc (parse_options): Fix NULL pointer access. - * init.cc (threadfunc_fe): Do not force stack align on x86_64. - -2015-07-23 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (__cont_link_context): x86_64: align stack and reserve - shadow space for subsequent function calls, otherwise suffer potential - buffer overflow. - -2015-07-23 Corinna Vinschen <corinna@vinschen.de> - - * uinfo.cc (cygheap_user::ontherange): Ignore $HOME if it's not - starting with a slash (aka, absolute POSIX Path). - -2015-07-21 Corinna Vinschen <corinna@vinschen.de> - - * common.din (siglongjmp): Export. - (sigsetjmp): Export. - * gendef: Change formatting of some comments. - (sigsetjmp): Implement. - (siglongjmp): Implement. - (__setjmpex): x86_64 only: Drop entry point. - (setjmp): x86_64 only: Store tls stackptr in Frame now, store MXCSR - and FPUCW registers in Spare, as MSVCRT does. - (longjmp): x86_64 only: Restore tls stackptr from Frame now, restore - MXCSR and FPUCW registers from Spare. - * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. - -2015-07-19 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/signal.h (MINSIGSTKSZ): Define as 8K, unconditionally. - (SIGSTKSZ): Define as 32K, unconditionally. - -2015-07-19 Corinna Vinschen <corinna@vinschen.de> - - * dcrt0.cc (initial_env): Reduce size of local path buffers to - PATH_MAX. Allocate debugger_command from process heap. - (init_windows_system_directory): Very early initialize new global - variable global_progname. - * dll_init.cc (dll_list::alloc): Make path buffer static. Explain why. - (dll_list::populate_deps): Use tmp_pathbuf for local path buffer. - * exceptions.cc (debugger_command): Convert to PWCHAR. - (error_start_init): Allocate debugger_command and fill with wide char - strings. Only allocate if NULL. - (try_to_debug): Just check if debugger_command is a NULL pointer to - return. Drop conversion from char to WCHAR and drop local variable - dbg_cmd. - * globals.cc (global_progname): New global variable to store Windows - application path. - * pinfo.cc (pinfo_basic::pinfo_basic): Just copy progname over from - global_progname. - (pinfo::status_exit): Let path_conv create the POSIX path to - avoid local buffer. - * pseudo_reloc.cc (__report_error): Utilize global_progname, drop local - buffer. - * smallprint.cc (__small_vsprintf): Just utilize global_progname for - %P format specifier. - (__small_vswprintf): Ditto. - * strace.cc (PROTECT): Change to reflect x being a pointer. Reformat. - (CHECK): Ditto. Reformat. - (strace::activate): Utilize global_progname, drop local buffer. - Fix formatting. - (strace::vsprntf): Reduce size of local progname buffer to NAME_MAX. - Copy and, if necessary, convert only the last path component to - progname. - (strace_buf_guard): New muto. - (buf): New static pointer. - (strace::vprntf): Use buf under strace_buf_guard lock only. Allocate - buffer space for buf on Windows heap. - * wow64.cc (wow64_respawn_process): Utilize global_progname, drop - local path buffer. - -2015-07-18 Corinna Vinschen <corinna@vinschen.de> - - * gendef: Remove unused 64 bit versions of __sjfault and __ljfault. - -2015-07-18 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (makecontext): Rearrange order of initialization and - document at great length. - -2015-07-17 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (__unwind_single_frame): Define empty macro on i686. - (_cygtls::call_signal_handler): Try to make sure signal context makes - sense in case we're generating context here. Add comment to explain. - -2015-07-17 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (getcontext/x86_64): Drop comment on RtlCaptureContext. - (swapcontext/x86_64): Fix comment yet again. - (getcontext/i686): Move comment from x86_64 getcontext, slightly - rearranged, to preceeding comment. - -2015-07-17 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (__unwind_single_frame): Move up in file to be - accessible from other places. Move comment to getcontext. - (stack_info::walk): Call __unwind_single_frame in 64 bit case. Fix - preceeding comment. - (myfault_altstack_handler): Call __unwind_single_frame. - (getcontext): Give comment from __unwind_single_frame a new home. - (swapcontext): Fix comment. - -2015-07-17 Corinna Vinschen <corinna@vinschen.de> - - * common.din (getcontext): Export. - (makecontext): Export. - (setcontext): Export. - (swapcontext): Export. - * exceptions.cc (__unwind_single_frame): New static functions, 64 bit - only. - (setcontext): New function. - (getcontext): New function. - (swapcontext): New function. - (__cont_link_context): New function. - (makecontext): New function. - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MAJOR): Bump to 2002. - (CYGWIN_VERSION_API_MINOR): Bump. - * include/ucontext.h (getcontext): Add prototype. - (setcontext): Ditto. - (swapcontext): Ditto. - (makecontext): Ditto. - * ntdll.h (NtContinue): Ditto. - -2015-07-17 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Document the - fact that we forgot to bump for sigaltstack and sethostname. - -2015-07-13 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (exception::handle): Reenable code only disabled for - debug purposes. - -2015-07-07 Corinna Vinschen <corinna@vinschen.de> - - x86_64 only: - * cygtls.cc (san::leave): Restore _my_tls.andreas. - * cygtls.h (class san): Add _clemente as in 32 bit case. Add ret and - frame members. - (san::san): Handle _my_tls.andreas as on 32 bit. Take parameter and - write it to new member ret. Store current stack pointer in frame. - (san::~san): New destructor to restore _my_tls.andreas. - (__try): Use __l_except address as parameter to san::san. - * dcrt0.cc (dll_crt0_0): Add myfault_altstack_handler as vectored - continuation handler. - * exception.h (myfault_altstack_handler): Declare. - * exceptions.cc (myfault_altstack_handler): New function. Explain what - it's good for. - -2015-07-07 Corinna Vinschen <corinna@vinschen.de> - - * child_info.h (CURR_CHILD_INFO_MAGIC): Update. - (child_info_fork::alloc_stack_hard_way): Drop declaration. - * dcrt0.cc (child_info_fork::alloc_stack_hard_way): Fold into - child_info_fork::alloc_stack. - (getstack): Remove. - (child_info_fork::alloc_stack): Simplify check for application-provided - stack in "hard way" code. Don't call getstack for each page, just - reallocate stack immediately as required. - -2015-07-07 Corinna Vinschen <corinna@vinschen.de> - - * fork.cc (frok::parent): Simplify code propagating stack setup to - child process. Tweak comments. - -2015-07-06 Yaakov Selkowitz <yselkowi@redhat.com> - - * path.cc: Rework basename redefinition handling. Explain why. - -2015-07-05 Corinna Vinschen <corinna@vinschen.de> - - * dcrt0.cc (CYGWIN_GUARD): Remove. - (child_info_fork::alloc_stack_hard_way): Align stack commit to changes - of thread stack setup in CygwinCreateThread. - -2015-07-05 Corinna Vinschen <corinna@vinschen.de> - - * miscfuncs.cc (struct pthread_wrapper_arg): Add member guardsize. - (pthread_wrapper): Set thread stack guarantee according to guardsize. - Tweak assembler code so that $rax/$eax is not required by GCC to - prepare the wrapper_arg value. - (CygwinCreateThread): Fix deadzone handling. Drop setting a "POSIX" - guardpage (aka page w/ PAGE_NOACCESS). Always use Windows guard - pages instead. On post-XP systems (providing SetThreadStackGuarantee) - always set up stack Windows like with reserved/commited areas and - movable guard pages. Only on XP set up stack fully commited if the - guardpage size is not the default system guardpage size. - Fill out pthread_wrapper_arg::guardsize. Improve comments. - * resource.cc: Implement RSTACK_LIMIT Linux-like. - (DEFAULT_STACKSIZE): New macro. - (DEFAULT_STACKGUARD): Ditto. - (rlimit_stack_guard): New muto. - (rlimit_stack): New global variable holding current RSTACK_LIMIT values. - (__set_rlimit_stack): Set rlimit_stack under lock. - (__get_rlimit_stack): Initialize rlimit_stack from executable header - and return rlimit_stack values under lock. - (get_rlimit_stack): Filtering function to return useful default - stacksize from rlimit_stack.rlim_cur value. - (getrlimit): Call __get_rlimit_stack in RLIMIT_STACK case. - (setrlimit): Call __set_rlimit_stack in RLIMIT_STACK case. - * thread.cc (pthread::create): Fetch default stacksize calling - get_rlimit_stack. - (pthread_attr::pthread_attr): Fetch default guardsize calling - wincap.def_guard_page_size. - (pthread_attr_getstacksize): Fetch default stacksize calling - get_rlimit_stack. - * thread.h (PTHREAD_DEFAULT_STACKSIZE): Remove. - (PTHREAD_DEFAULT_GUARDSIZE): Remove. - (get_rlimit_stack): Declare. - -2015-07-05 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_process.cc (heap_info::heap_info): Disable fetching heap info - on 64 bit XP/2003. Explain why. - * wincap.h (wincaps::has_broken_rtl_query_process_debug_information): - New element. - * wincap.cc: Implement above element throughout. - -2015-07-04 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (SetThreadStackGuarantee): Import. - * cygtls.h (struct _cygtls): Replace thread_context with a ucontext_t - called context. - * exceptions.cc (exception::handle): Exit from process via signal_exit - in case sig_send returns from handling a stack overflow SIGSEGV. - Explain why. - (dumpstack_overflow_wrapper): Thread wrapper to create a stackdump - from another thread. - (signal_exit): Fix argument list to reflect three-arg signal handler. - In case we have to create a stackdump for a stack overflow condition, - do so from a separate thread. Explain why. - (sigpacket::process): Don't run signal_exit on alternate stack. - (altstack_wrapper): Wrapper function to do stack correction when - calling the signal handler on an alternate stack to handle a stack - overflow. Make sure to have lots of comments. - (_cygtls::call_signal_handler): Drop local context variable to reduce - stack pressure. Use this->context instead. Change inline assembler - to call altstack_wrapper. - (_cygtls::signal_debugger): Accommodate aforementioned change to - struct _cygtls. - * tlsoffset.h: Regenerate. - * tlsoffset64.h: Regenerate. - * wincap.h (wincaps::def_guard_pages): New element. - (wincaps::has_set_thread_stack_guarantee): Ditto. - * wincap.cc: Implement above elements throughout. - -2015-07-01 Corinna Vinschen <corinna@vinschen.de> - - * fork.cc (frok::parent): Set stacktop value based on requested stack - pointer value in child. Explain why. - -2015-06-30 Corinna Vinschen <corinna@vinschen.de> - - * signal.cc (sigaltstack): Add comment. - -2015-06-27 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (_cygtls::call_signal_handler): Drop manipulating - thread's ss_flags here. It's not safe against longjmp. - * signal.cc (sigaltstack): Check if we're running on the alternate - stack and set ss_flags returned in oss to SS_ONSTACK. - -2015-06-26 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/signal.h: Revert to define MINSIGSTKSZ and SIGSTKSZ - here with bigger values to allow _cygtls to reside on signal stack, - should it turn out to be required at one point. - -2015-06-26 Corinna Vinschen <corinna@vinschen.de> - - * resource.cc (getrlimit): Fix values returned by RLIMIT_STACK. - Explain why this had to be changed. - -2015-06-23 Ken Brown <kbrown@cornell.edu> - - * include/cygwin/signal.h (SIGEV_*): Add macros. - -2015-06-22 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (_cygtls::call_signal_handler): Drop pushing a register - on the original stack, it confuses GCC. Rearrange the assembler code - so that $rax/$eax is not used by GCC to prepare an argument value. - Use $rax/$eax without saving. Drop clearing $rbp/$epb. - -2015-06-21 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (_cygtls::call_signal_handler): Drop subtracting 16 - bytes from the alternate stack, it's not necessary. Safe all clobbered - registers. Safe one on the orignal stack, the others on the alternate - stack on both platforms. - -2015-06-20 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (_cygtls::call_signal_handler): Implement alternate - signal stack handling. - * signal.cc (sigaltstack): Add fault handler. - * include/cygwin/signal.h: Remove definitions of MINSIGSTKSZ - and SIGSTKSZ here. - -2015-06-19 Corinna Vinschen <corinna@vinschen.de> - - * common.din (sigaltstack): Export. - * cygtls.cc (_cygtls::init_thread): Initialize altstack. - * cygtls.h (__tlsstack_t): Rename from __stack_t to distinguish - more clearly from stack_t. Accommodate throughout. - (_cygtls): Add altstack member. - * exceptions.cc (exception::handle): Set SIGSEGV handler to SIG_DFL - if we encounter a stack overflow, and no alternate stack has been - defined. - * include/cygwin/signal.h (MINSIGSTKSZ): Define - (SIGSTKSZ): Define. - (SA_ONSTACK): Define. - * signal.cc (sigaltstack): New function. - * tlsoffset.h: Regenerate. - * tlsoffset64.h: Ditto. - -2015-06-19 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc: Minor formatting fixes. - -2015-06-18 Corinna Vinschen <corinna@vinschen.de> - - * Makefile.in (install-man): Exclude release subdir from search paths. - -2015-06-17 Corinna Vinschen <corinna@vinschen.de> - - * net.cc (sethostname): New function. - * common.din (sethostname): Export - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MAJOR): Bump to 2001. - (CYGWIN_VERSION_DLL_MINOR): Set to 0. - -2015-06-15 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_socket.cc (LOCK_EVENTS): Don't enter critical section with - invalid mutex handle since then socket has been closed. - (UNLOCK_EVENTS): Close critical section. - (fhandler_socket::evaluate_events): Handle calling connect on shutdown - socket. - (fhandler_socket::wait_for_events): Try for pthread_testcancel in case - of WAIT_FAILED. Try to come up with a better errno in case we waited - on an invalid handle. - (fhandler_socket::release_events): Change wsock_mtx and wsock_evt to - NULL under lock to avoid accessing invalid handle. - -2015-06-15 Corinna Vinschen <corinna@vinschen.de> - - * net.cc (errmap): Handle more Winsock error codes. - -2015-06-15 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (_cygtls::call_signal_handler): Disable enforcing - SA_RESTART in non-main threads to allow returning with EINTR from - system calls. - -2015-06-11 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 5. - -2015-06-08 Corinna Vinschen <corinna@vinschen.de> - - * pinfo.cc (_pinfo::cwd): Initialize s to avoid comiler warning. - (_pinfo::cmdline): Ditto. - -2015-06-08 Corinna Vinschen <corinna@vinschen.de> - - * pinfo.cc (_pinfo::root): Fake default root for native processes. - (open_commune_proc_parms): New helper function to access process - parameter block. - (_pinfo::cwd): Fetch missing cwd for native processes from processes - parameter block. - (_pinfo::cmdline): Ditto for command line. - -2015-06-08 Corinna Vinschen <corinna@vinschen.de> - - * pinfo.cc (_pinfo::commune_request): Don't try to send commune - requests to non-Cygwin processes. - -2015-06-08 Takashi Yano <takashi.yano@nifty.ne.jp> - - * fhandler_tty.cc (fhandler_pty_slave::write): Move causing of SIGHUP - into fhandler_pty_master::close(). - (fhandler_pty_slave::read): Ditto. - (fhandler_pty_master::close): Ditto. - -2015-06-08 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 4. - -2015-06-02 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 3. - -2015-05-28 Takashi Yano <takashi.yano@nifty.ne.jp> - Corinna Vinschen <corinna@vinschen.de> - - * fhandler_tty.cc (fhandler_pty_common::close): Don't close output_mutex - here. Move into callers. - (fhandler_pty_master::close): Use NtQueryObject instead of PeekNamedPipe - to detect closing the last master handle. - -2015-05-27 Takashi Yano <takashi.yano@nifty.ne.jp> - - * net.cc: Define _NETIOAPI_H_ to accomodate newer w32api. - -2015-05-03 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 2. - -2015-04-30 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 1. - -2015-04-30 Corinna Vinschen <corinna@vinschen.de> - - * security.cc (convert_samba_sd): Fix accidental dropping of all - non-Unix User, non-Unix Group accounts. - -2015-04-27 Corinna Vinschen <corinna@vinschen.de> - - * include/asm/types.h: Add __s64 and __u64 types. - -2015-04-23 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (path_conv::set_nt_native_path): New function. - * path.h (path_conv::set_nt_native_path): Add prototype. - * syscall.cc (try_to_bin): Handle moving files to the recycler - accessed via a local virtual drive (subst). Fix a problem renaming - the file to the unique replacement name on Samba. Align comment. - -2015-04-22 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_tty.cc (fhandler_pty_slave::fch_close_handles): Don't close - handles not opened via fhandler_pty_slave::fch_open_handles. - -2015-04-22 Takashi Yano <takashi.yano@nifty.ne.jp> - - * fhandler.h (class fhandler_base): Add virtual function - get_io_handle_cyg() to get handle from which OPOST-processed output is - read on PTY master. - (class fhandler_pty_slave): Add variable output_handle_cyg to store a - handle to which OPOST-processed output is written. Add two functions, - i.e., set_output_handle_cyg() and get_output_handle_cyg(), regarding - variable output_handle_cyg. Now, output_handle is used only by native - windows program. The data before OPOST-processing is written to - output_handle and OPOST-processing is applied in the master-side. For a - cygwin process, OPOST-processing is applied in the slave-side, and the - data after OPOST-processing is written to output_handle_cyg. - (class fhandler_pty_master): Add two variables, i.e., io_handle_cyg and - to_master_cyg, to store handles of a pipe through which OPOST-processed - output passes. Add pty_master_fwd_thread and function - pty_master_fwd_thread() for a thread which applies OPOST-processing - and forwards data from io_handle to to_master_cyg. Add function - get_io_handle_cyg() regarding variable io_handle_cyg. Now, the pipe - between io_handle and to_master are used only by native windows program - for applying OPOST-processing in the master-side. For a cygwin process, - the pipe between io_handle_cyg and to_master_cyg is used for passing - through the data which is applied OPOST-processing in the slave-side. - * fhandler_tty.cc (struct pipe_reply): Add member to_master_cyg. - (fhandler_pty_master::process_slave_output): Read slave output from - io_handle_cyg rather than io_handle. - (fhandler_pty_slave::fhandler_pty_salve): Initialize output_handle_cyg. - (fhandler_pty_slave::open): Set output_handle_cyg by duplicating handle - to_master_cyg on PTY master. - (fhandler_pty_slave::close): Close handle output_handle_cyg. - (fhandler_pty_slave::write): Write data to output_handle_cyg rather - than output_handle. - (fhandler_pty_slave::fch_close_handles): Close handle output_handle_cyg. - (fhandler_pty_master::fhandler_pty_master): Initialize io_handle_cyg, - to_master_cyg and master_fwd_thread. - (fhandler_pty_master::cleanup): Clean up to_master_cyg as well. - (fhandler_pty_master::close): Print to_master_cyg as well in debug - message. Terminate master forwarding thread. Close handles - to_master_cyg and io_handle_cyg. - (fhandler_pty_master::ioctl): Use io_handle_cyg rather than to_master. - (fhandler_pty_master::pty_master_thread): Add code for duplicating - handle to_master_cyg. - (fhandler_pty_master::pty_master_fwd_thread): New function for a thread - to forward OPOST-processed data from io_handle to to_master_cyg. This - thread applies OPOST-processing to the output of native windows program. - (::pty_master_fwd_thread): Ditto. - (fhandler_pty_master::setup): Create a new pipe to pass thruegh OPOST- - processed output. Create new thread to forward data from io_handle to - to_master_cyg. Set handle to_master_cyg to tty. Print io_handle_cyg as - well in debug message. Close handles io_handle_cyg and to_master_cyg in - case of error. - (fhandler_pty_master::fixup_after_fork): Set handle to_master_cyg to - tty. Copy handle to_master_cyg from arch->to_master_cyg. - (fhandler_pty_master::fixup_after_exec): Clean up to_master_cyg. - * select.cc: Check handle returned by get_io_handle_cyg() rather than - get_handle(). - * tty.h (class tty): Add variable _to_master_cyg to store a handle to - which OPOST-processed data is written. Add two functions, - to_master_cyg() and set_to_master_cyg(), regarding _to_master_cyg. - -2015-04-22 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (basename): Undefine basename before defining function to - avoid type collision with prototype in string.h. - -2015-04-21 Corinna Vinschen <corinna@vinschen.de> - - * include/libgen.h: Remove in favor of newlib version. - -2015-04-17 Corinna Vinschen <corinna@vinschen.de> - - * uinfo.cc (pwdgrp::fetch_account_from_windows): Always revert SID - subauth count after checking for known domain. - -2015-04-17 Corinna Vinschen <corinna@vinschen.de> - - * pwdgrp.h: Add comment to explain below change. - (struct pg_pwd): Convert sid member to BYTE array. - (struct pg_grp): Ditto. - * grp.cc (pwdgrp::parse_group): Accommodate above change. - * passwd.cc (pwdgrp::parse_passwd): Ditto. - -2015-04-12 Corinna Vinschen <corinna@vinschen.de> - - * shm.cc (shmget): Fetch segment size from server rather than using - size argument to accommodate existing segments. Add comment to explain - why. - -2015-04-10 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MAJOR): Bump to 2000. - (CYGWIN_VERSION_DLL_MINOR): Set to 0. - -2015-04-04 Jon TURNEY <jon.turney@dronecode.org.uk> - - * exceptions.cc (call_signal_handler): Set mcontext.cr2 to the - faulting address. - -2015-04-02 Jon TURNEY <jon.turney@dronecode.org.uk> - - * exceptions.cc (call_signal_handler): Only bother to construct - the ucontext for signal handlers with SA_SIGINFO set. Set - mcontext.oldmask. - -2015-04-04 Jon TURNEY <jon.turney@dronecode.org.uk> - - * exceptions.cc (call_signal_handler): Zero initialize context and set - context flags, as RlCaptureContext doesn't. - -2015-04-09 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_dsp.cc (fhandler_dev_dsp::open): Call open_null. - -2015-04-08 Corinna Vinschen <corinna@vinschen.de> - - * pwdgrp.h (sidfromuid): New inline function. - (sidfromgid): Ditto. - * fhandler_disk_file.cc (fhandler_disk_file::fchown): Use sidfromuid. - * quotactl.cc (quotactl): Use sidfromuid and sidfromgid. - -2015-04-08 Corinna Vinschen <corinna@vinschen.de> - - * include/cyggwin/acl.h (struct __acl16): Move from here... - * sec_acl.cc: ...to here. - -2015-04-07 Corinna Vinschen <corinna@vinschen.de> - - * tty.h (class tty): Remove unused 32/64 bit interoperability - considerations. - -2015-04-07 Corinna Vinschen <corinna@vinschen.de> - - * tty.h (NTTYS): Raise to 128. - * devices.in: Change pty, ptym, and cons expressions accordingly. - * devices.cc: Regenerate. - -2015-04-04 Jon TURNEY <jon.turney@dronecode.org.uk> - - * Makefile.in : Remove setting -fomit-frame-pointer for compiling - various files, it is already the default. Set - -fno-omit-frame-pointer for exceptions.cc on x86. - -2015-04-03 Takashi Yano <takashi.yano@nifty.ne.jp> - - * fhandler_tty.cc (fhandler_pty_slave::read): Change calculation of - "readlen" not to use "bytes_in_pipe" value directly. - -2015-04-02 Jon TURNEY <jon.turney@dronecode.org.uk> - - * include/cygwin/signal.h (struct __mcontext): 16-byte align. - * include/sys/ucontext.h (ucontext_t): Ditto. - -2015-04-01 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/types.h: Include sys/_stdint.h rather than stdint.h. - * include/stdint.h: Drop in favor of newlib version. - * include/inttypes.h: Ditto. - -2015-04-01 Jon TURNEY <jon.turney@dronecode.org.uk> - - * include/sys/ucontext.h : New header. - * include/ucontext.h : Ditto. - * exceptions.cc (call_signal_handler): Provide ucontext_t - parameter to signal handler function. - -2015-04-01 Jon TURNEY <jon.turney@dronecode.org.uk> - - * external.cc (cygwin_internal): Add operation to retrieve a copy - of the EXCEPTION_RECORD from a siginfo_t *. - * include/sys/cygwin.h (cygwin_getinfo_types): Ditto. - * exception.h (cygwin_exception): Add exception_record accessor. - -2015-04-01 Jon TURNEY <jon.turney@dronecode.org.uk> - - * include/cygwin/signal.h : Rename struct ucontext to struct - __mcontext. Fix layout differences from the Win32 API CONTEXT - type. Remove unused member _internal. Rename member which - corresponds to ContextFlags. Add cr2 member. - -2015-04-01 Corinna Vinschen <corinna@vinschen.de> - - * grp.cc (internal_getgroups): Handle negative domain index to avoid - crashes. - -2015-03-31 Renato Silva <br.renatosilva@gmail.com> - - * net.cc (cygwin_gethostname): Fix buffer size error handling. - -2015-03-31 Corinna Vinschen <corinna@vinschen.de> - - * uinfo.cc (pwdgrp::fetch_account_from_windows): Don't allow fully - qualified Windows account names (domain\user or user@domain). - -2015-03-31 Corinna Vinschen <corinna@vinschen.de> - - * localtime.cc (tzset_unlocked): Export as _tzset_unlocked. - -2015-03-30 Yaakov Selkowitz <yselkowi@redhat.com> - - * common.din (__gnu_basename): Export. - * path.cc (__gnu_basename): New function. - -2015-03-30 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.h (cygheap_domain_info::add_domain): Add prototype. - * uinfo.cc (cygheap_domain_info::add_domain): New method. - (pwdgrp::fetch_account_from_windows): Try to add domain explicitely - if it was not in the original list of trusted domains and go ahead - rather than bailing out. Add comment to explain why. - -2015-03-30 Corinna Vinschen <corinna@vinschen.de> - - * cygtls.h (struct _cygtls): Convert thread_context to type CONTEXT. - * exceptions.cc (_cygtls::signal_debugger): Use sizeof (CONTEXT) for - size of CONTEXT copied for GDB's digestion. - * include/cygwin/signal.h: Add a preliminary comment. - -2015-03-25 Corinna Vinschen <corinna@vinschen.de> - - * include/sys/termios.h: Add CMIN and CTIME. - * fhandler_termios.cc (fhandler_termios::tcinit): Use CMIN and CTIME. - -2015-03-25 Takashi Yano <takashi.yano@nifty.ne.jp> - - * tty.h (class tty_min): Remove variable "write_error" to which any - errors are not currently set at anywhere. - (class tty): Add variable "column" for handling ONOCR. - * tty.cc (tty::init): Add initialization code for variable "column". - * fhandler.h (class fhandler_pty_master): Remove variable "need_nl" - which is not necessary any more. "need_nl" was needed by OPOST process - in fhandler_pty_master::process_slave_output(). - (class fhandler_pty_common): Add function process_opost_output() for - handling post processing for OPOST in write process. - * fhandler_tty.cc (fhandler_pty_master::process_slave_output): Count - TIOCPKT control byte into length to be read in TIOCPKT mode. Move - post processing for OPOST to write process. Remove code related to - variable "write_error". Return with EIO error if slave is already - closed. - (fhandler_pty_master::fhandler_pty_master): Remove initialization - code for variable "need_nl". - (fhandler_pty_common::process_opost_output): Add this function for - handling of OPOST in write process. Add code to avoid blocking in - non-blocking mode when output is suspended by ^S. - (fhandler_pty_slave::write): Call fhandler_pty_common:: - process_opost_output() instead of WriteFile(). Remove code related to - variable "write_error". - (fhandler_pty_master::doecho): Call fhandler_pty_common:: - process_opost_output() instead of WriteFile(). - * select.cc (peek_pipe): Remove code related to variable "need_nl". - -2015-03-24 Corinna Vinschen <corinna@vinschen.de> - - Per glibc BZ #15366: - * inttypes.h: Drop __STDC_FORMAT_MACROS consideration. - * stdint.h: Drop __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS - consideration. - -2015-03-23 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/_types.h: Drop unused file. - -2015-03-18 Corinna Vinschen <corinna@vinschen.de> - - * grp.cc (pwdgrp::parse_group): Call cygsid::getfromgr_passwd. - * passwd.cc (pwdgrp::parse_passwd): Call cygsid::getfrompw_gecos. - * pwdgrp.h (cygsid::getfrompw): Implement as inline method here, - accessing pg_pwd's sid member directly. - (cygsid::getfromgr): Implement as inline method here, accessing - pg_grp's sid member directly. - * sec_auth.cc (extract_nt_dom_user): Call cygsid::getfrompw_gecos. - Explain why. - * sec_helper.cc (cygsid::getfrompw): Drop implementation. - (cygsid::getfromgr): Ditto. - * security.h (cygsid::getfrompw_gecos): Implement former getfrompw - inline here. - (cygsid::getfromgr_passwd): Implement former getfromgr inline here. - -2015-03-18 Corinna Vinschen <corinna@vinschen.de> - - * sec_auth.cc (get_server_groups): Drop unused passwd argument. Adjust - calls throughout. - (get_initgroups_sidlist): Ditto. - (get_setgroups_sidlist): Ditto. - (create_token): Ditto. - (lsaauth): Ditto. - * security.h (create_token): Adjust prototype to above change. - (lsaauth): Ditto. - (get_server_groups): Ditto. - * grp.cc (get_groups): Adjust call to get_server_groups. - * syscalls.cc (seteuid32): Adjust calls to lsaauth and create_token. - -2015-03-17 Corinna Vinschen <corinna@vinschen.de> - - * grp.cc (internal_getgroups): Drop unused timeout parameter. - * pwdgrp.h (internal_getgroups): Ditto in prototype. - * uinfo.cc (internal_getlogin): Ditto in usage. - -2015-03-17 Corinna Vinschen <corinna@vinschen.de> - - * spawn.cc (find_exec): Fix a name change in case of a symlink which - can be opened as is. - -2015-03-12 Jon TURNEY <jon.turney@dronecode.org.uk> - - * exceptions.cc (stack_info): Add sigstackptr member. - (walk): Unwind sigstackptr inside _sigbe and sigdelayed. - * gendef (_sigdelayed_end): Add symbol to mark end of sigdelayed. - -2015-03-13 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/sys_time.h: Remove. Definitions moved to newlib's - sys/time.h. - -2015-03-13 Alexey Pavlov <alexpux@gmail.com> - - * net.cc (in6addr_any): Remove redundant braces. - (in6addr_loopback): Ditto. - -2015-03-12 Alexey Pavlov <alexpux@gmail.com> - - * include/cygwin/version.h: Fix typo. - -2015-03-12 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_socket.cc: Drop defining _BSDTYPES_DEFINED before including - winsup.h. - -2015-03-12 Takashi Yano <takashi.yano@nifty.ne.jp> - - * fhandler_tty.cc (fhandler_pty_master::close): Add code to make slave - detect closure of master. Fix typo in error message. - -2015-03-11 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/types.h: Include <sys/_timespec.h> - -2015-03-11 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (CreateEnvironmentBlock): Make loading non-fatal. - -2015-03-11 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (std_dll_init): Fix condition for breaking from DLL - loading loop. - -2015-03-10 Yaakov Selkowitz <yselkowitz@cygwin.com> - - * include/stdint.h: Fix __x86_64__ conditional. - -2015-03-05 Corinna Vinschen <corinna@vinschen.de> - - * tty.h (tty::set_master_ctl_closed): Rename from set_master_closed. - (tty::is_master_closed): Drop method. - * fhandler_tty.cc (fhandler_pty_slave::open): Remove code prematurely - bailing out if master control thread is not running. - (fhandler_pty_slave::read): Don't generate SIGHUP if master control - thread is not running. - (fhandler_pty_master::close): Rearrange code to avoid stopping master - control thread twice in multi-threaded scenarios. - -2015-03-05 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (fhandler_base::get_echo_handle): New virtual method. - (class fhandler_pty_master): Add echo_r and echo_w handles constituting - read and write side of new echo pipe. - * select.cc (peek_pipe): On pty masters, check additionally if input - from the echo pipe is available. - * fhandler_tty.cc (fhandler_pty_master::doecho): Drop output_mutex - locking. Write output to echo pipe. - (fhandler_pty_master::process_slave_output): Check if input is available - in echo pipe and prefer to read from it, if so. - (fhandler_pty_slave::write): Drop output_mutex locking. - (fhandler_pty_master::fhandler_pty_master): Initialize echo pipe - handles to NULL. - (fhandler_pty_master::close): Close and NULL echo pipe handles. - (fhandler_pty_master::setup): Create echo pipe, close in case of error. - -2015-03-04 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 36. - -2015-03-03 Corinna Vinschen <corinna@vinschen.de> - - * msg.cc: Throughout, drop raising SIGSYS if cygserver is not running. - * sem.cc: Ditto. - * shm.cc: Ditto. - -2015-03-03 Corinna Vinschen <corinna@vinschen.de> - - * common.din (issetugid): Export. - * glob.cc (issetugid): Drop macro. - * sec_auth.cc (issetugid): New exported function. - * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. - -2015-03-02 Corinna Vinschen <corinna@vinschen.de> - - * security.cc (get_attribute_from_acl): Don't spill Everyone permissions - into group permissions if owner SID == group SID. - (alloc_sd): Add parenthesis for clarity. - -2015-02-28 Corinna Vinschen <corinna@vinschen.de> - - * uinfo.cc (pwdgrp::add_line): Return NULL if parsing a line failed. - (pwdgrp::add_account_post_fetch): Check return value from add_line and - return NULL if add_line returns NULL. - -2015-02-27 Corinna Vinschen <corinna@vinschen.de> - - * security.cc (alloc_sd): For directories, mark inherited ACEs - inheritable to better follow POSIX 1003.1e rules. - -2015-02-27 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (getacl): Add mask even if all group and secondary account - permissions are 0. - -2015-02-27 Corinna Vinschen <corinna@vinschen.de> - - * uinfo.cc (pwdgrp::fetch_account_from_windows): Drop redundant test - for SidTypeUser. - -2015-02-27 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (setacl): Fix bug which leads to ACE duplication in - case owner SID == group SID. - (getacl): Reverse order of SID test against group or owner sid to - prefer owner attributes over group attributes. Disable setting group - permissions equivalent to owner permissions if owner == group. Add - comment to explain why. Fix indentation. - * security.cc (get_attribute_from_acl): Change type of local variables - containing permission to mode_t. Apply deny mask to group if group SID - == owner SID to avoid Everyone permissions to spill over into group - permissions. Disable setting group permissions equivalent to owner - permissions if owner == group. Add comment to explain why. - * uinfo.cc (pwdgrp::fetch_account_from_windows): Allow user SID as - group account if user is a "Microsoft Account". Explain why. Drop - workaround enforcing primary group "Users" for "Microsoft Accounts". - -2015-02-26 Corinna Vinschen <corinna@vinschen.de> - - * ldap.cc (cyg_ldap::wait): Call cygwait with cw_infinite timeout value - and with cw_sig_restart instead of cw_sig_eintr. Drop useless - _my_tls.call_signal_handler call. Return EIO if cygwait failed. - -2015-02-26 Corinna Vinschen <corinna@vinschen.de> - - * posix_ipc.cc (ipc_mutex_lock): Revert unneeded call to signal handler. - -2015-02-26 Corinna Vinschen <corinna@vinschen.de> - - * posix_ipc.cc (ipc_mutex_lock): Add bool parameter to influence if - cygwait should be in EINTR or in restart mode. Call signal handler - if in EINTR mode. - (mq_getattr): Call ipc_mutex_lock in restart mode. - (mq_setattr): Ditto. - (mq_notify): Ditto. - (_mq_send): Call ipc_mutex_lock in EINTR mode. - (_mq_receive): Ditto. - -2015-02-26 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_termios.cc (fhandler_termios::line_edit): Fix condition - for writing remaining bytes in readahead buffer in non-canonical mode. - -2015-02-25 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (setacl): Always grant default owner entry - STANDARD_RIGHTS_ALL and FILE_WRITE_ATTRIBUTES access, too. - -2015-02-25 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_tape.cc (fhandler_dev_tape::_lock): Add cw_sig_restart to - cygwait call. - * thread.cc (pthread_mutex::lock): Ditto. - (semaphore::_timedwait): Fix formatting. - (semaphore::_wait): Ditto. - * thread.h (fast_mutex::lock): Ditto. - -2015-02-25 Corinna Vinschen <corinna@vinschen.de> - - * security.cc (alloc_sd): Don't apply temporary workaround for chmod - to DEF_USER_OBJ, DEF_GROUP_OBJ, and DEF_OTHER_OBJ ACEs. - -2015-02-25 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_tty.cc (fhandler_pty_slave::read): Having no input is not an - error condition for tcflush. - -2015-02-25 Corinna Vinschen <corinna@vinschen.de> - - * security.cc (alloc_sd): Fix comment style. Remove code unused for - years. - -2015-02-25 Corinna Vinschen <corinna@vinschen.de> - - * security.cc (alloc_sd): Add temporary workaround which disallows - any secondary user to have more permissions than the primary group - in calls to chmod. Add comment to explain why. - -2015-02-25 Corinna Vinschen <corinna@vinschen.de> - - * uinfo.cc (client_request_pwdgrp::client_request_pwdgrp): Add missing - break in switch statement. - -2015-02-24 Corinna Vinschen <corinna@vinschen.de> - - * ldap.h: Remove index macros. - (class cyg_ldap): Remove members srch_msg and srch_entry. - (cyg_ldap::get_string_attribute): Remove private method taking index - argument. - (cyg_ldap::get_num_attribute): Ditto. Add method taking attribute name. - (cyg_ldap::get_primary_gid): Adjust to aforementioned change. - (cyg_ldap::get_unix_uid): Ditto. - (cyg_ldap::get_unix_gid): Ditto. - * ldap.cc: Throughout, use msg and entry in place of srch_msg and - srch_entry. - (std_user_attr): Add sAMAccountName and objectSid. - (group_attr): Ditto. - (cyg_ldap::close): Drop handling of srch_msg and srch_entry. - (cyg_ldap::get_string_attribute): Move earlier in file. - (cyg_ldap::get_num_attribute): Ditto. - (cyg_ldap::enumerate_ad_accounts): Add comments for clarity. - Use group_attr or user_attr rather than sid_attr to fetch all desired - attributes for an account right away. - (cyg_ldap::next_account): Store found SID in last_fetched_sid to - skip calls to fetch_ad_account from fetch_account_from_windows. - (cyg_ldap::get_string_attribute): Remove method taking index argument. - (cyg_ldap::get_num_attribute): Ditto. - * pwdgrp.h (class pg_ent): Fix formatting. Add member dom. - * passwd.cc (pg_ent::enumerate_ad): Store current flat domain name - in dom. Construct fetch_acc_t argument from LDAP attributes and - call fetch_account_from_windows with that. - * userinfo.h (enum fetch_user_arg_type_t): Rename FULL_grp_arg to - FULL_acc_arg. Change throughout. - (struct fetch_acc_t): Rename from fetch_full_grp_t. Change throughout. - (struct fetch_user_arg_t): Rename full_grp to full_acc. Change - throughout. - -2015-02-24 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (class fhandler_base): Add was_nonblocking status flag. - * fhandler.cc (fhandler_base::set_flags): Set was_nonblocking if the - O_NONBLOCK flag has been specified. - (fhandler_base_overlapped::close): Check for was_nonblocking instead - of for is_nonblocking. Explain why. - (fhandler_base::set_nonblocking): Set was_nonblocking if noblocking - mode gets enabled. - -2015-02-24 Ken Brown <kbrown@cornell.edu> - - * include/sys/socket.h (sockatmark): Add prototype. - -2015-02-23 Corinna Vinschen <corinna@vinschen.de> - - * userinfo.h (struct fetch_full_grp_t): Define only when building - Cygwin itself. - (struct fetch_user_arg_t): Ditto. - -2015-02-23 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (LsaLookupSids): Import. - * cygserver_pwdgrp.h: Include userinfo.h. Drop workaround defining - fetch_user_arg_type_t locally. - * grp.cc (internal_getgrsid_cachedonly): New function. - (internal_getgrfull): Ditto. - (internal_getgroups): Rearrange function. Center around fetching all - cached group info first, calling LsaLookupSids on all so far non-cached - groups second. Pass all available info to new internal_getgrfull call. - * pwdgrp.h: Include userinfo.h. Move definitions of - fetch_user_arg_type_t and fetch_user_arg_t there. - (pwdgrp::add_group_from_windows): Declare with getting full group info. - Called from internal_getgrfull. - * uinfo.cc (pwdgrp::add_group_from_windows): Define. - (pwdgrp::fetch_account_from_line): Add default case. - (pwdgrp::fetch_account_from_file): Ditto. - (pwdgrp::fetch_account_from_windows): Handle FULL_grp_arg. - (client_request_pwdgrp::client_request_pwdgrp): Add default case. - * userinfo.h: New header. - (enum fetch_user_arg_type_t): Add FULL_grp_arg. - (struct fetch_full_grp_t): New datatype. - -2015-02-23 Corinna Vinschen <corinna@vinschen.de> - - * grp.cc (internal_getgroups): Check for group attributes and - Everyone sid before calling internal_getgrsid. - -2015-02-23 Corinna Vinschen <corinna@vinschen.de> - - * cygwait.h (enum cw_wait_mask): Add cw_sig_restart. Add comments - to explain the meaning of the possible values. - * cygwait.cc (is_cw_sig_restart): Define. - (is_cw_sig_handle): Check for cw_sig_restart as well. - (cygwait): Restart always if cw_sig_restart is set. - * thread.cc (pthread::join): Call cygwait with cw_sig_restart flag - to avoid having to handle signals at all. - -2015-02-23 Corinna Vinschen <corinna@vinschen.de> - - * cygwait.cc (cygwait): Move setting res to WAIT_SIGNALED to clarify - when WAIT_SIGNALED is returned to the caller. - -2015-02-23 Corinna Vinschen <corinna@vinschen.de> - - * winsup.h (SIGTOMASK): Add cast to sigset_t to avoid int overflow. - -2015-02-20 Corinna Vinschen <corinna@vinschen.de> - - * grp.cc (internal_getgroups): Take additional timeout_ns parameter. - Restrict fetching group account entries from user token groups by - timeout_ns 100ns-intervals. Add preceding comment to explain why. - * pwdgrp.h (internal_getgroups): Align prototype. - * times.cc (GetTickCount_ns): New function. - * uinfo.cc (internal_getlogin): Call internal_getgroups wih 300ms - timeout. - * winsup.h (GetTickCount_ns): Declare. - -2015-02-19 Jon TURNEY <jon.turney@dronecode.org.uk> - - * Makefile.in (sigfe.o): Use CFLAGS. - -2015-02-19 Jon TURNEY <jon.turney@dronecode.org.uk> - - * include/cygwin/stdlib.h (initstate, random, setstate, srandom): - Check if __XSI_VISIBLE is set by sys/cdefs.h, rather than testing - for _XOPEN_SOURCE directly, to work correctly when _GNU_SOURCE is - set. - -2015-02-19 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (setacl): Always grant owner FILE_WRITE_ATTRIBUTES access. - -2015-02-18 Corinna Vinschen <corinna@vinschen.de> - - * ldap.cc (struct cyg_ldap_search): Add scope member. - (cyg_ldap::search_s): Add parameter scope. Use as LDAP search scope - instead of fixed LDAP_SCOPE_SUBTREE scope. - (ldap_search_thr): Call cyg_ldap::search_s with scope from argument. - (cyg_ldap::search): Add parameter scope and fill in to cyg_ldap_search. - (cyg_ldap::fetch_ad_account): Call search with LDAP_SCOPE_SUBTREE scope. - (cyg_ldap::fetch_posix_offset_for_domain): Call search with - LDAP_SCOPE_ONELEVEL scope. - (cyg_ldap::fetch_unix_sid_from_ad): Call search with LDAP_SCOPE_SUBTREE - scope. - (cyg_ldap::fetch_unix_name_from_rfc2307): Ditto. - * ldap.h (cyg_ldap::search): Align prototype to above change. - (cyg_ldap::search_s): Ditto. - -2015-02-18 Corinna Vinschen <corinna@vinschen.de> - - * ldap.cc: Macro-ize filter expressions. Use throughout to compute - required filter buffer size if filter is a local buffer. - -2015-02-17 Corinna Vinschen <corinna@vinschen.de> - - * ldap.cc (cyg_ldap::fetch_posix_offset_for_domain): Drop stray - system_printf. - -2015-02-17 Corinna Vinschen <corinna@vinschen.de> - - * ldap.h (class cyg_ldap): Rename rootdse to def_context. Change - throughout. - * ldap.cc (cyg_ldap::open): Fix debug output. - (cyg_ldap::fetch_ad_account): Rename rdse to base. Restrict LDAP - query to users and groups only. - (cyg_ldap::enumerate_ad_accounts): Rearrange filter expression for - user accounts. - (SYSTEM_CONTAINER): New macro. - (cyg_ldap::fetch_posix_offset_for_domain): Set base in LDAP search - to the "System" container in the default naming context to restrict - the search scope. - (cyg_ldap::fetch_unix_sid_from_ad): Add objectCategory=Person to - search filter for users. - -2015-02-16 Corinna Vinschen <corinna@vinschen.de> - - * spawn.cc (find_exec): Extend preceeding comment to explain more - detailed what's going on in this function. Overwrite potential symlink - target with original path. - -2015-02-15 Corinna Vinschen <corinna@vinschen.de> - - * i686.din (__mempcpy): Move symbol export from here... - * common.din (__mempcpy): ... to here. - -2015-02-14 Corinna Vinschen <corinna@vinschen.de> - - * path.h (path_conv): Make path_flags private. Rename known_suffix to - suffix and make private. Rename normalized_path to posix_path and - make privtae. Accommodate name changes throughout in path_conv - methods. - (path_conv::known_suffix): New method. Use throughout instead of - accessing suffix directly. - (path_conv::get_win32): Constify. - (path_conv::get_posix): New method to read posix_path. Use throughout - instead of accessing normalized_path directly. - (path_conv::set_posix): Rename from set_normalized_path. Accommodate - name change throughout. - - * spawn.cc (find_exec): Return POSIX path, not Win32 path. - -2015-02-12 Corinna Vinschen <corinna@vinschen.de> - - * sec_acl.cc (setacl): Introduce bool array "invalid" to note the - invalidation of incoming acl entries while iterating over them. - -2015-02-12 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.h (cygheap_pwdgrp::get_home): Add dnsdomain parameter to - declaration in ldap-related method. - (cygheap_pwdgrp::get_shell): Ditto. - (cygheap_pwdgrp::get_gecos): Ditto. - * ldap.cc (cyg_ldap::open): Use NO_ERROR instead of 0. - (cyg_ldap::close): Reset last_fetched_sid. - (cyg_ldap::fetch_ad_account): Return immediately if sid is the same as - last_fetched_sid. Open LDAP connection from here. Move initialization - of rdse after open call. Set last_fetched_sid if LDAP call was - successful. - * ldap.h (class cyg_ldap): Add member last_fetched_sid. - (cyg_ldap::cyg_ldap): Initialize last_fetched_sid. - (cyg_ldap::is_open): New inline method. - * uinfo.cc (cygheap_pwdgrp::init): Drop initialization of db_home, - db_shell and db_gecos with "cygwin desc", thus only using the fallback - by default. - (fetch_windows_home): Add parameter dnsdomain. Call - cyg_ldap::fetch_ad_account if required. - (fetch_from_path): Add parameter dnsdomain. Call fetch_windows_home - accordingly. - (cygheap_pwdgrp::get_home): Accomodate call to fetch_windows_home. - Add dnsdomain parameter in ldap-related method. Call - cyg_ldap::fetch_ad_account if required. - (cygheap_pwdgrp::get_shell): Ditto. - (cygheap_pwdgrp::get_gecos): Ditto. - (pwdgrp::fetch_account_from_windows): Drop cyg_ldap::open call prior to - cyg_ldap::fetch_ad_account call. Set is_current_user to true if we're - handling the current user account. Make sure to perform the LDAP calls - only for users, and only if required. - -2015-02-11 Corinna Vinschen <corinna@vinschen.de> - - * flock.cc (fhandler_base::lock): Convert accidental system_printf to - debug_printf in case of non-matching file modes. Clear up debug output. - -2015-02-11 Corinna Vinschen <corinna@vinschen.de> - - * dlfcn.cc (check_path_access): Drop FE_NATIVE from find_exec call. - (gfpod_helper): Drop equality sign from environment variable name - in call to check_path_access. - * exec.cc (execlp): Drop equality sign from environment variable name - in call to find_exec. - (execvp): Ditto. - (execvpe): Ditto. - * path.h (enum fe_types): Drop FE_NATIVE. - (find_exec): Rename third paramter in declaration from search. Drop - equality sign from default value. - * spawn.cc (perhaps_suffix): Add PC_POSIX to path_conv::check call. - (find_exec): Simplify function. Iterate over POSIX pathlist rather - than Windows pathlist. Drop handling of FE_NATIVE flag. Always fill - posix path of incoming path_conv buf, unless FE_NNF flag is given. - (av::setup): Drop equality sign from environment variable name - in call to find_exec. Call unshift with normalized_path. - * winf.cc (av::unshift): Drop conv parameter and code converting - Windows to POSIX path. - * winf.h (av::unshift): Accommodate prototype. - -2015-02-10 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (fhandler_base::stat_fixup): Generate unique inode number - for /dev/tty under all circumstances. Add to comment. - -2015-02-06 Corinna Vinschen <corinna@vinschen.de> - - * common.din: Export cabsl, cimagl, creall, finitel, hypotl, sqrtl. - * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. - -2015-02-06 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 35. - -2015-02-06 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_proc.cc (format_proc_cpuinfo): Enable multi-core fields - on Intel CPUs. - -2015-02-04 Corinna Vinschen <corinna@vinschen.de> - - * common.din (wcstold): Export. - * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. - -2015-02-03 Corinna Vinschen <corinna@vinschen.de> - - * mkvers.sh: Automate generating the copyright date in the version - resource. - * winver.rc: Ditto. - -2015-01-28 Corinna Vinschen <corinna@vinschen.de> - - * Makefile.in (VERSION_OFILES): New variable containing object files - with version information. Use throughout. - (clean): Drop winver_stamp. - (version.cc winver.o): Drop empty rule. - (winver_stamp): Convert to rule targeting version.cc and winver.o - directly. Drop touching winver_stamp. Fix typo. - -2015-01-24 Corinna Vinschen <corinna@vinschen.de> - - * uname.cc (uname): Shorten "WOW64" to "WOW" to account for the new - Windows 10 OS version "10.0" starting with preview build 9926. - -2015-01-23 Pierre A. Humblet <pierre@phumblet.no-ip.org> - - * net.cc (cygwin_inet_pton): Declare. - (gethostby_specials): New function. - (gethostby_helper): Change returned addrtype in 4-to-6 case. - (gethostbyname2): Call gethostby_specials. - -2015-01-22 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (class fhandler_process): Add fd_type member. - * fhandler_process.cc (process_tab): Fix indentation. - (fhandler_process::exists): Rely on format_process_fd returning file - type in fd_type. - (struct process_fd_t): Add fd_type member. - (fhandler_process::fill_filebuf): Allow format_process_fd to set - this->fd_type member. - (format_process_fd): Fix path evaluation to allow recognizing trailing - path components. Fix check for file descriptor path component. Return - virt_symlink in fd_type if no trailing path compenents exist, return - virt_fsdir otherwise and copy full resulting path into destbuf. - * path.cc (path_conv::check): If /proc/$PID/fd symlink has trailing - path components, reparse resulting path as if it's the incoming path. - Add comment to wail over the outdated and hackish check method, and to - explain what we do here. - -2015-01-21 Corinna Vinschen <corinna@vinschen.de> - - * uinfo.cc (pwdgrp::fetch_account_from_windows): Allow fetching gid, - home, shell and gecos info from NT4 domain. - -2015-01-21 Corinna Vinschen <corinna@vinschen.de> - - * sec_auth.cc (get_logon_server): Constify domain parameter. - * security.h (get_logon_server): Same in prototype. - -2015-01-20 Corinna Vinschen <corinna@vinschen.de> - - * common.din (sockatmark): Export. - * net.cc (sockatmark): New function. - * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. - -2015-01-19 Corinna Vinschen <corinna@vinschen.de> - - * cygserver_ipc.h (ipc_retval): Add default constructor. - (class thread): struct->class. Add prototypes for new private methods - dup_signal_arrived and close_signal_arrived. Implement constructor and - destructor. - -2015-01-16 Marco Atzeri <marco.atzeri@gmail.com> - Corinna Vinschen <corinna@vinschen.de> - - * gendef: Export _sigbe on 64 bit as well. - * malloc_wrapper.cc (free): In malloc_printf, call caller_return_address - instead of __builtin_return_address. - (malloc): Ditto. - (realloc): Ditto. - (calloc): Ditto. - * miscfuncs.cc (__caller_return_address): New function. - * miscfuncs.h (caller_return_address): New macro calling - __caller_return_address. - (__caller_return_address): Add prototype. - -2015-01-14 Corinna Vinschen <corinna@vinschen.de> - - * uinfo.cc (fetch_windows_home): Disable fetching from homeDrive or - usri3_home_dir_drive. Add comment. - -2015-01-14 Corinna Vinschen <corinna@vinschen.de> - - * environ.cc (renv_arr): Drop variables not usually in a Windows - environment and all variables being uppercase anyway. But keep - TMP and TEMP for paranoia. - -2015-01-14 Corinna Vinschen <corinna@vinschen.de> - - * environ.cc (build_env): When merging the user's Windows environment, - explicitely skip the variables needing conversion to avoid collisions. - Extend comment to explain. - -2015-01-13 Corinna Vinschen <corinna@vinschen.de> - - * uinfo.cc (pwdgrp::fetch_account_from_windows): Drop code from - 2014-11-17, always prepending domain to NT SERVICE accounts when - searching by name. Fix test expression to allow fully qualified - names for NT SERVICE accounts. Extend comment to explain a bit. - -2015-01-12 Pierre A. Humblet <pierre@phumblet.no-ip.org> - - * minires-os-if.c (cygwin_query): Change questions into answers. - -2015-01-08 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.h (cygheap_pwdgrp::get_shell): Add sid to argument list. - (cygheap_pwdgrp::get_gecos): Ditto. - * uinfo.cc (fetch_windows_home): Accept cyg_ldap and PUSER_INFO_3 - arguments, and fetch db home dir values right here. - (fetch_from_path): Accept cyg_ldap, PUSER_INFO_3 pointers and sid - arguments. Add '%H' format specifier to fetch Windows home dir in - POSIX notation. - (cygheap_pwdgrp::get_home): Accommodate changes to fetch_windows_home - and fetch_from_path. - (cygheap_pwdgrp::get_shell): Ditto. - (cygheap_pwdgrp::get_gecos): Ditto. - (pwdgrp::fetch_account_from_windows): Accommodate sid argument to - cygheap_pwdgrp::get_shell and cygheap_pwdgrp::get_gecos. - -2015-01-08 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/socket.h (struct cmsghdr): Redefine cmsg_len as type - size_t. Add comment to explain why. - -2015-01-08 Corinna Vinschen <corinna@vinschen.de> - - * localtime.cc (__cygwin_gettzoffset): New function for access from - newlib. - (__cygwin_gettzname): Ditto. - -2015-01-07 Corinna Vinschen <corinna@vinschen.de> - - * localtime.cc (tzload): Fix loading latest timezone offsets into - tzinfo from zoneinfo files. Add comment to explain what we do. - (tzparse): Add more comments to explain in case of loading timezone - offset from other sources. - +Deprecated. See git log instead. |