| 2010-12-29 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygtls.cc: Include stdlib.h. |
| (_cygtls::init_thread): Seed random number generator on a per-thread |
| basis. |
| |
| 2010-12-27 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 234. |
| |
| 2010-12-26 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygwin.din: Export program_invocation_name and program_invocation_short_name. |
| * dcrt0.cc: Set program_invocation*name to correct values, based on |
| argv[0]. |
| * globals.cc (program_invocation_name): Define. |
| (program_invocation_short_name): Ditto. |
| |
| 2010-12-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (alloc_sd): Really fix erroneous inheritence entry |
| duplication now. Add more comments for clarity. |
| |
| 2010-12-15 Christian Franke <franke@computer.org> |
| |
| * sec_acl.cc (getacl): Ensure that the default acl contains at least |
| DEF_(USER|GROUP|OTHER)_OBJ entries. |
| |
| 2010-12-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (alloc_sd): Fix erroneous inheritence entry duplication. |
| |
| 2010-12-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (check_dir_not_empty): Never count more than 3 directory |
| entries. |
| |
| 2010-12-12 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * init.cc (search_for): Put this in shared section or suffer subtle |
| problems with the tls. |
| * pinfo.cc (status_exit): Add debug output to report on unexpected exit. |
| * tls_pbuf.cc (tmp_pathbuf::c_get): Add more details to internal error. |
| |
| 2010-12-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (RETRY_COUNT): New define. |
| (std_dll_init): Restructure loop to retry loading a DLL only if |
| specific errors occur. If these errors persist, try to load DLL |
| with name only. |
| |
| 2010-12-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/strings.h: Remove in favor of equivalent newlib file. |
| |
| 2010-12-08 Christian Franke <franke@computer.org> |
| |
| * sec_acl.cc (getacl): Set DEF_CLASS_OBJ permissions to 07 instead |
| of 0777. |
| |
| 2010-12-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::check): Don't generate ENOENT for non-existant |
| CYGDRIVE and NETDRIVE paths. Add comment. |
| |
| 2010-12-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (get_xp_ifs): Fix counting of idx to return stable interface |
| alias names for interfaces with multiple IPv4 addresses. |
| |
| 2010-11-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::dup): Free path_conv strings |
| to avoid memory leak. Add comment. |
| (fhandler_pty_master::dup): Ditto. |
| * path.h (path_conv::free_strings): New method. |
| |
| 2010-11-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (SendARP): Remove. |
| * net.cc (get_flags): Set IFF_NOARP flag for PPP and SLIP devices. |
| (get_xp_ifs): Unify IFF_BROADCAST setting. Drop calling SendARP to |
| set IFF_NOARP flag. |
| |
| 2010-11-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Don't use FileNetworkOpenInformation |
| on Netapps. Relax condition for workaround. Always request size |
| information via FileStandardInformation info class in workaround. |
| |
| 2010-11-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (NETAPP_IGNORE): Add FILE_PERSISTENT_ACLS. |
| (FS_IS_NETAPP_DATAONTAP): Drop test for FILE_PERSISTENT_ACLS. |
| (fs_info::update): Set filetype to ntfs in remote case, too. Fix a |
| couple of comments. Add test for Netapps faking to be FAT. |
| |
| * mount.h (IMPLEMENT_FS_FLAG): Simplify definition and usage. |
| |
| 2010-11-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (get_ipv4fromreg_ipcnt): Fix debug output. Only create debug |
| output if error is not ERROR_FILE_NOT_FOUND. |
| (get_ipv4fromreg): Ditto. |
| |
| 2010-11-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::fchown): Initialize mode to 0. |
| |
| 2010-11-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * posix.sgml: Move llround and llroundf to implemented SUSv4 functions. |
| * include/cygwin/version.h: Add llround and llroundf to the comment for |
| the 233 CYGWIN_VERSION_API_MINOR bump. |
| |
| 2010-11-02 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> |
| |
| * include/paths.h (_PATH_VARTMP): Define. |
| |
| 2010-10-30 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * localtime.cc (is_upper): Rename to isupper and include ctype.h to |
| pull in standard macro. |
| (lcl_is_set): Define as an enum. |
| (tzsetwall): Assign lcl_is_set to correct enum values. |
| (tzset): Ditto. Copy as much of TZ as will fit to TZ buffer. |
| |
| 2010-10-27 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 233. |
| |
| 2010-10-24 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc (do_exit): Don't set thread termination until all fds have |
| been closed since an fd may rely on a thread. |
| * fhandler_tty.cc: Reformat comment. |
| (fhandler_pty_master::pty_master_thread): Don't treat |
| ERROR_PIPE_CONNECTED state as an error. |
| * globals.cc (exit_states): Reorder ES_THREADTERM. |
| |
| * path.cc (find_fast_cwd_pointers): Remove excessively wordy DEBUGGING output. |
| |
| 2010-10-24 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * exceptions.cc (try_to_debug): Improve comment. |
| * fhandler_tty.cc (fhandler_pty_master::fhandler_pty_master): Add a |
| comment. |
| |
| 2010-10-23 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * pinfo.cc (pinfo::exit): Grab a tty lock before setting pgid. |
| |
| 2010-10-23 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * pinfo.cc (pinfo::exit): Reset tty pgrp to zero if no more handles open. |
| (_pinfo::set_ctty): Remove debugging stuff. |
| |
| 2010-10-23 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler_tty.cc (fhandler_pty_master::open): Remove debugging printf. |
| |
| 2010-10-23 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.h (fhandler_termios::tcinit): Make second argument |
| non-optional. |
| * fhandler_console.cc (fhandler_console::open): Specify second argument |
| to tcinit. |
| * fhandler_termios.cc (fhandler_termios::tcinit): Rename second |
| argument. Set pgid to 0 if this is a pty master. |
| (fhandler_termios::tcgetpgrp): Just return value of pgid. It will be |
| zero if not initialized. |
| * fhandler_tty.cc (fhandler_tty_slave::open): Specify second argument |
| to tcinit. |
| (fhandler_tty_slave::ioctl): Implement TIOCGPRP/TIOCSPGRP. Fix switch |
| indentation. |
| (fhandler_tty_master::ioctl): Implement TIOCGPRP/TIOCSPGRP. |
| * include/sys/termios.h (TIOCGPGRP): Define similarly to Linux. |
| (TIOCSPGRP): Ditto. |
| |
| 2010-10-18 Marco Atzeri <marco_atzeri@yahoo.it> |
| |
| * winsup/cygwin/cygwin.din: Add llround and llroundf. |
| |
| 2010-10-09 John Carey <aeolus@electric-cloud.com> |
| Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygheap.h (cwdstuff::override_win32_cwd): Declare. |
| * ntdll.h (struct _PEB): Add members accessed by the fast cwd method |
| starting with Vista. |
| (struct _KUSER_SHARED_DATA): Define with only the DismountCount. |
| (RtlAllocateHeap): Declare. |
| (RtlEnterCriticalSection): Declare. |
| (RtlFreeHeap): Declare. |
| (RtlLeaveCriticalSection): Declare. |
| * path.cc (get_user_proc_parms): Remove. |
| (struct _FAST_CWD): New structure. |
| (fast_cwd_ptr): Define. |
| (SharedUserData): Define. |
| (peek32): Define. |
| (find_fast_cwd_pointers): New function to find the global pointer |
| to the current FAST_CWD structure. |
| (copy_cwd_str): New helper function. |
| (cwdstuff::override_win32_cwd): New method to set the Win32 CWD. |
| (cwdstuff::init): Just call override_win32_cwd from here when |
| started from native Win32 parent. |
| (cwdstuff::set): Access Win32 CWD via PEB reference instead of using |
| get_user_proc_parms function. Memorize old DismountCount before |
| opening directory handle. Call override_win32_cwd to set up Win32 CWD. |
| Be more verbose in comments. |
| * wincap.h (wincaps::has_fast_cwd): New element. |
| * wincap.cc: Implement has_fast_cwd element throughout. |
| |
| 2010-10-08 Marco Atzeri <marco_atzeri@yahoo.it> |
| Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din: Export new complex math functions from newlib. |
| * posix.sgml: Move newly exported complex functions to implemented |
| SUSv4 functions. |
| * include/cygwin/version.h: Bump API minor version. |
| |
| 2010-10-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (fhandler_base::get_stat_access): Delete. |
| * fhandler_disk_file.cc (fhandler_base::fstat_helper): Always check |
| executable suffix to get x-bits for .exe files also in notexec case. |
| Always reopen file when checking for file header. |
| * ntdll.h (wait_pending): Delete. |
| * path.cc (symlink_info::check_shortcut): Drop call to wait_pending |
| since file is always opened for sync IO. |
| (symlink_info::check_sysfile): Ditto. |
| (MIN_STAT_ACCESS): Remove. |
| (FULL_STAT_ACCESS): Remove. |
| (symlink_info::check): Drop access flag. Revert to open file with |
| just read attributes access. Reorder symlink check to check for |
| reparse points first. Don't check reparse points for anything else, |
| even on remote drives. Open file for GENERIC_READ when trying to |
| read shortcuts or system-bit symlinks. Accommodate dropped access |
| flag in call to path_conv_handle::set. |
| * path.h (class path_conv_handle): Drop access flag and accommodate |
| all related methods. |
| |
| 2010-10-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * posix_ipc.cc (ipc_mutex_init): Call NtCreateMutant to make sure the |
| access mask is correct. |
| (ipc_cond_init): Take additional parameter to differ between send and |
| receive event. Call NtCreateEvent to make sure the access mask is |
| correct. |
| (ipc_cond_timedwait): Reset Event prior to calling WFMO. |
| (struct mq_info): Split mqi_wait into two events, mqi_waitsend and |
| mqi_waitrecv. |
| (mq_open): Calloc mqinfo. Create mqi_waitsend and mqi_waitrecv events. |
| Make sure all synchronization objects are closed in case of an error. |
| (_mq_send): Wait for mqi_waitsend event. Signal mqi_waitrecv event. |
| (_mq_receive): Wait for mqi_waitrecv event. Signal mqi_waitsend event. |
| (mq_close): Close mqi_waitsend and mqi_waitrecv events. |
| |
| 2010-10-05 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.h (enum pathconv_arg): Remove PC_CHECK_EA. |
| |
| 2010-10-02 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc (dll_crt0_0): Move _main_tls initialization here. |
| (__dll_crt0): Only initialize _main_tls if it changes. |
| * fhandler_console.cc (fhandler_console::write): Fix debugging output. |
| |
| 2010-10-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Simplify. |
| Just call nfs_fetch_fattr3 if called via fstat. |
| * nfs.cc (nfs_fetch_fattr3): New function to fetch NFS fattr3 info from |
| file handle. |
| * nfs.h (nfs_fetch_fattr3): Declare. |
| * path.cc (symlink_info::check): Simplify NFS case. Just call |
| nfs_fetch_fattr3. |
| |
| 2010-10-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_procsys.cc (fhandler_procsys::exists): Return virt_none |
| if path is invalid. |
| |
| 2010-10-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * autoload.cc (std_dll_init): Add a retry loop. |
| |
| 2010-09-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc: Drop including nfs.h. |
| * fhandler_disk_file.cc: Ditto. |
| (fhandler_base::fstat_by_nfs_ea): Use fattr3 from path_conv member, |
| unless called from fstat. |
| * path.cc: Drop including nfs.h. |
| (symlink_info::check): Rearrange definition of file info buffers. |
| Fetch fattr3 info for files on NFS and store in conv_hdl for later |
| use in fhandler_base::fstat_by_nfs_ea. Use fattr3 file type to |
| recognize symlink on NFS and try to fetch symlink target only for |
| actual symlinks. |
| * path.h: Include nfs.h. |
| (class path_conv_handle): Change file info storage to union of |
| FILE_NETWORK_OPEN_INFORMATION and fattr3 structures. |
| (path_conv_handle::fnoi): Align to aforementioned change. |
| (path_conv_handle::nfsattr): New method. |
| (path_conv::nfsattr): New method. |
| |
| 2010-09-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Remove erroneous assumption about |
| required permissions when reading NFS symlinks. |
| |
| 2010-09-29 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::init): Revert to using |
| tc->setpgid since previous change broke some use cases. |
| |
| 2010-09-28 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::init): Add debugging. Use |
| tcsetpgrp to potentially set pgid since it is smarter about deciding if |
| a process is in the background. |
| * include/sys/cygwin.h (PID_ORPHANED): Actually delete as planned. |
| (PID_NOTCYGWIN): Correctly define. |
| |
| 2010-09-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (getdomainname): Drop special case for NT4. |
| |
| 2010-09-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| Revert accidental previous login. |
| |
| 2010-09-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_IMPORTS): Remove libadvapi32.a. |
| * autoload.cc: Add all advapi32 entry points. |
| * mount.cc (mount_info::init): Read user fstab only if we have a |
| username. |
| * passwd.cc (pwdgrp::read_passwd): Only use username if we have one. |
| * shared.cc (user_info::initialize): Set cb last so as not to override |
| planned behaviour in pwdgrp::read_passwd. |
| * uinfo.cc (cygheap_user::init): Fetch Windows username from environment |
| variable $USERNAME. Don't set name in cygheap if variable is empty. |
| (internal_getlogin): If we still have no username, try GetUserNameW. |
| |
| 2010-09-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tty.cc (fhandler_pty_master::setup): Always create master |
| thread. |
| |
| 2010-09-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (gethostid): Use correct path to ProductId registry value. |
| |
| 2010-09-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (fs_info::update): Remove erroneous NtClose on random handle |
| value. |
| |
| 2010-09-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * uinfo.cc (cygheap_user::init): Call GetUserNameW and convert to |
| multibyte here so as not to rely on the current ANSI page. |
| |
| 2010-09-26 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc (__main): Force signal synchronization. |
| |
| 2010-09-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::bind): Drop has_exclusiveaddruse |
| condition. Fix comment about availability. Move remaining comment to |
| the right spot. Drop has_ip_helper_lib condition. |
| * net.cc (cygwin_setsockopt): Drop has_disabled_user_tos_setting |
| condition. Fix comment. |
| (get_2k_ifs): Fix comment. |
| (get_nt_ifs): Remove. |
| (getifaddrs): Drop call to get_nt_ifs. |
| (get_ifconf): Ditto. |
| * wincap.cc: Throughout, drop has_ip_helper_lib, |
| has_disabled_user_tos_setting, and has_exclusiveaddruse settings from |
| wincaps. |
| (wincap_unknown): Remove. |
| (wincap_nt4): Remove. |
| (wincap_minimal): New macro, set to wincap_nt4sp4 for now. |
| (wincapc::init): Drop test for pre-SP4 NT4. Just imply at least NT SP4. |
| Replace references to wincap_unknown with references to wincap_minimal. |
| * wincap.h (struct wincaps): Drop has_ip_helper_lib, |
| has_disabled_user_tos_setting, and has_exclusiveaddruse flags and |
| methods. |
| |
| 2010-09-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc: Throughout, order entry points alphabetically by DLL |
| and function name. Make functions which are available on all supported |
| systems non-optional. Fix return value on entry points imported from |
| secur32.dll. Add comment. |
| (std_dll_init): Call fesetenv unconditionally. |
| |
| 2010-09-24 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * autoload.cc (std_dll_init): Move dll_path closer to its use. Use |
| dll_path in fatal error. Set ret values under lock control. |
| * lib/minires.c (res_nsend): Fix compilation errors owing to pointer |
| signedness. |
| |
| 2010-09-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Handle query_write_dac flag. |
| * fhandler.h (enum query_state): Add query_write_dac flag. |
| * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Open file |
| with query_write_dac instead of query_write_control. |
| |
| 2010-09-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * errno.cc (errmap): Map ERROR_BAD_NET_RESP to ENOSYS. |
| * fhandler_disk_file.cc (fhandler_disk_file::facl): Handle ENOSYS and |
| point to the explanation. |
| * ntdll.h (STATUS_NOT_IMPLEMENTED): Define. |
| * path.cc (symlink_info::check): Handle the inability of NT4 to use |
| FileNetworkOpenInformation on share root dirs in either direction. |
| * path.h (slash_unc_prefix_p): Remove unused declaration. |
| * security.cc (get_info_from_sd): Handle ENOSYS from get_file_sd. |
| Explain when this happens. |
| |
| 2010-09-23 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * autoload.cc (std_dll_init): Use correct format type when displaying |
| dll name in error output. |
| |
| 2010-09-21 Pierre Humblet <Pierre.Humblet@ieee.org> |
| |
| * libc/minires.c (res_nsend): Use the Windows resolver if appropriate. |
| (dn_expand): Only set errno in case of error. Delete old comments. |
| (dn_skipname): Fix typo in comment. |
| |
| 2010-09-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (cwdstuff::set): Replace constant 2 with sizeof(WCHAR) where |
| appropriate. |
| |
| 2010-09-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.h (class fs_info): Add has_buggy_reopen flag and accessor |
| methods. |
| * mount.cc (fs_info::update): Set has_buggy_reopen flag for NWFS. |
| Add comment. |
| * path.h (path_conv::get_object_attr) Make inline method. |
| (path_conv::init_reopen_attr): New inline method. |
| * path.cc (path_conv::get_object_attr): Remove. |
| * fhandler_disk_file.cc (fhandler_base::fstat_helper): Use |
| path_conv::init_reopen_attr method to initialize OBJECT_ATTRIBUTE for |
| reopening file. |
| (fhandler_disk_file::fchmod): Ditto. |
| (fhandler_base::utimens_fs): Ditto. |
| (fhandler_disk_file::rewinddir): Ditto. |
| * syscalls.cc (unlink_nt): Ditto. |
| |
| 2010-09-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Always open NFS files with |
| FILE_READ_EA, even when opening with O_WRONLY to allow fstat. |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Call |
| FlushFileBuffers if file has been opened for writing. Explain why. |
| (fhandler_base::fstat_by_handle): Renew content of pc.fnoi if called |
| via fstat. Explain why. Fix formatting. |
| * path.cc (symlink_info::check): Try to open file the second time with |
| FILE_READ_EA permissions since it's needed in later calls to |
| fhandler_base::fstat_by_nfs_ea. |
| |
| 2010-09-20 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * include/sys/cygwin.h (PID_NOTCYGWIN): New enum. |
| * spawn.cc (spawn_guts): Set a flag when a process is not a cygwin |
| process. |
| * fhandler_tty.cc (fhandler_tty_slave::init): Remove previous change. |
| Try a different method to determine when we should become the process |
| group owner. |
| * signal.cc (kill0): Remove archaic code which dealt with never-set |
| flag. |
| |
| 2010-09-20 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::init): Add additional checks to |
| determine when a process should grab control of a tty's pgid. Use |
| being_debugged() for consistency. |
| * debug.h (being_debugged): Remove vestige of win9x accommodation. |
| |
| 2010-09-19 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * wincap.h (wincaps::has_buggy_thread_startup): Declare. |
| (wincapc::has_buggy_thread_startup): Ditto. |
| * wincap.cc::wincap_*): Accommodate has_buggy_thread_startup. |
| (wincapc::init): Explicitly turn off has_buggy_thread_startup if not |
| WOW64. |
| * cygthread.h (cygthread::thread_handle): Declare/define new method. |
| * dcrt0.cc (_dll_crt0): Don't call __sinit here. |
| (dll_crt0_0): Don't call sigproc_init during initialization |
| if wincap.has_buggy_thread_startup(). |
| (dll_crt0_1): Defer sigproc_init to here when |
| wincap.has_buggy_thread_startup(). Call __sinit after we've determined |
| that we're not forking. |
| (__main): Rework comments. Add potential future reminder. |
| |
| 2010-09-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Fetch number |
| of links and inode number only if path has good inodes. |
| (fhandler_base::fstat_by_name): Fetch inode number only if path has |
| good inodes. |
| |
| 2010-09-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Make sure AllocationSize and EndOfFile |
| are stored in the right order when fetching the info from the |
| NtQueryDirectoryFile result. |
| |
| 2010-09-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_process.cc (get_mem_values): Simplify code. Fix |
| NtQueryVirtualMemory loop so it handles memory allocation gracefully. |
| Always set errno to a useful value. |
| |
| 2010-09-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class fhandler_base): Change inheritance of fstat_helper |
| and fstat_by_... methods to private. |
| (fhandler_base::fstat_helper): Drop all redundant arguments. |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Drop call |
| to fstat_by_nfs_ea here. Drop fetching basic file information. |
| Drop setting file attributes. Accommodate change in fstat_helper call. |
| (fhandler_base::fstat_by_name): Simplify. Only fetch directory |
| information to get the inode number. Drop setting file attributes. |
| Accommodate change in fstat_helper call. |
| (fhandler_base::fstat_fs): Call fstat_by_nfs_ea if on NFS. |
| (fhandler_base::fstat_helper): Drop all redundant arguments. Use |
| information already collected in the fhandler. Move heading comment |
| into code and drop dwFileAttributes comment. |
| * mmap.cc (mmap64): Call fstat_fs rather than fstat_by_handle. |
| * mount.cc (fs_info::update): Note that has_buggy_basic_info is unused. |
| * path.cc (symlink_info::check_reparse_point): Add comment. |
| (symlink_info::check): Fetch FileNetworkOpenInformation rather than |
| FileBasicInformation throughout, except on NFS. Explain why. Store |
| FILE_NETWORK_OPEN_INFORMATION in conv_hdl. Remove |
| FILE_ATTRIBUTE_DIRECTORY attribute in conv_hdl for reparse point |
| symlinks. |
| * path.h (class path_conv_handle): Add FILE_NETWORK_OPEN_INFORMATION |
| member _fnoi. |
| (path_conv_handle::fnoi): New accessor method for _fnoi. |
| (path_conv::fnoi): New accessor method for cubv_hdl._fnoi. |
| |
| * fhandler_tty.cc (fhandler_tty_slave::init): Use tty::setpgid method. |
| |
| 2010-09-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_acl.cc (acl_worker): Remove. |
| (acl32): Implement acl_worker functionality here. |
| (lacl32): Just return -1 with errno set to ENOSYS. |
| (lacl): Ditto. |
| * include/cygwin/acl.h (lacl): Remove this call. |
| |
| 2010-09-12 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * sigproc.cc (sig_dispatch_pending): Remove debugging statement. |
| (sigproc_init): Wrap a long line. |
| |
| 2010-09-12 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygthread.h (cygthread::cygthread): Reorganize slightly. |
| * dcrt0.cc (dll_crt0_0): Move sigproc initialization later to ensure |
| everything we need has been set up. |
| (dll_crt0_1): Streamline some logic slightly. |
| * sigproc.cc (no_signals_available): Add back dropped test for macro |
| parameter. |
| * fhandler_console.cc (fhandler_console::write): Show a little bit of |
| what's being written to the console in debugging output. |
| |
| 2010-09-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (start_transaction): Make inline function. Move up to be |
| more generally available. |
| (stop_transaction): Ditto. |
| (unlink_nt): Potentially start transaction when trying to delete file |
| with DOS R/O attribute set. If file is .lnk symlink, check for number |
| of hardlinks. Add "out" label and only return via "out". Rearrange |
| reversion of DOS R/O attribute and, on success, only revert R/O |
| attribute if file is .lnk symlink with more than one hardlink. Add |
| length comment to explain why. |
| |
| 2010-09-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::rmdir): More thoroughly |
| check the existence condition on remote drives. Enhance comment. |
| |
| 2010-09-11 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| * Makefile.in (DLL_OFILES): Add new fenv.o module. |
| (fenv_CFLAGS): New flags definition for fenv.o compile. |
| * autoload.cc (std_dll_init): Use fenv.h functions instead of direct |
| manipulation of x87 FPU registers. |
| * crt0.c (mainCRTStartup): Likewise. |
| * cygwin.din (feclearexcept, fegetexceptflag, feraiseexcept, |
| fesetexceptflag, fetestexcept, fegetround, fesetround, fegetenv, |
| feholdexcept, fesetenv, feupdateenv, fegetprec, fesetprec, |
| feenableexcept, fedisableexcept, fegetexcept, _feinitialise, |
| _fe_dfl_env, _fe_nomask_env): Export new functions and data items. |
| * fenv.cc: New file. |
| * posix.sgml: Update status of newly-implemented APIs. |
| * include/fenv.h: Likewise related header. |
| * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. |
| |
| 2010-09-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): Limit retry loop in case of sharing violation |
| to about a second. |
| |
| 2010-09-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (fstatat): Call stat_worker directly from here. |
| |
| 2010-09-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * flock.cc (allow_others_to_sync): Define MAX_PROCESS_SD_SIZE. Use |
| instead of ACL_DEFAULT_SIZE. |
| * sec_acl.cc (setacl): Use TLS buffer to allow maximum ACL size. |
| * security.h (ACL_DEFAULT_SIZE): Drop definition. |
| (ACL_MAXIMUM_SIZE): Define. |
| (SD_MAXIMUM_SIZE): Define. |
| * security.cc (get_file_sd): Allocate security_decscriptor with size |
| SD_MAXIMUM_SIZE. |
| (alloc_sd): Use TLS buffer to allow maximum ACL size. |
| |
| 2010-09-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (class fs_info_cache): New class to cache filesystem |
| information. |
| (fs_info::update): Check FileFsVolumeInformation against filesystem |
| cache and use it, if filesystem is already available. Add filesystem |
| to cache, if not. Only request FileFsObjectIdInformation if |
| FILE_SUPPORTS_OBJECT_IDS is set in filesystem flags. |
| * ntdll.h (struct _FILE_FS_VOLUME_INFORMATION): Add pragma pack so the |
| structure size is matching the OS expectations. Add __dummy member |
| used in filesystem cache. |
| |
| 2010-09-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * security.cc (get_file_sd): Add bool parameter justcreated. Use |
| GetSecurityInfo only if justcreated is true, NtQuerySecurityObject |
| otherwise. Add comment to explain why. Don't waste time to call |
| NtQuerySecurityObject twice, just allocate big enough area. |
| (get_file_attribute): Call get_file_sd with justcreated set to false. |
| (set_file_attribute): Call get_file_sd with justcreated depending on |
| S_JUSTCREATED pseudo file attribute. |
| (check_file_access): Call get_file_sd with justcreated set to false. |
| * sec_acl.cc (setacl): Ditto. |
| (getacl): Ditto. |
| * security.h: Convert many functions to regparm functions. |
| (get_file_sd): Declare with extra bool parameter. |
| |
| 2010-09-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_procsys.cc (fhandler_procsys::exists): Rearrange to handle |
| dangling symlinks correctly. Fix comments. |
| (fhandler_procsys::fill_filebuf): Remove useless comment. |
| |
| 2010-09-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_procsys.cc (fhandler_procsys::open): Simplify by just |
| calling fhandler_base::open. |
| |
| 2010-09-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_OFILES): Add fhandler_procsys.o. |
| * devices.h (enum fh_devices): Add FH_PROCSYS. |
| * devices.in (dev_procsys_storage): New device. |
| * devices.cc: Regenerate. |
| * dtable.cc (build_fh_pc): Add code to allocate fhandler_procsys. |
| * fhandler.h (proc_len): Convert to size_t. |
| (procsys): Declare. |
| (procsys_len): Declare. |
| (enum virtual_ftype_t): Move here from fhandler_virtual.h. |
| Add members supported by fhandler_procsys. |
| (fhandler_virtual::exists): Return virtual_ftype_t. Change |
| in all derived classes. |
| (class fhandler_procsys): New class. |
| (fhandler_union): Add fhandler_procnet and fhandler_procsys members. |
| * fhandler_disk_file.cc (__DIR_mounts::check_missing_mount): Use |
| ro_u_proc. |
| (fhandler_base::fstat_by_handle): Don't copy attributes if file is an |
| NT device. |
| (fhandler_base::fstat_by_name): Ditto. |
| * fhandler_netdrive.cc (fhandler_netdrive::exists): Return |
| virtual_ftype_t. |
| * fhandler_proc.cc (proc_tab): Sort alphabetically. Use _VN macro |
| to store length. |
| (proc_len): Change to size_t. |
| (proc_tab_cmp): New static function. |
| (virt_tab_search): New function to search entry in virt_tab_t |
| arrays. Use throughout in /proc and sibling classes instead of |
| loop. |
| (fhandler_proc::exists): Return virtual_ftype_t. |
| * fhandler_process.cc (process_tab): Sort alphabetically. Use _VN |
| macro to store length. |
| (fhandler_process::exists): Return virtual_ftype_t. |
| (fhandler_process::open): Simplify code. |
| * fhandler_procnet.cc (procnet_tab): Sort alphabetically. Use _VN |
| macro to store length. |
| (fhandler_procnet::exists): Return virtual_ftype_t. |
| (fhandler_procnet::open): Simplify. |
| * fhandler_procsys.cc: New file. |
| * fhandler_registry.cc (fhandler_registry::exists): Return |
| virtual_ftype_t. |
| * fhandler_virtual.cc (fhandler_virtual::exists): Ditto. |
| * fhandler_virtual.h (enum virtual_ftype_t): Move to fhandler.h. |
| (virt_tab_t): Add name_len member. |
| (_VN): New macro. |
| (virt_tab_search): Declare. |
| * mount.cc (mount_info::conv_to_win32_path): Fix comment. Backslashify |
| isprocsys_dev paths. |
| * ntdll.h (STATUS_OBJECT_TYPE_MISMATCH): Define |
| (STATUS_INSTANCE_NOT_AVAILABLE): Define. |
| (STATUS_PIPE_NOT_AVAILABLE): Define. |
| (STATUS_INVALID_PIPE_STATE): Define. |
| (STATUS_PIPE_BUSY): Define. |
| (SYMBOLIC_LINK_QUERY): Define. |
| (NtOpenSymbolicLinkObject): Declare. |
| (NtQuerySymbolicLinkObject): Declare. |
| * path.cc (path_conv::check): Accommodate fact that exists method |
| returns virtual_ftype_t now. Add cases for new virtual_ftype_t |
| types. |
| (cygwin_conv_path): Add GLOBALROOT prefix to native device paths. |
| Make sure to strip \\?\ prefix only for actual filesystem-based |
| paths, not for all paths. |
| * path.h (isproc_dev): Add FH_PROCSYS. |
| (isprocsys_dev): Define. |
| |
| 2010-09-04 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::from_fstab_line): Reorder to make sure all |
| mounts from user fstab are user mounts. |
| (mount): Make sure all mounts are user mounts, even those added via |
| mount -a. |
| |
| 2010-09-02 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * sigproc.cc (sigproc_init): Use American spelling in comment. |
| |
| 2010-09-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc (dll_crt0_0): Remove myself settings. |
| * fork.cc (fork): Set myself process_state. |
| * pinfo.cc (pinfo_init): Ditto. |
| (pinfo::thisproc): Make sure any sendsig setting is correctly copied. |
| * pinfo.h: Update copyright. Remove unused code. |
| |
| 2010-09-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygthread.cc (cygthread::create): Fix incorrect use of name rather |
| than __name. |
| * cygthread.h (cygthread::cygthread): Create versions which eliminate |
| 'n' parameter. |
| * dcrt0.cc (dll_crt0_1): Remove check for threadfunc_ix. Remove |
| obsolete comments. Set process_state to active here. |
| * fhandler_netdrive.cc (create_thread_and_wait): Use shortened |
| cygthread constructor. |
| * timer.cc (timer_tracker::settime): Ditto. |
| * window.cc (HWND): Ditto. |
| * fhandler_tty.cc: Use shortened cygthread constructor, where |
| appropriate, throughout. |
| * select.cc: Ditto. |
| * fork.cc (frok::child): Remove wait_for_sigthread. |
| (fork): Reformat if for slightly better clarity. |
| * init.cc (dll_finished_loading): New variable. |
| (dll_entry): Use dll_finished_loading to determine when we should call |
| merge_threadfunc. |
| * sigproc.cc (no_signals_available): Simplify by using my_readsig. |
| (wait_sig_inited): Delete. |
| (wait_sig): Define as void function. |
| (pending_signals): Accommodate change to wait_sig definition. |
| (wait_for_sigthread): Delete definition. |
| (sigproc_init): Initialize signal pipe here, before wait_sig thread is |
| created. Use void form of cygthread creation. |
| (init_sig_pipe): Delete. |
| (wait_sig): Return void rather than DWORD. Assume previous |
| initialization of signal pipe. Set my_sendsig to NULL when exiting. |
| * sigproc.h (wait_for_sigthread): Delete declaration. |
| |
| 2010-09-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_netdrive.cc (fhandler_netdrive::readdir): Set d_type. |
| (fhandler_netdrive::seekdir): Fix test for readdir return value. |
| * fhandler_registry.cc (fhandler_registry::seekdir): Ditto. |
| |
| 2010-09-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/version.h: Bump DLL minor version number to 8. |
| |
| 2010-08-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (normalize_posix_path): Preserve //./ and //?/ prefixes. |
| (path_conv::check): Allow access to root directory of native NT disk |
| devices. |
| |
| 2010-08-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/version.h: Bump DLL minor version number to 7. |
| |
| 2010-08-30 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc (dll_crt0_0): Move sigproc_init later, after cygheap |
| initialization since it relies on the cygheap existing (even if |
| it shouldn't matter due to dll initialization serialization). |
| |
| 2010-08-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * posix.sgml (std-notes): Fix typos and incorrectnesses. |
| |
| 2010-08-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (MsgWaitForMultipleObjectsEx): Define. |
| (MsgWaitForMultipleObjects): Remove. |
| * select.cc (select_stuff::wait): Use MsgWaitForMultipleObjectsEx with |
| QS_ALLPOSTMESSAGE and, if possible, MWMO_INPUTAVAILABLE flags. Explain |
| why. Fix a potential crash due to a NULL pointer in WAIT_FAILED case. |
| (peek_windows): Use filter pattern on NT4. Explain why. |
| * wincap.h (wincaps::has_mwmo_inputavailable): New element. |
| * wincap.cc: Implement above element throughout. |
| |
| 2010-08-29 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * winlean.h: New file. |
| * automode.c: Use "winlean.h". |
| * binmode.c: Ditto. |
| * gmon.c: Ditto. |
| * textmode.c: Ditto. |
| * textreadmode.c: Ditto. |
| * winsup.h: Ditto. |
| * lib/cygwin_attach_dll.c: Ditto. |
| * lib/dll_main.cc: Ditto. |
| * profile.c: Ditto. |
| * crt0.c: Ditto. Cleanup ancient cruft. Add dummy calls to |
| cygwin_premain*. |
| * include/sys/cygwin.h: Remove old stuff. Move premain declarations |
| nearer to other cygwin-specific function declarations. |
| * globals.cc: Add comment. |
| |
| 2010-08-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (LoadDLLprime): Change dllname storage to string16. |
| (struct dll_info): Convert name to WCHAR. |
| (std_dll_init): Load DLLs with full path to windows system directory. |
| Add hint to Microsoft security advisory. |
| * dcrt0.cc (init_windows_system_directory): New function. |
| (dll_crt0_0): Call init_windows_system_directory first. |
| * exceptions.cc (windows_system_directory): Move to globals.cc. |
| (windows_system_directory_length): Ditto. |
| (events_init): Drop code fetching windows_system_directory. |
| * globals.cc (windows_system_directory): New global variable. |
| (windows_system_directory_length): Ditto. |
| * net.cc (load_ipv6_funcs): Use windows_system_directory rather than |
| GetSystemDirectoryW. |
| * netdb.cc (open_system_file): Ditto. Simplify debug output. |
| |
| 2010-08-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * external.cc (sync_wincwd): Remove. |
| (cygwin_internal): Drop CW_SYNC_WINCWD case. |
| * globals.cc (ro_u_pipedir): New R/O unicode string. |
| * ntdll.h (RtlSetCurrentDirectory_U): Declare. |
| * path.cc (cwdstuff::set): Improve comments. Drop setting Win32 CWD to |
| \\?\PIPE\ on init. Keep Win32 CWD in sync, if possible. Set to |
| \\?\PIPE\ otherwise. |
| * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Revert to 230. |
| * include/sys/cygwin.h (cygwin_getinfo_types): Remove CW_SYNC_WINCWD. |
| |
| 2010-08-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_proc.cc (format_proc_partitions): Improve comment. |
| |
| 2010-08-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_proc.cc (format_proc_partitions): Simplify code and enable |
| partition layout printing for non-privileged users. |
| |
| 2010-08-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (fs_info::update): Fix comments. |
| |
| 2010-08-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): Open file with FILE_READ_ATTRIBUTES. |
| |
| 2010-08-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/version.h: Fix comment. |
| |
| 2010-08-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * external.cc (cygwin_internal): In CW_CVT_MNT_OPTS case, initialize |
| flags with *pflags to restore original behaviour. |
| |
| 2010-08-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_IMPORTS): Link against advapi32.a before kernel32.a. |
| |
| 2010-08-20 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygthread.cc: Update copyright. |
| |
| 2010-08-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::check): Close handle in conv_handle if we're |
| following a symlink. |
| |
| 2010-08-20 Pedro Izecksohn <pedro.izecksohn@gmail.com> |
| |
| * endian.h (htobe16, htobe32, htobe64, be16toh, be32toh, be64toh, |
| htole16, htole32, htole64, le16toh, le32toh, le64toh): Define. |
| |
| 2010-08-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (readdir_check_reparse_point): Rename from |
| is_volume_mountpoint. Return valid d_type value for underlying |
| reparse point type. |
| (readdir_get_ino): Don't rely on the handle set in pc.check. Open |
| file here if pc.handle() is NULL. |
| (fhandler_disk_file::readdir_helper): Try to set a correct d_type value |
| more diligent. |
| (fhandler_disk_file::readdir): Don't reset dirent_set_d_ino unless |
| we're really sure it's due to an untrusted FS. Simplify usage of |
| FileAttributes, which is 0 if buf is NULL, anyway. Set d_type |
| correctly for faked "." and ".." entries. Improve debug output. |
| * path.cc (symlink_info::check): Don't keep handle to volume mount |
| point open. Explain why. |
| |
| 2010-08-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::fstatvfs): Revert usage |
| of get_stat_handle () to get_handle (). Add comment to explain why. |
| * syscalls.cc (statvfs): Drop using PC_KEEP_HANDLE. |
| |
| 2010-08-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * external.cc (sync_wincwd): New function. |
| (cygwin_internal): Rename CW_SETCWD to CW_SYNC_WINCWD. Call |
| sync_wincwd from here. |
| * include/sys/cygwin.h (cygwin_getinfo_types): Rename CW_SETCWD to |
| CW_SYNC_WINCWD. |
| |
| 2010-08-18 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * external.cc (CW_SETCWD): New option. |
| * include/cygwin/version.h: Bump api minor to 231. |
| * include/sys/cygwin.h (CW_SETCWD): Define. |
| |
| 2010-08-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): Fix renaming file-based devices. |
| |
| 2010-08-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * exceptions.cc (open_stackdumpfile): Don't try to open file if we |
| have no filesystem based CWD. Add comment. |
| * path.cc (cwdstuff::set): Set CWD handle to NULL if CWD is a virtual |
| path. Simplify matching comment. |
| |
| 2010-08-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::fstat_helper): Set st_rdev |
| to correct device number for fs_special devices. |
| |
| 2010-08-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/version.h: Bump DLL minor version number to 6. |
| |
| 2010-08-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * pipe.cc (fhandler_pipe::open): Duplicate content of opened pipe |
| fhandler before calling dup method. |
| |
| 2010-08-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygheap.h (class cwdstuff): Make drive_length private. |
| Add "error" member. |
| (cwdstuff::get_error): New inline method. |
| (cwdstuff::get_error_desc): Declare. |
| (cwdstuff::set): Change first parameter to pointer to path_conv. |
| * path.cc (chdir): Drop doit. Align call to cwdstuff::set to |
| new arguments. |
| (cwdstuff::init): Only call cwdstuff::set if it's not already |
| initialized. Add comment. Drop third parameter in call to |
| cwdstuff::set. |
| (cwdstuff::set): Partially rewrite. Add lots of comments to explain |
| everything. Drop "doit" since it's not used anymore. Always create |
| new handle to CWD if not in a virtual path. Drop PEB locking when |
| reading PEB values in init phase. Check for accessibility to set |
| correct error code. Drop Vista workaround. Never write back into PEB. |
| Set Win32 CWD to \\?\PIPE\ on init. Simplify creation of win32 path. |
| Set new error member to a meaningful value. |
| (cwdstuff::get_error_desc): New method to generate error message |
| from cwd error code. |
| * spawn.cc (spawn_guts): Call cwdstuff::get_error_desc to create |
| more meaningful error message when not being able to start native |
| Win32 app due to CWD restrictions. When starting native Win32 app, |
| lock cwd and use in calls to CreateProcessW/CreateProcessAsUserW. |
| |
| 2010-08-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (struct opt): Add "bind" option. |
| (mount_info::from_fstab_line): Handle "bind" option. |
| (fillout_mntent): Add "bind" option to mnt_opts. |
| (mount): Handle "bind" option. |
| * include/sys/mount.h (MOUNT_BIND): New mount flag. |
| |
| 2010-08-10 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * sigproc.cc (init_sig_pipe): Add retry loop. |
| |
| 2010-08-09 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygheap.h (cygheap_fdmanip): Delete fh and use fd index into |
| cygheap->fdtab throughout. |
| (cygheap_fdnew): Replace fh by using fd index into cygheap->fdtab |
| throughout. (cygheap_fdget): Ditto. (cygheap_fdenum): Ditto. |
| |
| 2010-08-09 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> |
| |
| Implement POSIX.1-2004 Monotonic Clock. |
| * hires.h: Change hires_us to hires_ns, with nanosecond resolution. |
| (hires_ns::primed_ft): Remove. |
| (hires_ns::nsecs): New prototype. |
| (hires_ns::usecs): Rewrite in terms of nsecs. |
| (hires_ns::resolution): New prototype. |
| * times.cc: Change hires_us to hires_ns. |
| (ntod): Declare. |
| (systime): Remove. |
| (hires_ns::prime): Increase resolution to nanoseconds. |
| (hires_ns::nsecs): Rename usecs to nsecs to reflect increased resolution. |
| Remove justdelta argument. |
| (hires_ns::resolution): New function. |
| (clock_gettime): Accept CLOCK_MONOTONIC. |
| Use EINVAL instead of ENOSYS per POSIX.1-2004. |
| (clock_getres): Ditto. |
| (clock_setres): Use EINVAL instead of ENOSYS to conform with other |
| implementations. |
| * strace.cc (strace::microseconds): Adjust for hires_ns. |
| * sysconf.cc (sca): Set _SC_MONOTONIC_CLOCK to _POSIX_MONOTONIC_CLOCK. |
| * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. |
| |
| 2010-08-09 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> |
| |
| * fhandler_proc.cc: Add /proc/filesystems virtual file. |
| (format_proc_filesystems): New function. |
| * mount.cc (fs_names): Move to global scope. Redefine as array |
| of { "name", block_device? } structs. |
| (fillout_mntent): Use name member of fs_names. |
| * mount.h (fs_names): New prototype. |
| |
| 2010-08-09 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> |
| |
| * include/dlfcn.h (RTLD_LOCAL): Define. |
| |
| 2010-08-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/sys/dirent.h (d_fileno): Define as d_ino. |
| |
| 2010-08-04 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (cygwin_conv_path): Rearrange test for "." in POSIX to |
| relative DOS path conversion. Simplify fixing the path. |
| In CCP_POSIX_TO_WIN_W conversion, always drop long path prefix if path |
| fits into MAX_PATH. Explain why. |
| |
| 2010-08-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * exceptions.cc (_cygtls::interrupt_now): Revert to checking for |
| "spinning" when choosing to defer signal. |
| (_cygtls::call_signal_handler): Grab func when we have the lock. |
| * gendef: Update copyright. |
| (__sigbe): Simplify slightly. |
| (_sigdelayed): Grab a lock before manipulating stuff. |
| (_cygtls::pop): Properly return popped value. |
| (stabilize_sig_stack): Set incyg when we have the lock. |
| * sigproc.cc: Update copyright. |
| |
| 2010-07-28 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygthread.h (LPVOID_THREAD_START_ROUTINE): Define. |
| (cygthread::create): Rename from cygthread::cygthread. |
| (cygthread::cygthread): Define new constructor which accepts |
| LPVOID_THREAD_START_ROUTINE as the first argument. Call |
| cygthread::create. |
| * cygthread.cc (cygthread::create): Rename from cygthread::cygthread. |
| Use 'arglen' rather than 'n' since 'n' is no longer supplied. |
| * fhandler_tty.cc (process_input): Define as void/noreturn. |
| (process_output): Ditto. |
| (process_ioctl): Ditto. |
| (fhandler_tty_master::init): Don't "zap_h" cygthreads which are |
| noreturn. It's now implied. |
| |
| 2010-07-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::raw_write): Remove STATUS_DISK_FULL |
| special handling. |
| |
| 2010-07-19 Eric Blake <eblake@redhat.com> |
| |
| * mktemp.cc (_gettemp): Add flags argument. All callers updated. |
| (mkostemp, mkostemps): New functions. |
| * cygwin.din (mkostemp, mkostemps): Export. |
| * posix.sgml: Document them. |
| * include/cygwin/version.h: Bump version. |
| |
| 2010-07-18 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * autoload.cc (noload): Use "pushl" rather than "push". |
| |
| 2010-07-18 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * exceptions.cc (_cygtls::interrupt_now): Avoid nonsensical tests which |
| delay an interrupt. |
| (setup_handler): Remove unneeded DEBUGGING handling. Ensure that stack |
| is locked when we are about to do push/pop to it. Fix debugging output. |
| |
| 2010-07-18 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * gendef: Throughout, remove lock from xchgl since it is implied. |
| (__ZN7_cygtls3popEv): Avoid potential (but probably nonexistent) race |
| when clearing element after pop. |
| |
| 2010-07-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * wincap.cc (wincap_7): Set needs_count_in_si_lpres2 to false. |
| |
| 2010-07-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (unlink_nt): Disable try_to_bin for netapp drives. |
| Explain why. |
| |
| 2010-07-05 Corinna Vinschen <corinna@vinschen.de> |
| |
| Align seekdir and telldir API to POSIX definition. |
| * Makefile.in (NEW_FUNCTIONS): Remove seekdir and telldir mappings. |
| * dir.cc (telldir): Move functionality from telldir64 here. Use |
| long, rather than _off_t. |
| (telldir64): Just call telldir. Only keep for backward compatibility. |
| (seekdir): Move functionality from seekdir64 here. Use long, rather |
| than _off_t. |
| (seekdir64): Just call seekdir. Only keep for backward compatibility. |
| * fhandler.h: Throughout, change prototypes of seekdir and telldir |
| methods to use long, rather than _off64_t. |
| * fhandler_disk_file.cc: Change aforementioned methods accordingly. |
| * fhandler_netdrive.cc: Ditto. |
| * fhandler_registry.cc: Ditto. |
| * fhandler_virtual.cc: Ditto. |
| * include/sys/dirent.h (struct __DIR): Change __d_position from |
| _off_t to long to reflect API change. |
| (telldir): Change prototype to use long, rather than off_t. |
| (seekdir): Ditto. |
| |
| 2010-07-04 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * path.cc (path_conv::check): Move fs-specific settings to a point |
| where we know that we have filled out the filesystem information. |
| * path.h (path_conv::path_conv): Use consistent initialization for |
| constructors. |
| |
| * include/sys/cygwin.h: Define CW_STRERROR. |
| * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 228. |
| * include/external.h: Implement CW_STRERROR. |
| |
| 2010-07-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (cygwin_getsockopt): Make sure SO_PEERCRED is only handled |
| in level SOL_SOCKET. Workaround a return value regression in Vista |
| and later. Add comment to explain. |
| |
| 2010-06-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * spawn.cc (spawn_guts): Reinstantiate a FIXME comment. |
| |
| 2010-06-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * exceptions.cc (dump_exception): Use %W instead of %s for printing |
| progname. |
| * fork.cc (frok::parent): Fix typos in debug output. |
| * spawn.cc (spawn_guts): Copy wide Win32 filename into _pinfo::progname, |
| rather than native NT name. Use %W instead of %S for printing progname. |
| |
| 2010-06-28 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fork.cc (frok::parent): Improve error message. |
| |
| 2010-06-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * flock.cc (allow_others_to_sync): Use small stack buffer rather |
| than big temp buffer. Fix typo in comment. |
| (lf_setlock): Revert to using tmp_pathbuf. |
| (lf_getlock): Ditto. |
| |
| 2010-06-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_acl.cc (setacl): Use the long time unused ACL_DEFAULT_SIZE |
| instead of a constant value. |
| * security.cc (alloc_sd): Ditto. |
| |
| 2010-06-21 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * tmpbuf.h: New file. |
| * flock.cc: Include tmpbuf.h for new tmpbuf functionality. |
| (allow_others_to_sync): Use tmpbuf rather than tmp_pathbuf. Explain |
| why. |
| (lf_setlock): For consistency, use tmpbuf rather than tmp_pathbuf. |
| (lf_getlock): Ditto. |
| |
| 2010-06-21 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc (__api_fatal): Temporarily generate a stackdump. |
| |
| 2010-06-21 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * tls_pbuf.cc (tmp_pathbuf::w_get): Report what's failing when too many |
| buffers are in use. |
| |
| 2010-06-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Fetch stat |
| handle only after checking for NFS. |
| |
| 2010-06-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): Use handle |
| returned by get_stat_handle. |
| (fhandler_base::fstat_helper): Reinstatiate code to re-open the file |
| when checking for executability if called via fstat. Explain why. |
| |
| 2010-06-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dtable.cc (dtable::dup_worker): Reset path_conv handle in duplicated |
| fhandler. |
| * fhandler.cc (fhandler_base::fstatvfs): Keep handle in created |
| path_conv. |
| * fhandler.h (fhandler_base::get_stat_access): New method. |
| (fhandler_base::get_stat_handle): New method. |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Use handle |
| returned by get_stat_handle. Only request inode from system if it |
| isn't already set in the fhandler, and only for filesystems supporting |
| them. |
| (fhandler_base::fstat_fs): Use handle returned by get_stat_handle. |
| Change the way open_fs is called. Explain why. |
| (fhandler_base::fstat_helper): Use handle returned by get_stat_handle. |
| Never use 0 inode number. Simplify executable recognition by re-using |
| get_stat_handle if file could be opened with sufficient rights. |
| (fhandler_disk_file::fstatvfs): Use handle returned by get_stat_handle. |
| (fhandler_disk_file::facl): Use handle returned by get_stat_handle in |
| GETACL and GETACLCNT cases. |
| (fhandler_disk_file::link): Use handle returned by get_stat_handle |
| instead of opening file here again. Add comment. |
| (readdir_get_ino): Keep handle in created path_conv and drop |
| opening file. |
| * ntdll.h (wait_pending): New helper function. |
| * path.cc (symlink_info::check): Drop unused 'opt' parameter from |
| declaration. Add path_conv_handle argument. |
| (path_conv::check): Make sure conv_handle is closed. Keep |
| PC_KEEP_HANDLE flag in pflags_or. Accommodate call to sym.check to |
| new args. |
| (path_conv::~path_conv): Close conv_handle. |
| (symlink_info::check_shortcut): Don't re-open file here, just use |
| incoming handle. Drop goto's and label out. |
| (symlink_info::check_sysfile): Don't re-open file here, just use |
| incoming handle. Keep track of file position to accommodate the fact |
| that file has been opened asynchronously in calling function. |
| (symlink_info::check_nfs_symlink): Don't re-open file here, just use |
| incoming handle. |
| (symlink_info::check): Drop unused 'opt' parameter. Add |
| path_conv_handle argument. Always try to open file with GENERIC_READ |
| rights first to allow reading file content w/o having to re-open the |
| file. Drop back to READ_CONTROL | FILE_READ_ATTRIBUTES otherwise. |
| Call symlink test functions (except for check_reparse_point) only if |
| file could be opened with GENERIC_READ. Keep file handle open if |
| PC_KEEP_HANDLE is set in pflags. |
| * path.h (enum pathconv_arg): Add PC_KEEP_HANDLE flag. |
| (class path_conv_handle): New class. |
| (class path_conv): Add conv_handle member. |
| (path_conv::operator =): Duplicate conv_handle. |
| (path_conv::handle): New method. |
| (path_conv::access): New method. |
| (path_conv::reset_conv_handle): New method. |
| (path_conv::close_conv_handle): New method. |
| |
| 2010-06-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::fstatvfs): Fix indentation. |
| |
| 2010-06-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (path_conv::get_ino_by_handle): Convert from |
| static function to path_conv method. Accommodate throughout. |
| (path_conv::ndisk_links): Unused, comment out. |
| * path.h (path_conv::get_ino_by_handle): Declare. |
| (path_conv::ndisk_links): Comment out declaration. |
| |
| 2010-06-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::check): Return with ENOTDIR if component is a |
| device. |
| |
| 2010-06-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dlfcn.cc (get_full_path_of_dll): Revert patch from 2010-04-29. |
| |
| 2010-06-12 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * times.cc (gtod): Move to sharable region. |
| |
| 2010-06-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check_shortcut): Use ro_u_empty rather than |
| local UNICODE_STRING object. |
| (symlink_info::check_sysfile): Ditto. Return immediately if NtOpenFile |
| failed to avoid closing random handle. Improve debug output in case |
| NtReadFile failed. |
| |
| 2010-06-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Set h to NULL after closing handle |
| in udf check. Remove overagressive bracketing. Don't set h to NULL |
| without closing the handle. Fix using wrong handle in checking |
| file system when using parent directory handle. |
| |
| 2010-06-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/sys/stdio.h: Remove _GNU_SOURCE guard around getline |
| and getdelim prototypes since they are SUSv4 now. |
| |
| 2010-06-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * ntdll.h (STATUS_BAD_NETWORK_PATH): Define. |
| (STATUS_BAD_NETWORK_NAME): Define. |
| * path.cc (symlink_info::check): Convert STATUS_BAD_NETWORK_PATH and |
| STATUS_BAD_NETWORK_NAME into an immediate ENOENT. |
| |
| 2010-06-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * exceptions.cc (open_stackdumpfile): Correctly append .stackdump |
| suffix. |
| |
| * nlsfuncs.cc (rebase_locale_buf): Reorder arguments. Accommodate |
| throughout. Add pointer to end of buffer and avoid changing pointers |
| not pointing into the buffer. |
| |
| 2010-06-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_netdrive.cc (fhandler_netdrive::exists): Always free WNet |
| resource if created. |
| |
| 2010-05-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygheap.cc (cygheap_user::set_name): Allow to change the user name |
| if it only differs by case. |
| |
| 2010-05-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_registry.cc (multi_wcstombs): New function. |
| (fhandler_registry::fstat): Call multi_wcstombs for strings of type |
| REG_MULTI_SZ. |
| (fhandler_registry::fill_filebuf): Ditto. |
| |
| 2010-05-26 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * hires.h (hires_base::reset): New function. |
| (hires_us): Specify that hires_base is a public import. |
| (hires_ms): Ditto. |
| * times.cc (gtod): Move earlier in file. |
| (settimeofday): Reset gtod so that base will be subsequently |
| recalculated. |
| |
| 2010-05-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Don't try to handle remote reparse |
| points as symlinks. Explain why. |
| |
| 2010-05-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/inttypes.h: Change PTR definitions to int to align with the |
| stdint.h type definitions of intptr_t/uintptr_t. |
| |
| 2010-05-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class fhandler_pty_master): Add master_thread member. |
| * fhandler_tty.cc (fhandler_pty_master::close): Properly detach from |
| master thread. |
| (fhandler_pty_master::setup): Store cygthread pointer of pty master |
| control thread in master_thread. Don't zap thread handle. |
| |
| 2010-05-26 Kazuhiro Fujieda <fujieda@acm.org> |
| Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__set_lc_time_from_win): Use LOCALE_SMONTHNAME1 |
| instead of LOCALE_SABBREVMONTHNAME1 in Japanese and Korean |
| locales to get abbreviated month names. Explain why. |
| |
| 2010-05-18 Kazuhiro Fujieda <fujieda@acm.org> |
| |
| * environ.cc (regopt): Change the first argument to wide char string. |
| (environ_init): Accommodate change to the first argument of regopt. |
| * exception.cc (open_stackdumpfile): Accommodate change to the type of |
| progname in _pinfo. |
| * external.cc (fillout_pinfo): Ditto. |
| * fhandler_process.cc (format_process_winexename): Ditto. |
| (format_process_stat): Ditto. |
| * fork.cc (fork::parent): Ditto. |
| * pinfo.cc (pinfo_basic::pinfo_basic): Call GetModuleFileNameW instead |
| of GetModuleFileName. |
| (pinfo::thisproc): Accommodate change to the type of progname in |
| _pinfo. |
| (pinfo_init): Ditto. |
| * pinfo.h (_pinfo): Change the type of progname to a wide char array. |
| * registry.h (reg_key::get_int): Change the first argument from |
| constant point to pointer to constant. |
| (reg_key::get_string): Ditto. Change the last argument likewise. |
| * registry.cc (reg_key::get_int): Accommodate change to the |
| declaration. |
| (reg_key::get_string): Ditto. |
| * strace.cc (strace::hello): Accommodate change to the type of progname |
| in _pinfo. |
| (strace::vsprntf): Ditto. |
| |
| 2010-05-07 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * Makefile.in (DLL_OFILES): Add pseudo-reloc.o. |
| * dcrt0.cc (child_info_fork::handle_fork): Call |
| _pei386_runtime_relocator here. |
| (dll_crt0_1): Ditto for non-fork case. |
| * dll_init.cc (dll::init): Complain more in comment. Clean up |
| slightly. |
| (dll_dllcrt0_1): Call _pei386_runtime_relocator when we know we have |
| a filled-in per_process structure. |
| * globals.cc (__cygwin_user_data): Accommodate new fields for |
| _pei386_runtime_relocator. |
| * pseudo-reloc.cc: New file adapted from old lib/pseudo-reloc.c. |
| Include winsup.h directly. Collapse #ifdef __CYGWIN__ into one block. |
| Perform minor whitespace code reformatting. |
| (__report_error): Use small_printf to output error. |
| (_pei386_runtime_relocator): Conditionalize for cygwin to take |
| per_process pointer parameter. |
| * winsup.h (_pei386_runtime_relocator): Declare. |
| * include/cygwin/version.h |
| (CYGWIN_VERSION_PER_PROCESS_API_VERSION_COMBINED): New macro. |
| (CYGWIN_VERSION_USER_API_VERSION_COMBINED): Use above macro. |
| (CYGWIN_VERSION_USE_PSEUDO_RELOC_IN_DLL): New macro. |
| (CYGWIN_VERSION_API_MINOR): Bump to 227. |
| * include/sys/cygwin.h: Remove obsolete comment. |
| (per_process::unused2): Shorten. |
| (per_process::pseudo_reloc_start): New field. |
| (per_process::pseudo_reloc_end): Ditto. |
| (per_process::image_base): Ditto. |
| * lib/_cygwin_crt0_common.cc: Declare pseudo runtime externs needed for |
| per_process structure. |
| (_cygwin_crt0_common): Fill in pseudo_reloc runtime constants. |
| * lib/pseudo-reloc-dummy.c: New file. Dummy function to satisify ld. |
| * lib/pseudo-reloc.c: Delete. |
| |
| 2010-05-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::init): Disable grabbing |
| process group ownership of tty in case we're being debugged. |
| |
| 2010-05-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::check): Drop setting sym.pflags before calling |
| mount_info::conv_to_win32_path since the flag value is overwritten by |
| mount_info::conv_to_win32_path anyway. |
| Set flags for DOS paths before calling symlink_info::check so they can |
| be used in that function already. |
| |
| 2010-05-03 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dll_init.cc (dll_list::alloc): Add debugging assertion. |
| |
| 2010-04-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dlfcn.cc (get_full_path_of_dll): Handle non-existent file. |
| |
| 2010-04-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (struct opt): Add "dos" and "ihash" options. |
| (fillout_mntent): Ditto. |
| * path.cc (path_conv::get_nt_native_path): Use path_conv's |
| has_dos_filenames_only method. |
| (path_conv::check): Add PATH_IHASH flag if FS has unreliable inode |
| numbers. |
| (symlink_info::check_shortcut): Or symlink flags to pflags. |
| (symlink_info::check_sysfile): Ditto. Change test accordingly. |
| (symlink_info::check_reparse_point): Ditto. |
| (symlink_info::check_nfs_symlink): Ditto. |
| (symlink_info::check): Check PATH_DOS flag in call to get_nt_native_path |
| to utilize mount flag. Ditto in test for potential restarting. Set |
| PATH_DOS if FS only allows DOS filename rules. |
| * path.h (enum path_types): Add PATH_DOS and PATH_IHASH. |
| (path_conv::hasgood_inode): Check PATH_IHASH instead of |
| fs.hasgood_inode. |
| (path_conv::has_dos_filenames_only): New method. |
| * include/sys/mount.h (MOUNT_DOS): New mount flag. |
| (MOUNT_IHASH): Ditto. |
| |
| 2010-04-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * external.cc (cygwin_internal): Add CW_CVT_MNT_OPTS to allow mount |
| flag parsing. Add CW_LST_MNT_OPTS case to allow mount flag listing. |
| * mount.cc (fstab_read_flags): Rename from read_flags. Make externally |
| available. Change input string to char ** to allow returning faulty |
| option. Add flag for avoiding debug output. |
| (fstab_list_flags): New function to create list of options. |
| * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_CVT_MNT_OPTS and |
| CW_LST_MNT_OPTS. |
| |
| 2010-04-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (compare_flags): New function. |
| (read_flags): Replace loop with bsearch. Simplify error check. |
| |
| 2010-04-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/version.h: Bump API minor version. |
| |
| 2010-04-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din (__locale_mb_cur_max): Export. |
| * nlsfuncs.cc (__getlocaleinfo): Drop conversion to multibyte. |
| (__charfromwchar): New function to convert to multibyte. |
| (__eval_datetimefmt): Convert to return wchar_t pointer. Work on |
| wide char string. |
| (__set_lc_time_from_win): Take additional pointer to "C" category info |
| to accommodate C.foo locales. Rework to fill wide char members in |
| category info. |
| (__set_lc_ctype_from_win): New function. |
| (__set_lc_numeric_from_win): Take additional pointer to "C" category |
| info to accommodate C.foo locales. Rework to fill wide char members |
| in category info. |
| (__set_lc_monetary_from_win): Ditto. |
| (__set_lc_messages_from_win): Ditto. |
| (__get_current_collate_codeset): New function, called from nl_langinfo. |
| * include/cygwin/config.h (__HAVE_LOCALE_INFO_EXTENDED__): Define. |
| |
| 2010-04-27 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * spawn.cc (find_exec): Use the first detected errno when lookup fails. |
| |
| 2010-04-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/regex.h: Include _ansi.h to avoid missing out on preprocessor |
| macros in sys/_types.h. |
| |
| 2010-04-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.h (fs_info::inited): New inline method. |
| * path.cc (path_conv::check): Clear filesystem info if following a |
| symlink. Use new fs_info::inited method to check if FS info is already |
| available. |
| (symlink_info::check): Drop fs_update_called. Use fs_info::inited |
| method instead. Streamline test for leading space and trailing dot or |
| space. Add comments. |
| |
| 2010-04-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.h (get_nt_native_path): Add third parameter to declaration and |
| declare with regparms. |
| * path.cc (get_nt_native_path): Add third parameter to allow conversion |
| of leading and trailing dots and spaces on filesystems only supporting |
| filenames following DOS rules. |
| (path_conv::get_nt_native_path): Call get_nt_native_path according to |
| fs.has_dos_filenames_only flag. |
| (getfileattr): Accommodate new parameter to get_nt_native_path. |
| (symlink_info::check): Revamp fs_update_called handling to call |
| fs.update only once per call. Call get_nt_native_path according to |
| fs.has_dos_filenames_only flag. Streamline filesystem dependent code |
| not to be called more than once unnecessarily. Drop code tweaking |
| incoming path for broken filesystems only allowing DOS pathnames. |
| Rely on changed get_nt_native_path instead. |
| * mount.cc (fillout_mntent): Accommodate new parameter to |
| get_nt_native_path. |
| * strfuncs.cc (tfx_rev_chars): New conversion table with comment. |
| (sys_cp_wcstombs): Use tfx_rev_chars rather than tfx_chars. |
| |
| 2010-04-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Make sure to restart only once. |
| |
| 2010-04-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (GETVOLINFO_VALID_MASK): Drop FILE_SEQUENTIAL_WRITE_ONCE |
| from mask. Expand the comment a bit. |
| (WIN_FAT_FLAGS): New define. |
| (FS_IS_WINDOWS_FAT): New macro. |
| (fs_info::update): Handle remote FS faking to be FAT. Subsume under |
| CIFS. Check for NWFS and has_buggy_basic_info only for remote |
| filesystems. Add check for has_dos_filenames_only. |
| * mount.h (class fs_info): Add has_dos_filenames_only status flag. |
| Implement accessors. |
| * path.cc (symlink_info::check): Rearrange variable definitions to |
| clear them up. Add a restart label to allow a clean restart within |
| the method. Add a check for broken filesystems only allowing DOS |
| pathnames in case we encounter a STATUS_OBJECT_NAME_NOT_FOUND status. |
| If all checks point to one of that, restart method with tweaked |
| incoming path. Add lengthy comments to explain what we do. |
| |
| 2010-04-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Fix a comment. |
| |
| 2010-04-21 Corinna Vinschen <corinna@vinschen.de> |
| Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler_termios.cc (tcinit): Remove previously applied change. |
| Replace with... |
| * fhandler_tty.cc (fhandler_tty_slave::init): Become process group |
| leader if called from dtable::init_std_file_from_handle. Add comment |
| to explain. |
| |
| 2010-04-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dtable.cc (dtable::init_std_file_from_handle): Set access mask for |
| the slave side of ttys explicitely. Explain why. |
| |
| 2010-04-20 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * path.cc (cygwin_create_path): Free memory on error. |
| |
| 2010-04-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygheap.h (struct init_cygheap): Add rlim_core member. |
| * cygheap.cc (cygheap_init): Initialize rlim_core to RLIM_INFINITY. |
| * exceptions.cc (stackdump): Drop extern declaration of rlim_core. |
| Refer to cygheap->rlim_core instead. |
| (exception::handle): Disable stackdumping if cygheap->rlim_core is 0. |
| Don't set WCOREDUMP flag in exit code, if cygheap->rlim_core is 0. |
| (sigpacket::process): Ditto. |
| * resource.cc (rlim_core): Remove. |
| (getrlimit): Fetch RLIMIT_CORE value from cygheap->rlim_core. |
| (setrlimit): Store RLIMIT_CORE value in cygheap->rlim_core. |
| |
| 2010-04-19 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygerrno.h: Nevermind. |
| |
| 2010-04-19 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygerrno.h: Protect use of NTSTATUS for only when we need it. |
| |
| 2010-04-19 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * lib/_cygwin_crt0_common.cc: Remove unneeded declarations. |
| |
| 2010-04-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::fch_set_sd): Remove commented out |
| code. |
| |
| 2010-04-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (GetNamedPipeClientProcessId): Define. |
| * fhandler.h (fhandler_tty_slave::fch_open_handles): Declare private. |
| (fhandler_tty_slave::fch_close_handles): Ditto. |
| (fhandler_tty_slave::cygserver_attach_tty): Drop declaration. |
| (fhandler_tty_slave::fstat): Declare public. |
| (fhandler_tty_slave::fchmod): Declare public. |
| (fhandler_tty_slave::fchown): Declare public. |
| (class fhandler_pty_master): Add master_ctl handle. |
| (fhandler_pty_master::pty_master_thread): Declare public. |
| * fhandler_termios.cc (fhandler_termios::tcinit): If the process |
| is started from a non-Cygwin process, make it tty process group |
| leader. |
| * fhandler_tty.cc: Throughout accommodate additional security related |
| arguments in calls to functions creating or opening objects. |
| (close_maybe): Move to start of file to reuse it |
| in other methods. |
| (struct pipe_request): Define. |
| (struct pipe_reply): Define. |
| (fhandler_tty_slave::open): Throughout, try to open synchronization |
| objects with MAXIMUM_ALLOWED permissions. Drop call to cygserver. |
| Try to duplicate pipe handles via master_ctl pipe if duplicating |
| directly doesn't work. |
| (fhandler_tty_slave::cygserver_attach_tty): Remove. |
| (fhandler_tty_slave::init): Close unused incoming pipe handle. |
| (fhandler_pty_master::close): Send exit message to master control |
| thread and close master_ctl handle. |
| (fhandler_pty_master::pty_master_thread): New method, implementing the |
| master control thread. |
| (pty_master_thread): Static helper to start master control thread. |
| (fhandler_pty_master::setup): Simplify creating pipe inheritance. |
| Make sure we're the one creating the input_available_event. Add |
| comment to explain why. Create master_ctl pipe and start master |
| control thread. Close master_ctl handle in case of error. |
| * security.cc (alloc_sd): Add code to handle tty objects. Add comments |
| to explain what exactly is required. |
| (get_object_sd): New function. |
| (get_object_attribute): New function. |
| (create_object_sd_from_attribute): New function. |
| (set_object_sd): New function. |
| (set_object_attribute): New function. |
| (set_file_attribute): Change attribute type to mode_t. |
| * security.h (set_file_attribute): Change attribute type to mode_t. |
| (get_object_sd): Declare. |
| (get_object_attribute): Declare. |
| (create_object_sd_from_attribute): Declare. |
| (set_object_sd): Declare. |
| (set_object_attribute): Declare. |
| * tty.cc (tty::slave_alive): Implement directly instead of via alive. |
| (tty::exists): Open mutex handle with READ_CONTROL access. |
| (tty::alive): Remove. |
| (tty::open_output_mutex): Convert to inline method. |
| (tty::open_input_mutex): Ditto. |
| (tty::open_mutex): Take additional ACCESS_MASK parameter for the |
| mutex open access mask. |
| (tty::open_inuse): New method. |
| (tty::create_inuse): Take PSECURITY_ATTRIBUTES parameter. Drop fmt |
| name parameter. Always create TTY_SLAVE_ALIVE event. |
| (tty::get_event): Take additional PSECURITY_ATTRIBUTES parameter for |
| CreateEvent. |
| * tty.h (class tty): Change declarations according to aforementioned |
| changes. |
| (tty::open_output_mutex): Implement as inline method. |
| (tty::open_input_mutex): Ditto. |
| |
| 2010-04-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dtable.cc (dtable::init_std_file_from_handle): Set dev to |
| valid content for ptys. Remove setting FILE_CREATE_PIPE_INSTANCE |
| in access flags since it's not needed. Set the access mask for |
| kernel objects according to what's returned by NtQueryInformationFile, |
| info class FileAccessInformation. |
| |
| 2010-04-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): On STATUS_ACCESS_VIOLATION, retry to open |
| for DELETE until the STATUS_ACCESS_VIOLATION goes away. Add comment |
| to explain why. |
| |
| 2010-04-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_helper.cc (get_null_sd): Make static. Use PSECURITY_DESCRIPTOR |
| instead of SECURITY_DESCRIPTOR *. |
| (sec_acl): Fix fomratting. |
| * security.h (get_null_sd): Drop declaration. |
| |
| 2010-04-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygerrno.h (seterrno_from_nt_status): Declare. |
| (__seterrno_from_nt_status): Call seterrno_from_nt_status. |
| * errno.cc (seterrno_from_win_error): Set errno without calling |
| set_errno to avoid packing strace output with errno messages. |
| (seterrno_from_nt_status): New function to print NT status as well as |
| resulting Windows error. |
| |
| 2010-04-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * kernel32.cc (CreateEventW): Create event object with EVENT_ALL_ACCESS |
| access mask. |
| (CreateMutexW): Create mutex object with MUTEX_ALL_ACCESS access mask. |
| (CreateSemaphoreW): Create semaphore object with SEMAPHORE_ALL_ACCESS |
| access mask. |
| |
| 2010-04-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_helper.cc (set_cygwin_privileges): Enable SE_DEBUG_PRIVILEGE, if |
| available. Add comments. |
| |
| 2010-04-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (get_inet_addr): Only test the file for being a |
| socket after opening it. Retry if opening failed with sharing |
| violation. Explain why we do this. |
| (fhandler_socket::bind): Create file with no sharing allowed. |
| |
| 2010-04-13 John Bowman <bowman@math.ualberta.ca> |
| |
| * cygheap.cc (cwcsdup): Fix allocation size to accommodate sizeof WCHAR. |
| (cwcsdup1): Ditto. |
| |
| 2010-04-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/version.h: Bump DLL minor version number to 5. |
| |
| 2010-04-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * posix.sgml (std-notes): Improve lseek description. |
| |
| 2010-04-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::open): Add code to duplicate |
| handles within a single process to simplify openpty case. |
| (fhandler_tty_slave::cygserver_attach_tty): Correctly send Windows PID |
| to cygserver, rather than the Cygwin PID. |
| |
| 2010-04-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class dev_console): Add backspace_keycode member. |
| * fhandler_console.cc (fhandler_console::get_tty_stuff): Initialize |
| backspace_keycode with CERASE. |
| (fhandler_console::read): Return dev_state->backspace_keycode if the |
| backspace key is pressed. |
| (fhandler_console::char_command): Implement DECBKM escape sequence. |
| |
| 2010-04-10 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler_console.cc (fhandler_console::read): Default to sending |
| CERASE character if termios VERASE field is zero. |
| (fhandler_console::fixup_after_fork_exec): Avoid a spurious debug |
| message. |
| |
| 2010-04-10 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * mkvers.sh: Use modern date formats to construct the date. |
| |
| 2010-04-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__set_lc_time_from_win): Actually set |
| _time_locale->md_order to the D_MD_ORDER value written to the buffer. |
| |
| 2010-04-09 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * path.cc (path_conv::set_normalized_path): Use crealloc_abort to avoid |
| a memory leak. |
| * path.h (path_conv::operator =): Just use cstrdup to allocate |
| normalized_path, avoiding attempt to free a pointer which is allocated |
| in another pc. |
| |
| 2010-04-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/version.h: Bump DLL minor version number to 4. |
| |
| 2010-04-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * thread.cc (valid_sched_parameters): Declare extern here. |
| (sched_set_thread_priority): Ditto. |
| |
| 2010-04-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/sched.h: Remove, overruled by newlib file. |
| * include/sys/sched.h: Ditto. |
| |
| 2010-04-06 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler_fifo.cc (fhandler_fifo::open): Accommodate previous return |
| value change to setup_overlapped. |
| |
| 2010-04-02 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.h (fhandler_base::has_ongoing_io): Declare virtual method. |
| * select.cc (peek_pipe): Reorganize slightly. Don't attempt to check a |
| handle if it has ongoing I/O. |
| (select_pipe_info::select_pipe_info): Delete definition. |
| (select_pipe_info::~select_pipe_info): Delete definition. |
| (thread_pipe): Get rid of WFMO call. Reorganize loop. |
| (pipe_cleanup): Remove dependence on destructor. |
| (thread_serial): Reorganize loop. |
| * select.h (select_pipe_info): Empty this class since it no longer has |
| any special requirements (for now). |
| |
| * syscalls.cc (readv): Remove an unneeded debug printf. |
| |
| 2010-04-02 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.h (fhandler_base::setup_overlapped): Delete virtual |
| declaration. |
| (fhandler_base::destroy_overlapped): Ditto. |
| (fhandler_base_overlapped): Remove now-unneeded friend. |
| (fhandler_base_overlapped::setup_overlapped): Return int, remove |
| parameter. |
| (fhandler_base_overlapped::get_overlapped): Return reference. |
| (fhandler_base_overlapped::fhandler_base_overlapped): Be more assertive |
| about zeroing everything. |
| (fhandler_base_overlapped::fixup_after_fork): Declare new function. |
| (fhandler_base_overlapped::fixup_after_exec): Ditto. |
| (fhandler_base_overlapped::dup): Ditto. |
| (fhandler_base_overlapped::close): Ditto. |
| * fhandler_fifo.cc (fhandler_fifo::dup): Call |
| fhandler_base_overlapped::dup rather than fhandler_base::dup. |
| * pipe.cc (fhandler_pipe::dup): Ditto. |
| (fhandler_pipe::init): Accommodate change in setup_overlapped arguments |
| for "opened_properly" case. |
| |
| 2010-04-02 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Properly initialize |
| overlapped part of this class. |
| |
| 2010-04-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::close): Revert previous change. |
| |
| 2010-04-02 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * select.h (select_pipe_info::add_watch_handle): Delete declaration. |
| * select.cc (select_pipe_info::add_watch_handle): Delete definition. |
| (fhandler_pipe::select_read): Delete call to add_watch_handle. |
| (fhandler_pipe::select_write): Ditto. |
| (fhandler_pipe::select_except): Ditto. |
| |
| 2010-04-02 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dtable.cc (dtable::init_std_file_from_handle): Avoid adding fh to |
| fdtab until we know that it is good. |
| * fhandler_tty.cc (fhandler_tty_slave::fhandler_tty_slave): Handle |
| error conditions more consistently. Avoid handle leakage on error. |
| |
| 2010-04-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tty.cc (fhandler_tty_slave::close): Avoid potential crash |
| if former open call has been unsuccessful. |
| |
| 2010-04-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc: Fix indentation. |
| |
| 2010-04-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (rebase_locale_buf): New helper function to rebase |
| function pointers in locale structures. Explain why this is necessary. |
| (__set_lc_time_from_win): Use rebase_locale_buf after realloc. |
| (__set_lc_numeric_from_win): Ditto. |
| (__set_lc_monetary_from_win): Ditto. |
| |
| 2010-03-31 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * sigproc.cc (wait_sig): Make sure that strace is activated on |
| __SIGSTRACE by calling new strace::activate function. |
| * strace.cc (strace::activate): Rename from strace::strace. |
| * strace.h (strace::activate): Define new function. |
| (strace::strace): Call activate. |
| |
| 2010-03-31 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.h (fhandler_base_overlapped): Temporarily (?) make |
| select_pipe_info a friend until the fhandler_tty intertangling can be |
| worked out. |
| * select.cc (select_pipe_info::add_watch_handle): Don't inspect the |
| overlapped event if we're not waiting for I/O. |
| (fhandler_tty_common::select_*): Change to standard function. Don't do |
| kludgy fhandler_pipe coercion. |
| |
| 2010-03-31 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.cc (fhandler_base::dup): Call setup_overlapped |
| unconditionally. |
| (fhandler_base::fork_fixup): Ditto. |
| (fhandler_base::fixup_after_fork): Ditto. |
| (fhandler_base::fixup_after_exec): Ditto. |
| (fhandler_base_overlapped::setup_overlapped): Move to this class from |
| fhandler_base. |
| (handler_base_overlapped::destroy_overlapped): Ditto. |
| (fhandler_base_overlapped::wait_overlapped): Ditto. Track when we |
| expect pending I/O. |
| (fhandler_base_overlapped::read_overlapped): Move to this class from |
| fhandler_base. Return error if ongoing I/O. |
| (fhandler_base_overlapped::write_overlapped): Ditto. |
| (fhandler_base_overlapped::has_ongoing_io): Semi-reinstate previous |
| function. |
| * fhandler.h (fhandler_base::wait_overlapped): Move to |
| fhandler_base_overlapped class. |
| (fhandler_base::write_overlapped): Ditto. |
| (fhandler_base::get_overlapped): Ditto. |
| (fhandler_base::get_overlapped_buffer): Ditto. |
| (fhandler_base_overlapped): New class. |
| (fhandler_pipe): Inherit from fhandler_base_overlapped. Remove |
| overlapped stuff as a result. |
| (fhandler_fifo): Ditto. |
| * pipe.cc (fhandler_pipe::fhandler_pipe): Initialize fhandler_base_overlapped. |
| (pipe): Put a descriptive name in the fhandler. |
| |
| 2010-03-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::wait_for_events): Remove call to |
| sig_dispatch_pending. |
| |
| 2010-03-30 Thomas Wolff <towo@towo.net> |
| |
| * fhandler.h (class dev_console): Drop vt100_graphics_mode_active. Add |
| flags vt100_graphics_mode_G0, vt100_graphics_mode_G1 and iso_2022_G1. |
| * fhandler_console.cc: Throughout, tune VT100 graphics mode switching |
| to follow ISO 2022 strictly. |
| (fhandler_console::write) Reset VT100 graphic mode flags on terminal |
| full reset (ESC c). |
| |
| 2010-03-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (open): Remove call to sig_dispatch_pending. |
| |
| 2010-03-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc: Remove calls to sig_dispatch_pending throughout. |
| * libc/rexec.cc: Ditto. |
| |
| 2010-03-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (fs_info::update): Allow variable FILE_SUPPORTS_SPARSE_FILES |
| flag in netapp flag test. Add comment. |
| |
| 2010-03-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * spawn.cc (find_exec): Enable finding paths in backslash notation, |
| especially for the exec[vl]p functions. |
| |
| * path.cc (symlink_info::check): Disable returning directories with |
| suffix appended here. |
| |
| 2010-03-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/version.h: Bump DLL minor version number to 3. |
| |
| 2010-03-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::fstat): Keep st_ctime and st_birthtime |
| fixed to 2006-12-01 00:00 UTC. |
| |
| 2010-03-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * libc/rcmd.c: Enable IPv6. |
| |
| 2010-03-28 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.cc (fhandler_base::fstat): Set st_mtime to current time. |
| |
| 2010-03-28 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * globals.cc (exit_status): Add new ES_EXIT_STARTING enum. |
| * dcrt0.cc (cygwin_exit): Set exit_state to ES_EXIT_STARTING prior to |
| calling real exit. |
| * dll_init.cc (dll_list::detach): Remove dll from linked list and call |
| destructors even if exiting. Don't call __cxa_finalize in exiting case. |
| |
| 2010-03-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__set_charset_from_locale): Set default charset for |
| locales defaulting to codepage 936 to GB2312. |
| |
| 2010-03-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::evaluate_events): Make erase |
| const in parameter list. |
| (fhandler_socket::wait_for_events): Take a DWORD flags value instead of |
| just a bool. Call evaluate_events with erase flag according to |
| MSG_PEEK value in flags. Replace check for dontwait with check for |
| MSG_DONTWAIT in flags. |
| (fhandler_socket::connect): Call wait_for_events with 0 flags value. |
| (fhandler_socket::accept4): Ditto. |
| (fhandler_socket::recv_internal): Save flags in wait_flags. Drop |
| dontwait variable. Call wait_for_events with wait_flags. |
| (fhandler_socket::send_internal): Save MSG_DONTWAIT flag in wait_flags |
| and call wait_for_events with wait_flags as argument. Drop dontwait |
| variable. |
| * fhandler.h (class fhandler_socket): Change second parameter in |
| declaration of wait_for_events to const DWORD. |
| |
| 2010-03-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_cygdrive::fstat): Add standard read |
| permissions again. |
| |
| 2010-03-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * shared.cc (init_installation_root): Change to make sure that scope of |
| the lock lasts the entire function. |
| |
| 2010-03-15 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * shared_info.h (user_info): Add dll_crt0_1 as a friend. |
| (user_info::version): Make LONG to accommodate spinlock use. |
| (user_info::create): New static function renamed from user_info_create. |
| (user_info::initialize): New private function renamed from |
| user_info_initialize. |
| (SHARED_VERSION): Delete. |
| (SHARED_VERSION_MAGIC): Ditto. |
| (USER_VERSION_MAGIC): Ditto. |
| (SHARED_INFO_CB): Ditto. |
| (USER_VERSION): Ditto. |
| (USER_VERSION_MAGIC): Ditto. |
| (CURR_SHARED_MAGIC): Update. |
| (CURR_USER_MAGIC): Ditto. |
| (shared_info::version): Make LONG to accommodate spinlock use. |
| (shared_info::create): New static function mirroring user_info::create. |
| (dll_crt0_1): Accommodate change to user_info::initialize. |
| * spinlock.h (spinlock::setto): New variable member. |
| (spinlock::done): New function. |
| (spinlock::spinlock): Generalize to allow arbitrary values and |
| timeouts. Call done() when lock is not needed. |
| * ntdll.h: Make multiple-inclusion safe. |
| (NtQuerySystemTime): Declare. |
| * shared.cc (installation_root_inited): Rename from shared_mem_inited. |
| (init_installation_root): Make inline. Use a spinlock to ensure that |
| this is initialized only once per session. |
| (user_info::initialize): Rename from user_shared_initialize. Protect |
| with spinlock on sversion and remove other spinlock-like things. |
| Remove reference to user_shared since it is now implicit. Refer to |
| spinlock version of multiple_cygwin_problem to ensure that any spinlock |
| is released. |
| (user_info::create): Rename from user_shared_create. Accommodate |
| change from user_shared_initialize to user_info::initialize. |
| (shared_info::create): New inline function. |
| (shared_info::initialize): Protect with spinlock on sversion. Move |
| heap_init back under specific control of shared_info spinlock. Remove |
| reference to SHARED_INFO_CB and just use sizeof(*this). |
| (memory_init): Move all locking into respective functions where it is |
| needed. Accommodate name changes. Remove call to heap_init(). |
| * syscalls.cc (seteuid32): Accommodate name change to |
| user_info::create(). |
| |
| * mount.cc (mount_info::create_root_entry): Report on errors from |
| add_item since they should be nonexistent. |
| (mount_info::init): Don't initialize nmounts. It should already be |
| zero. Give more verbose error when root_idx < 0. Implicitly use this |
| pointer rather than explicitly referencing mount_table->. |
| (mount_info::add_item): Minor whitespace fix. |
| |
| 2010-03-15 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * sigproc.cc (no_signals_available): Get sense of the test right for |
| previous botched change. |
| |
| 2010-03-15 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * sigproc.cc (no_signals_available): Don't try to send a signal if |
| still in cygwin startup code. |
| |
| 2010-03-13 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * spinlock.h: New file. |
| (spinlock): New class. |
| * shared.cc: Include spinlock.h. |
| (memory_init): Use new spinlock methods rather than roll-your-own. |
| Time out after ten seconds if shared_mem_inited is not initialized. |
| |
| * sync.h: Update copyright. Remove vanity attribution. |
| |
| * sigproc.cc (sigproc_terminate): Avoid attempts to kill the signal |
| thread while we're still initializing or suffer a deadlock. |
| |
| 2010-03-12 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| Throughout change all calls of low_priority_sleep (0) to yield (). |
| * miscfuncs.cc (yield): Rename from low_priority_sleep. Remove all of |
| the logic which called Sleep() and just use SwitchToThread. |
| * miscfuncs.h (yield): Rename from low_priority_sleep. |
| (SLEEP_0_STAY_LOW): Delete unused define. |
| * shared.cc (memory_init): Move heap_init() call directly after shared |
| memory initialization to more closely mimic long-standing program flow. |
| * tty.cc (tty_list::terminate): Replace call to low_priority_sleep with |
| Sleep. |
| |
| 2010-03-10 Christopher Faylor <me.cygwin@cgf.cx> |
| |
| * shared.cc (memory_init): Fix comment. Fix indentation. |
| |
| 2010-03-09 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * shared_info.h (open_shared): Create function wrapper for common use |
| case. |
| (open_shared): Change fifth argument to a pointer rather than a |
| reference. |
| * fhandler_console.cc (fhandler_console::get_tty_stuff): Eliminate use |
| of dummy variable and call open_shared with constant. |
| * fhandler_process.cc (format_process_mounts): Ditto. |
| * pinfo.cc (pinfo::init): Pass pointer to shloc. |
| * shared.cc (shared_mem_inited): New variable. |
| (open_shared): Crate function wrapper for common use case. |
| (open_shared): Accommodate change to fifth argument to a pointer. |
| (shared_info::initialize): Remove spinlock test. Simplify function. |
| Move get_session_parent_dir call back here. |
| (memory_init): Protect global shared settings with shared_mem_inited |
| spinlock. Move get_session_parent_dir call to shared_info::initialize. |
| |
| 2010-03-09 Christopher Faylor <me.cygwin@cgf.cx> |
| |
| * shared.cc (inst_root_inited): Delete. |
| * (shared_info::initialize): Reorganize. Move call to |
| init_installation_root here under spinlock control. Move unneeded |
| non-shared_info initialization out of this function. |
| (memory_init): Remove call to init_installation_root. Call heap_init |
| and get_session_parent_dir here. |
| |
| 2010-03-04 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (nt_path_has_executable_suffix): Change storage class of |
| blessed_executable_suffixes to static. |
| (rename): Revert meaning of old_explicit_suffix. Change the rules |
| for appending a .exe suffix and (yikes!) document them. |
| |
| 2010-03-04 Charles Wilson <cygwin@cwilson.fastmail.fm> |
| |
| * cygwin.din: Export __xdr functions. |
| * include/cygwin/version.h: Bump version. |
| * posix.sgml: Add a few more XDR functions to list |
| of implemented Solaris functions. |
| |
| 2010-03-03 Charles Wilson <cygwin@cwilson.fastmail.fm> |
| |
| Add XDR support. |
| * cygwin.din: Export xdr functions. |
| * include/cygwin/version.h: Bump version. |
| * cygxdr.cc: New. |
| * cygxdr.h: New. |
| * dcrt0.cc (dll_crt0_1): Print the (rare) xdr-related |
| error messages to stderr. |
| * Makefile.in: Add cygxdr. |
| * posix.sgml: Add new XDR functions to list of implemented Solaris |
| functions. |
| |
| 2010-03-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygtls.h: Replace /*gentls_offsets*/ at end. |
| |
| 2010-03-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * exception.h: Fix copyright. |
| |
| 2010-02-27 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| Update some copyrights. |
| * cygtls.cc (_cygtls::call): Invoke new exception protection here. |
| (_cygtls::init_thread): Remove conditionalized exception handler setup. |
| (exception_list): Delete declaration. |
| (_cygtls::init_exception_handler): Delete obsolete function. |
| * cygtls.h: Remove (now) unneeded include. |
| (_cygtls): Make this a real C++ class. |
| (_cygtls::handle_exceptions): Remove. |
| (_cygtls::init_exception_handler): Remove. |
| (_cygtls::call2): Make private. |
| (myfault::faulted): Remove unneeded parentheses. |
| * dcrt0.cc (dll_crt0_1): Remove exception handler setup. |
| * dlfcn.cc (dlopen): Ditto. |
| (dlclose): Ditto. |
| * dll_init.cc (dll_dllcrt0_1): Ditto. |
| (dll_list::detach): Use new exception handler protection. |
| * exceptions.cc (dump_exception): Rename to prevent confusion with new |
| class. |
| (exception::handle): Rename from _cygtls::handle_exceptions. |
| Accommodate new exception class. Accommodate rename to dump_exception. |
| * tlsoffsets.h: Regenerate. |
| |
| 2010-02-26 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygtls.h (_cygtls::init_exception_handler): Eliminate argument. |
| (_cygtls::andreas): Convert to a pointer. |
| (san): Convert to a real class with methods. Use a linked list to |
| keep track of previous handlers on the "stack". |
| (myfault): Rewrite to use new san class rather than calling directly |
| into _cygtls. |
| * cygtls.cc (_cygtls::init_exception_handler): Just assume that we're |
| always using the standard exception handler. |
| (_cygtls::init_thread): Reflect loss of argument to |
| init_exception_handler. |
| * dcrt0.cc (dll_crt0_1): Ditto. |
| * dfcn.cc (dlopen): Ditto. |
| (dlclose): Reset the exception handler after FreeLibrary. |
| * dll_init.cc (dll_list::detach): Make sure that the exception handler |
| is initialized before calling destructors. |
| * exceptions.cc (_cygtls::handle_exceptions): Accommodate new andreas |
| pointer. |
| * thread.cc (verifyable_object_isvalid): Pass objectptr to faulted for |
| explicit NULL pointer checking. |
| * tlsoffsets.h: Regenerate. |
| |
| 2010-02-26 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * mkimport: cd away from temp directory or Windows will have problems |
| removing the directory. |
| |
| 2010-02-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * libc/strptime.cc: Implement support for era, alt_digits and POSIX |
| padding and width modifiers. |
| (era_info_t): New type. |
| (free_era_info): New static function to free era_info_t storage. |
| (get_era_info): New static function to create era_info_t storage |
| from LC_TIME era information. |
| (alt_digits_t): New type. |
| (get_alt_digits): New static function to create alt_digits_t storage |
| from LC_TIME alt_digits information. |
| (free_alt_digits): New static function to free alt_digits_t storage. |
| (find_alt_digits): New static function to scan input for alternative |
| digits and return them, if any. Return NULL otherwise. |
| (__strptime): New static function taking all code from strptime. |
| Implement handling for E, O, +, 0, and width modifiers per POSIX-1.2008. |
| (strptime): Convert into wrapper function to provide era_info and |
| alt_digits pointers and call __strptime. |
| (conv_num): Take additional alt_digits_t parameter and if it's not |
| NULL, call find_alt_digits to convert. |
| |
| 2010-02-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * strsig.cc: Fix formatting and copyright. |
| |
| 2010-02-26 Pierre Humblet <Pierre.Humblet@ieee.org> |
| |
| * security.cc (check_access): Use user.imp_token if appropriate. |
| Set errno and return if DuplicateTokenEx fails . |
| |
| 2010-02-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| Remove all traces of __CYGWIN_USE_BIG_TYPES__. |
| |
| * include/cygwin/config.h: Move Cygwin-specific build flags from |
| newlib's sys/config.h here. Add a comment. |
| |
| 2010-02-25 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> |
| |
| * include/cygwin/signal.h: Define SIGPWR as synonym for SIGLOST. |
| * strsig.cc: Ditto. |
| * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR. |
| |
| 2010-02-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * lc_era.h (lc_era_t): Fix apparent glibc bug in ja_JP era definition. |
| |
| 2010-02-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_auth.cc (get_full_privileged_inheritable_token): Fix dumb typo |
| when checking linked token for being a primary token. |
| |
| 2010-02-24 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dlfcn.cc (dlopen): Make sure exception handler is really loaded after |
| dynamic load. |
| |
| 2010-02-23 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygtls.cc (_cygtls::init_exception_handler): Force installation of |
| our exception handler to always be at the beginning. |
| |
| 2010-02-23 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * thread.cc (pthread_mutex::unlock): Don't attempt to unlock if there |
| is an error. |
| |
| 2010-02-22 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * include/sys/strace.h: Define _STRACE_SPECIAL. |
| (strace_printf_wrap): Fix NOSTRACE definitions. |
| (strace_printf_wrap1): Fix NOSTRACE definitions. |
| (special_printf): Define. |
| |
| * thread.cc: Perform minor syntax fix in a comment. Rename |
| "is_good_initialzer*" to "is_initializer*" throughout. Use |
| pthread_printf rather than debug_printf throughout. Add extra |
| pthread_printf debugging throughout. |
| (pthread_mutex::_new_mutex): New constant value. |
| (pthread_mutex::_unlocked_mutex): Ditto. |
| (pthread_mutex::_destroyed_mutex): Ditto. |
| (pthread_mutex::no_owner): Define new function. |
| (pthread_mutex::can_be_unlocked): Detect no_owner situation. Handle |
| PTHREAD_MUTEX_NORMAL as a special case. |
| (pthread::create_cancel_event): Use C++ boolean values. |
| (pthread::precreate): Use method to set mutex type. |
| (pthread_cond::pthread_cond): Ditto. |
| (pthread_rwlock::pthread_rwlock): Ditto. |
| (pthread_mutex::pthread_mutex): Set owner to _new_mutex initially. |
| (pthread_mutex::~pthread_mutex): Reset various elements to make it |
| clearer if they are incorrectly reused. |
| (pthread_mutex::lock): Add clarifying comment. |
| (pthread_mutex::unlock): Attempt to handle various mutex types |
| correctly. In particular, reinstate ability to have one thread unlock |
| another thread's mutex if type == PTHREAD_MUTEX_NORMAL. |
| (semaphore::_fixup_after_fork): Avoid redundancy. |
| (pthread_mutex::_fixup_after_fork): Ditto. Fix debugging statement. |
| (__pthread_cond_dowait): Accommodate changes to remove previously |
| inexplicable use can_be_unblocked() as a static function. |
| * thread.h: Rename "is_good_initialzer*" to "is_initializer*" |
| throughout. |
| (pthread_mutex): Reorganize. Make many things private. |
| (pthread_mutex::no_owner): Define new method. |
| (pthread_mutex::_new_mutex): Define new constant. |
| (pthread_mutex::_unlocked_mutex): Ditto. |
| (pthread_mutex::_destroyed_mutex): Ditto. |
| |
| 2010-02-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * lc_era.h: Redefine lc_era_t to keep |
| default date and time formats as well to workaround YA Windows |
| shortcoming. Refresh with latest data. |
| * lc_msg.h: Refresh with latest data. |
| * nlsfuncs.cc (__eval_datetimefmt): Revert latest change. |
| (__set_lc_time_from_win): Rename res to era. Prefer default date and |
| time formats from era array if available. |
| (__set_lc_messages_from_win): Rename res to msg. |
| |
| 2010-02-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * lc_era.h (lc_era): Fix "ja_JP" era_t_fmt entry to use traditional |
| format. |
| * nlsfuncs.cc (dt_flags): Remove DT_ERACAL since crippled era data |
| in Windows makes it useless. |
| (__eval_datetimefmt): Check if locale's default calender has |
| non-gregorian start year. Use era year also in default date entries, |
| if so. |
| |
| 2010-02-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (warn_msdos): Enforce extended hex printing of multibyte |
| pathnames. |
| |
| 2010-02-19 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * include/sys/strace.h: Remove old code. Add support for ptrace |
| tracing. |
| |
| 2010-02-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * lc_era.h: New file. |
| * nlsfuncs.cc: Include lc_era.h. |
| (locale_cmp): convert arguments to char** to be usable for both types, |
| lc_msg_t and lc_era_t. |
| (__set_lc_time_from_win): Handle era-related data |
| |
| 2010-02-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::opendir): Try to open |
| directory with stat()-friendly access mask first. Explain why. |
| |
| 2010-02-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::fstat_helper): Set st_rdev |
| to same value as st_dev. Avoid useless debug output in executable |
| check. Add filename to debug output. |
| (fhandler_disk_file::facl): Simplify code calling fstat methods to |
| just call fstat to avoid errors with the cygdrive directory. |
| |
| 2010-02-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (eval_datetimefmt): Rename force to flags. |
| (enum dt_flags): Define. |
| (__eval_datetimefmt): Change force to flags and change type to |
| dt_flags. Accommodate throughout. |
| (__set_lc_time_from_win): Accommodate above change. Set era-related |
| values to empty strings for now. |
| |
| 2010-02-18 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.cc (fhandler_base::setup_overlapped): Revert to starting |
| with handle in signalled state as it seems to fix some hangs. |
| |
| 2010-02-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::check): Treat native DOS paths as "noacl". |
| |
| 2010-02-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::conv_to_win32_path): Set UNC path flags to |
| cygdrive prefix path flags. |
| |
| 2010-02-14 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.cc (fhandler_base::setup_overlapped): Don't set signalled |
| state to true initially. |
| (fhandler_base::has_ongoing_io): Delete ill-advised function. |
| (fhandler_base::read_overlapped): Rely on caller having checked |
| nonblocking state. Don't attempt to (incorrectly) check it here. |
| (fhandler_base::write_overlapped): Remove call to has_ongoing_io. |
| * select.cc (peek_pipe): Ditto. |
| * fhandler.h (fhandler_base::has_ongoing_io): Delete declaration. |
| |
| 2010-02-14 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * regex/regcomp.c (xwcrtomb): Fix one explicable and one inexcplicable |
| C warning. |
| |
| 2010-02-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * regex/regcomp.c (xwcrtomb): Don't convert Unicode chars outside the |
| base plane always to UTF-8. Call wcsnrtombs instead to allow arbitrary |
| multibyte charsets. |
| |
| 2010-02-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * regex/regcomp.c (wgetnext): Use size_t as type for n2 since that's |
| what's returned by mbrtowc. |
| * regex/regexec.c (xmbrtowc): Ditto. |
| |
| 2010-02-12 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * pthread.cc (pthread_mutex_init): Explicitly fill out third arg to |
| pthread_mutex::init. |
| * thread.cc: Remov some obsolete comments. |
| (verifyable_object_isvalid): Reflect change to use thread_magic_t for |
| magic numbers. |
| (pthread_mutex::pthread_mutex): Set magic number to invalid initially |
| until we've verified that everything is valid. |
| (pthread_mutex::unlock): Fix a comment. |
| (verifyable_object::verifyable_object): Delete here. |
| (~verifyable_object::~verifyable_object): Ditto. |
| (pthread_mutex::init): Don't run is_good_initializer for non-static |
| objects. |
| * thread.h (thread_magic_t): New typedef. |
| (verifyable_object::verifyable_object): Use thread_magic_t; |
| (verifyable_object::magic): Ditto. |
| (pthread_mutex::is_good_initializer_or_bad_object): Remove unneeded |
| variable names. |
| (pthread_mutex::can_be_unlocked): Ditto. |
| (pthread_mutex::init): Ditto. Remove default for third argument. |
| |
| 2010-02-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * regex/regcomp.c (xwcrtomb): New function to convert wide chars |
| outside of the base plane to UTF-8. Call throughout instead of |
| wcrtomb. |
| (wgetnext): Handle surrogate pairs on UTF-16 systems. |
| * regex/regexec.c (xmbrtowc): Ditto. |
| |
| 2010-02-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_auth.cc (get_user_local_groups): Retrieve name of well known |
| builtin group from system. Explain why. |
| * sec_helper.cc (well_known_builtin_sid): New SID for BUILTIN group. |
| * security.h (well_known_builtin_sid): Declare. |
| |
| 2010-02-11 Pierre Humblet <Pierre.Humblet@ieee.org> |
| |
| * registry.cc (get_registry_hive_path): Add space in string. |
| |
| 2010-02-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * regex/engine.c (step): Drop Cygwin-specific definition. |
| (NONCHAR): Better cast here to make the test work. Move comment |
| from step here. |
| (matcher): Disable skipping initial string in multibyte case. |
| * regex/regcomp.c (p_bracket): Don't simplify singleton in the invert |
| case. |
| (p_b_term): Handle early end of pattern after dash in bracket |
| expression. |
| (singleton): Don't ignore the wides just because there's already a |
| singleton in the single byte chars. Fix condition for a singleton |
| wide accordingly. |
| (findmust): Check for LC_CTYPE charset, rather than LC_COLLATE charset. |
| * regex2.h (CHIN): Fix condition in the icase & invert case. |
| (ISWORD): Fix wrong cast to unsigned char. |
| |
| 2010-02-11 Andy Koppe <andy.koppe@gmail.com> |
| |
| * nlsfuncs.cc (initial_setlocale): Move check whether charset has |
| changed from here... |
| (internal_setlocale): ...to here, to avoid unnecessary work when invoked |
| via CW_INT_SETLOCALE. |
| |
| 2010-02-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__set_charset_from_locale): Allow "@euro" modifier only |
| for locales which use EUR as currency. |
| |
| 2010-02-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__get_lcid_from_locale): Convert iu_CA to iu-Latn-CA |
| rather than iu-Cans-CA on Vista and later. |
| (__set_charset_from_locale): Set default charset for iu_CA to UTF-8. |
| |
| 2010-02-10 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc (_dll_crt0): Set _main_tls as early as possible. |
| * thread.cc (pthread_mutex::can_be_unlocked): Remove check for |
| MUTEX_OWNER_ANONYMOUS since it is racy and unsafe. |
| (pthread::init_mainthread): Initialize thread directly from _my_tls. |
| (pthread::self): Ditto. |
| (pthread::get_tls_self_pointer): Delete. |
| (pthread_mutex::pthread_mutex): Use an event rather than a semaphore. |
| (pthread_mutex::lock): Rename from _<func>. Derive self directly. |
| (pthread_mutex::tryunlock): Ditto. |
| (pthread_mutex::destroy): Ditto. |
| (pthread_mutex::unlock): Ditto. Accommodate change from semaphore to |
| event. |
| (pthread_mutex::_fixup_after_fork): Accommodate change from semaphore |
| to event. |
| (pthread_mutex::init): Don't attempt to initialize a semaphore unless |
| it is in an initialized state. Do this check under |
| mutex_initialization_lock.lock |
| * thread.h (fast_mutex::init): Use event rather than semaphore. |
| (fast_mutex::lock): Ditto. |
| (pthread_mutex::_lock): Delete. |
| (pthread_mutex::_unlock): Ditto. |
| (pthread_mutex::_trylock): Ditto. |
| (pthread_mutex::_destroy): Ditto. |
| (pthread_mutex::get_pthread_self): Ditto. |
| (pthread_mutex::get_tls_self_pointer): Ditto. |
| (pthread_mutex::lock): Un-inline. |
| (pthread_mutex::unlock): Ditto. |
| (pthread_mutex::trylock): Ditto. |
| (pthread_mutex::destroy): Ditto. |
| |
| 2010-02-09 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygtls.h (struct _cygtls): Remove unneeded elements. |
| * thread.cc (pthread::exit): Avoid potential double call to |
| _my_tls.remove. |
| * tlsoffsets.h: Regenerate. |
| |
| 2010-02-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (lc_wcstombs): Add `return_invalid' flag to specify |
| whether invalid chars should be ignored or not. Change comment. |
| (__set_lc_monetary_from_win): Call lc_wcstombs with return_invalid |
| flag set. |
| (__set_lc_messages_from_win): Simplify to accommodate the fact that |
| lc_wcstombs just ignores invalid chars. Explain why. |
| |
| 2010-02-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__set_lc_messages_from_win): Fix typo. |
| |
| 2010-02-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * lc_msg.h: New file, fix a problem in locales with modifiers. |
| |
| 2010-02-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * lc_msg.h: New file, generated from running Linux system. |
| |
| 2010-02-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * lc_msg.h: New file, autogenerated from CLDR data. |
| * nlsfuncs.cc: Include lc_msg.h. |
| (lc_time_buf): Remove. |
| (lc_numeric_buf): Remove. |
| (lc_monetary_buf): Remove. |
| (lc_mbstowcs): Fix previous fix. |
| (__set_lc_time_from_win): Take additional pointer to buffer pointer, |
| defined in newlib. |
| (__set_lc_numeric_from_win): Ditto. |
| (__set_lc_monetary_from_win): Ditto. |
| (locale_cmp): New static function. |
| (__set_lc_messages_from_win): New function to be called from newlib. |
| |
| 2010-02-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * external.cc (cygwin_internal): Add CW_INT_SETLOCALE case to |
| allow to call internal_setlocale(). |
| * nlsfuncs.cc (internal_setlocale): Make externally available. |
| * include/cygwin/version.h: Bump API minor number. |
| * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_INT_SETLOCALE. |
| |
| * nlsfuncs.cc (lc_mbstowcs): Fix call to f_mbtowc. |
| (__set_locale_from_locale_alias): Ignore "@cjknarrow" modifier. |
| |
| 2010-02-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__get_lcid_from_locale): Handle "@cyrillic" modifier |
| for uz_UZ locale here. |
| (__set_charset_from_locale): Accommodate above change. |
| |
| 2010-02-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__set_locale_from_locale_alias): New function to read |
| locale aliases from /usr/share/locale/locale.alias. |
| |
| 2010-02-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__get_lcid_from_locale): Handle no_NO as nb_NO, rather |
| than nn_NO. |
| |
| 2010-02-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (has_modifier): MOve up in file to use in |
| __get_lcid_from_locale as well. |
| (__get_lcid_from_locale): Handle no_NO locale as alias for nn_NO. |
| Default all sr_XY locales to Cyrillic script. Change lcid to Latin |
| script if "@latin" modifier has been specified. |
| (__set_charset_from_locale): Handle Serbian in codepage 1251 case as |
| well. Also check for sr_BA lcid. Restrict "@euro" modifier to |
| locales otherwise defaulting to ISO-8859-1. |
| |
| 2010-02-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__set_charset_from_locale): Set default charset for |
| "ka_GE" locale to GEORGIAN-PS, for "kk_KZ" to PT154. |
| |
| 2010-02-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check_nfs_symlink): Reopen file with |
| FILE_READ_EA access since, surprisingly, you need it to read EAs even |
| on NFS. |
| |
| 2010-02-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_auth.cc (get_full_privileged_inheritable_token): New function |
| to fetch token with full privileges from logon token in Vista and |
| later, and to make token inheritable. Add lengthy comments to explain |
| the function's job. |
| (cygwin_logon_user): Drop calling SetHandleInformation. Enable TCB |
| privilege and call get_full_privileged_inheritable_token. |
| (lsaauth): Don't fetch linked token and don't make handle inheritable |
| here, just call get_full_privileged_inheritable_token instead. |
| (lsaprivkeyauth): Ditto. |
| |
| 2010-02-05 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__set_charset_from_locale): Set default charset for |
| "uz_UZ" locale to ISO-8859-1, with the "@cyrillic" modifier to UTF-8. |
| |
| 2010-02-05 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dll_init.cc (per_module::run_dtors): Use consistent method for |
| running destructors. |
| |
| 2010-02-04 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * regcomp.c (p_ere): Workaround incorrect compiler warning. |
| * regerror.c (regatoi): Return non-const string or compiler complains |
| in certain inexplicable situations. |
| |
| 2010-02-04 Corinna Vinschen <corinna@vinschen.de> |
| |
| * regex/engine.c (step): Declare and define with `int ch' rather than |
| `wint_t ch' parameter. Explain why. |
| (NONCHAR): Remove related Cygwin patch here, including wrong comment. |
| |
| 2010-02-04 Corinna Vinschen <corinna@vinschen.de> |
| |
| Replace regex files with multibyte-aware version from FreeBSD. |
| * Makefile.in (install-headers): Remove extra command to install |
| regex.h. |
| (uninstall-headers): Remove extra command to uninstall regex.h. |
| * nlsfuncs.cc (collate_lcid): Make externally available to allow |
| access to collation internals from regex functions. |
| (collate_charset): Ditto. |
| * wchar.h: Add __cplusplus guards to make C-clean. |
| * include/regex.h: New file, replacing regex/regex.h. Remove UCB |
| advertising clause. |
| * regex/COPYRIGHT: Accommodate BSD license. Remove UCB advertising |
| clause. |
| * regex/cclass.h: Remove. |
| * regex/cname.h: New file from FreeBSD. |
| * regex/engine.c: Ditto. |
| (NONCHAR): Tweak for Cygwin. |
| * regex/engine.ih: Remove. |
| * regex/mkh: Remove. |
| * regex/regcomp.c: New file from FreeBSD. Tweak slightly for Cygwin. |
| Import required collate internals from nlsfunc.cc. |
| (p_ere_exp): Add GNU-specific \< and \> handling for word boundaries. |
| (p_simp_re): Ditto. |
| (__collate_range_cmp): Define. |
| (p_b_term): Use Cygwin-specific collate internals. |
| (findmust): Ditto. |
| * regex/regcomp.ih: Remove. |
| * regex/regerror.c: New file from FreeBSD. Fix a few compiler warnings. |
| * regex/regerror.ih: Remove. |
| * regex/regex.7: New file from FreeBSD. Remove UCB advertising clause. |
| * regex/regex.h: Remove. Replaced by include/regex.h. |
| * regex/regexec.c: New file from FreeBSD. Fix a few compiler warnings. |
| * regex/regfree.c: New file from FreeBSD. |
| * regex/tests: Remove. |
| * regex/utils.h: New file from FreeBSD. |
| |
| 2010-02-03 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * sigproc.cc (get_proc_lock): Fix error message typo. |
| |
| 2010-02-03 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::fstat_helper): Workaround |
| another bug in NWFS. Add comment to explain why. Improve debug output |
| in case the NT calls to test for binary fail. |
| * path.h (path_conv::fs_is_cifs): New method. |
| (path_conv::fs_is_nwfs): New method. |
| |
| 2010-02-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/paths.h (_PATH_MNTTAB): Define. |
| (_PATH_MOUNTED): Define. |
| * include/mntent.h: Include paths.h. Define MNTTAB and MOUNTED as their |
| paths.h equivalents. Add comment. |
| |
| 2010-02-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc (atexit_lock): Delete. |
| (cygwin_exit): Remove atexit lock. |
| (cygwin_atexit): Ditto. Rename parameter to match newlib. Call |
| __cxa_atexit when invoked by a registered DLL. |
| * dll_init.cc (remove_dll_atexit): Delete. |
| (dll_list::find): New function. |
| (dll_list::detach): Use dll_list::find to find dll associated with |
| return address. Use __cxa_finalize to run atexit functions associated |
| with the dll. |
| (cygwin_detach_dll): Don't assume that HANDLE == void *. |
| * dll_init.h (dll_list::find): Declare. |
| (__cxa_atexit): Ditto. |
| (__cxa_finalize): Ditto. |
| |
| * init.cc (dll_entry): Clarify comment. |
| |
| 2010-02-02 Dave Korn <dave.korn.cygwin@gmail.com> |
| |
| * how-startup-shutdown-works.txt: Add new document. |
| |
| 2010-01-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_auth.cc (lsaauth): Use CYG_LSA_MAGIC as checksum start value to |
| decouple from Cygwin release. |
| |
| 2010-01-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * libc/strfmon.c (__setup_vars): Test for an empty string rather than |
| for a NULL pointer. |
| |
| 2010-01-29 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dll_init.cc (remove_dll_atexit): New function. |
| (dll_list::detach): Run any atexit handlers registered in the DLL prior |
| to unloading. |
| |
| 2010-01-29 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * libc/strfmon.c (__setup_vars): Fix compiler warning about assigning |
| const strings. Compare a pointer to NULL rather than '\0'. |
| |
| * dll_init.cc (dll_dllcrt0_1): Minor comment fix. |
| |
| * pipe.cc (fhandler_pipe::create_selectable): Remove Win9x |
| accommodation. |
| |
| 2010-01-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| Throughout, use FileBothDirectoryInformation info class rather than |
| FileDirectoryInformation info class to avoid problems with incomplete |
| filesystem implementations. Fix comments accordingly. |
| * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Set |
| fname->Length to 0 in error case to avoid potential crash in debug |
| output. |
| (fhandler_disk_file::readdir): Try to speed up the working default case. |
| Check for STATUS_INVALID_NETWORK_RESPONSE as potential status value |
| returned by filesystems not implementing FileIdBothDirectoryInformation. |
| * ntdll.h (STATUS_INVALID_NETWORK_RESPONSE): Define. |
| (FILE_BOTH_DIRECTORY_INFORMATION): Rename to official name. |
| * path.cc (symlink_info::check): Don't request FILE_READ_EA access, it's |
| not required for NFS. Try to speed up the working default case. Check |
| for STATUS_INVALID_NETWORK_RESPONSE as potential status value returned |
| by filesystems not supporting non-NULL EA parameters. Fix the way |
| fs.update is called. Improve debug output. |
| |
| 2010-01-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (tags, ctags, CTAGS)): Add rules to create tags file. |
| |
| 2010-01-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__get_lcid_from_locale): Add comments. Fix typos in |
| comments. Make sure to set last_lcid every time. Return locale |
| without territory part as invalid. Handle modern serbian territory |
| names per ISO 3166 on older systems as well. Add appropriate comment. |
| (__set_charset_from_locale): Handle LCID for sr_CS as well to make older |
| systems happy. |
| |
| 2010-01-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__set_charset_from_locale): Rearrange to set charset |
| more closely aligned to Glibc. |
| |
| 2010-01-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * spawn.cc (spawn_guts): Only try to remove long path prefix from |
| runpath if runpath is not NULL. |
| |
| 2010-01-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__get_lcid_from_locale): Fix a comment. Handle special |
| language/TERRITORY combinations explicitely. Explain why. |
| |
| 2010-01-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (__set_charset_from_locale): Fix comment. |
| |
| 2010-01-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (check_codepage): Move from syscalls.cc here. |
| (internal_setlocale): Ditto. |
| (initial_setlocale): Ditto. |
| (setlocale): Ditto. |
| * strfuncs.cc (__sjis_wctomb): Revert previous patch. |
| (__sjis_mbtowc): Ditto. |
| * syscalls.cc: Move setlocale-related functions to nlsfuncs.cc. |
| |
| 2010-01-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * strfuncs.cc (__sjis_wctomb): Special handling for characters which |
| differ between SJIS and Windows codepage 932, if charset is "SJIS". |
| (__sjis_mbtowc): Ditto. |
| (_jis_wctomb): Remove. |
| (__jis_mbtowc): Remove. |
| |
| 2010-01-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * nlsfuncs.cc (wcsxfrm): Call LCMapStringW with LCMAP_BYTEREV flag to |
| allow correct comparison using wcscmp. |
| |
| 2010-01-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * posix.sgml (strfmon): Move to implemented SUSv4 API. |
| |
| 2010-01-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_OFILES): Add nlsfunc.o and strfmon.o. |
| * autoload.cc (LocaleNameToLCID): Define. |
| * cygwin.din (strfmon): Export. |
| * nlsfuncs.cc: New file. Define a lot of internal functions called |
| from setlocale. |
| (wcscoll): Implement locale-aware here, using CompareStringW function. |
| (strcoll): Ditto. |
| (wcsxfrm): Implement locale-aware here, usingLCMapStringW function. |
| (strxfrm): Ditto. |
| (__set_charset_from_locale): Replace __set_charset_from_codepage. |
| Return Linux-compatible charset. |
| * strfuncs.cc (__set_charset_from_codepage): Remove. |
| * wchar.h (__set_charset_from_codepage): Drop definition. |
| * wincap.h (wincaps::has_localenames): New element. |
| * wincap.cc: Implement above element throughout. |
| * libc/strfmon.c: New file. |
| * libc/strptime.cc: Remove locale constant strings in favor of |
| access to locale-specifc data. |
| (strptime): Point _CurrentTimeLocale to locale-specific data. |
| Throughout use correct locale-specific format fields for all |
| locale-specific formats. |
| * include/monetary.h: New file. |
| * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. |
| |
| 2010-01-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * strfuncs.cc: Remove needless includes. |
| |
| 2010-01-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (internal_setlocale): Use UTF-8 internally if external |
| charset is ASCII. |
| |
| 2010-01-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * libc/fnmatch.c: Replace with multibyte capable version from FreeBSD. |
| |
| 2010-01-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::accept4): Reset async flag |
| on accepted socket. |
| |
| 2010-01-15 Pierre A. Humblet <phumblet@phumblet.no-ip.org> |
| |
| * fhandler_socket.cc (fhandler_socket::accept4): Set nonblocking |
| flag exactly according to flags, as on Linux. |
| * net.cc (cygwin_accept): Maintain BSD semantics here. |
| |
| 2010-01-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din (accept4): Export. |
| * fhandler.h (fhandler_socket::accept4): Rename from accept. Take |
| additional flag parameter. |
| * fhandler_socket.cc (fhandler_socket::accept4): Ditto. Handle |
| SOCK_NONBLOCK and SOCK_CLOEXEC flags. |
| * net.cc (cygwin_socket): Handle SOCK_NONBLOCK and SOCK_CLOEXEC flags |
| in type. Check for invalid flag values. |
| (socketpair): Ditto. |
| (cygwin_accept): Accommodate renaming of fhandler_socket::accept |
| function to accept4. |
| (accept4): New function. |
| * posix.sgml: Mention accept4 as GNU extensions. |
| * include/cygwin/socket.h (SOCK_NONBLOCK): Define. |
| (SOCK_CLOEXEC): Define. |
| (_SOCK_FLAG_MASK): Define when building Cygwin. |
| * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. |
| * include/sys/socket.h (accept4): Declare. |
| |
| 2010-01-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * posix.sgml: Mention dup3 and pipe2 as GNU extensions. |
| |
| 2010-01-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dcrt0.cc (dll_crt0_1): Reset locale to "C" at the last moment before |
| calling the application's main. |
| * syscalls.cc (internal_setlocale): Don't reset locale to "C here. |
| Change comment accordingly. |
| |
| 2010-01-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din (dup3): Export. |
| (pipe2): Export. |
| * dtable.cc (dtable::dup_worker): Take additional flags parameter. |
| Handle O_CLOEXEC flag. |
| (dtable::dup3): Rename from dup2. Take additional flags parameter. |
| Check for valid flags. Drop check for newfd == oldfd. |
| * dtable.h (dtable::dup_worker): Add flags parameter. |
| (dtable::dup3): Rename from dup2. |
| * fcntl.cc (fcntl64): Add F_DUPFD_CLOEXEC case. |
| * fhandler.h (fhandler_mailslot::get_object_attr): Add flags parameter. |
| * fhandler.cc (fhandler_base::open): Use security attribute with |
| inheritance according to setting of O_CLOEXEC flag. |
| * fhandler_console.cc (fhandler_console::open): Ditto. |
| * fhandler_fifo.cc (sec_user_cloexec): New inline function to |
| create security attribute with inheritance according to setting of |
| O_CLOEXEC flag. |
| (fhandler_fifo::open): Call sec_user_cloexec to fetch security |
| attribute. |
| (fhandler_fifo::wait): Ditto. |
| * fhandler_mem.cc (fhandler_dev_mem::open): Ditto. |
| * fhandler_mailslot.cc (fhandler_mailslot::get_object_attr): Take |
| additional flags parameter. Use security attribute with inheritance |
| according to setting of O_CLOEXEC flag. |
| (fhandler_mailslot::open): Call get_object_attr with flags parameter. |
| * fhandler_registry.cc (fhandler_registry::open): Call set_close_on_exec |
| on real handles to accommodate O_CLOEXEC flag. |
| * fhandler_tty.cc (fhandler_tty_slave::open): Ditto. |
| * fhandler_tape.cc: Create mutex with inheritance according to setting |
| of O_CLOEXEC flag. |
| * pipe.cc: Replace usage of O_NOINHERIT with O_CLOEXEC. |
| (fhandler_pipe::init): Simplify setting close_on_exec flag. |
| (fhandler_pipe::open): Remove setting close_on_exec flag. |
| (fhandler_pipe::create): Use security attribute with inheritance |
| according to setting of O_CLOEXEC flag. |
| (pipe2): New exported function. |
| * posix_ipc.cc: Throughout, open backing files with O_CLOEXEC |
| flag to follow POSIX semantics. |
| * security.h (sec_none_cloexec): New define. |
| * syscalls.cc (dup): Add missing extern "C" qualifier. Accommodate |
| renaming of dtable::dup2 to dtable::dup3. |
| (dup2): Ditto. Check newfd == oldfd here. |
| (dup3): New function. Check newfd == oldfd here. |
| (open): Set close_on_exec flag according to O_CLOEXEC flag before |
| calling fhandler->open. |
| * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. |
| |
| 2010-01-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/fcntl.h (O_TTY_INIT): Define as 0. |
| |
| 2010-01-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tty.cc (fhandler_tty_master::init): Don't erase all default |
| termios settings of slave console. |
| |
| 2010-01-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): Don't exit prematurely with EROFS when trying |
| to rename an AF_LOCAL socket or when trying to replace an AF_LOCAL |
| socket. |
| |
| 2010-01-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * globals.cc (ro_u_nwfs): New R/O unicode string. |
| * mount.cc (fs_info::update): Check for NWFS filesystem. Set |
| has_buggy_basic_info, if so. Add comment to explain why. |
| (fillout_mntent): Add "nwfs" string to fs_names array. |
| * mount.h (enum fs_info_type): Add nwfs. |
| (class fs_info): Add has_buggy_basic_info status flag. Add accessors |
| for has_buggy_basic_info and is_nwfs. |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Accommodate |
| filesystems with broken FileBasicInformation handling. |
| * path.cc (symlink_info::check): Ditto. |
| * path.h (path_conv::has_buggy_basic_info): Add method. |
| |
| 2010-01-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dtable.cc (build_fh_name_worker): Remove. Move all functionality |
| back into build_fh_name. |
| (build_fh_name): Drop unused HANDLE parameter. Drop call to pc.fillin. |
| Remove disabled build_fh_name with UNICODE_STRING name parameter. |
| * dtable.h (build_fh_name): Drop HANDLE parameter from declaration. |
| Remove declaration for build_fh_name with UNICODE_STRING name parameter. |
| * path.cc (path_conv::fillin): Remove. |
| (symlink_info::check): Fix comment. |
| * path.h (path_conv::fillin): Remove declaration. |
| * dir.cc: Accommodate change in build_fh_name parameters throughout. |
| * sec_acl.cc: Ditto. |
| * syscalls.cc: Ditto. |
| |
| * ntea.cc (getxattr_worker): Fix debug output. |
| (setxattr_worker): Ditto. |
| * times.cc (utimens_worker): Ditto. |
| |
| 2010-01-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_proc.cc (format_proc_stat): Use new in_buf. |
| (format_proc_cpuinfo): Replace szBuffer with a union in_buf. Use type |
| correct throughout. Add a couple of missing or newer cpu flags. Allow |
| certain AMD flags for intel as well. |
| |
| 2010-01-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (fhandler_base::fstat_helper): Declare timestamps as |
| PLARGE_INTEGER. |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): |
| Accommodate fstat_helper change of timestamp arguments. |
| (fhandler_base::fstat_by_name): Ditto. |
| (fhandler_base::fstat_helper): Define with timestamps as PLARGE_INTEGER. |
| Accommodate in call to to_timestruc_t. |
| |
| 2010-01-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_auth.cc (get_token_group_sidlist): Add BUILTIN\Users account |
| to all created tokens. |
| * sec_helper.cc (well_known_users_sid): Define as BUILTIN\Users. |
| * security.h (well_known_users_sid): Declare. |
| |
| 2010-01-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc: Bump copyright. |
| |
| 2010-01-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc (dll_crt0_1): Move internal locale setting prior to |
| potential globify to prevent creation of unglobbed filenames in the |
| wrong character set. |