Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2010-01-01 22:28:15 +0300
committerChristopher Faylor <me@cgf.cx>2010-01-01 22:28:15 +0300
commite1212c436b295dd874ed2ea0a6932a230b6f0d7b (patch)
tree42683299fb7301c859442a61c862f75e1d23666d /winsup/cygwin
parent1afba8e5f2d18a46be048b82c068df9cc05c82e0 (diff)
* dcrt0.cc: Bump copyright.
Do the changelog shuffle.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog3487
-rw-r--r--winsup/cygwin/ChangeLog-20093483
-rw-r--r--winsup/cygwin/dcrt0.cc2
3 files changed, 3488 insertions, 3484 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 5a90ae65c..82483335e 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3488 +1,9 @@
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.
-
-2009-12-28 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (fhandler_socket::wait_for_events): Drop parameter default
- value.
- * fhandler_socket.cc (fhandler_socket::connect): Add false as second
- parameter to wait_for_events call.
- (fhandler_socket::accept): Ditto.
- (fhandler_socket::send_internal): Fix typo in call to wait_for_events.
-
-2009-12-26 Eric Blake <ebb9@byu.net>
-
- * include/pty.h (openpty, forkpty): Mark last two arguments const,
- to match glibc 2.8.
- * libc/bsdlib.cc (openpty, forkpty): Likewise.
-
-2009-12-25 Andy Koppe <andy.koppe@gmail.com>
-
- * fhandler_console.cc (handler_console::read): Use the tty's VERASE
- character as the backspace keycode.
-
-2009-12-24 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (symlink_info::check): Set fileattr to
- FILE_ATTRIBUTE_DIRECTORY in a certain error condition. Explain why.
-
-2009-12-22 Christopher Faylor <me+cygwin@cgf.cx>
-
- * select.cc (fhandler_fifo::select_read): Fill in device specific
- record.
- (fhandler_fifo::select_write): Ditto.
- (fhandler_fifo::select_except): Ditto.
-
-2009-12-21 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (cygwin_conv_path): Add band-aid including comment to avoid
- conversion from POSIX "." to Win32 ".\\".
-
-2009-12-21 Corinna Vinschen <corinna@vinschen.de>
-
- * exec.cc (execvp): Call find_exec with FE_NNF flag to enforce
- a NULL return when executable isn't found in $PATH. Convert NULL
- to "".
- (execvpe): Ditto.
- * spawn.cc (spawn_guts): Return with EFAULT if prog_arg is NULL.
- Return with ENOENT if prog_arg is empty string. Add a comment.
-
-2009-12-21 Thomas Wolff <towo@towo.net>
-
- * fhandler_console.cc (get_nonascii_key): Generate ESC prefix
- for Alt modifier generically for function keys and keypad keys.
- Distinguish Normal, Ctrl, Shift, Ctrl-Shift rather
- than Normal, Ctrl, Shift, Alt, so that in combination with generic
- Alt handling all 8 combinations of these modifiers are distinguished.
- (keytable): Add escape sequences for remaining modified
- function keys as a compatible extension using rxvt escape codes.
- Also distinguish keypad keys modified with Ctrl, Shift, Ctrl-Shift
- using xterm-style modifier coding.
-
-2009-12-21 Corinna Vinschen <corinna@vinschen.de>
-
- Throughout, revert ill-conceived replacement of hMainThread with
- GetCurrentThread/NtCurrentThread.
- * dcrt0.cc (dll_crt0_0): Duplicate main thread handle to hMainThread
- again.
-
-2009-12-19 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (__vt100_conv): Minor formatting change.
-
-2009-12-19 Thomas Wolff <towo@towo.net>
-
- * fhandler_console.cc (write_console): Check for VT100
- graphics mode and transform wide characters in ASCII small
- letter range to corresponding graphics.
- (__vt100_conv): Table to transform small ASCII letters to line
- drawing graphics for use in VT100 graphics mode.
- (write_normal): Check for SO/SI control characters to
- enable/disable VT100 graphics mode.
- (base_chars): Enable SO/SI control characters for detection.
- (write): Check for ESC ( 0 / ESC ( B escape sequences to
- enable/disable VT100 graphics mode. Also detect ">" while
- parsing ESC [ sequences to distinguish specific requests.
- (char_command): Distinguish Secondary from Primary Device Attribute
- request to report more details about cygwin console terminal version.
- * fhandler.h (vt100_graphics_mode_active): New flag to indicate mode.
- (saw_greater_than_sign): New parse flag for ESC [ > sequences.
- (gotparen, gotrparen): New state values to parse ESC ( / ) sequences.
-
- * fhandler_console.cc (read): Allow combined Alt-AltGr modifiers
- to also produce an ESC prefix like a plain Alt modifier, e.g. to make
- Alt-@ work on a keyboard where @ is AltGr-q.
-
-2009-12-18 Eric Blake <ebb9@byu.net>
-
- * signal.cc (nanosleep): Fix bug in previous patch.
-
-2009-12-18 Corinna Vinschen <corinna@vinschen.de>
-
- Throughout, replace hMainProc with GetCurrentProcess/NtCurrentProcess
- according to context. Throughout, replace hMainThread with
- GetCurrentThread/NtCurrentThread according to context.
- * dcrt0.cc (dll_crt0_0): Drop duplication of GetCurrentProcess to
- hMainProc. Drop duplication of GetCurrentThread to hMainThread.
- * dtable.cc (dtable::stdio_init): Remove useless comment.
- * globals.cc (hMainProc): Remove.
- (hMainThread): Remove.
- * ntdll.h (NtCurrentProcess): Define.
- (NtCurrentThread: Define.
-
-2009-12-18 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (fhandler_registry::value_name): Convert to wchar_t*.
- * fhandler_registry.cc: Call UNICODE registry functions throughout
- and convert to multibyte using current locale's charset. Accommodate
- throughout.
- (must_encode): Take wchar_t.
- (encode_regname): Convert from wchar_t *.
- (decode_regname): Convert to wchar_t *.
-
-2009-12-18 Corinna Vinschen <corinna@vinschen.de>
-
- * path.sgml (func-cygwin-conv-path): Clarify meaning of size parameter.
- (func-cygwin-conv-path-list): Fix typo.
- (func-cygwin-posix-path-list-p): Ditto.
-
-2009-12-17 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (try_to_bin): Handle remote shares as well. Just rename
- files in this case, instead of moving them to the recycler. Create
- even more unique filename. Add comment to explain filename.
- (unlink_nt): Remove code returning with EBUSY on remote shares.
- Set bin_stat to move_to_bin except on NFS. Add comment to explain.
-
-2009-12-17 Eric Blake <ebb9@byu.net>
-
- * signal.cc (nanosleep): Support 'infinite' sleep times.
- (sleep): Avoid uninitialized memory.
-
-2009-12-16 Thomas Wolff <towo@towo.net>
-
- * fhandler_console.cc (read): Detect and handle mouse wheel scrolling
- events (for completion of mouse reporting mode 1000) and mouse
- movement events (for additional mouse reporting modes 1002 and 1003).
- Use mouse_aware() as a guard and only condition for mouse
- reporting in order to enforce consistence of read() and select().
- Add focus reports (for additional focus reporting mode 1004).
- (mouse_aware): Enable detection of additional mouse events for select().
- Tune function to precisely match actual reporting criteria.
- Move adjustment of mouse position (by window scroll offset)
- here to avoid duplicate code.
- (char_command): Initialization of enhanced mouse reporting modes.
- Initialization of focus reporting mode.
- * fhandler.h (use_mouse): Change flag (bool->int) to indicate
- additional mouse modes. Add flag to indicate focus reporting.
- (mouse_aware): Move enhanced function into fhandler_console.cc.
- * select.cc (peek_console): Use modified mouse_aware() for more
- general detection of mouse events. Also check for focus reports.
-
-2009-12-16 Corinna Vinschen <corinna@vinschen.de>
-
- * registry.cc (cygnus_class): Remove.
- (reg_key::build_reg): Don't set class when creating key.
-
-2009-12-15 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (cygwin_setsockopt): Only skip calling setsockopt(SO_REUSEADDR)
- on stream sockets under systems supporting enhanced socket security.
-
-2009-12-15 Thomas Wolff <towo@towo.net>
-
- * fhandler_console.cc (char_command): Fix code to select dim mode
- to 2 rather than 9. Add entries for mode 22 (normal, not bold)
- 28 (visible, not invisible), 25 (not blinking).
-
-2009-12-14 Corinna Vinschen <corinna@vinschen.de>
-
- * libc/getopt.c (getopt_internal): Set optreset according to optind
- setting earlier. Reevaluate POSIXLY_CORRECT if optreset is set to !0.
- Handle a leading '-' in options independently of posixly_correct.
-
-2009-12-09 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler_fifo.cc (fhandler_fifo::open): Avoid resetting errno after
- it has been explicitly set.
-
- * include/cygwin/version.h: Bump DLL minor version number to 2.
-
-2009-12-06 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/version.h: Bump DLL minor version number to 1.
-
-2009-12-02 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_socket.cc (send_internal): Don't split datagram messages
- into pieces.
-
- * syslog.cc (vsyslog): Set default facility to LOG_USER if it hasn't
- been set yet.
-
-2009-12-01 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_registry.cc (fhandler_registry::open): Mark /proc/registry
- directory and siblings as nohandle fhandler.
-
-2009-11-30 Christopher Faylor <me+cygwin@cgf.cx>
-
- * speclib: Use last dll found since that's the real name of the cygwin
- DLL.
-
-2009-11-27 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_base::fstat_helper): Fix typos in
- comments. Always open file synchronized when reading header bytes,
- otherwise suffer stack corruption.
-
-2009-11-26 Corinna Vinschen <corinna@vinschen.de>
-
- * dtable.cc (dtable::stdio_init): Use GetCurrentProcess() rather than
- hMainProc as process handle when duplicating the stdout handle.
- Explain why. Add Win32 error code to debug output.
-
-2009-11-23 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_socket.cc (fhandler_socket::fixup_before_fork_exec): Add
- socket handle value to debug output.
- (fhandler_socket::fixup_after_fork): Ditto. Make new socket handle
- OVERLAPPED, just as if it has been created with socket().
- * net.cc (fdsock): Close duplicated socket and explain why. Disable
- the entire WSADuplicateSocket test for now and explain why.
-
-2009-11-23 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_socket.cc (fhandler_socket::set_close_on_exec): Only call
- fhandler_base::set_close_on_exec for inheritable sockets.
-
-2009-11-21 Corinna Vinschen <corinna@vinschen.de>
-
- * globals.cc (ro_u_dll): New R/O unicode string.
- * syscalls.cc (nt_path_has_executable_suffix): Add ro_u_dll to
- blessed_executable_suffixes array. Explain why.
-
-2009-11-18 Corinna Vinschen <corinna@vinschen.de>
-
- * flock.cc (fhandler_disk_file::lock): Disable a shortcut from the
- original BSD code, but keep it in and documented why we can't use it.
-
-2009-11-18 Corinna Vinschen <corinna@vinschen.de>
-
- * ntea.cc (read_ea): Always add length of "user." prefix, not only
- on Samba. Change comment.
-
-2009-11-18 Corinna Vinschen <corinna@vinschen.de>
-
- * ntea.cc (read_ea): Try to open file first to have more sensible
- error codes. Always refuse non "user." EAs for Linux compatibility
- and return EOPNOTSUPP. Fix handling of empty (== non-existant) EAs.
- Always prepend "user." prefix to EA names.
- (write_ea): Try to open file first to have more sensible error codes.
- Always refuse non "user." EAs for Linux compatibility and return
- EOPNOTSUPP. Delay skipping "user." prefix until after potential call
- to read_ea.
-
-2009-11-17 Corinna Vinschen <corinna@vinschen.de>
-
- Reintegrate socket duplication via WSADuplicateSocket/WSASocket.
- * autoload.cc (WSADuplicateSocketW): Define.
- (WSASocketW): Define.
- * dtable.cc (dtable::release): Call dec_need_fixup_before if necessary.
- (dtable::fixup_before_fork): New function.
- (dtable::fixup_before_exec): New function.
- * dtable.h (class dtable): Add member cnt_need_fixup_before. Add
- declarations for above new functions.
- (dtable::dec_need_fixup_before): New inline method.
- (dtable::inc_need_fixup_before): New inline method.
- (dtable::need_fixup_before): New inline method.
- * fhandler.h (fhandler_base::fixup_before_fork_exec): New virtual
- method.
- (fhandler_base::need_fixup_before): New virtual method.
- (class fhandler_socket): Add member prot_info_ptr.
- (fhandler_socket::init_fixup_before): Declare.
- (fhandler_socket::need_fixup_before): New inline method.
- (fhandler_socket::fixup_before_fork_exec): Declare.
- (fhandler_socket::fixup_after_exec): Declare.
- * fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize
- prot_info_ptr to NULL.
- (fhandler_socket::~fhandler_socket): Free prot_info_ptr conditionally.
- (fhandler_socket::init_fixup_before): New method.
- (fhandler_socket::fixup_before_fork_exec): Ditto.
- (fhandler_socket::fixup_after_fork): Use WSASocketW to duplicate
- socket if necessary.
- (fhandler_socket::fixup_after_exec): New method.
- (fhandler_socket::dup): Use fixup_before_fork_exec/fixup_after_fork
- to duplicate socket if necessary.
- * fork.cc (frok::parent): Start child suspended if some fhandler
- needs fixup before fork. If so, call dtable::fixup_before_fork after
- CreateProcess and resume child.
- * net.cc (fdsock): Try to find out if socket needs fixup before and
- initialize socket accordingly. Add HUGE comment to explain what happens
- and why.
- * spawn.cc (spawn_guts): Start child suspended if some fhandler needs
- fixup before exec. If so, call dtable::fixup_before_exec after
- CreateProcess.
-
-2009-11-16 Eric Blake <ebb9@byu.net>
-
- * environ.cc (setenv): Detect invalid argument.
- (unsetenv): Distinguish EFAULT from EINVAL.
-
-2009-11-13 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (fdsock): Fill _rmem and _wmem with valid values returned
- from getsockopt if setsockopt with desired values failed.
-
-2009-11-12 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
- Corinna Vinschen <corinna@vinschen.de>
-
- * sysconf.cc (get_nprocs): New function.
- (get_nprocs_conf): Ditto.
- (get_avphys_pages): Ditto.
- (get_phys_pages): Ditto.
- * cygwin.din: Export them.
- * include/sys/sysinfo.h: New header, decalre above new functions.
- * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
- * posix.sgml: Mention them as GNU extensions.
-
-2009-11-11 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (class fhandler_mailslot): Declare new private method
- get_object_attr.
- * fhandler_mailslot.cc (fhandler_mailslot::get_object_attr): Implement.
- (fhandler_mailslot::open): Replace calls to path_conv::get_object_attr
- with calls to fhandler_mailslot::get_object_attr.
-
-2009-11-10 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (fhandler_console::read): Revert change from
- 2009-11-09.
-
-2009-11-10 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (is_volume_mountpoint): Align check with
- symlink_info::check_reparse_point().
- * path.cc (symlink_info::check_reparse_point): Rearrange slightly.
- Add code path for unrecognized repare point types. Add comment.
-
-2009-11-09 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (symlink_info::check_reparse_point): Always check
- SubstituteName for volume string to recognize volume mount points.
- Reuse subst when calling sys_wcstombs.
- * syscalls.cc (rename): Set errno to EBUSY when trying to rename
- volume mount points. Explain why.
-
-2009-11-09 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (fhandler_console::read): Restrict generating
- META key sequences to singlebyte input chars.
-
-2009-11-08 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_base::fstat_helper): Drop all "other"
- permissions from st_mode, if the reading the file's security descriptor
- failed. Explain why.
-
-2009-11-06 Corinna Vinschen <corinna@vinschen.de>
-
- * globals.cc (ro_u_scr): New R/O unicode string.
- (ro_u_sys): Ditto.
- * syscalls.cc (nt_path_has_suffix): Replace with ...
- (nt_path_has_executable_suffix): New function checking for explicit
- executable suffixes.
- (rename): Call nt_path_has_executable_suffix instead of
- nt_path_has_suffix. Check oldpath for nt_path_has_executable_suffix
- as well to set old_explicit_suffix.
-
-2009-11-06 Corinna Vinschen <corinna@vinschen.de>
-
- * shared.cc (inst_root_inited): New static bool variable.
- (init_installation_root): Set inst_root_inited to true.
- (memory_init): Print installation root debug output only if
- inst_root_inited is true.
-
-2009-11-05 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (nt_path_has_suffix): New function.
- (rename): Don't append .exe suffix if binary target name has any suffix
- at all.
-
-2009-11-05 Corinna Vinschen <corinna@vinschen.de>
-
- * spawn.cc (dll_suffixes): Disable. Explain why.
- (perhaps_suffix): Use stat_suffixes instead of dll_suffixes.
-
-2009-11-03 Corinna Vinschen <corinna@vinschen.de>
-
- * security.cc (alloc_sd): Re-introduce setting the SE_DACL_PROTECTED
- flag. Remove INHERITED_ACE flag from all inherited ACEs. Add comment.
- Fix ace_off counter in unrelated ACE loop.
- * wincap.cc: Re-add has_dacl_protect throughout.
- * wincap.h: Ditto.
-
-2009-11-02 Corinna Vinschen <corinna@vinschen.de>
-
- * security.cc (alloc_sd): Re-enable generating default permission
- entries for directories.
-
-2009-11-02 Corinna Vinschen <corinna@vinschen.de>
-
- * dlfcn.cc (get_full_path_of_dll): Drop enforcing a .dll suffix.
- (dlopen): If last path component has no dot, append one to override
- automatic .dll suffix in LoadLibrary.
-
-2009-11-02 Corinna Vinschen <corinna@vinschen.de>
-
- * miscfuncs.h (transform_chars): Declare. Define inline variation here.
- * mount.cc (mount_info::from_fstab): Remove extern declaration of
- transform_chars.
- * path.cc (tfx_chars): Move to strfuncs.cc.
- (transform_chars): Ditto.
- * strfunc.cc (tfx_chars): Moved here from path.cc.
- (transform_chars): Ditto.
- (sys_cp_wcstombs): Make UNICODE private use area conversion roundtrip
- save for all characters.
- (sys_cp_mbstowcs): Ditto, by removing special case for UTF-8 sequences
- representing U+F0xx UNICODE chars. Fix typo in comment.
-
-2009-11-02 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (tfx_chars): Constify.
-
-2009-10-31 Corinna Vinschen <corinna@vinschen.de>
-
- * cygprops.h: New file.
- * dtable.cc (handle_to_fn): Add check for correct installation_key
- string in object name for pipes and ttys.
- * external.cc (cygwin_internal): Add CW_GET_INSTKEY to allow fetching
- the installation_key from cygserver.
- * fhandler_fifo.cc (fhandler_fifo::fifo_name): Add installation_key
- to fifo name.
- * globals.cc: Include cygprops.h.
- (_RDATA): Move slightly and add comment.
- (cygwin_props): Define.
- * mount.cc (mount_info::init): Accommodate the fact that
- installation_root is now a global variable in DLL common shared memory,
- rather than a member of cygwin_shared.
- * pipe.cc (fhandler_pipe::create_selectable): Add installation_key to
- pipe name.
- * shared.cc (installation_root): Define here for storage in DLL
- common shared memory.
- (installation_key): Ditto.
- (installation_key_buf): Ditto.
- (init_installation_root): Convert from shared_info method to ordinary
- function. Add initializing installation_key. Invalidate
- installation_key depending of value of disable_key property. Add
- comment to explain.
- (get_shared_parent_dir): Add installation_key to directory name.
- (get_session_parent_dir): Ditto.
- (shared_info::initialize): Move call to init_installation_root from
- here...
- (memory_init): ...to here. Add debug output to print installation root
- and installation key. Add comment to explain why.
- * shared_info.h (SHARED_INFO_CB): Recalculate.
- (CURR_SHARED_MAGIC): Ditto.
- (class shared_info): Remove definition of installation_root and
- declaration of init_installation_root.
- (init_installation_root): Declare.
- (installation_root): Declare.
- (installation_key): Declare.
- * uinfo.cc (pwdgrp::load): Accommodate the fact that installation_root
- is now a global variable in DLL common shared memory.
- * include/cygwin/version.h: Bump API minor number.
- (CYGWIN_INFO_INSTALLATIONS_NAME): Add.
- * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_GET_INSTKEY.
-
-2009-10-31 Corinna Vinschen <corinna@vinschen.de>
-
- * sec_helper.cc (security_descriptor::realloc): Call free first if
- current security desriptor has been allocated by GetSecurityInfo.
-
-2009-10-30 Corinna Vinschen <corinna@vinschen.de>
-
- * sec_helper.cc (security_descriptor::free): If sd_size is 0, call
- LocalFree instead of ::free.
-
- * sec_acl.cc: Throughout replace old ACE flag definitions with current
- definitions as used in MSDN man pages.
- * security.cc: Ditto.
-
- * fhandler.cc (fhandler_base::open): Make sure file has really been
- just created before fixing file permissions. Add S_JUSTCREATED
- attribute to set_file_attribute call.
- * fhandler_disk_file.cc (fhandler_disk_file::mkdir): Always create dir
- with default security descriptor and fix descriptor afterwards.
- Add S_JUSTCREATED flag to set_file_attribute call.
- * fhandler_socket.cc (fhandler_socket::bind): Ditto for AF_LOCAL
- socket files.
- * path.cc (symlink_worker): Ditto for symlinks.
- * security.cc (get_file_sd): Call GetSecurityInfo rather than
- NtQuerySecurityObject. Explain why. Change error handling accordingly.
- (alloc_sd): Skip non-inherited, non-standard entries in ACL if
- S_JUSTCREATED attribute is set. Explain why. Minor format fixes.
- * security.h (S_JUSTCREATED): New define.
- (security_descriptor::operator=): New operator.
-
-2009-10-30 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_random.cc (fhandler_dev_random::lseek): Revert change from
- 2009-10-23.
-
-2009-10-30 Corinna Vinschen <corinna@vinschen.de>
-
- * smallprint.cc (hex_str): New const string.
- (__rn): Drop str and use hex_str instead.
- (__small_vsprintf): If 'l' modifier has been found, print subsequent
- multibyte or wide char string using the s, S, or W options in extended
- hex value layout.
-
- * fhandler_disk_file.cc (fhandler_disk_file::readdir): Print WCHAR
- and resulting multibyte filename in extended hex value layout in
- debug output.
-
-2009-10-26 Charles Wilson <cygwin@cwilson.fastmail.fm>
-
- * lib/pseudo-reloc.c (__report_error) [CYGWIN]: Correct size bug
- regarding error messages.
-
-2009-10-25 Charles Wilson <cygwin@cwilson.fastmail.fm>
-
- Sync pseudo-reloc.c with mingw64
- * lib/psuedo-reloc.c: Remove unnecessary includes.
- Forward declare _pei386_runtime_relocator.
- Decorate _image_base__ symbol with macro for
- mingw64 compatibility. Whitespace changes.
- (__print_reloc_error): Renamed to...
- (__report_error): This. "Returns" void, and
- always aborts. Now used on all platforms.
- (__write_memory): Remove special case error handling
- for different platforms - always call __report_error.
- (do_pseudo_reloc): Remove special case error handling
- for different platforms - always call __report_error.
- (_pei386_runtime_relocator): Decorate _image_base__
- symbol with mingw64 compatibility macro.
-
-2009-10-24 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.cc (fhandler_base::open): Remove unused variables sa and sd.
-
-2009-10-23 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.cc (fhandler_base::open): Always create file with default
- security descriptor and fix descriptor afterwards. Change comment to
- explain why.
- * security.cc (alloc_sd): Drop setting the SE_DACL_PROTECTED flag.
- * wincap.cc: Remove has_dacl_protect throughout.
- * wincap.h: Ditto.
-
-2009-10-23 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_random.cc (fhandler_dev_random::lseek): Allow negative
- dummy file positions as on Linux.
-
-2009-10-20 Corinna Vinschen <corinna@vinschen.de>
-
- * registry.cc (reg_key::get_int): Add alternative implementation
- taking WCHAR strings.
- (reg_key::set_int): Ditto.
- (reg_key::get_string): Ditto.
- (reg_key::set_string): Ditto.
- * registry.h (struct reg_key): Add prototypes for added methods.
-
-2009-10-20 Corinna Vinschen <corinna@vinschen.de>
-
- * smallprint.cc (__small_vsprintf): Simplify UNICODE string handling
- and allow empty strings.
-
-2009-10-20 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhander_disk_file::readdir): Handle a status
- code STATUS_NOT_SUPPORTED. Add matching comment.
-
-2009-10-19 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (internal_setlocale): Only convert $PATH if there is a
- $PATH.
-
-2009-10-19 Corinna Vinschen <corinna@vinschen.de>
-
- * spawn.cc (av::fixup): Treat non-readable, but executable files as
- Cygwin executables.
-
-2009-10-18 Corinna Vinschen <corinna@vinschen.de>
-
- * uinfo.cc (uinfo_init): Deimpersonate, don't reimpersonate, if
- not in a setuid condition.
-
-2009-10-13 Eric Blake <ebb9@byu.net>
-
- * external.cc (cygwin_internal): Use va_end.
- * fork.cc (child_copy): Likewise.
- * libc/bsdlib.cc (warn, warnx, err, errx): Likewise.
- * pinfo.cc (commune_request): Likewise.
- * strace.cc (strace::prntf, strace_printf): Likewise.
-
-2009-10-13 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
-
-2009-10-13 Christian Franke <franke@computer.org>
- Corinna Vinschen <corinna@vinschen.de>
-
- * include/sys/cygwin.h: Add new cygwin_getinfo_type
- CW_SET_EXTERNAL_TOKEN.
- Add new enum CW_TOKEN_IMPERSONATION, CW_TOKEN_RESTRICTED.
- * cygheap.h (cyguser): New flags ext_token_is_restricted,
- curr_token_is_restricted and setuid_to_restricted.
- * external.cc (cygwin_internal): Add CW_SET_EXTERNAL_TOKEN.
- * sec_auth.cc (set_imp_token): New function.
- (cygwin_set_impersonation_token): Call set_imp_token ().
- * security.h (set_imp_token): New prototype.
- * spawn.cc (spawn_guts): Use CreateProcessAsUserW if restricted token
- was enabled by setuid(). Do not create new window station in this case.
- * syscalls.cc (seteuid32): Add handling of restricted external tokens.
- Set HANDLE_FLAG_INHERIT for primary token.
- (setuid32): Set setuid_to_restricted flag.
- * uinfo.cc (uinfo_init): Do not reimpersonate if restricted token was
- enabled by setuid (). Initialize user.*_restricted flags.
-
-2009-10-13 Eric Blake <ebb9@byu.net>
-
- * hires.h (hires_ms): Change initime_us to initime_ns, with 10x
- more resolution.
- (hires_ms::nsecs): New prototype.
- (hires_ms::usecs, hires_ms::msecs, hires_ms::uptime): Adjust.
- * times.cc (systime_ns): New helper function.
- (hires_ms::prime): Use it for more resolution.
- (hires_ms::usecs): Change to...
- (hires_ms::nsecs): ...with more resolution.
- (clock_gettime): Use more resolution.
- (systime): Rewrite in terms of systime_ns.
- (timespec_to_filetime): Rewrite math to reflect true operation.
- * fhandler_disk_file.cc (utimens_fs): Use higher resolution.
-
-2009-10-12 Corinna Vinschen <corinna@vinschen.de>
-
- * external.cc (cygwin_internal): Return 0 in CW_SET_DOS_FILE_WARNING
- and CW_SETERRNO cases.
-
-2009-10-12 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_disk_file::link): Only append .lnk
- if the original device had one, too. Add comment.
-
- * fhandler_socket.cc (fhandler_socket::fstat): Always return a size of
- 0 on sockets.
-
-2009-10-09 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (tfx_chars): Convert all ASCII control characters except
- ASCII NUL as well. Change layout to make the conversions more clear.
- Add comment.
-
-2009-10-09 Corinna Vinschen <corinna@vinschen.de>
-
- * include/cygwin/config.h (DEFAULT_LOCALE): Define as "C.UTF-8".
-
-2009-10-08 Christopher Faylor <me+cygwin@cgf.cx>
-
- * exceptions.cc (_cygtls::signal_exit): There's no need to set
- signal_arrived if we're exiting.
-
-2009-10-08 Eric Blake <ebb9@byu.net>
-
- * fhandler_disk_file.cc (utimens_fs): Plug fd leak on EINVAL.
-
-2009-10-07 Charles Wilson <cygwin@cwilson.fastmail.fm>
-
- Additional pseudo-reloc-v2 support
- * ntdll.h: Add custom NTSTATUS value for pseudo-reloc
- errors STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION.
- * pinfo.cc (status_exit): Map custom pseudo-reloc
- error value STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION to 127.
- * sigproc.cc (child_info::proc_retry): Return exit code when
- STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION.
-
- Cygwin modifications to pseudo-reloc.c
- * lib/pseudo-reloc.c: Added comments throughout and various
- whitespace fixes. Exploit cygwin_internal(CW_EXIT_PROCESS,...)
- for fatal error handling that is consistent with cygwin process
- life-cycle. Ensure state variable (in _pei386_runtime_relocator)
- is unique to each address space, across fork().
- (__print_reloc_error): New function for reporting errors in a
- manner supported by cygwin at this early stage of the process
- life-cycle.
- (_pei386_runtime_relocator): Ensure relocations performed
- only once for each address space, but are repeated after fork()
- in the new address space.
- only once for each address space (e.g. across fork()).
- (__write_memory) [MINGW]: Ensure that b is always initialized
- by call to VirtualQuery, even if -DNDEBUG.
-
- * lib/pseudo-reloc.c: Import new implementation to support
- v2 pseudo-relocs implemented by Kai Tietz from mingw.
-
-2009-10-07 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (seteuid32): Call set_cygwin_privileges on primary token
- as well.
-
-2009-10-07 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (fhandler_pty_master::tcgetpgrp): Declare.
- * fhandler_termios.cc (fhandler_termios::tcgetpgrp): Only return
- valid pgid if tty is controlling tty. Set errno to ENOTTY and
- return -1 otherwise.
- (fhandler_pty_master::tcgetpgrp): New function. Return 0 for
- master side of pty if it's not the controlling tty of the process.
-
-2009-10-05 Charles Wilson <cygwin@cwilson.fastmail.fm>
-
- Add cygwin wrapper for ExitProcess and TerminateProcess.
- * include/sys/cygwin.h: Declare new cygwin_getinfo_type
- CW_EXIT_PROCESS.
- * external.cc (exit_process): New function.
- (cygwin_internal): Handle CW_EXIT_PROCESS.
- * pinfo.h (pinfo::set_exit_code): New method.
- * pinfo.cc (pinfo::set_exit_code): New, refactored from...
- (pinfo::maybe_set_exit_code_from_windows): here. Call it.
- * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR
- to 215 to reflect the above change.
-
-2009-10-05 Charles Wilson <cygwin@cwilson.fastmail.fm>
-
- * exceptions.cc: Move global variable sigExeced...
- * globals.cc: here.
- * pinfo.cc (pinfo::maybe_set_exit_code_from_windows): Remove now
- unneeded declaration.
-
-2009-10-04 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * Makefile.in (CFLAGS): Add -mno-use-libstdc-wrappers.
-
-2009-10-04 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (internal_setlocale): Add comment.
-
-2009-10-02 Corinna Vinschen <corinna@vinschen.de>
-
- * dcrt0.cc (dll_crt0_1): Drop calls to setlocale/_setlocale_r. Just
- call initial_setlocale from here.
- * syscalls.cc (initial_setlocale): Set internal charset and revert
- application locale to "C".
- (setlocale): Don't set Cygwin's internal charset here.
-
-2009-10-02 Christopher Faylor <me+cygwin@cgf.cx>
-
- * dcrt0.cc (dll_crt0_1): Move cxx_malloc reset kluge from here.
- (check_sanity_and_sync): to here.
-
-2009-09-30 Christopher Faylor <me+cygwin@cgf.cx>
-
- * path.cc (has_dot_last_component): Rewrite to detect some corner cases
- that were previously uncaught.
-
-2009-09-30 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (beep): Move up to avoid forward declaration.
- (fhandler_console::read): Just beep on characters invalid in current
- charset. Add comment.
-
-2009-09-29 Eric Blake <ebb9@byu.net>
-
- * syscalls.cc (rename): Fix regression in rename("dir","d/").
-
-2009-09-29 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_socket.cc (fhandler_socket::recv_internal): Always call
- WSARecv on SOCK_STREAM sockets.
-
-2009-09-28 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (class dev_console): Constify charset parameter of
- str_to_con.
- * fhandler_console.cc (dev_console::con_to_str): Simplify. Always
- default to the current internal locale.
- (dev_console::get_console_cp): Always use codepage 437 for alternate
- charset.
- (dev_console::str_to_con): Constify charset parameter.
- (fhandler_console::write_normal): Always use codepage 437 for alternate
- charset. Otherwise always default to the current internal locale.
- Replace ASCII SO with ASCII CAN.
- * strfuncs.cc: Tweak comments according to below changes.
- (sys_cp_wcstombs): Constify charset parameter. Convert all wchar_t
- values in the Unicode private use area U+F0xx to the singlebyte
- counterpart. Drop special handling creating ASCII SO sequence from
- U+DCxx value. Rearrange for performance. Replace ASCII SO with
- ASCII CAN.
- (sys_cp_mbstowcs): Constify charset parameter. Replace ASCII SO with
- ASCII CAN. Drop special case for U+DCxx ASCII SO sequences. Always
- create a replacement from the Unicode private use area U+F0xx for
- invalid byte values in a multibyte sequence. Do the same for wchar_t
- values from the U+F0xx range to make them roundtrip safe.
- * wchar.h (sys_cp_wcstombs): Constify charset parameter.
- (sys_cp_mbstowcs): Ditto.
-
-2009-09-28 Corinna Vinschen <corinna@vinschen.de>
-
- * cygheap.cc (cygheap_init): Default locale.charset to "UTF-8".
- * dcrt0.cc (dll_crt0_1): Call setlocale (LC_CTYPE, "") here, just
- before resetting application locale to "C".
- * environ.cc (environ_init): Drop code setting locale here.
- * syscalls.cc (check_codepage): Break out check for required codepage
- from internal_setlocale.
- (internal_setlocale): Just convert CWD and $PATH from old charset to
- new charset and set internal charset.
- (setlocale): Change accordingly. Don't require LC_ALL or LC_CTYPE to
- store old locale value. Always call internal_setlocale if charset
- changed due to locale environment changes.
-
-2009-09-26 Eric Blake <ebb9@byu.net>
-
- * exec.cc (fexecve): New function.
- * cygwin.din (execvpe, fexecve): Export new fexecve and existing
- execvpe.
- * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
- * posix.sgml: Mention them.
-
-2009-09-26 Eric Blake <ebb9@byu.net>
-
- * syscalls.cc (link): Delete obsolete comment. Reject directories
- and missing source up front.
- (rename): Use correct errno for trailing '.'. Detect empty
- strings. Allow trailing slash to newpath iff oldpath is
- directory.
- * dir.cc (mkdir): Reject dangling symlink with trailing slash.
- * fhandler_disk_file.cc (fhandler_disk_file::link): Reject
- trailing slash.
- * fhandler.cc (fhandler_base::link): Match Linux errno.
-
-2009-09-25 Eric Blake <ebb9@byu.net>
-
- * syscalls.cc (fchmodat): lchmod is not yet implemented.
- (euidaccess): New function.
- * path.cc (realpath): Update comment.
- (canonicalize_file_name): New function.
- * include/cygwin/stdlib.h (canonicalize_file_name): Declare it.
- * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
- * cygwin.din: Export canonicalize_file_name, eaccess, euidaccess.
- * posix.sgml: Mention them.
-
-2009-09-25 Eric Blake <ebb9@byu.net>
-
- * fhandler.h (fhandler_base::fhaccess): Add parameter.
- * security.h (check_file_access, check_registry_access): Likewise.
- * security.cc (check_file_access, check_registry_access)
- (check_access): Implement new parameter.
- * fhandler.cc (fhandler_base::fhaccess): Likewise.
- (device_access_denied): Update caller.
- * syscalls.cc (access, faccessat): Update callers.
- * spawn.cc (find_exec, fixup): Likewise.
-
-2009-09-24 Corinna Vinschen <corinna@vinschen.de>
-
- * posix_ipc.cc (mq_open): Avoid closing the same descriptor twice in
- case of errors.
- (sem_open): Ditto.
-
-2009-09-24 Corinna Vinschen <corinna@vinschen.de>
-
- * kernel32.cc (CreateMutexW): Use correct access mask.
- (CreateSemaphoreW): Ditto.
-
-2009-09-23 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc (__set_charset_from_codepage): Fetch current ANSI
- codepage if cp is 0.
-
-2009-09-23 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc (sys_cp_wcstombs): Convert lone surrogate pair
- second halves to unambiguous ASCII SO sequence. When converting
- chars invalid in current codepage to ASCII SO sequence, make
- sure to check for surrogate pair second half only if at least
- one wide characters is left. Decrement nwc if valid second half has
- been converted.
- (sys_cp_mbstowcs): Improve ASCII SO handling. Never break from loop
- if invalid character has been found. Recognize ASCII SO sequence
- representing originally invalid mulitbyte char converted into a
- lone surrogate pair second half. Convert accordingly.
-
-2009-09-22 Corinna Vinschen <corinna@vinschen.de>
-
- * autoload.cc (WSARecv): Define.
- * fhandler_socket.cc (fhandler_socket::recv_internal): Call WSARecv
- instead of WSARecvFrom if no name parameter is given. Explain why.
-
-2009-09-22 Eric Blake <ebb9@byu.net>
-
- * syscalls.cc (faccessat): Fix typo, reject bad flags.
- (fchmodat, fchownat, fstatat, utimensat, linkat, unlinkat): Reject
- bad flags.
-
-2009-09-22 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc (sys_cp_mbstowcs): Reset shift state after handling
- invalid multibyte sequence.
-
-2009-09-22 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (symlink_worker): Rework error handling to generate Linux
- compatible errno in case of trailing slash in newpath.
-
-2009-09-22 Eric Blake <ebb9@byu.net>
-
- * dtable.h (OPEN_MAX_MAX): New macro.
- * resource.cc (getrlimit) [RLIMIT_NOFILE]: Use it.
- * dtable.cc (dtable::extend): Likewise.
- * fcntl.cc (fcntl64): Obey POSIX rule with too-large F_DUPFD.
- * syscalls.cc (dup2): Likewise.
-
-2009-09-21 Corinna Vinschen <corinna@vinschen.de>
-
- * cygheap.h (cwdstuff::get_posix): Convert to const inline method just
- returning pointer to posix path.
- (cwdstuff::reset_posix): Convert to non-inline method taking a wchar_t
- pointer.
- * path.cc (cwdstuff::set): Revert change from 2009-05-13. Set posix
- to valid incoming path again.
- (cwdstuff::reset_posix): New implementation setting posix path from
- incoming wchar_t path. Explain usage.
- (cwdstuff::get_posix): Drop implementation.
- (cwdstuff::get): Drop special case to handle empty posix path.
- * syscalls.cc (internal_setlocale): Store old posix cwd as wide char
- path. Restore posix cwd using new charset. Explain why.
-
-2009-09-21 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_disk_file::link): Drop faking hardlink
- creation on filesystems not supporting hardlinks.
-
-2009-09-20 Christopher Faylor <me+cygwin@cgf.cx>
-
- * dcrt0.cc (dll_crt0_1): Add another hack to REALLY make sure that
- cxx_malloc is always set to the cygwin version.
-
-2009-09-20 Christopher Faylor <me+cygwin@cgf.cx>
-
- * external.cc (cygwin_internal): Add hack to always reset cxx_malloc to
- proper value.
-
- * lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Relocate wayward
- comment.
-
-2009-09-19 Christopher Faylor <me+cygwin@cgf.cx>
-
- * exceptions.cc (sigpacket::process): Explicitly set thread-specific
- handler function to zero to avoid transferring to incorrect location.
- (_cygtls::call_signal_handler): Don't transfer to handler if there is
- no handler to transfer to.
-
-2009-09-18 Christopher Faylor <me+cygwin@cgf.cx>
-
- * exceptions.cc (sigpacket::process): Give sigwait() processing
- precedence even when a handler is present.
-
- * syscalls.cc (getpagesize): Change return to 'int'.
-
-2009-09-16 Christopher Faylor <me+cygwin@cgf.cx>
-
- * ntea.c (write_ea): Don't abort if not-samba.
-
-2009-09-01 Christopher Faylor <me+cygwin@cgf.cx>
-
- * select.cc (peek_console): Always check window size when there is ANY
- keyboard activity.
-
-2009-08-26 Corinna Vinschen <corinna@vinschen.de>
-
- * path.h (INTERIX_SYMLINK_COOKIE): Define.
- * path.cc (symlink_info::check_sysfile): Read Interix symlinks as well.
-
-2009-08-26 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.cc (fhandler_base::open): Only set R/O attribute if ACLs
- are not used.
-
-2009-08-24 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (fs_info::update): Add comment.
- * path.cc (symlink_info::check_reparse_point): Return -1 for volume
- mount points. Explain why.
- (symlink_info::check): Call fs.update again for volume mount points.
- Explain why.
-
-2009-08-24 Corinna Vinschen <corinna@vinschen.de>
-
- * globals.cc (ro_u_volume): New R/O unicode string.
- * path.cc (symlink_info::check_reparse_point): Fix check for volume
- mount points to work on Vista and later as well.
-
-2009-08-22 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc (__set_charset_from_codepage): Add codepages 20866
- (KOI8-R) and 21866 (KOI8-U).
-
-2009-08-21 Christopher Faylor <me+cygwin@cgf.cx>
-
- * dll_init.h (has_dtors): New flag.
- (run_dtors): New wrapper function which avoids calling dtors more than
- once.
- * dll_init.cc (dll_global_dtors): Use dll.run_dtors wrapper.
- (dll_list::detach): Ditto.
- (dll_list::alloc): Set has_dtors flag.
-
-2009-08-21 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fcntl.cc (fcntl64): Detect negative fd as error.
-
-2009-08-21 Corinna Vinschen <corinna@vinschen.de>
-
- * mmap.cc (mmap64): Allocate fh_disk_file on cygheap. Delete
- explicitely before returning.
-
-2009-08-20 Corinna Vinschen <corinna@vinschen.de>
-
- * dtable.cc (build_fh_dev): Take additional bool parameter indicating
- whether set_name should be called or not.
- (dtable::dup_worker): Call build_fh_pc with new second parameter set
- to false. Explain why. If fhandler's dup failed, delete rather than
- cfree newfh and set newfh to NULL to indicate failure correctly.
- * dtable.h (build_fh_pc): Change declaration according to above change.
- Default set_name parameter to true.
- * mmap.cc (mmap_record::free_fh): Delete rather than cfree fh.
-
-2009-08-18 Christopher Faylor <me+cygwin@cgf.cx>
-
- * dtable.cc (dtable::fixup_after_exec): Close any popen'ed file handles here.
- * fhandler.h (fhandler_*::ispipe): New function.
- (fhandler_base::get_popen_pid): Define virtual function.
- (fhandler_*::isdevice): Make const.
- (fhandler_*::isfifo): Ditto.
-
-2009-08-17 Christopher Faylor <me+cygwin@cgf.cx>
-
- * syscalls.cc (popen): Reorganize slightly for clarity. Fix a comment.
-
-2009-08-17 Christopher Faylor <me+cygwin@cgf.cx>
-
- * syscalls.cc (popen): Rewrite to accommodate situations where stdin,
- stdout, or stderr are closed.
-
-2009-08-17 Christopher Faylor <me+cygwin@cgf.cx>
-
- * pipe.cc (fhandler_pipe::create_selectable): Add -pipe to default pipe names.
-
- * lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Use bool/true/false
- for what is actually a boolean variable.
-
-2009-08-14 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix length
- check for ".." dir.
-
-2009-08-14 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_disk_file::readdir): Change comment
- to be fair.
-
-2009-08-14 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Remove
- ill-advised attempt to optimize "." and ".." handling by checking for
- specific position in directory listing. Explain why.
- (fhandler_disk_file.cc (fhandler_disk_file::readdir): Ditto.
- Special-case opening file on NFS to fetch inode number and add longish
- comment to explain why.
-
-2009-08-14 Corinna Vinschen <corinna@vinschen.de>
-
- * (fhandler_socket::getsockname): Fix length returned for unbound
- AF_LOCAL sockets.
- (fhandler_socket::getpeername): Ditto.
- * net.cc (socketpair): Don't set sun_path and peer_sun_path to
- make sure getsockname and getpeername return the correct values
- for AF_LOCAL sockets.
-
-2009-08-13 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_socket.cc (fhandler_socket::accept): Use sizeof rather
- then constant size. Truncate returned data, but return full address
- length as per POSIX.
- (fhandler_socket::getsockname): Truncate returned data, but return full
- address length as per POSIX.
- (fhandler_socket::getpeername): Ditto.
-
-2009-08-13 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (class fhandler_socket): Add peer_sun_path member.
- (fhandler_socket::set_peer_sun_path): New method.
- (fhandler_socket::get_peer_sun_path): New method.
- * fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize
- peer_sun_path to NULL.
- (fhandler_socket::~fhandler_socket): Free peer_sun_path if necessary.
- (fhandler_socket::dup): Duplicate peer_sun_path.
- (fhandler_socket::accept): Ditto. Return fake unbound peer content
- and len in case of AF_LOCAL sockets.
- (fhandler_socket::getsockname): Always use local sockaddr_storage to
- store socket address and copy over to incoming address. Handle every
- namelen correctly per POSIX.
- (fhandler_socket::getpeername): Ditto. Add code path to return
- correct value for AF_LOCAL sockets.
- (fhandler_socket::set_peer_sun_path): New method.
- * net.cc (socketpair): Set peer_sun_path to empty string, just like
- sun_path.
-
-2009-08-13 Corinna Vinschen <corinna@vinschen.de>
- Dave Korn <dave.korn.cygwin@googlemail.com>
-
- * cxx.cc (default_cygwin_cxx_malloc): Enhance commenting.
- * dll_init.cc (dll_dllcrt0_1): Likewise.
- * dlfcn.cc (dlopen): Prevent dlopen()'d DLL from installing any
- cxx malloc overrides.
- * include/cygwin/cygwin_dll.h (__dynamically_loaded): New variable.
- * lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Check it and only
- install cxx malloc overrides when statically loaded. Extend comments.
-
-2009-08-12 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_socket.cc (fhandler_socket::accept): Always use local
- sockaddr_storage to store peer address and copy over to incoming
- peer address if available. Truncate data as necessary according
- to POSIX.
-
-2009-08-11 Corinna Vinschen <corinna@vinschen.de>
-
- * include/limits.h (NGROUPS_MAX): Set to a more sane value.
- * include/sys/param.h (NGROUPS): Ditto.
-
-2009-08-10 Corinna Vinschen <corinna@vinschen.de>
-
- * spawn.cc (av::fixup): Check shell scripts for executability only on
- filesystems/mounts supporting real permissions.
-
-2009-08-10 Corinna Vinschen <corinna@vinschen.de>
-
- * dtable.cc (DEV_SOCKET): New static WCHAR string. Name of
- the native NT socket device.
- (dtable::init_std_file_from_handle): Remove unused tmp_pathbuf
- variable. Move check for sockets into FILE_TYPE_PIPE clause.
- Rely on handle_to_fn having recognized socket, or check if
- getsockopt works to accommodate NT4 shortcoming.
- (handle_to_fn): Use tmp_pathbuf for OBJECT_NAME_INFORMATION
- buffer and simplify code due to that. Check name returned by
- NtQueryObject for socket device.
-
-2009-08-10 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler_console.cc (create_invisible_console_workaround): Fix size
- of cmd in the way originally intended.
-
-2009-08-10 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (create_invisible_console_workaround): Fix
- size of cmd to take spaces into account.
-
-2009-08-08 Corinna Vinschen <corinna@vinschen.de>
-
- * dtable.cc (dtable::init_std_file_from_handle): Fix comment to
- document change in the Windows 7 workaround.
- * wincap.cc (wincapc::init): Don't set has_console_handle_problem
- to false on 32 bit systems.
-
-2009-08-06 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (cygwin_getnameinfo): Force setting NI_NUMERICSERV only
- on Windows 2003 and earlier, only if the port number doesn't
- resolve to a well-known service. Change comment accordingly.
-
-2009-08-05 Christopher Faylor <me+cygwin@cgf.cx>
-
- * cygheap.h (cygheap_debug::endh): Delete.
- * debug.cc (lock_debug::acquired): Delete.
- (lock_debug::lock_debug): Simplify.
- (lock_debug::unlock): Ditto.
- (find_handle): Don't set endh here.
- (add_handle): Add new handle to beginning of the list rather than
- trying to maintain an end list pointer.
- (delete_handle): Minor optimization.
- (mark_closed): Make logic clearer.
- (verify_handle): Lock handle list before scanning.
- (setclexec): Ditto.
- (modify_handle): Ditto.
- (newh): Don't lock handle list here. Assume caller did this.
- (mark_closed): Ditto.
- (close_handle): Remove unneeded #if.
- * dtable.cc (dtable::dup2): Tweak debug output.
-
-2009-08-04 Christopher Faylor <me+cygwin@cgf.cx>
-
- * path.cc (patch_conv::check): Zero path before setting it.
-
-2009-08-04 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler_socket.cc (fhandler_socket::send_internal): Just use wmem
- size if the length exceeds it.
- * net.cc (fdsock): Use 65535 as window size, just like the comment
- says or we run into problems with DuplicateHandle.
-
- * path.cc (patch_conv::check): Use set_path to set invalid filename.
- * path.h (path_conv::path_conv): Ditto.
-
-2009-08-04 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler.h (pdrive_buf): Defensively allocate one extra byte.
-
-2009-08-04 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler.h (fhandler_cygdrive:DRVSZ): New enum.
- (pdrive_buf): New place to hold information about cygdrive.
- * fhandler_disk_file.cc (fhandler_cygdrive::set_drives): Store drive
- info in pdrive_buf since get_win32_name() could now be too small to
- hold everything.
- (fhandler_cygdrive::rewinddir): Reset pdrive to pdrive_buf.
- (fhandler_cygdrive::closedir): Ditto.
- * pipe.cc (fhandler_pipe::init): Be more defensive when referencing
- get_win32_name(). Rework logic which made a copy of the POSIX path and
- then never used it.
-
-2009-08-02 Christopher Faylor <me+cygwin@cgf.cx>
-
- * sigproc.cc (stopped_or_terminated): Don't return a match when stopsig
- == SIGCONT and not WCONTINUED.
- * termios.cc (tcsetpgrp): Improve debugging output.
-
-2009-08-01 Christopher Faylor <me+cygwin@cgf.cx>
-
- * cygheap_malloc.h: New file.
- * cygheap.h: Remove stuff now included in cygheap_malloc.h and include
- that file. Make cygheap_init a standard c++ function. Remove unneeded
- child_info declaration.
- * path.h: Include cygheap_malloc.h. Remove extra cstrdup declaration.
- (path_conv): Reorganize to group variables together.
- (path_conv::path): Make const char *.
- (path_conv::known_suffix): Ditto.
- (path_conv::normalized_path): Ditto.
- (path_conv::path_conv): Reorganize initializers to reflect new element
- ordering.
- (path_conv::get_win32): Change return value to const char *.
- (path_conv::set_path): Move back here from spawn.cc.
- (parh_conv::modifiable_path): New function.
- * path.cc (path_conv::add_ext_from_sym): Accommodate const'ness of
- known_suffixes.
- (path_conv::set_normalized_path): Ditto for normalized_path.
- (path_conv::check): Use modifiable_path whereever we need to modify the
- path element. Use set_path to set the path.
- (path_conv::~path_conv): Accommodate new const'ness.
- * spawn.cc (perhaps_suffix): Declare ext as const since that's what is
- being returned.
- (path_conv::set_path): Move back to path.h.
- * winf.f (linebuf): Perform minor cleanup.
- (linebuf::fromargv): Change second parameter to const.
- * winf.cc (linebuf::fromargv): Ditto.
-
-2009-08-01 Christopher Faylor <me+cygwin@cgf.cx>
-
- * path.h (path_conv::set_path): Change return value.
- * spawn.cc (path_conv::set_path): Return newly set value.
- (find_exec): Set retval to newly set value when calling set_path.
-
-2009-07-31 Christopher Faylor <me+cygwin@cgf.cx>
-
- * spawn.cc (find_exec): Fix one more path where retval was not set.
-
-2009-07-31 Christopher Faylor <me+cygwin@cgf.cx>
-
- * spawn.cc (find_exec): Stop relying on the ability to set retval to a
- fixed path_conv buffer and set it on the fly instead.
-
-2009-07-30 Corinna Vinschen <corinna@vinschen.de>
-
- * path.h (cstrdup): Fix declaration.
-
-2009-07-29 Dave Korn <dave.korn.cygwin@googlemail.com>
-
- * globals.cc (enum exit_states::ES_GLOBAL_DTORS): Delete.
- * dcrt0.cc (__main): Schedule dll_global_dtors to run
- atexit before global dtors.
- (do_exit): Delete test for ES_GLOBAL_DTORS and call to
- dll_global_dtors.
-
-2009-07-29 Corinna Vinschen <corinna@vinschen.de>
-
- * path.h (class path_conv): Convert path from char array to char *.
- Initialize to NULL in constructors. Drop normalized_path_size member.
- (path_conv::size): Remove.
- (path_conv::operator =): Always copy with sizeof path_conv. Always
- duplicate path on cygheap.
- (path_conv::set_path): Move implementation to spawn.cc.
- * path.cc (path_conv::set_normalized_path): Always allocate
- normalized_path on cygheap.
- (path_conv::check): Don't work on path, rather allocate THIS_path in
- TLS and use it throughout. When finished, allocate path on cygheap
- and copy over. Defer tacking on extension after having copied path.
- * spawn.cc (path_conv::set_path): Implement here.
-
-2009-07-27 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.h (enum fs_info_type): New type.
- (IMPLEMENT_FS_FLAG): New define.
- (class fs_info): Convert filesystem type status flags into an enum
- fs_info_type. Add cifs FS. Revert change to has_buggy_open and
- has_buggy_fileid_dirinfo. Make them normal; status flags again.
- Implement is_FS functions using IMPLEMENT_FS_FLAG.
- * mount.cc (fs_info::update): Define MINIMAL_WIN_NTFS_FLAGS and
- FS_IS_WINDOWS_NTFS. Add comment. Only test remote filesystems
- for "NTFS" once. Add is_cifs check using FS_IS_WINDOWS_NTFS.
- Set has_buggy_open flag for SUNWNFS. Set has_buggy_fileid_dirinfo
- flag for UNIXFS and all cifs type filesystems. Only check for
- caseinsensitivity once.
- (fillout_mntent): Create locale fs_names array. Use for setting
- _my_tls.locals.mnt_type.
-
-2009-07-27 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * posix.sgml (std-notes): Remove obsolete reference to CYGWIN=server.
-
-2009-07-25 Corinna Vinschen <corinna@vinschen.de>
-
- * posix.sgml (std-notes): Add flock restriction.
-
-2009-07-25 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (set_console_title): Set buffer size to
- TITLESIZE + 1. Call sys_mbstowcs with correct destination length.
-
-2009-07-24 Christopher Faylor <me+cygwin@cgf.cx>
-
- * sigproc.h (wait_for_sigthread): Eliminate parameter.
- * sigproc.cc (wait_for_sigthread): Ditto. Don't synchronize with
- wait_sig after receiving an event that it is ready to go.
- (init_sig_pipe): New function.
- (wait_sig): Call init_sig_pipe to create pipes for communicating
- signals to this process. Don't send sigCONT signal when initializing.
- * fork.cc (frok::child): Accommodate wait_for_sigpipe parameter change.
-
-2009-07-24 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler.h (fhandler_*::write): Make ssize_t/__stdcall.
- (fhandler_*::write_overlapped): Ditto.
- (fhandler_*::raw_write): Ditto.
- (fhandler_*::readv): Ditto.
- (fhandler_*::writev): Ditto.
- (fhandler_*::raw_read): Make __stdcall.
- * fhandler: Accommodate changes to read/write functions throughout.
- * fhandler_clipboard.cc: Ditto.
- * fhandler_console.cc: Ditto.
- * fhandler_dsp.cc: Ditto.
- * fhandler_fifo.cc: Ditto.
- * fhandler_mailslot.cc: Ditto.
- * fhandler_mem.cc: Ditto.
- * fhandler_mem.cc: Ditto.
- * fhandler_random.cc: Ditto.
- * fhandler_tape.cc: Ditto.
- * fhandler_tty.cc: Ditto.
- * fhandler_virtual.cc: Ditto.
- * fhandler_windows.cc: Ditto.
- * fhandler_zero.cc: Ditto.
- * syscalls.cc (readv): Use ssize_t as temp variable.
-
- * fhandler.cc (fhandler_base::read): Coerce returned len to signed or
- it will never be treated as < 0.
- (fhandler_base::wait_overlapped): Minimize calls to GetLastError.
- Remove duplicate debugging test. Fix error return.
-
- * fhandler.h (fhandler_fifo::fifo_name): Declare new function.
- (fhandler_fifo::close): Ditto.
- (fhandler_fifo::dup): Ditto.
- (fhandler_fifo::close_on_exec): Ditto.
- * fhandler.cc (fhandler_fifo::fifo_name): Define new function.
- (FIFO_BUF_SIZE): New define.
- (cnp): Ditto.
- (fhandler_fifo::open): Rework. Use cnp to open named pipe. Always
- open write side as a client. Open dummy client when writing and can't
- connect.
- (wait): Rework. Implement fifo_wait_for_next_client. Handle signals
- during connect better. Add new fifo_wait_for_server code which polls
- (sigh) waiting for server.
- (fhandler_fifo::raw_read): Handle transition states when one client
- closes and another is available.
- (fhandler_fifo::close): Define.
- (fhandler_fifo::dup): Ditto.
- (fhandler_fifo::close_on_exec): Ditto.
-
-2009-07-24 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (internal_setlocale): Fix typo in GBK codepage.
-
-2009-07-24 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (unlink_nt): Ignore sharing violation on NFS. Align
- comments.
-
-2009-07-23 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.h (fs_info::fsn): New member.
- (fs_info::clear): Clear fsn.
- (fs_info::fsname): New read accessor for fsn.
- * mount.cc (fs_info::update): Fill in fsn member with lowercased
- filesystem name if filesystem is not well-known. Fall back to
- "unknown" if filesystem name is missing.
- (fillout_mntent): Print filesystem name retrieved in fs_info::update
- rather than static string "unknown".
-
-2009-07-23 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (fs_info::update): Revert to open filesystem with access set
- to READ_CONTROL. If that fails, try additionally with FILE_READ_DATA.
-
-2009-07-22 Eric Blake <ebb9@byu.net>
-
- * exceptions.cc (handle_exceptions): Set si_addr according to
- POSIX for SIGSEGV.
-
-2009-07-22 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (fs_info::update): Open filesystem with access set to 0.
- Explain why.
-
-2009-07-22 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc: Revert accidental checkin.
-
-2009-07-22 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (symlink_info::check): Handle STATUS_NOT_SUPPORTED from
- NtCreateFile just like STATUS_EAS_NOT_SUPPORTED.
-
-2009-07-22 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (fillout_mntent): Fix typo (noexec -> notexec).
-
-2009-07-22 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (symlink_info::check): Fix typo in comment.
-
-2009-07-22 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (enum del_lock_called_from): New enumeration.
- (fhandler_base::del_my_locks): Declare taking a del_lock_called_from
- as argument.
- * fhandler.cc (fhandler_base::close): Call del_my_locks with "on_close".
- (fhandler_base::fixup_after_fork): Call del_my_locks with "after_fork".
- (fhandler_base::fixup_after_exec): Call del_my_locks with "after_exec".
- * flock.cc (fhandler_base::del_my_locks): Take del_lock_called_from
- as argument. Call node->del_my_locks with NULL handle in after_exec
- case. Explain why.
-
-2009-07-21 Eric Blake <ebb9@byu.net>
-
- * dtable.cc (dup2): Correct return value for no-op.
-
-2009-07-21 Corinna Vinschen <corinna@vinschen.de>
- Eric Blake <ebb9@byu.net>
-
- * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Add special case
- for MVFS. Explain why.
- (fhandler_disk_file::utimens): Drop local variables lastaccess and
- lastwrite. Copy timestamps right into FILE_BASIC_INFORMATION structure
- to avoid copying them twice.
-
-2009-07-20 Corinna Vinschen <corinna@vinschen.de>
-
- * wincap.h (wincaps::has_always_all_codepages): New element.
- * wincap.cc: Implement above element throughout.
- * wchar.h (__sjis_mbtowc): Declare.
- (__eucjp_mbtowc): Ditto.
- (__gbk_mbtowc): Ditto.
- (__kr_mbtowc): Ditto.
- (__big5_mbtowc): Ditto.
- * syscalls.cc (internal_setlocale): Convert to char * function.
- Return parameter by default. Return NULL if request to use a
- charset can't be satisfied due to missing codepage support in the
- underlying OS. Fix comment.
- (setlocale): Store original locale. Restore to original locale if
- internal_setlocale returns NULL.
-
-2009-07-20 Corinna Vinschen <corinna@vinschen.de>
-
- * fork.cc (fork): Create local tmp_pathbuf. Explain why.
-
-2009-07-18 Christopher Faylor <me+cygwin@cgf.cx>
-
- * exceptions.cc (sig_handle_tty_stop): Set stopsig to SIGCONT when
- continuing.
- (stopped_or_terminated): Honor WCONTINUED.
- * wait.cc (wait4): Ditto.
- * include/cygwin/wait.h (WCONTINUED): Define.
- (__W_CONTINUED): Ditto.
- (WIFCONTINUED): Ditto.
-
-2009-07-18 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * libstdcxx_wrapper.cc (operator delete): Remove stray space in
- asm name.
-
-2009-07-17 Christopher Faylor <me+cygwin@cgf.cx>
-
- * cygtls.cc (_cygtls::init_exception_handler): Test for e, not e->prev
- or we could still end up adding our handler twice. Add comment
- explaining what we're doing.
- * dll_init.cc (dll_dllcrt0_1): Clarify comment.
-
-2009-07-17 Christopher Faylor <me+cygwin@cgf.cx>
-
- * cygtls.cc (_cygtls::init_exception_handler): Avoid adding our
- exception handler twice.
-
-2009-07-17 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (unlink_nt): Just return when a sharing violation
- occurs on remote filesystems.
-
-2009-07-17 Corinna Vinschen <corinna@vinschen.de>
-
- * globals.cc: Improve comment on R/O UNICODE_STRINGs.
- * mount.h (class fs_info): Add is_mvfs bit.
- * mount.cc (fs_info::update): Recognize MVFS remote filesystem.
- (fillout_mntent): Reorder filesystem checks for speed. Add
- mvfs, unixfs, and sunwnfs filesystem types.
- * path.h (class path_conv): Add fs_is_mvfs method.
- * path.cc (symlink_worker): On MVFS, always create symlinks as
- Windows shortcuts. Explain why.
-
-2009-07-16 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (unlink_nt): First remove the R/O DOS attribute with
- FILE_WRITE_ATTRIBUTES access only, then re-open the file for DELETE.
- Explain why.
-
-2009-07-16 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Remove file
- attribute check already done in NtSetAttributesFile.
-
-2009-07-15 Corinna Vinschen <corinna@vinschen.de>
-
- * globals.cc: Reorder constant UNICODE_STRINGs for clarity.
- * mount.h (fs_info::sttaus): Move filesystem type flags into
- substructure. Add union to allow simple test for having set any
- one filesystem type flag. Replace has_buggy_open flag with is_sunwnfs
- flag. Replace has_buggy_fileid_dirinfo with is_unixfs flag.
- (fs_info::got_fs): New private method.
- (fs_info::has_buggy_open): New explicit implementation.
- (fs_info::has_buggy_fileid_dirinfo): Ditto.
- * mount.cc (fs_info::update): Optimize filesystem checks for speed.
- * winsup.h (IMPLEMENT_STATUS_FLAG): Change write accessor to return
- value just set.
-
-2009-07-15 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_netdrive.cc (GET_RESOURCE_INFO): Remove.
- (thread_netdrive): Drop GET_RESOURCE_INFO case.
- (fhandler_netdrive::exists): Use GET_RESOURCE_OPENENUM info class
- to check for existance.
-
-2009-07-15 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_netdrive.cc (fhandler_netdrive::readdir): Remove useless
- alloca.
-
-2009-07-15 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (cwdstuff::set): Only fix up UNC path in win32 so as not
- to overwrite incoming path.
-
-2009-07-14 Corinna Vinschen <corinna@vinschen.de>
-
- Throughout avoid having to initialize constant UNICODE_STRINGs.
- * globals.cc: Define constant UNICODE_STRINGs and store in .rdata
- section.
- * fhandler_disk_file.cc: Throughout, use readonly UNICODE_STRINGs
- rather then initializing local UNICODE_STRING variable where
- applicable.
- * fhandler_mem.cc (fhandler_dev_mem::open): Ditto.
- * flock.cc (inode_t::inode_t): Ditto.
- * mmap.cc: Ditto.
- * syscalls.cc: Ditto.
- * mount.cc (fs_info::update): Ditto.
- * path.cc: Ditto.
-
- * ntdll.h (RtlEqualUnicodePathPrefix): Redefine to take prefix as
- UNICODE_STRING.
- (RtlEqualUnicodePathSuffix): Redefine to take suffix as UNICODE_STRING.
- * fhandler_disk_file.cc: Accommodate throughout.
- * mount.cc (fs_info::update): Ditto.
- * path.cc (cwdstuff::set): Ditto.
- * syscalls.cc: Ditto.
-
-2009-07-14 Corinna Vinschen <corinna@vinschen.de>
-
- * globals.cc (active_codepage): Remove.
-
-2009-07-12 Christopher Faylor <me+cygwin@cgf.cx>
-
- * how-spawn-works.txt: Add "out of date" note.
- * how-vfork-works.txt: Ditto.
-
-2009-07-12 Christopher Faylor <me+cygwin@cgf.cx>
-
- * Makefile.in: Don't do anything special with any RCS directories.
-
- * ntdll.h (PROCESSINFOCLASS): Remove unneeded trailing comma.
-
- * pinfo.cc (_pinfo::dup_proc_pipe): Remove unneeded assignment.
-
- * sigproc.cc (sig_send): Don't send signal to myself if this is an exec
- stub.
-
-2009-07-12 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Don't use
- FileAllInformation info class since it needs a big buffer. Add a
- comment.
-
-2009-07-07 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * winbase.h (ilockexch): Avoid making 'ret' volatile.
- (ilockcmpexch): Likewise.
-
-2009-07-07 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * Makefile.in (DLL_OFILES): Add libstdcxx_wrapper.o
- (libstdcxx_wrapper_CFLAGS): Add flags for new module.
- (_cygwin_crt0_common_STDINCFLAGS): Define per-file override.
- (libstdcxx_wrapper_STDINCFLAGS, cxx_STDINCFLAGS): Likewise.
- * cxx.cc: Include "cygwin-cxx.h".
- (operator new): Tweak prototype for full standards compliance.
- (operator new[]): Likewise.
- (operator new (nothrow)): New fallback function.
- (operator new[] (nothrow), operator delete (nothrow),
- operator delete[] (nothrow)): Likewise.
- (default_cygwin_cxx_malloc): New struct of pointers to the above,
- for final last-resort fallback default.
- * cygwin-cxx.h: New file.
- (struct per_process_cxx_malloc): Define.
- (default_cygwin_cxx_malloc): Declare extern.
- * cygwin.din (__wrap__ZdaPv): Export new wrapper.
- (__wrap__ZdaPvRKSt9nothrow_t, __wrap__ZdlPv,
- __wrap__ZdlPvRKSt9nothrow_t, __wrap__Znaj,
- __wrap__ZnajRKSt9nothrow_t, __wrap__Znwj,
- __wrap__ZnwjRKSt9nothrow_t): Likewise.
- * globals.cc (__cygwin_user_data): Init newly-repurposed 'forkee'
- field (now 'cxx_malloc') to point to default_cygwin_cxx_malloc.
- * libstdcxx_wrapper.cc: New file.
- (__wrap__ZdaPv, __wrap__ZdaPvRKSt9nothrow_t, __wrap__ZdlPv,
- __wrap__ZdlPvRKSt9nothrow_t, __wrap__Znaj,
- __wrap__ZnajRKSt9nothrow_t, __wrap__Znwj,
- __wrap__ZnwjRKSt9nothrow_t): Define wrapper functions for libstdc++
- malloc operators and their overrides.
- * winsup.h (default_cygwin_cxx_malloc): Declare extern.
- * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
- * include/sys/cygwin.h (struct per_process_cxx_malloc): Forward
- declare here.
- (struct per_process::forkee): Rename and repurpose from this ...
- (struct per_process::cxx_malloc): ... to this.
- * lib/_cygwin_crt0_common.cc: Include cygwin-cxx.h.
- (WEAK): Define shorthand helper macro.
- (__cygwin_cxx_malloc): Define and populate with weak references
- to whatever libstdc++ malloc operators will be visible at final
- link time for Cygwin apps and dlls.
- (_cygwin_crt0_common): Always look up cygwin DLL's internal
- per_process data, and don't test for (impossible) failure. Inherit
- any members of __cygwin_cxx_malloc that we don't have overrides
- for from the DLL's default and store the resulting overall set of
- overrides back into the DLL's global per_process data.
-
-2009-07-07 Corinna Vinschen <corinna@vinschen.de>
-
- * cygtls.cc (_cygtls::remove): Fix typo.
-
-2009-07-06 Christopher Faylor <me+cygwin@cgf.cx>
-
- * Makefile.in (clean): Clean generated files in srcdir.
- * tlsoffsets.h: Regenerate.
-
-2009-07-06 Christopher Faylor <me+cygwin@cgf.cx>
-
- * cygtls.cc (_cygtls::remove): Avoid closing a NULL handle.
-
-2009-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_socket.cc (fhandler_socket::recv_internal): Convert wsabuf
- and wsacnt to references. Fix handling of WSAEMSGSIZE.
-
-2009-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * cygtls.h (struct _local_storage): Add thread storage pointers for
- memory used by socket select functions. Combine them into a single
- struct select.
- * cygtls.cc: Accommodate above change throughout.
- (_cygtls::init_thread): Drop initalizing of sockevt to
- INVALID_HANDLE_VALUE.
- (_cygtls::fixup_after_fork): Reset sockevt to NULL.
- (_cygtls::remove): Don't use sockevt value to bail out prematurely.
- Set sockevt to NULL. Free malloced select members.
- * select.h (struct select_socket_info): Drop max_w4 member.
- * select.cc (thread_socket): Use INFINITE timeout value if number of
- objects to wait for is <= MAXIMUM_WAIT_OBJECTS. Use num_w4 member
- of select_socket_info struct rather than dropped max_w4.
- (init_tls_select_info): New inline function to initialize TLS select
- members.
- (start_thread_socket): Just call init_tls_select_info to initialize TLS
- select members and use them later on.
- (socket_cleanup): Don't free select_socket_info pointer members since
- they are thread local now.
-
-2009-07-06 Christopher Faylor <me+cygwin@cgf.cx>
-
- * dtable.cc (handle_to_fn): Detect failing NtQueryObject.
-
-2009-07-06 Corinna Vinschen <corinna@vinschen.de>
-
- * autoload.cc: Delete stray CR.
-
-2009-07-05 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler_console.cc: Change workstation -> windows station
- throughout.
-
-2009-07-04 Christopher Faylor <me+cygwin@cgf.cx>
-
- * autoload.cc (SetParent): Add new import.
- * fhandler.h (fhandler_console::create_invisible_console): Declare new
- function.
- (create_invisible_console_workaround): Ditto.
- * fhandler_console.cc (fhandler_console::create_invisible_console):
- Define new function.
- (create_invisible_console_workaround): Ditto. Add too much code to
- deal with broken Windows 7. Use a helper app to start an invisible
- console window.
- (fhandler_console::need_invisible): Reorganize to use helper functions
- to create invisible console.
-
- * spawn.cc (spawn_guts): Avoid zeroing already zeroed fields in si.
-
-2009-07-04 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * autoload.cc (AttachConsole): Correct size of args.
-
-2009-07-03 Christopher Faylor <me+cygwin@cgf.cx>
-
- * dcrt0.cc (jit_debug): New global.
- (initial_env): Set jit_debug when we are automatically starting a gdb
- process.
- * dtable.cc (dtable::get_debugger_info): Don't tty tricks when we are
- being debugged by our own captive gdb, as determined by jit_debug ==
- true.
- (dtable::init_std_file_from_handle): Detect errors when initializing a
- tty early rather than at random points later.
- * fhandler.h (fhandler_*::init): Return int to indicate
- success/failure.
- * fhandler.cc (fhandler_base::init): Reflect change in return value.
- * pipe.cc (fhandler_pipe::init): Ditto.
- (fhandler_pipe::create_selectable): Don't say we're retrying when we
- aren't.
- * fhandler_console.cc (fhandler_console::init): Ditto. Return
- success/failure.
- * fhandler_serial.cc (fhandler_serial::init): Ditto.
- * fhandler_tty.cc (fhandler_tty_slave::init): Ditto.
- (fhandler_tty_slave::open): Make debugging output more detailed.
- * tty.cc (tty_list::terminate): Don't close I/O handles before all
- slaves have checked in.
- (tty::slave_alive): Make a non-inlined function. Check if tty pipe
- handles can be created as an additional exists check.
- * tty.h (tty::slave_alive): Just define here.
-
-2009-07-03 Corinna Vinschen <corinna@vinschen.de>
-
- * posix.sgml: Add fpurge and mkstemps to BSD list.
-
-2009-07-03 Eric Blake <ebb9@byu.net>
-
- * cygwin.din (fpurge, mkstemps): New exports.
- * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
- * mktemp.cc (_gettemp): Add parameter.
- (mkstemps): New function.
- (mkstemp, mkdtemp, mktemp): Adjust clients.
-
-2009-07-03 Corinna Vinschen <corinna@vinschen.de>
-
- * autoload.cc: Fix typo in comment.
- (ShowWindowAsync): Define.
- (AttachConsole): Define.
- * fhandler_console.cc (fhandler_console::need_invisible): Add band-aid
- for Windows 7 AllocConsole bug.
-
-2009-07-01 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (get_xp_ifs): Fix typo in comment.
-
-2009-07-01 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (class fhandler_socket): Add class members and methods
- to store and retrieve the SO_RCVBUF and SO_SNDBUF sizes.
- * fhandler_socket.cc (fhandler_socket::dup): Duplicate new members.
- (fhandler_socket::send_internal): Check for SO_SNDBUF size and
- restrict send to 1 byte less per KB 823764. Leave loop immediately
- if WSASendMsg has been used.
- * net.cc (fdsock): Change comment again. Set buffer sizes to 65536.
- Store values in fhandler_socket.
- (cygwin_setsockopt): Store SO_RCVBUF and SO_SNDBUF sizes in
- fhandler_socket.
- (cygwin_sendto): Drop call to sig_dispatch_pending.
- (cygwin_recvfrom): Ditto.
- (cygwin_recvmsg): Ditto.
- (cygwin_sendmsg): Ditto.
-
-2009-06-30 Christopher Faylor <me+cygwin@cgf.cx>
-
- * select.h: New file split from fhandler.h.
- (select_record::select_record): Define do-nothing constructor for "new"
- to avoid gratuitous zeroing.
- (select_info): New base class.
- (select_pipe_info): New class with methods for dealing with pipes.
- (select_socket_info): New class with methods for dealing with sockets.
- (select_serial_info): Dummy class for serial.
- (select_mailslot_info): Dummy class for mailslots.
- (select_stuff): Define device_specific_* as actual classes rather than
- void *.
- * dtable.h (dtable::select_read): Accommodate return value change to
- 'bool' and argument change to "select_stuff".
- (dtable::select_write): Ditto.
- (dtable::select_except): Ditto.
- * dtable.cc (dtable::select_read): Accommodate return value change to
- 'bool' and argument change to "select_stuff".
- (dtable::select_write): Ditto.
- (dtable::select_except): Ditto.
- * fhandler.h: Excise select-related classes.
- (fhandler_*::select_read): Change argument to select_stuff.
- (fhandler_*::select_write): Ditto.
- (fhandler_*::select_except): Ditto.
- * select.cc (UNIX_FD_ZERO): Use memset rather than bzero.
- (select_stuff::test_and_set): Change return type to bool. Allocate
- select_record on entry and let fhandler_*::select_* operate on the
- start.next field of select_stuff.
- (pipeinf): Delete.
- (select_pipe_info::select_pipe_info): New constructor. Allocates event
- for controlling pipe waits.
- (select_pipe_info::~select_pipe_info): New destructor. Destroy event.
- Stop thread.
- (select_pipe_info::add_watch_handle): New function.
- (thread_pipe): Wait for the hEvent part of any overlapped pipes before
- peeking.
- (start_thread_pipe): Don't allocate device_specific_pipe stuff here.
- Assume that it has been allocated earlier.
- (pipe_cleanup): Rely on select_pipe_info destructor to clean up pipe
- paraphenalia.
- (fhandler_*::select_*): Derive select_record from new select_stuff
- argument.
- (fhandler_pipe::select_*): Ditto. Allocate pipe-specific field if not
- already allocated.
- (serialinf): Delete.
- (thread_serial): serialinf -> select_serial_info.
- (fhandler_base::ready_for_read): Rewrite to accommodate change in
- argument to fhandler_*::select_*.
- (socketinf): Delete.
- (thread_socket): socketinf -> select_socket_info.
- (mailslotinf): Delete.
- (thread_mailslot): mailslotinf -> select_mailslot_info.
-
-2009-06-30 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler.cc (fhandler_base::has_ongoing_io): Accept an argument
- indicating whether the overlapped event should be tested.
- (fhandler_base::read_overlapped): Pass is_overlapped state to
- has_ongoing_io.
- (fhandler_base::write_overlapped): Ditto.
- * fhandler.h (fhandler_base::has_ongoing_io): Accommodate argument
- change.
- * select.cc (peek_pipe): Ditto.
-
-2009-06-30 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (fdsock): Set default socket buffer sizes to 65520. Change
- comment accordingly.
- * fhandler_socket.cc (fhandler_socket::send_internal): Set maximum
- send size to 65520 as well.
-
-2009-06-29 Christopher Faylor <me+cygwin@cgf.cx>
-
- * select.cc (peek_pipe): Turn on (temporarily?) the experimental code
- which tries to determine when a pipe is writable.
-
-2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
-
- * select.cc (peek_pipe): Use has_ongoing_io() to determine if the pipe
- is ready for writing rather than performing brute-force checks.
-
-2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler.h (fhandler_base::has_ongoing_io): Declare new function.
- * fhandler.cc (fhandler_base::has_ongoing_io): Define new function.
- (fhandler_base::read_overlapped): Use has_ongoing_io to avoid writing
- when handle has not completed last I/O.
- (fhandler_base::write_overlapped): Ditto.
- * select.cc (peek_pipe): Be more careful about accessing hEvent field
- from get_overlapped().
-
-2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
-
- * gendef (cleanup): Rename from 'nocr'. Remove comments and trailing
- spaces.
- * cygwin.din: Add long-needed comment describing what
- dll_crt0__FP11per_process demangles to.
-
- * select.cc (peek_pipe): Flag handle as not ready for write if event is
- not signalled.
- * fhandler.cc (fhandler_base::setup_overlapped): Establish event as
- already signalled.
- (fhandler_base::wait_overlapped): Don't reset event after we've
- successfully waited. MSDN documentation says that this happens
- automatically after a WriteFileEx/ReadFileEx.
-
-2009-06-26 Corinna Vinschen <corinna@vinschen.de>
-
- * wincap.h (wincaps::has_broken_alloc_console): New element.
- * wincap.cc: Implement above element throughout.
-
-2009-06-25 Corinna Vinschen <corinna@vinschen.de>
-
- * sec_auth.cc (lsaauth): Close unused handle.
- (lsaprivkeyauth): Ditto.
-
-2009-06-23 Corinna Vinschen <corinna@vinschen.de>
-
- * sec_auth.cc (get_server_groups): Ignore errors from
- get_user_local_groups.
-
-2009-06-22 Corinna Vinschen <corinna@vinschen.de>
-
- * spawn.cc (spawn_guts): Don't run additional check for Win32
- incompatible CWD if newargv.fixup bailed out already.
- (av::fixup): Check shell scripts for executability.
-
-2009-06-18 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (chdir): Check error conditions first.
-
-2009-06-17 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_socket.cc (fhandler_socket::recv_internal): Mark WSARecvMsg
- as NO_COPY.
-
-2009-06-16 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler.cc (fhandler_base::read_overlapped): Use a better variable
- name.
-
-2009-06-16 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler.cc (fhandler_base::read_overlapped): Preserve len when
- looping due to received signal.
-
-2009-06-15 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (get_flags): New static function to generate interface flags
- value.
- (get_ipv4fromreg_ipcnt): New static function to fetch number of
- configured IPv4 addresses for a given NIC from registry.
- (get_ipv4fromreg): New static function to fetch configured IPv4
- addresses for a given NIC from registry.
- (get_friendlyname): New static function to generate friendly name.
- (get_hwaddr): New static function to copy hardware address.
- (get_xp_ifs): Restructure slightly. Add code to generate IPv4 entries
- entries for interfaces which are disconnected.
-
-2009-06-14 Christopher Faylor <me+cygwin@cgf.cx>
-
- * errno.cc (errmap): Add mapping for ERROR_IO_INCOMPLETE.
- * fhandler.cc (fhandler_base::fcntl): Fix comment.
- (fhandler_base::wait_overlapped): Accept an optional len parameter.
- Use the len parameter when WriteFile fails with ERROR_IO_PENDING. Make
- debug output less alarming.
- (fhandler_base::write_overlapped): Pass len to wait_overlapped.
- * fhandler.h (fhandler_base::wait_overlapped): Add an optional argument
- denoting the number of characters intended to be written.
-
- * fhandler_tty.cc (fhandler_pty_master::close): Don't close archetype
- handles when cygwin is still initializing since the handles aren't
- actually opened at that point.
-
-2009-06-14 Corinna Vinschen <corinna@vinschen.de>
-
- * localtime.cc (time2): Take another stab at fixing a compiler warning.
-
-2009-06-14 Christopher Faylor <me+cygwin@cgf.cx>
-
- * localtime.cc (time2): Take a stab at fixing a compiler warning.
-
-2009-06-14 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler.cc (fhandler_base::wait_overlapped): Honor nonblocking flag
- for writes. Don't reset event handle when we see a ERROR_IO_PENDING.
-
- * sigproc.cc (stopped_or_terminated): Use bool constants for
- consistency.
-
- * wait.cc (wait4): Remove nonsensical comment.
-
-2009-06-13 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_socket.cc (fhandler_socket::recv_internal): Set namelen
- pointer to NULL if name pointer is NULL. Explain why.
-
-2009-06-12 Corinna Vinschen <corinna@vinschen.de>
-
- * localtime.cc (time2): Change "spring gap" to "spring forward gap"
- in comment.
-
-2009-06-12 Corinna Vinschen <corinna@vinschen.de>
-
- * localtime.cc (time2): Add workaround for spring forward gap problem.
- Add explaining comment.
-
-2009-06-12 Corinna Vinschen <corinna@vinschen.de>
-
- * Makefile.in (SUBLIBS): Add librt.a.
- (librt.a): New rule to build librt.a.
-
-2009-06-12 Corinna Vinschen <corinna@vinschen.de>
-
- * posix_ipc.cc (check_path): Fix typo in comment. Align naming
- convention rules to Linux. Handle backslash same as slash. Add
- comment.
-
-2009-06-09 Corinna Vinschen <corinna@vinschen.de>
-
- * autoload.cc (GetSystemTimes): Remove.
- * fhandler_proc.cc (format_proc_uptime): Use global system_info rather
- than retrieving a local copy of the SYSTEM_INFO. Drop call to
- GetSystemTimes and retrieve SystemPerformanceInformation on all systems
- again with buffer size big enough for 64 bit systems.
- (format_proc_stat): Use global system_info rather than retrieving a
- local copy of the SYSTEM_INFO. Retrieve SystemPerformanceInformation
- with buffer size big enough for 64 bit systems.
-
-2009-06-08 Corinna Vinschen <corinna@vinschen.de>
-
- * autoload.cc (GetSystemTimes): Define.
- * fhandler_proc.cc (format_proc_uptime): Use GetSystemInfo to retrieve
- processor count. Use GetSystemTimes when available to retrieve system
- idle time. Improve debug output.
- (format_proc_stat): Use GetSystemInfo to retrieve processor
- count. Improve debug output. Ignore if SystemPerformanceInformation
- returns error. Explain why.
-
-2009-06-08 Corinna Vinschen <corinna@vinschen.de>
-
- * fork.cc (frok::parent): Remove ancient code erroneously flushing
- stdout.
-
-2009-06-08 Corinna Vinschen <corinna@vinschen.de>
-
- * cygerrno.h (save_errno::~save_errno): Set errno directly to avoid
- flooding debug output.
-
-2009-06-08 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (symlink_info::check): Return with error set to ENOENT if
- STATUS_NO_MEDIA_IN_DEVICE is returned.
-
-2009-06-07 Christopher Faylor <me+cygwin@cgf.cx>
-
- * cygheap.h (mini_cygheap): New struct.
- (init_cygheap): Inherit locale field via mini_cygheap.
- * cygheap.cc (cygheap_at_start): Define new variable.
- (cygheap): Initialize as cygheap_at_start so that locale information is
- always available.
- (cygheap_init): Initialize cygheap iff it is set to cygheap_at_start.
- * shared_info.h (memory_init): Accommodate argument change.
- * memory.cc (memory_init): Accept an argument indicating whether
- cygheap should be initialized or not.
- * dcrt0.cc (child_info_fork::handle_fork): Pass false to memory_init().
- (child_info_spawn::handle_spawn): Ditto.
- (dll_crt0_0): Pass true to memory_init when not forking or execing.
-
- * cygheap.h (cygheap_types::HEAP_2_DLL): New enum.
- * dll_init.h (dll): Remove unused namelen field.
- (dll_list::load_after_fork): Accommodate change in arguments.
- * dll_init.cc (dll_list::alloc): Allocate dll information in the cygwin
- heap.
- (dll_list::detach): Free dll information from the cygwin heap.
- (dll_list::load_after_fork): Use dll information in the cygwin heap
- directly rather than querying parent.
- * fork.cc (frok::first_dll): Delete.
- (frok::child): Don't report on first_dll. Don't pass it to
- load_on_fork.
- (frok::parent): Don't set first_dll.
- (fork): Ditto.
-
-2009-06-06 Corinna Vinschen <corinna@vinschen.de>
-
- * dll_init.cc (dll_list::alloc): Allocate memory using a section
- object. Explain why. Drop call to GetSystemInfo, rather call
- getpagesize to get allocation granularity. Only align to allocation
- granularity under WOW64. Use roundup2 to align.
- (dll_list::detach): Call NtUnmapViewOfSection instead of VirtualFree.
-
-2009-06-06 Corinna Vinschen <corinna@vinschen.de>
-
- * mmap.cc: Use NtUnmapViewOfSection instead of UnmapViewOfFile
- throughout for symmetry.
- (fhandler_dev_mem::munmap): Use correct process handle in call to
- NtUnmapViewOfSection.
-
-2009-06-06 Corinna Vinschen <corinna@vinschen.de>
-
- * dll_init.h (struct dll): Set size of name element to ANYSIZE_ARRAY.
- * dll_init.cc: Fix formatting.
- (dll_list::alloc): Only allocate as much memory for struct dll as
- necessary for given DLL name.
- (dll_list::load_after_fork): Only read a single page of parent memory.
- Only read more if namelen indicates that it's necessary.
-
-2009-06-05 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * winbase.h (ilockexch): Fix asm constraints.
- (ilockcmpexch): Likewise.
-
-2009-06-05 Corinna Vinschen <corinna@vinschen.de>
-
- * heap.cc (heap_init): Fix typo in comment.
-
-2009-06-04 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_clipboard.cc: Avoid calling system_printf.
- (set_clipboard): Add basic error checking. Set errno here. Per MSDN,
- don't call GlobalFree on data block transferred to clipboard.
- (fhandler_dev_clipboard::write): Drop setting errno after call to
- set_clipboard.
- (fhandler_dev_clipboard::read): Add basic error checking. Simplify code.
-
-2009-06-04 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (set_console_title): Convert title string to
- wchar_t and call SetConsoleTitleW.
-
-2009-06-04 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (fhandler_console::read): Allow Ctrl-Space to
- emit a NUL byte.
-
-2009-06-04 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * thread.cc (__cygwin_lock_lock): Delete racy optimisation.
- (__cygwin_lock_unlock): Likewise.
-
-2009-06-03 IWAMURO Motnori <deenheart@gmail.com>
-
- * strfuncs.cc (sys_cp_mbstowcs): Fix condition.
-
-2009-06-03 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc (sys_cp_wcstombs): Implement reverse functionality
- of the change to sys_cp_mbstowcs from 2009-05-30.
- (sys_cp_mbstowcs): Slightly reformat. Fix comment to accommodate
- change to sys_cp_wcstombs. Don't write to *ptr if dst is NULL.
-
-2009-06-03 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_console.cc (fhandler_console::read): Convert Alt-Backspace
- to \033\177 or to \377 dependent on the setting of dev_state->metabit.
-
-2009-06-02 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (path_conv::check): Don't call set_exec for files on "noacl"
- mount points.
-
-2009-05-30 Christopher Faylor <me+cygwin@cgf.cx>
-
- * strfuncs.cc (sys_cp_mbstowcs): Treat src as unsigned char *. Convert
- failure of f_mbtowc into a single malformed utf-16 value.
-
-2009-05-30 Christopher Faylor <me+cygwin@cgf.cx>
-
- * cygwin/include/sys/termios.h: Make default erase character "^?".
-
-2009-05-30 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler_console.cc (fhandler_console::read): Convert backspace key
- to DEL.
-
-2009-05-29 Christopher Faylor <me+cygwin@cgf.cx>
-
- * path.cc (cwdstuff::set): Rewrite previous change to properly test the
- end of the buffer.
-
-2009-05-28 Christopher Faylor <me+cygwin@cgf.cx>
-
- * path.cc (cwdstuff::set): Avoid removing a nonexistent trailing slash.
-
-2009-05-20 Eric Blake <ebb9@byu.net>
-
- * net.cc (gethostby_helper): Use correct signedness.
-
-2009-05-18 Christopher Faylor <me+cygwin@cgf.cx>
-
- * mount.cc (mount_info::add_item): Avoid using any-old '/' as
- indicating root.
-
-2009-05-18 Christopher Faylor <me+cygwin@cgf.cx>
-
- * mount.cc (mount_info::got_usr_bin): Mark as NO_COPY.
- (mount_info::got_usr_lib): Ditto.
- (mount_info::root_idx): Ditto.
-
-2009-05-14 Corinna Vinschen <corinna@vinschen.de>
-
- * wchar.h (sys_mbstowcs): Add missing __stdcall attribute.
-
-2009-05-14 Corinna Vinschen <corinna@vinschen.de>
-
- * cygheap.cc (cygheap_init): Set Cygwin default locale values.
- * cygheap.h (struct cygheap_locale): New structure.
- (struct user_heap_info): Add cygheap_locale member locale.
- * dcrt0.cc (dll_crt0_1): Revert to calling _setlocale_r so that only
- the applications locale is reverted to "C".
- * environ.cc (environ_init): Remove unused got_lc variable.
- * fhandler.h (class dev_console): Remove now unsed locale variables.
- * fhandler_console.cc (fhandler_console::get_tty_stuff): Remove
- setting dev_console's locale members.
- (dev_console::con_to_str): Use internal locale settings. Default to
- __ascii_wctomb if charset is "ASCII".
- (fhandler_console::write_normal): Ditto.
- * strfuncs.cc (__ascii_wctomb): Drop declaration.
- (__db_wctomb): Use fixed value 2 instead of not
- necessarily matching MB_CUR_MAX.
- (__eucjp_wctomb): Use 3 instead of MB_CUR_MAX.
- (sys_cp_wcstombs): Remove special case for "C" locale.
- (sys_wcstombs): Implement here. Use internal locale data stored on
- cygheap.
- (sys_cp_mbstowcs): Remove special case for "C" locale.
- (sys_mbstowcs): Implement here. Use internal locale data stored on
- cygheap.
- * syscalls.cc (internal_setlocale): New function to set cygheap locale
- data and to reset CWD posix path.
- (setlocale): Just call internal_setlocale from here if necessary.
- * wchar.h (__ascii_wctomb): Declare.
- (sys_wcstombs): Don't define inline, just declare.
- (sys_mbstowcs): Ditto.
-
-2009-05-14 Christopher Faylor <me+cygwin@cgf.cx>
-
- * mount.cc (mount_info::init): Remove MOUNT_CYGWIN_EXEC setting when
- auto-mounting /usr/bin.
-
-2009-05-14 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (oopts): Add a no-op "auto" option.
- (mount_info::create_root_entry): Set root dir to MOUNT_IMMUTABLE rather
- than to MOUNT_OVERRIDE.
-
-2009-05-13 Corinna Vinschen <corinna@vinschen.de>
- Christopher Faylor <me+cygwin@cgf.cx>
-
- * mount.cc (mount_info::got_usr_bin): Define.
- (mount_info::got_usr_lib): Ditto.
- (mount_info::root_idx): Ditto.
- (mount_info::create_root_entry): Create root entry as immutable and
- flag as automatic.
- (mount_info::init): Remove "Huh? No /etc/fstab..." warning.
- Unconditionally call from_fstab for user and system tables. Fill in
- /usr/bin and /usr/lib if they have not been specified in /etc/fstab.
- (oopts): Alphabetize. Add "override" option to allow overriding
- immutable mount points.
- (mount_info::add_item): Accommodate new MOUNT_IMMUTABLE flag intended
- for root mount.
- (mount_info::add_item): Detect "/usr/bin", "/usr/lib", and "/" and set
- appropriate global state.
- (fillout_mntent): Add ,auto to mount points added by Cygwin DLL.
- (mount): Remove masking of MOUNT_SYSTEM. Allow user to shoot
- themselves. Add comment.
- * mount.h (mount_info::got_usr_bin): Declare.
- (mount_info::got_usr_lib): Ditto.
- (mount_info::root_idx): Ditto.
- * include/sys/mount.h: Reformat enum.
- Add MOUNT_{OVERRIDE,IMMUTABLE,AUTOMATIC}.
-
-2009-05-13 Corinna Vinschen <corinna@vinschen.de>
-
- * cygheap.h (cwdstuff): Convert to class. Make posix and dir private.
- (cwdstuff::get_posix): New method.
- (cwdstuff::reset_posix): New method.
- * dcrt0.cc (dll_crt0_1): Call setlocale rather than _setlocale_r.
- * environ.cc (environ_init): Ditto. Prefer "C" locale over current
- codepage default locale.
- * path.cc (chdir): Use cwdstuff::get_posix method instead of accessing
- cwdstuff::posix directly.
- (cwdstuff::set): Defer creating posix path to first usage.
- (cwdstuff::get_posix): Create posix path if it's empty, and return it.
- (cwdstuff::get): Create posix path if it's empty.
- * strfuncs.cc (sys_cp_wcstombs): Use UTF-8 conversion in the "C"
- locale.
- (sys_cp_mbstowcs): Ditto.
- * syscalls.cc (gen_full_path_at): Fetch CWD posix path locked.
- (setlocale): Implement here. Reset CWD posix path.
-
-2009-05-09 Christopher Faylor <me+cygwin@cgf.cx>
-
- * cygwin/version.h (CYGWIN_VERSION_CYGWIN_CONV): New define.
-
-2009-05-09 Corinna Vinschen <corinna@vinschen.de>
-
- * dtable.cc (dtable::init_std_file_from_handle): Add workaround for
- Windows 7 64 bit issue. Add lengthy comment to explain what happens.
- * wincap.h (wincaps::has_console_handle_problem): New element.
- * wincap.cc: Implement above element throughout.
- (wincap_7): New wincaps structure for NT 6.1 kernels.
- (wincapc::init): Set has_console_handle_problem to false for 32 bit
- systems.
-
-2009-05-09 Corinna Vinschen <corinna@vinschen.de>
-
- * sec_auth.cc (str2uni_cat): Move from here...
- * path.cc (str2uni_cat): ...to here. Simplify. Make static inline.
- (get_nt_native_path): Use RtlAppendUnicodeToString rather than
- str2uni_cat for constant strings for speed.
- * security.h (str2uni_cat): Drop declaration.
-
-2009-05-08 Corinna Vinschen <corinna@vinschen.de>
- IWAMURO Motonori <deenheart@gmail.com>
-
- * strfuncs.cc (sys_cp_wcstombs): save and restore previous errno value.
- (sys_cp_mbstowcs): Ditto.
-
-2009-05-08 IWAMURO Motonori <deenheart@gmail.com>
-
- * strfuncs.cc (sys_cp_wcstombs): Set errno to 0 before converting
- wide char to SO/UTF-8 sequence.
-
-2009-05-08 Corinna Vinschen <corinna@vinschen.de>
-
- * include/sys/select.h: Guard definitions with __USE_W32_SOCKETS as
- the accompanying fd_set definitions in newlib's sys/types.h.
-
-2009-05-06 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler_console.cc (fhandler_console::ioctl): Properly treat
- TIOCLINUX argument as a char.
- * fhandler_tty.cc (fhandler_tty_slave::ioctl): Use coercion to properly
- set char value.
-
-2009-05-06 Corinna Vinschen <corinna@vinschen.de>
-
- * libc/minires.c (scanline): Fix type in calls to ctype functions
- to stay in unsigned char range for char values >= 0x80.
- * regex/regcomp.c: Ditto, throughout.
- * regex/regex2.h (ISWORD): Ditto.
-
-2009-05-06 Corinna Vinschen <corinna@vinschen.de>
-
- * cygheap.cc (cygheap_init): Set umask to a sane default.
- * uinfo.cc (cygheap_user::ontherange): Don't use HOMEDRIVE/HOMEPATH
- to set HOME. Default to /home/USERNAME.
-
-2009-05-03 Corinna Vinschen <corinna@vinschen.de>
-
- * security.cc (set_file_sd): Drop using FILE_OPEN_FOR_RECOVERY flag in
- call to NtOpenFile.
- * exceptions.cc (open_stackdumpfile): Ditto in call to NtCreateFile.
- * fhandler.cc (fhandler_base::open): Ditto. Simplify setting
- create_options.
-
- * mount.cc (fs_info::update): Recognize offline storage.
- (fillout_mntent): Report UDF and offline storage.
- * mount.h (class fs_info): Add is_csc_cache status flag.
-
-2009-05-04 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler_console.cc (fhandler_console::write_console): Eliminate
- unneeded debugging output.
- (fhandler_console::write_normal): Eliminate unneeded __seterrno.
-
-2009-05-04 Christopher Faylor <me+cygwin@cgf.cx>
-
- * libc/minires.c (scanline): Accommodate ctype changes which disallow
- use of an unadorned char argument to is* macros.
- * regex/regcomp.c: Ditto, throughout.
- * regex/regex2.h (ISWORD): Ditto.
-
-2009-05-03 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler.h (fhandler_console::MAX_WRITE_CHARS): Declare.
- (fhandler_console::write_replacement_char): Declare as inline.
- (fhandler_console::write_console): Declare new function.
- * fhandler_console.cc (fhandler_console::MAX_WRITE_CHARS): Define.
- (handler_console::write_console): Define.
- (fhandler_console::write_replacement_char): Define as inline.
- (fhandler_console::write_normal): Use write_console when writing
- buffers of unknown length.
-
-2009-04-26 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * include/cygwin/socket.h: Define SOL_IPV6.
-
-2009-04-21 Corinna Vinschen <corinna@vinschen.de>
-
- * ctype.cc (__set_ctype): Copy exact part of the current active
- character class array.
-
-2009-04-20 Corinna Vinschen <corinna@vinschen.de>
-
- * flock.cc (lf_setlock): Handle border case which results in WFMO loop
- exiting with ret == WAIT_TIMEOUT gracefully. Add a system_printf to
- uncover other potential problems with WFMO loop.
-
-2009-04-18 Christopher Faylor <me+cygwin@cgf.cx>
-
- * mkimport: Specify .text for stub explicitly.
- * speclib: Add a dummy '.idata$7' section referring to the dll
- associated with the real import library.
-
-2009-04-18 Corinna Vinschen <corinna@vinschen.de>
-
- * dcrt0.cc (globify): Only call mbtowc for non-ascii chars.
-
-2009-04-17 Corinna Vinschen <corinna@vinschen.de>
-
- * dcrt0.cc (globify): Make multibyte-aware.
-
-2009-04-17 Corinna Vinschen <corinna@vinschen.de>
-
- * flock.cc (class inode_t): Add i_wait member and matching methods
- wait(), unwait(), and waiting().
- (inode_t::inode_t): Initialize i_wait to 0.
- (fhandler_disk_file::lock): Only remove node if no other thread is
- waiting for a blocking lock.
- (lf_setlock): Manipulate node->i_wait to signal that a thread is
- waiting for a blocking lock in this node.
- (lf_findoverlap): Reinstantiate SELF test as in original code.
-
-2009-04-16 Corinna Vinschen <corinna@vinschen.de>
-
- * dlfcn.cc (get_full_path_of_dll): Just return a bool value. Drop
- local path_conv in favor of getting it as parameter. Add local string
- buffer instead of getting it as parameter.
- (dlopen): Accommodate get_full_path_of_dll change. Fetch WCHAR Windows
- path from path_conv variable and call LoadLibraryW.
-
-2009-04-16 Corinna Vinschen <corinna@vinschen.de>
-
- * ntdll.h (STATUS_LOCK_NOT_GRANTED): Define.
- * syscalls.cc (unlink_nt): Handle STATUS_LOCK_NOT_GRANTED same as
- STATUS_SHARING_VIOLATION. Add lengthy comment to explain why.
-
-2009-04-15 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (path_conv::get_wide_win32_path): Allow relative paths.
- (cygwin_conv_path): In case of CCP_POSIX_TO_WIN_W, convert relative
- paths to absolute paths if the relative pathname length exceeds
- MAX_PATH.
-
-2009-04-15 Corinna Vinschen <corinna@vinschen.de>
-
- * libc/bsdlib.cc: Align copyright with upstream.
- * libc/fnmatch.c: Ditto.
- * libc/fts.c: Ditto.
- * libc/inet_addr.c: Ditto.
- * libc/inet_network.c: Ditto.
- * libc/rcmd.cc: Ditto.
- * libc/rexec.cc: Ditto.
-
-2009-04-14 Christopher Faylor <me+cygwin@cgf.cx>
-
- * speclib: Really revert to using tempdir.
-
-2009-04-14 Christopher Faylor <me+cygwin@cgf.cx>
-
- * speclib: Revert to using tempdir.
-
-2009-04-14 Corinna Vinschen <corinna@vinschen.de>
-
- * localtime.cc (tzload): Implement setting __tzrule's offset member
- using newlib's __gettzinfo () interface also when tzload returns
- successfully.
-
-2009-04-13 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * include/stdint.h (intptr_t): Remove long from type.
- (uintptr_t): Likewise.
- (INTPTR_MIN): Remove 'L' suffix.
- (INTPTR_MAX, UINTPTR_MAX): Likewise.
-
-2009-04-12 Christopher Faylor <me+cygwin@cgf.cx>
-
- * speclib: Initial stab at cleaning up temp files. More work needed.
- * mkimport: Ditto.
-
-2009-04-12 Christopher Faylor <me+cygwin@cgf.cx>
-
- * Makefile.in (clean): Clean globals.h.
- (LIBCOS): Depend on globals.h.
-
-2009-04-11 Christopher Faylor <me+cygwin@cgf.cx>
-
- * mkimport: New script to perform all operations necessary to create
- libcygwin.a.
- * rmsym: Delete.
- * newsym: Delete.
- * Makefile.in (toolopts): New variable which holds options relating to
- binutils/gcc tools.
- (speclib): Use toolopts. Add symbols to avoid copying to special
- libraries.
- (OBSOLETE_FUNCTIONS): Delete.
- (NEW_FUNCTIONS): Change to represent an argument to new mkimport
- script.
- (libcygwin.a): Use only new mkimport script to create libcygwin.a.
- Only rely on ${LIBCOS}.
- (*/lib*.a): Simplify speclib dependencies.
- (speclib): Accept toolchain options. Convert every argument to
- absolute path. Simplify parsing of nm output. Accommodate new
- exclude option.
-
-2009-04-11 Dave Korn <dave.korn.cygwin@googlemail.com>
-
- * include/stdint.h (INTPTR_MIN, INTPTR_MAX): Add 'L' suffix.
- (WINT_MAX): Add 'U' suffix.
-
-2009-04-10 Christopher Faylor <me+cygwin@cgf.cx>
-
- * speclib: Use a more robust method to derive full file path.
-
-2009-04-09 Christopher Faylor <me+cygwin@cgf.cx>
-
- * speclib: Semi-revert to previous version but don't try to generate
- well-formed import library. Instead, just extract appropriate symbols
- and let later libcygwin.a on link line fill in the rest of the import
- stuff.
- * gendef: Hopefully no-op modification to allow easier post-processing
- on symbol values.
-
-2009-04-09 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (try_to_bin): Use tmp_pathbuf buffer to allocate infobuf
- rather than using the stack.
-
-2009-04-09 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (try_to_bin): Fix alignment of infobuf.
-
-2009-04-09 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_disk_file::fchown): Catch an
- error when changing the user account on a standalone Samba server.
- Explain why.
- * sec_acl.cc (setacl): Accommodate additional parameter to set_file_sd.
- * sec_helper.cc (SECURITY_SAMBA_UNIX_AUTHORITY): Define.
- (well_known_samba_unix_user_fake_sid): Define.
- * security.cc (set_file_sd): Take additional parameter if ownership
- should be changed. Restrict requested permissions accordingly.
- (set_file_attribute): Accommodate additional parameter to set_file_sd.
- * security.h (well_known_samba_unix_user_fake_sid): Declare.
- (set_file_sd): Align declaration to above change.
-
-2009-04-07 Corinna Vinschen <corinna@vinschen.de>
-
- * include/stdint.h (int_least32_t): Define as int.
- (uint_least32_t): Ditto, unsigned.
- (int_fast16_t): Define as int.
- (int_fast32_t): Ditto.
- (uint_fast16_t): Ditto, unsigned.
- (uint_fast32_t): Ditto.
- (UINT32_MAX): Remove `L' long marker.
- (UINT_LEAST32_MAX): Ditto.
- (UINT_FAST16_MAX): Ditto.
- (UINT_FAST32_MAX): Ditto.
- (INT32_C): Ditto.
- (UINT32_C): Ditto.
-
-2009-04-07 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc: Change WCHAR to wchar_t in multibyte<->widechar
- conversion functions throughout.
- * wchar.h: Ditto in declarations. Guard them __INSIDE_CYGWIN__.
-
-2009-04-07 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (class dev_console): Add members con_mbtowc, con_wctomb,
- and con_charset.
- (dev_console::str_to_con): Take mbtowc function pointer and charset
- as additional parameters.
- * fhandler_console.cc (fhandler_console::get_tty_stuff): Initialize
- aforementioned new members. Explain why.
- (dev_console::con_to_str): Remove useless comment. Call new
- sys_cp_wcstombs function rather than sys_wcstombs.
- (dev_console::str_to_con): Take mbtowc function pointer and charset
- as additional parameters. Call sys_cp_mbstowcs accordingly.
- (fhandler_console::write_normal): Only initialize f_mbtowc and charset
- once. Accommodate changed str_to_con.
- * strfuncs.cc (sys_cp_wcstombs): Renamed from sys_wcstombs. Take
- wctomb function pointer and charset as parameters. Use throughout.
- (sys_cp_mbstowcs): Take wctomb function pointer and charset as
- parameters instead of codepage. Remove matching local variables and
- their initialization.
- * wchar.h (ENCODING_LEN): Define as in newlib.
- (__mbtowc): Use mbtowc_p typedef for declaration.
- (wctomb_f): New type.
- (wctomb_p): New type.
- (__wctomb): Declare.
- (__utf8_wctomb): Use wctomb_f typedef for declaration.
- (sys_cp_wcstombs): Move declaration from winsup.h here.
- (sys_wcstombs): Ditto.
- (sys_wcstombs_alloc): Ditto.
- (sys_cp_mbstowcs): Ditto.
- (sys_mbstowcs): Ditto.
- (sys_mbstowcs_alloc): Ditto.
- * winsup.h: Move declaration of sys_FOO functions to wchar.h. Include
- wchar.h instead.
-
-2009-04-06 Earl Chew <earl_chew@agilent.com>
-
- * libc/rexec.cc (ruserpass): Use fstat64 instead of fstat.
-
-2009-04-06 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc: Add comment to explain why we can't support JIS
- for now.
- (__db_wctomb): Alwaus use WC_NO_BEST_FIT_CHARS.
- (__jis_wctomb): Just call __ascii_wctomb from here.
- (__eucjp_wctomb): Convert to standalone implementation to fix up the
- difference between eucJP and CP 20932 affecting JIS-X-0212 characters.
- Explain.
- (__kr_wctomb): Use codepage 949.
- (__db_mbtowc): Reorder code slightly. Always use MB_ERR_INVALID_CHARS
- in call to MultiByteToWideChar. Fix a problem with singlebyte
- sequences. Fix a bug in '\0' handling. Reset state->__count on
- successful return from non-zero state.
- (__jis_mbtowc): Just call __ascii_mbtowc from here.
- (__eucjp_mbtowc): Convert to standalone implementation to fix up the
- difference between eucJP and CP 20932 affecting JIS-X-0212 characters.
- (__kr_mbtowc): Use codepage 949.
- (__set_charset_from_codepage): Handle codepage 20932 as eucJP.
-
-2009-04-05 Christopher Faylor <me+cygwin@cgf.cx>
-
- * Makefile.in: Use all compile options when calculating magic values.
- * shared_info.h (CURR_SHARED_MAGIC): Revert erroneous value.
- * child_info.h (CURR_CHILD_INFO_MAGIC): Update.
-
- * fhandler.h (acquire_output_mutex): Remove unneeded ';'.
- (release_output_mutex): Ditto.
-
-2009-04-05 Christopher Faylor <me+cygwin@cgf.cx>
-
- * net.cc: Undefine NOERROR and DELETE to avoid compiler warnings.
- * shared_info.h (CURR_SHARED_MAGIC): Update.
- * spawn.cc (spawn_guts): Avoid copying one line command line argument
- if it hasn't been filled out.
-
-2009-04-04 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
- Corinna Vinschen <corinna@vinschen.de>
-
- * include/asm/byteorder.h (__ntohl): Prototype before define to avoid
- a warning with -Wmissing-prototypes. Use _ELIDABLE_INLINE macro from
- _ansi.h.
- (__ntohs): Ditto.
-
-2009-04-02 Corinna Vinschen <corinna@vinschen.de>
-
- * environ.cc (build_env): Fix length calculation of resulting
- wide char environment string.
-
-2009-04-02 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * include/netdb.h: #include <inttypes.h>, <netinet/in.h>,
- and <sys/socket.h> per SUSv3.
-
-2009-04-01 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc (sys_cp_mbstowcs): Check if ASCII SO is followed by at
- least two chars and the next byte is a valid UTF-8 start byte before
- trying to convert the followup bytes as UTF-8 sequence.
-
-2009-03-31 Corinna Vinschen <corinna@vinschen.de>
-
- * shm.cc (struct shm_attached_list): Convert access type to ULONG.
- (fixup_shms_after_fork): Fix comment. Use NtMapViewOfSection rather
- than MapViewOfFileEx to recreate shared memory regions. Add function
- name to api_fatal output.
- (shmat): Use NtMapViewOfSection to create shared memory region
- top-down.
-
-2009-03-31 Corinna Vinschen <corinna@vinschen.de>
-
- * ctype.cc: Remove implementation of ctype functions in favor of
- pointer-based newlib implementation.
- (_ctype_b): Declare.
- (__ctype_cp): Move to newlib. Declare.
- (__ctype_iso): Ditto.
- (__set_ctype): Implement changing __ctype_ptr__. Only copy character
- class data in applications built under older Cygwin.
- * cygwin.din (__ctype_ptr__): Export.
- * include/ctype.h: Remove in favor of newlib implementation.
- * include/cygwin/config.h (__EXPORT): Define alongside __IMPORT.
- * include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_OLD_CTYPE):
- Define check for old vs. new ctype implementation.
- Bump API minor number.
-
-2009-03-28 Christopher Faylor <me+cygwin@cgf.cx>
-
- * Makefile.in: Perform some minor cleanup. Revamp speclib handling.
- * speclib: Rewrite to create libraries with dlltool rather than
- attempting surgery on libcygwin.a.
-
-2009-03-27 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (inet_ntop6): Convert to lowercase hex digits on the fly.
-
-2009-03-27 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc (cygwin_getaddrinfo): Check hints for non-NULL before
- checking its content.
-
-2009-03-27 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (class fhandler_fifo): Rename read/write methods to
- raw_read/raw_write.
- * fhandler_fifo.cc: Ditto.
-
-2009-03-27 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (pathconf): Fix memory leak.
-
-2009-03-26 Corinna Vinschen <corinna@vinschen.de>
-
- * path.cc (symlink_worker): Write target filename as UTF-16 string
- with leading BOM marker.
- (symlink_info::check_shortcut): If check for leading BOM marker
- succeeds, read filename as UTF-16 string.
- (symlink_info::check_sysfile): Ditto.
-
-2009-03-26 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * include/asm/byteorder.h (__ntohl): Align definition to ISO C99.
- (__ntohs): Ditto.
-
-2009-03-26 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc (__set_charset_from_codepage): Revert to translating
- codepage 936 to "GBK".
-
-2009-03-25 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc (sys_wcstombs): Don't convert ASCII SO into two
- ASCII SO's.
-
-2009-03-25 Corinna Vinschen <corinna@vinschen.de>
-
- * environ.cc (environ_init): Break from locale loop after first hit.
- * fhandler_console.cc (fhandler_console::write_normal): Print a SO
- sequence using always valid Unicode chars.
-
-2009-03-25 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc (__kr_wctomb): Use codepage 51949 rather than 50949.
- (__kr_mbtowc): Ditto.
- (__set_charset_from_codepage): Ditto. Translate codepage 936 to
- "GB2312" and drop the charset name "GBK".
-
-2009-03-24 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc (__kr_wctomb): Use codepage 50949 rather than 949.
- (__kr_mbtowc): Ditto.
- (__set_charset_from_codepage): Translate codepages 949 and 50949 to
- "EUCKR" and drop the charset name "CP949".
-
-2009-03-24 Corinna Vinschen <corinna@vinschen.de>
-
- * strfuncs.cc (sys_cp_mbstowcs): Don't read beyond src + nms.
-
-2009-03-24 Corinna Vinschen <corinna@vinschen.de>
-
- * shared_info.h (CURR_SHARED_MAGIC): Update.
-
-2009-03-24 Corinna Vinschen <corinna@vinschen.de>
-
- * wchar.h: Replace UINT with unsigned int.
-
-2009-03-24 Corinna Vinschen <corinna@vinschen.de>
-
- * wchar.h: Remove erroneous "C" specifier from extern declaration.
-
-2009-03-24 Corinna Vinschen <corinna@vinschen.de>
-
- * ctype.cc (_CTYPE_DATA_0_127): Add _B class to TAB character.
- (__ctype_default): New character class array for default ASCII
- character set.
- (__ctype_iso): New array of character class array for ISO charsets.
- (__ctype_cp): Ditto for singlebyte Windows codepages.
- (tolower): Implement as distinct function to support any singlebyte
- charset.
- (toupper): Ditto.
- (__set_ctype): New function to copy singlebyte character classes
- corresponding to current charset to ctype_b array.
- Align copyright text to upstream.
- * dcrt0.cc (dll_crt0_1): Reset current locale to "C" per POSIX.
- * environ.cc (set_file_api_mode): Remove.
- (codepage_init): Remove.
- (parse_thing): Remove "codepage" setting.
- (environ_init): Set locale according to environment settings, or
- to current codepage, before converting environment to multibyte.
- * fhandler.h (fhandler_console::write_replacement_char): Drop argument.
- * fhandler_console.cc (dev_console::str_to_con): Call sys_cp_mbstowcs
- rather than MultiByteToWideChar.
- (fhandler_console::write_replacement_char): Always print a funny
- half filled square if a character isn't in the current charset.
- (fhandler_console::write_normal): Convert to using __mbtowc
- rather than next_char.
- * fork.cc (frok::child): Drop call to set_file_api_mode.
- * globals.cc (enum codepage_type) Remove.
- (current_codepage): Remove.
- * miscfuncs.cc (cygwin_wcslwr): Unused, dangerous. Remove.
- (cygwin_wcsupr): Ditto.
- (is_cp_multibyte): Remove.
- (next_char): Remove.
- * miscfuncs.h (is_cp_multibyte): Drop declaration.
- (next_char): Ditto.
- * strfuncs.cc (get_cp): Remove.
- (__db_wctomb): New function to implement _wctomb_r functionality for
- doublebyte charsets using WideCharToMultiByte.
- (__sjis_wctomb): New function to replace unusable newlib function.
- (__jis_wctomb): Ditto.
- (__eucjp_wctomb): Ditto.
- (__gbk_wctomb): New function.
- (__kr_wctomb): Ditto.
- (__big5_wctomb): Ditto.
- (__db_mbtowc): New function to implement _mbtowc_r functionality for
- doublebyte charsets using MultiByteToWideChar.
- (__sjis_mbtowc): New function to replace unusable newlib function.
- (__jis_mbtowc): Ditto.
- (__eucjp_mbtowc): Ditto.
- (__gbk_mbtowc): New function.
- (__kr_mbtowc): New function
- (__big5_mbtowc): New function
- (__set_charset_from_codepage): New function.
- (sys_wcstombs): Reimplement, basically using same wide char to multibyte
- conversion as newlib's application level functions. Plus extras.
- Add lengthy comment to explain. Change return type to size_t.
- (sys_wcstombs_alloc): Just use sys_wcstombs. Change return type to
- size_t.
- (sys_cp_mbstowcs): Replace sys_mbstowcs, take additional codepage
- argument. Explain why. Change return type to size_t.
- (sys_mbstowcs_alloc): Just use sys_mbstowcs. Change return type to
- size_t.
- * wchar.h: Declare internal functions implemented in strfuncs.cc.
- (wcscasecmp): Remove.
- (wcsncasecmp): Remove.
- (wcslwr): Remove.
- (wcsupr): Remove.
- * winsup.h (codepage_init): Remove declaration.
- (get_cp): Ditto.
- (sys_wcstombs): Align declaration to new implementation.
- (sys_wcstombs_alloc): Ditto.
- (sys_cp_mbstowcs): Add declaration.
- (sys_mbstowcs): Define as inline function.
- (sys_mbstowcs_alloc): Align declaration to new implementation.
- (set_file_api_mode): Remove declaration.
- * include/ctype.h (isblank): Redefine to use _B character class.
- (toupper): Remove ASCII-only definition.
- (tolower): Ditto.
-
-2009-03-24 Corinna Vinschen <corinna@vinschen.de>
-
- * sec_auth.cc (str2buf2uni): Remove.
- * security.h (str2buf2uni): Remove declaration.
-
-2009-03-24 Yaakov Selkowitz <yselkowitz@cygwin.com>
-
- * include/mntent.h: Remove declarations of nonexistant addmntent
- and hasmntopt. Update and clarify the /etc/mtab comment.
-
-2009-03-23 Corinna Vinschen <corinna@vinschen.de>
-
- * smallprint.cc (__small_vsprintf): Handle NULL PWCHAR and
- PUNICODE_STRING arguments.
- (__small_vswprintf): Ditto.
-
-2009-03-23 Corinna Vinschen <corinna@vinschen.de>
-
- * include/asm/byteorder.h (__constant_ntohs): Remove declaration.
- (__constant_ntohl): Ditto.
-
-2009-03-23 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export wordexp, wordfree.
- * posix.sgml: Move them to SUSv4 list.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-03-22 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * include/sys/un.h: #include <string.h> for strlen.
-
-2009-03-19 Corinna Vinschen <corinna@vinschen.de>
-
- * dlfcn.cc (get_full_path_of_dll): Revert patch from 2008-07-16.
-
-2009-03-19 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * cygwin.din: Export log2, log2f as functions.
- * posix.sgml: Add them to SUSv4 list.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-03-18 Corinna Vinschen <corinna@vinschen.de>
-
- * sec_auth.cc (lsaauth): Remove local definitions of struct
- _TOKEN_LINKED_TOKEN and TokenLinkedToken in favor of definitions
- from winnt.h.
- (lsaprivkeyauth): As in lsaauth, fetch linked token if available and
- return that in favor of default token.
-
-2009-03-15 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
-
- * errno.cc (_sys_errlist): Add ESTRPIPE.
-
-2009-03-15 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export wcsdup.
- * posix.sgml: Add wcsdup to SUSv4 list.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-03-15 Corinna Vinschen <corinna@vinschen.de>
-
- * include/inttypes.h: Remove "l" size specifier from all 16 and 32 bit
- definitions.
-
-2009-03-14 Christopher Faylor <me+cygwin@cgf.cx>
-
- * path.cc (warn_msdos): Don't warn about MS-DOS filenames encountered
- during initialization.
-
-2009-03-14 Corinna Vinschen <corinna@vinschen.de>
-
- * gendef: Remove STABS directives.
-
-2009-03-13 Corinna Vinschen <corinna@vinschen.de>
-
- * mktemp.cc: Remove STABS specific link-time warning. Align copyright
- text to upstream.
-
-2009-03-13 Corinna Vinschen <corinna@vinschen.de>
-
- * flock.cc: Fix lockf copyright to latest version.
-
-2009-03-12 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (path_conv::isgood_inode): Move to be defined
- earlier.
- (get_ino_by_handle): Take additional path_conv argument, accommodate
- throughout. Only use FileId if isgood_inode check is true.
- (fhandler_base::open_fs): Simplify setting ino due to above change.
- (readdir_get_ino): Make sure to return always a non-zero inode number.
- (fhandler_disk_file::readdir): Always open file in dir with
- FILE_OPEN_REPARSE_POINT so as not to open wrong file.
- Drop call to isgood_inode here.
- * path.cc (symlink_info::check): Call fs.update in case we're fetching
- file information from call to NtQueryDirectoryFile.
-
-2009-03-12 Corinna Vinschen <corinna@vinschen.de>
-
- * flock.cc (fhandler_disk_file::lock): Don't test file open mode in
- case of flock-type locks. Explain why.
-
-2009-03-12 Brian Ford <Brian.Ford@FlightSafety.com>
-
- * gethostby_helper: Fix typos in DEBUGGING case.
-
-2009-03-11 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export wcscasecmp, wcsncasecmp.
- * posix.sgml: Move wcscasecmp, wcsncasecmp to SUSv4 list.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-03-11 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export wscanf, fwscanf, swscanf, vwscanf, vfwscanf,
- vswscanf.
- * posix.sgml: Move fwscanf, swscanf, vwscanf, vfwscanf, vswscanf
- to SUSv4 list.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-03-09 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler.h (fhandler_socket::wait_for_events): Take additional
- parameter "dontwait".
- * fhandler_socket.cc (fhandler_socket::wait_for_events): Act as if the
- socket is non-blocking if dontwait is true.
- (fhandler_socket::recv_internal): Use incoming MSG_DONTWAIT flag to
- set the wait_for_events dontwait parameter.
- (fhandler_socket::send_internal): Ditto. Optimize code slightly.
- * include/cygwin/socket.h (MSG_DONTWAIT): Define.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-03-09 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export wcsftime.
- * posix.sgml: Move wcsftime to SUSv4 list.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-03-06 Pierre A. Humblet <pierre@phumblet.no-ip.org>
-
- * cygwin.din: Export gethostbyname2.
- * net.cc: define _CYGWIN_IN_H and include resolv.h.
- (realloc_ent): New function.
- (dup_ent): Call realloc_ent.
- (memcpy4to6): New function.
- (dn_length1): New function.
- (gethostby_helper): New function.
- (gethostbyname2): New function.
- * posix.sgml: Add gethostbyname2.
- * include/cygwin/version.h: Bump API minor number.
- * libc/minires.c (get_options): Look for "inet6" and apply bounds
- to "retry" and "retrans".
- (res_ninit): Set the default options at the beginning.
- (dn_expand): Fix "off by one".
-
-2009-03-06 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export wprintf, fwprintf, swprintf, vwprintf, vfwprintf,
- vswprintf. Sort.
- * posix.sgml: Move fwprintf, swprintf, vwprintf, vfwprintf, vswprintf
- to SUSv4 list. Sort SUSv4 list.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-03-04 Corinna Vinschen <corinna@vinschen.de>
-
- * dcrt0.cc (disable_dep): Disable. Explain why.
- (dll_crt0_0): Disable calling disable_dep. Explain why.
-
-2009-03-03 Corinna Vinschen <corinna@vinschen.de>
-
- * net.cc: Include asm/byteorder.h.
- (htonl): Move to end of file. Add comment to explain why. Align
- definition to POSIX. Use related macro from asm/byteorder.h.
- (ntohl): Ditto.
- (htons): Ditto.
- (ntohs): Ditto.
- * include/asm/byteorder.h: Revert previous patch.
-
-2009-03-03 Corinna Vinschen <corinna@vinschen.de>
-
- * include/asm/byteorder.h: Disable optimization when building
- Cygwin network code.
-
-2009-02-26 Christopher Faylor <me+cygwin@cgf.cx>
-
- * dtable.cc (dtable::select_read): Add ability to override fh.
- * fhandler.h (fhandler_fifo::select_read): Declare new function.
- (fhandler_fifo::select_write): Ditto.
- (fhandler_fifo::select_except): Ditto.
- * select.cc (peek_pipe): Treat certain classes of pipe errors as "no
- data".
- (fhandler_fifo::select_read): Define new function.
- (fhandler_fifo::select_write): Ditto.
- (fhandler_fifo::select_except): Ditto.
-
- * shared_info.h (CURR_SHARED_MAGIC): Update.
-
-2009-02-23 Sjors Gielen <mailinglist@dazjorz.com>
-
- * Makefile.in: Add DESTDIR functionality.
-
-2009-02-23 Corinna Vinschen <corinna@vinschen.de>
-
- * sec_auth.cc (get_user_local_groups): Simplify LookupAccountName code.
-
-2009-02-20 Corinna Vinschen <corinna@vinschen.de>
-
- * autoload.cc (NetLocalGroupEnum): Remove.
- (NetLocalGroupGetMembers): Remove.
- (NetUserGetLocalGroups): Add.
- * sec_auth.cc (is_group_member): Remove function.
- (get_user_local_groups): Get user as string instead of as SID.
- Call NetUserGetLocalGroups instead of NetLocalGroupEnum. Drop call
- to is_group_member.
- (get_server_groups): Call get_user_local_groups with user name instead
- of user SID.
-
-2009-02-19 Corinna Vinschen <corinna@vinschen.de>
-
- * winver.rc: Fix Copyright date.
-
-2009-02-19 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export mbsnrtowcs and wcsnrtombs.
- * posix.sgml: Move mbsnrtowcs and wcsnrtombs to SUSv4 section.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-02-18 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export open_wmemstream.
- * posix.sgml: Move open_wmemstream to SUSv4 section.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-02-16 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export reallocf.
- * malloc_wrapper.cc( reallocf): New function.
- * posix.sgml: Add reallocf to BSD section.
- * include/cygwin/version.h: Bump API minor number.
- * libc/fts.c: Remove erroneous reallocf definition.
-
-2009-02-16 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export wcstoimax, wcstoumax.
- * posix.sgml: Move wcstoimax and wcstoumax to SUSv4 section.
- * include/inttypes.h: Declare wcstoimax and wcstoumax.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-02-13 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export wcsnlen.
- * posix.sgml: Move wcsnlen to SUSv4 section.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-02-13 Corinna Vinschen <corinna@vinschen.de>
-
- * environ.cc (_getenv_r): New function.
-
-2009-02-13 Corinna Vinschen <corinna@vinschen.de>
-
- * posix.sgml: Move dirfd to SUSv4 section.
-
-2009-02-13 Corinna Vinschen <corinna@vinschen.de>
-
- * posix.sgml: Move interfaces deprecated in SUSv4 to deprecated
- interfaces section. Move interfaces added in SUSv4 to SUSv4
- section or, if unimplemented, add them to the unimplemented interfaces
- section.
-
-2009-02-13 Corinna Vinschen <corinna@vinschen.de>
-
- * posix.sgml: Merge SUSv3 and SUSv4 section into a single SUSv4 section.
- Move Solaris calls now in SUSv4 to SUSv4 section. Rename unimplemented
- section to refer to SUSv4. Add note about missing interfaces.
- Move wcstod and wcstof from unimplemented to SUSv4 section.
-
-2009-02-13 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (mount_info::from_fstab_line): Make cygdrive posix=0 by
- default as documented.
-
-2009-02-13 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export wcstod and wcstof.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-02-11 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (open): Handle O_DIRECTORY flag.
- * include/fcntl.h: Add SUSv4 flags O_DIRECTORY, O_EXEC and O_SEARCH.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-02-09 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_floppy.cc (fhandler_dev_floppy::open): Fix format. Add
- code to allow to read disk and CD/DVD devices in full length. Explain
- why.
- (fhandler_dev_floppy::raw_read): Add current position to debug output.
-
- * include/sys/sched.h: New stub file to override newlib file with
- clashing definitions.
-
-2009-02-05 Corinna Vinschen <corinna@vinschen.de>
-
- * cygwin.din: Export wcstok.
- * posix.sgml: Move wcstok from unimplemented to susv3.
- * include/cygwin/version.h: Bump API minor number.
-
-2009-02-04 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_proc.cc (proc_tab): Add entry for mounts symlink.
- (format_proc_mounts): New function to implement mounts symlink.
- * fhandler_process.cc (process_tab): Add entry for mounts file.
- (format_process_mounts): New function to implement mounts file.
-
-2009-02-04 Corinna Vinschen <corinna@vinschen.de>
-
- * security.cc (alloc_sd): Disable generating default permission entries
- for directories.
-
-2009-01-29 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix inode number
- evaluation for faked "." entry.
-
- * mount.cc (fs_info::update): Move setting of is_cdrom after checking
- for caseinsensitivity. Recognize UDF in is_cdrom case and set
- caseinsensitive flag according to UDF brokenness determined by OS.
- Add comment to explain why.
- * mount.h (class fs_info): Add is_udf status flag.
- * path.cc (symlink_info::check): Add workaround for UDF bug in
- terms of casesensitivity on certain OSes.
- * wincap.h (wincaps::has_broken_udf): New element.
- * wincap.cc: Implement above element throughout.
-
-2009-01-27 Christopher Faylor <me+cygwin@cgf.cx>
-
- * fhandler.cc (fhandler_base::wait_overlapped): Set bytes to -1 on
- EINTR or real error.
- (fhandler_base::write_overlapped): Assume that bytes_written will
- contain proper error value.
- * pipe.cc (fhandler_pipe::fhandler_pipe): Set uninterruptible_io since
- signals are handled by pipe functions now.
-
-2009-01-26 Corinna Vinschen <corinna@vinschen.de>
-
- * shared.cc (shared_name): New function for WCHAR names.
- (open_shared): Take name parameter as WCHAR. Accommodate throughout.
- * shared_info.h ((CURR_SHARED_MAGIC): Redefine.
- (shared_name): Add declaration for function taking a WCHAR name.
- (open_shared): Change declaration according to above change.
- * pinfo.cc (pinfo::init) : Accommodate above change.
-
-2009-01-26 Corinna Vinschen <corinna@vinschen.de>
-
- * grp.cc (getgrgid_r): Simplify code by using stpcpy.
- (getgrnam_r): Ditto.
- * passwd.cc (getpwuid_r32): Simplify code by using stpcpy.
- (getpwnam_r): Ditto.
-
-2009-01-26 Corinna Vinschen <corinna@vinschen.de>
-
- * uinfo.cc (pwdgrp::load): Open file with FILE_OPEN_FOR_BACKUP_INTENT
- flag.
-
-2009-01-24 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (mount_info::from_fstab): Open fstab file with
- FILE_OPEN_FOR_BACKUP_INTENT flag.
-
-2009-01-23 Corinna Vinschen <corinna@vinschen.de>
-
- * smallprint.cc (__small_vsprintf): Use already available buffer tmp
- in wfillin case.
-
-2009-01-22 Christopher Faylor <me+cygwin@cgf.cx>
-
- * select.cc (peek_serial): Add hack to allow proper operation with
- com0com driver.
-
-2009-01-21 Corinna Vinschen <corinna@vinschen.de>
-
- Remove USE_SERVER define. Accommodate throughout.
- * configure.in: Remove --enable-server option.
- * configure: Regenerate.
- * environ.cc: Remove CYGWIN=server setting.
-
-2009-01-20 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_procnet.cc: Reorganize global procnet content data into a
- new struct virt_tab_t. Accommodate throughout.
-
- * fhandler.h: Fix copyright dates.
- * fhandler_process.cc: Ditto.
- * fhandler_registry.cc: Ditto.
-
-2009-01-20 Corinna Vinschen <corinna@vinschen.de>
-
- * devices.h (FH_PROCESSFD): New device type.
- * dtable.cc (build_fh_pc): Add case for FH_PROCESSFD.
- * fhandler.h (class fhandler_virtual): Drop bufalloc member.
- * fhandler_virtual.h: New header.
- * fhandler_proc.cc: Remove types proc_type_t and proc_tab_t in favor
- of types virt_type_t and virt_tab_t from fhandler_virtual.h.
- Change prototypes of format_XXX functions accordingly.
- (proc_tab): Drop size member info.
- (fhandler_proc::fill_filebuf): Don't allocate filebuf here. Allocate
- it in the format_XXX functions.
- * fhandler_process.cc: Reorganize global process content data into a
- new struct virt_tab_t. Accommodate throughout.
- (format_process_winexename): New function.
- (format_process_winpid): New function.
- (format_process_exename): New function.
- (format_process_root): New function.
- (format_process_cwd): New function.
- (format_process_cmdline): New function.
- (format_process_ppid): New function.
- (format_process_uid): New function.
- (format_process_pgid): New function.
- (format_process_sid): New function.
- (format_process_gid): New function.
- (format_process_ctty): New function.
- (format_process_fd): New function.
- * fhandler_procnet.cc (fhandler_procnet::fill_filebuf): Don't use
- bufalloc.
- * fhandler_registry.cc (fhandler_registry::fill_filebuf): Define
- bufalloc locally.
- * fhandler_virtual.cc (fhandler_virtual::fhandler_virtual): Drop
- initialization of bufalloc.
- (fhandler_virtual::dup): Drop copying bufalloc.
-
-2009-01-20 Corinna Vinschen <corinna@vinschen.de>
-
- * thread.h (struct pthread_rwlock::RWLOCK_READER): Add counter n.
- * thread.cc (pthread_rwlock::rdlock): If a thread already owns a
- read lock, just count the number of locks for it, per SUSv4.
- (pthread_rwlock::tryrdlock): Ditto.
- (pthread_rwlock::unlock): If a thread has more than one concurrent
- read locks, just count down.
-
-2009-01-20 Corinna Vinschen <corinna@vinschen.de>
-
- * autoload.cc (WSAIoctl): Reintroduce.
- (WSASendMsg): Define.
- * fhandler.h (class fhandler_socket): Change definition of recv_internal
- and send_internal to take WSAMSG pointer as parameter.
- * fhandler_socket.cc (WSAID_WSARECVMSG): Define.
- (LPFN_WSARECVMSG): Define.
- (WSASendMsg): Declare.
- (get_ext_funcptr): New function to fetch address of WSARecvMsg.
- (fhandler_socket::recv_internal): Take just a LPWSAMSG parameter.
- Change code accordingly. If control information is requested,
- fetch address of WSARecvMsg and use that instead of WSARecvFrom.
- (fhandler_socket::recvfrom): Change return type to ssize_t as
- declared in fhandler.h. Accommodate changes to recv_internal.
- (fhandler_socket::recvmsg): Ditto. Make sure that control information
- is only requested if system, address family, and socket type support it.
- (fhandler_socket::send_internal): Take just a LPWSAMSG parameter
- and the flags. Change code accordingly. If control information is
- provided, use WSASendMsg instead of WSASendTo.
- (fhandler_socket::sendto): Drop useless comment. Accommodate changes
- to send_internal.
- (fhandler_socket::sendmsg): Ditto. Make sure that control information
- is only provided if system, address family, and socket type support it.
- * wincap.h (wincaps::has_recvmsg): New element.
- (wincaps::has_sendmsg): New element
- * wincap.cc: Implement above elements throughout.
- * include/cygwin/socket.h (CMSG_ALIGN): Phrase in terms of alignment
- of type struct cmsghdr.
-
-2009-01-17 Corinna Vinschen <corinna@vinschen.de>
-
- * mmap.cc (mmap64): Fix condition checking if anonymous mapping beyond
- EOF is required.
-
-2009-01-17 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_proc.cc: Reorganize global proc content data into a new
- struct proc_tab_t. Accommodate throughout.
- (format_proc_version): New function.
- (format_proc_loadavg): New function.
- (format_proc_self): New function.
-
- * resource.cc (getrlimit): Return correct rlim_max value for
- RLIMIT_NOFILE.
-
-2009-01-16 Corinna Vinschen <corinna@vinschen.de>
-
- * Fix copyright dates.
-
-2009-01-13 Corinna Vinschen <corinna@vinschen.de>
-
- * libc/getopt.c (parse_long_options): Use fix from NetBSD's getopt
- to avoid false ambiguities.
-
-2009-01-12 Corinna Vinschen <corinna@vinschen.de>
-
- * syscalls.cc (enum bin_status): New type.
- (try_to_bin): Return bin_status. Rename win32_path to pc. Rename h
- to fh. Rename fh to tmp_fh. Add code to set delete dispostion and
- more code to replace file moved to bin by another, temporary file.
- Add comments to explain why.
- (unlink_nt): Replace move_to_bin with bin_stat. Only set bin_stat
- to move_to_bin for non-remote files. As a last resort, call try_to_bin
- if setting delete-on-close failed. Only re-set R/O DOS attribute
- and only close handle if it's still valid.
-
-2009-01-11 Corinna Vinschen <corinna@vinschen.de>
-
- * errno.cc (errmap): Set errno to ENOENT instead of ENOSHARE throughout.
- * path.cc (path_conv::check): Set to and check for ENOENT instead of
- ENOSHARE.
-
- * path.cc (symlink_info::check): Fix Samba 3.2.x comment.
-
-2009-01-09 Corinna Vinschen <corinna@vinschen.de>
-
- * mount.cc (mount_info::from_fstab_line): Always convert drive
- letter in native path to uppercase.
- * path.cc (normalize_win32_path): Ditto.
- (path_prefix_p): Revert previous patch.
-
- * path.cc (symlink_info::check): Check for STATUS_INVALID_PARAMETER
- return code to circumvent weird behaviour of Samba 3.2.x shares.
-
-2009-01-09 Christopher Faylor <me+cygwin@cgf.cx>
-
- * include/sys/cygwin.h (CW_SETERRNO): Define.
- * external.cc (CW_SETERRNO): Implement.
- * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 192 to
- reflect the above change.
-
- * path.cc (path_prefix_p): Treat X: as equivalent to x:.
-
- * mkglobals_h: Remove unneeded #define.
-
- * spawn.cc (spawn_guts): Avoid overly wordy initialization to zero.
-
-2009-01-08 Corinna Vinschen <corinna@vinschen.de>
-
- * libc/fts.c (fts_build): Use DT_DIR case on Cygwin.
- (fts_ufslinks): Fix using wrong structure member in Cygwin-specific
- code.
-
-2009-01-07 Corinna Vinschen <corinna@vinschen.de>
-
- * ntdll.h: Reorder NT status flags. Fix a case difference. Add
- STATUS_CANNOT_DELETE flag.
- * syscalls.cc (unlink_nt): Change initial NtOpenFile to request
- FILE_SHARE_DELETE sharing mode. Change comment accordingly.
- If setting delete disposition failed with STATUS_CANNOT_DELETE, try
- to delete using delete-on-close. Explain why.
- Rearrange setting R/O DOS attribute after trying to delete. Simplify
- comment.
-
-2009-01-07 Corinna Vinschen <corinna@vinschen.de>
-
- * fhandler_disk_file.cc (fhandler_disk_file::link): Only add .exe if
- original file has .exe as well.
- * path.cc (path_conv::is_binary): Only recognize Windows 32 and 64 bit
- apps as binaries.
-
-2009-01-02 Christopher Faylor <me+cygwin@cgf.cx>
-
- Remove unneeded header files from source files throughout.
- Update copyrights where appropriate.
-
- * globals.cc: New file for generic global variables.
- * mkglobals_h: New script to generate globals.h.
- * mkstatic: New script used to build a (currently non-working) static
- libcygwin_s.a.
- * Makefile.in: Add unused rule to build a non-working libcygwin_s.a.
- (DLL_OFILES): Add globals.o. Make all objects rely on globals.h.
- (globals.h): New target. Generate globals.h.
- * cygtls.h: Honor new CYGTLS_HANDLE define to control when the HANDLE
- operator is allowed in _cygtls.
- * dcrt0.cc: Move most globals to globals.cc.
- * init.cc: Ditto.
- * environ.cc (strip_title_path): Remove now-unneeded extern.
- * fhandler_serial.cc (fhandler_serial::open): Ditto.
- * pinfo.cc: Ditto.
- (commune_process): Ditto.
- * shared.cc: Ditto.
- * glob.cc: Ditto.
- * strace.cc: Ditto.
- * exceptions.cc: Define CYGTLS_HANDLE before including winsup.h.
- * path.cc (stat_suffixes): Move here.
- * security.h: Add forward class path_conv declaration.
- * smallprint.cc (__small_vsprintf): Make a true c++ function.
- (__small_sprintf): Ditto.
- (small_printf): Ditto.
- (console_printf): Ditto.
- (__small_vswprintf): Ditto.
- (__small_swprintf): Ditto.
- * spawn.cc (spawn_guts): Remove _stdcall decoration in favor of
- regparm.
- (hExeced): Move to globals.cc
- * strfuncs.cc (current_codepage): Ditto.
- (active_codepage): Ditto.
- * sync.cc (lock_process::locker): Move here from dcrt0.cc.
- * syscalls.cc (stat_suffixes): Move to path.cc.
- * tty.cc (tty::create_master): Uncapitalize fatal warning for
- consistency.
- * winsup.h: Include globals.h to declare most of the grab bag list of
- globals which were previously defined here.
-
- * mount.h: Move USER_* defines back to shared_info.h.
-
- * speclib: Force temporary directory cleanup.
-
-2009-01-02 Christopher Faylor <me+cygwin@cgf.cx>
-
- * speclib: Rewrite completely in perl. Avoid multiple nm calls.
diff --git a/winsup/cygwin/ChangeLog-2009 b/winsup/cygwin/ChangeLog-2009
new file mode 100644
index 000000000..5638e460c
--- /dev/null
+++ b/winsup/cygwin/ChangeLog-2009
@@ -0,0 +1,3483 @@
+2009-12-28 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (fhandler_socket::wait_for_events): Drop parameter default
+ value.
+ * fhandler_socket.cc (fhandler_socket::connect): Add false as second
+ parameter to wait_for_events call.
+ (fhandler_socket::accept): Ditto.
+ (fhandler_socket::send_internal): Fix typo in call to wait_for_events.
+
+2009-12-26 Eric Blake <ebb9@byu.net>
+
+ * include/pty.h (openpty, forkpty): Mark last two arguments const,
+ to match glibc 2.8.
+ * libc/bsdlib.cc (openpty, forkpty): Likewise.
+
+2009-12-25 Andy Koppe <andy.koppe@gmail.com>
+
+ * fhandler_console.cc (handler_console::read): Use the tty's VERASE
+ character as the backspace keycode.
+
+2009-12-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (symlink_info::check): Set fileattr to
+ FILE_ATTRIBUTE_DIRECTORY in a certain error condition. Explain why.
+
+2009-12-22 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * select.cc (fhandler_fifo::select_read): Fill in device specific
+ record.
+ (fhandler_fifo::select_write): Ditto.
+ (fhandler_fifo::select_except): Ditto.
+
+2009-12-21 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (cygwin_conv_path): Add band-aid including comment to avoid
+ conversion from POSIX "." to Win32 ".\\".
+
+2009-12-21 Corinna Vinschen <corinna@vinschen.de>
+
+ * exec.cc (execvp): Call find_exec with FE_NNF flag to enforce
+ a NULL return when executable isn't found in $PATH. Convert NULL
+ to "".
+ (execvpe): Ditto.
+ * spawn.cc (spawn_guts): Return with EFAULT if prog_arg is NULL.
+ Return with ENOENT if prog_arg is empty string. Add a comment.
+
+2009-12-21 Thomas Wolff <towo@towo.net>
+
+ * fhandler_console.cc (get_nonascii_key): Generate ESC prefix
+ for Alt modifier generically for function keys and keypad keys.
+ Distinguish Normal, Ctrl, Shift, Ctrl-Shift rather
+ than Normal, Ctrl, Shift, Alt, so that in combination with generic
+ Alt handling all 8 combinations of these modifiers are distinguished.
+ (keytable): Add escape sequences for remaining modified
+ function keys as a compatible extension using rxvt escape codes.
+ Also distinguish keypad keys modified with Ctrl, Shift, Ctrl-Shift
+ using xterm-style modifier coding.
+
+2009-12-21 Corinna Vinschen <corinna@vinschen.de>
+
+ Throughout, revert ill-conceived replacement of hMainThread with
+ GetCurrentThread/NtCurrentThread.
+ * dcrt0.cc (dll_crt0_0): Duplicate main thread handle to hMainThread
+ again.
+
+2009-12-19 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_console.cc (__vt100_conv): Minor formatting change.
+
+2009-12-19 Thomas Wolff <towo@towo.net>
+
+ * fhandler_console.cc (write_console): Check for VT100
+ graphics mode and transform wide characters in ASCII small
+ letter range to corresponding graphics.
+ (__vt100_conv): Table to transform small ASCII letters to line
+ drawing graphics for use in VT100 graphics mode.
+ (write_normal): Check for SO/SI control characters to
+ enable/disable VT100 graphics mode.
+ (base_chars): Enable SO/SI control characters for detection.
+ (write): Check for ESC ( 0 / ESC ( B escape sequences to
+ enable/disable VT100 graphics mode. Also detect ">" while
+ parsing ESC [ sequences to distinguish specific requests.
+ (char_command): Distinguish Secondary from Primary Device Attribute
+ request to report more details about cygwin console terminal version.
+ * fhandler.h (vt100_graphics_mode_active): New flag to indicate mode.
+ (saw_greater_than_sign): New parse flag for ESC [ > sequences.
+ (gotparen, gotrparen): New state values to parse ESC ( / ) sequences.
+
+ * fhandler_console.cc (read): Allow combined Alt-AltGr modifiers
+ to also produce an ESC prefix like a plain Alt modifier, e.g. to make
+ Alt-@ work on a keyboard where @ is AltGr-q.
+
+2009-12-18 Eric Blake <ebb9@byu.net>
+
+ * signal.cc (nanosleep): Fix bug in previous patch.
+
+2009-12-18 Corinna Vinschen <corinna@vinschen.de>
+
+ Throughout, replace hMainProc with GetCurrentProcess/NtCurrentProcess
+ according to context. Throughout, replace hMainThread with
+ GetCurrentThread/NtCurrentThread according to context.
+ * dcrt0.cc (dll_crt0_0): Drop duplication of GetCurrentProcess to
+ hMainProc. Drop duplication of GetCurrentThread to hMainThread.
+ * dtable.cc (dtable::stdio_init): Remove useless comment.
+ * globals.cc (hMainProc): Remove.
+ (hMainThread): Remove.
+ * ntdll.h (NtCurrentProcess): Define.
+ (NtCurrentThread: Define.
+
+2009-12-18 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (fhandler_registry::value_name): Convert to wchar_t*.
+ * fhandler_registry.cc: Call UNICODE registry functions throughout
+ and convert to multibyte using current locale's charset. Accommodate
+ throughout.
+ (must_encode): Take wchar_t.
+ (encode_regname): Convert from wchar_t *.
+ (decode_regname): Convert to wchar_t *.
+
+2009-12-18 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.sgml (func-cygwin-conv-path): Clarify meaning of size parameter.
+ (func-cygwin-conv-path-list): Fix typo.
+ (func-cygwin-posix-path-list-p): Ditto.
+
+2009-12-17 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (try_to_bin): Handle remote shares as well. Just rename
+ files in this case, instead of moving them to the recycler. Create
+ even more unique filename. Add comment to explain filename.
+ (unlink_nt): Remove code returning with EBUSY on remote shares.
+ Set bin_stat to move_to_bin except on NFS. Add comment to explain.
+
+2009-12-17 Eric Blake <ebb9@byu.net>
+
+ * signal.cc (nanosleep): Support 'infinite' sleep times.
+ (sleep): Avoid uninitialized memory.
+
+2009-12-16 Thomas Wolff <towo@towo.net>
+
+ * fhandler_console.cc (read): Detect and handle mouse wheel scrolling
+ events (for completion of mouse reporting mode 1000) and mouse
+ movement events (for additional mouse reporting modes 1002 and 1003).
+ Use mouse_aware() as a guard and only condition for mouse
+ reporting in order to enforce consistence of read() and select().
+ Add focus reports (for additional focus reporting mode 1004).
+ (mouse_aware): Enable detection of additional mouse events for select().
+ Tune function to precisely match actual reporting criteria.
+ Move adjustment of mouse position (by window scroll offset)
+ here to avoid duplicate code.
+ (char_command): Initialization of enhanced mouse reporting modes.
+ Initialization of focus reporting mode.
+ * fhandler.h (use_mouse): Change flag (bool->int) to indicate
+ additional mouse modes. Add flag to indicate focus reporting.
+ (mouse_aware): Move enhanced function into fhandler_console.cc.
+ * select.cc (peek_console): Use modified mouse_aware() for more
+ general detection of mouse events. Also check for focus reports.
+
+2009-12-16 Corinna Vinschen <corinna@vinschen.de>
+
+ * registry.cc (cygnus_class): Remove.
+ (reg_key::build_reg): Don't set class when creating key.
+
+2009-12-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * net.cc (cygwin_setsockopt): Only skip calling setsockopt(SO_REUSEADDR)
+ on stream sockets under systems supporting enhanced socket security.
+
+2009-12-15 Thomas Wolff <towo@towo.net>
+
+ * fhandler_console.cc (char_command): Fix code to select dim mode
+ to 2 rather than 9. Add entries for mode 22 (normal, not bold)
+ 28 (visible, not invisible), 25 (not blinking).
+
+2009-12-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * libc/getopt.c (getopt_internal): Set optreset according to optind
+ setting earlier. Reevaluate POSIXLY_CORRECT if optreset is set to !0.
+ Handle a leading '-' in options independently of posixly_correct.
+
+2009-12-09 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler_fifo.cc (fhandler_fifo::open): Avoid resetting errno after
+ it has been explicitly set.
+
+ * include/cygwin/version.h: Bump DLL minor version number to 2.
+
+2009-12-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * include/cygwin/version.h: Bump DLL minor version number to 1.
+
+2009-12-02 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_socket.cc (send_internal): Don't split datagram messages
+ into pieces.
+
+ * syslog.cc (vsyslog): Set default facility to LOG_USER if it hasn't
+ been set yet.
+
+2009-12-01 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_registry.cc (fhandler_registry::open): Mark /proc/registry
+ directory and siblings as nohandle fhandler.
+
+2009-11-30 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * speclib: Use last dll found since that's the real name of the cygwin
+ DLL.
+
+2009-11-27 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_base::fstat_helper): Fix typos in
+ comments. Always open file synchronized when reading header bytes,
+ otherwise suffer stack corruption.
+
+2009-11-26 Corinna Vinschen <corinna@vinschen.de>
+
+ * dtable.cc (dtable::stdio_init): Use GetCurrentProcess() rather than
+ hMainProc as process handle when duplicating the stdout handle.
+ Explain why. Add Win32 error code to debug output.
+
+2009-11-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_socket.cc (fhandler_socket::fixup_before_fork_exec): Add
+ socket handle value to debug output.
+ (fhandler_socket::fixup_after_fork): Ditto. Make new socket handle
+ OVERLAPPED, just as if it has been created with socket().
+ * net.cc (fdsock): Close duplicated socket and explain why. Disable
+ the entire WSADuplicateSocket test for now and explain why.
+
+2009-11-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_socket.cc (fhandler_socket::set_close_on_exec): Only call
+ fhandler_base::set_close_on_exec for inheritable sockets.
+
+2009-11-21 Corinna Vinschen <corinna@vinschen.de>
+
+ * globals.cc (ro_u_dll): New R/O unicode string.
+ * syscalls.cc (nt_path_has_executable_suffix): Add ro_u_dll to
+ blessed_executable_suffixes array. Explain why.
+
+2009-11-18 Corinna Vinschen <corinna@vinschen.de>
+
+ * flock.cc (fhandler_disk_file::lock): Disable a shortcut from the
+ original BSD code, but keep it in and documented why we can't use it.
+
+2009-11-18 Corinna Vinschen <corinna@vinschen.de>
+
+ * ntea.cc (read_ea): Always add length of "user." prefix, not only
+ on Samba. Change comment.
+
+2009-11-18 Corinna Vinschen <corinna@vinschen.de>
+
+ * ntea.cc (read_ea): Try to open file first to have more sensible
+ error codes. Always refuse non "user." EAs for Linux compatibility
+ and return EOPNOTSUPP. Fix handling of empty (== non-existant) EAs.
+ Always prepend "user." prefix to EA names.
+ (write_ea): Try to open file first to have more sensible error codes.
+ Always refuse non "user." EAs for Linux compatibility and return
+ EOPNOTSUPP. Delay skipping "user." prefix until after potential call
+ to read_ea.
+
+2009-11-17 Corinna Vinschen <corinna@vinschen.de>
+
+ Reintegrate socket duplication via WSADuplicateSocket/WSASocket.
+ * autoload.cc (WSADuplicateSocketW): Define.
+ (WSASocketW): Define.
+ * dtable.cc (dtable::release): Call dec_need_fixup_before if necessary.
+ (dtable::fixup_before_fork): New function.
+ (dtable::fixup_before_exec): New function.
+ * dtable.h (class dtable): Add member cnt_need_fixup_before. Add
+ declarations for above new functions.
+ (dtable::dec_need_fixup_before): New inline method.
+ (dtable::inc_need_fixup_before): New inline method.
+ (dtable::need_fixup_before): New inline method.
+ * fhandler.h (fhandler_base::fixup_before_fork_exec): New virtual
+ method.
+ (fhandler_base::need_fixup_before): New virtual method.
+ (class fhandler_socket): Add member prot_info_ptr.
+ (fhandler_socket::init_fixup_before): Declare.
+ (fhandler_socket::need_fixup_before): New inline method.
+ (fhandler_socket::fixup_before_fork_exec): Declare.
+ (fhandler_socket::fixup_after_exec): Declare.
+ * fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize
+ prot_info_ptr to NULL.
+ (fhandler_socket::~fhandler_socket): Free prot_info_ptr conditionally.
+ (fhandler_socket::init_fixup_before): New method.
+ (fhandler_socket::fixup_before_fork_exec): Ditto.
+ (fhandler_socket::fixup_after_fork): Use WSASocketW to duplicate
+ socket if necessary.
+ (fhandler_socket::fixup_after_exec): New method.
+ (fhandler_socket::dup): Use fixup_before_fork_exec/fixup_after_fork
+ to duplicate socket if necessary.
+ * fork.cc (frok::parent): Start child suspended if some fhandler
+ needs fixup before fork. If so, call dtable::fixup_before_fork after
+ CreateProcess and resume child.
+ * net.cc (fdsock): Try to find out if socket needs fixup before and
+ initialize socket accordingly. Add HUGE comment to explain what happens
+ and why.
+ * spawn.cc (spawn_guts): Start child suspended if some fhandler needs
+ fixup before exec. If so, call dtable::fixup_before_exec after
+ CreateProcess.
+
+2009-11-16 Eric Blake <ebb9@byu.net>
+
+ * environ.cc (setenv): Detect invalid argument.
+ (unsetenv): Distinguish EFAULT from EINVAL.
+
+2009-11-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * net.cc (fdsock): Fill _rmem and _wmem with valid values returned
+ from getsockopt if setsockopt with desired values failed.
+
+2009-11-12 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+ Corinna Vinschen <corinna@vinschen.de>
+
+ * sysconf.cc (get_nprocs): New function.
+ (get_nprocs_conf): Ditto.
+ (get_avphys_pages): Ditto.
+ (get_phys_pages): Ditto.
+ * cygwin.din: Export them.
+ * include/sys/sysinfo.h: New header, decalre above new functions.
+ * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
+ * posix.sgml: Mention them as GNU extensions.
+
+2009-11-11 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (class fhandler_mailslot): Declare new private method
+ get_object_attr.
+ * fhandler_mailslot.cc (fhandler_mailslot::get_object_attr): Implement.
+ (fhandler_mailslot::open): Replace calls to path_conv::get_object_attr
+ with calls to fhandler_mailslot::get_object_attr.
+
+2009-11-10 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_console.cc (fhandler_console::read): Revert change from
+ 2009-11-09.
+
+2009-11-10 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (is_volume_mountpoint): Align check with
+ symlink_info::check_reparse_point().
+ * path.cc (symlink_info::check_reparse_point): Rearrange slightly.
+ Add code path for unrecognized repare point types. Add comment.
+
+2009-11-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (symlink_info::check_reparse_point): Always check
+ SubstituteName for volume string to recognize volume mount points.
+ Reuse subst when calling sys_wcstombs.
+ * syscalls.cc (rename): Set errno to EBUSY when trying to rename
+ volume mount points. Explain why.
+
+2009-11-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_console.cc (fhandler_console::read): Restrict generating
+ META key sequences to singlebyte input chars.
+
+2009-11-08 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_base::fstat_helper): Drop all "other"
+ permissions from st_mode, if the reading the file's security descriptor
+ failed. Explain why.
+
+2009-11-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * globals.cc (ro_u_scr): New R/O unicode string.
+ (ro_u_sys): Ditto.
+ * syscalls.cc (nt_path_has_suffix): Replace with ...
+ (nt_path_has_executable_suffix): New function checking for explicit
+ executable suffixes.
+ (rename): Call nt_path_has_executable_suffix instead of
+ nt_path_has_suffix. Check oldpath for nt_path_has_executable_suffix
+ as well to set old_explicit_suffix.
+
+2009-11-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * shared.cc (inst_root_inited): New static bool variable.
+ (init_installation_root): Set inst_root_inited to true.
+ (memory_init): Print installation root debug output only if
+ inst_root_inited is true.
+
+2009-11-05 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (nt_path_has_suffix): New function.
+ (rename): Don't append .exe suffix if binary target name has any suffix
+ at all.
+
+2009-11-05 Corinna Vinschen <corinna@vinschen.de>
+
+ * spawn.cc (dll_suffixes): Disable. Explain why.
+ (perhaps_suffix): Use stat_suffixes instead of dll_suffixes.
+
+2009-11-03 Corinna Vinschen <corinna@vinschen.de>
+
+ * security.cc (alloc_sd): Re-introduce setting the SE_DACL_PROTECTED
+ flag. Remove INHERITED_ACE flag from all inherited ACEs. Add comment.
+ Fix ace_off counter in unrelated ACE loop.
+ * wincap.cc: Re-add has_dacl_protect throughout.
+ * wincap.h: Ditto.
+
+2009-11-02 Corinna Vinschen <corinna@vinschen.de>
+
+ * security.cc (alloc_sd): Re-enable generating default permission
+ entries for directories.
+
+2009-11-02 Corinna Vinschen <corinna@vinschen.de>
+
+ * dlfcn.cc (get_full_path_of_dll): Drop enforcing a .dll suffix.
+ (dlopen): If last path component has no dot, append one to override
+ automatic .dll suffix in LoadLibrary.
+
+2009-11-02 Corinna Vinschen <corinna@vinschen.de>
+
+ * miscfuncs.h (transform_chars): Declare. Define inline variation here.
+ * mount.cc (mount_info::from_fstab): Remove extern declaration of
+ transform_chars.
+ * path.cc (tfx_chars): Move to strfuncs.cc.
+ (transform_chars): Ditto.
+ * strfunc.cc (tfx_chars): Moved here from path.cc.
+ (transform_chars): Ditto.
+ (sys_cp_wcstombs): Make UNICODE private use area conversion roundtrip
+ save for all characters.
+ (sys_cp_mbstowcs): Ditto, by removing special case for UTF-8 sequences
+ representing U+F0xx UNICODE chars. Fix typo in comment.
+
+2009-11-02 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (tfx_chars): Constify.
+
+2009-10-31 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygprops.h: New file.
+ * dtable.cc (handle_to_fn): Add check for correct installation_key
+ string in object name for pipes and ttys.
+ * external.cc (cygwin_internal): Add CW_GET_INSTKEY to allow fetching
+ the installation_key from cygserver.
+ * fhandler_fifo.cc (fhandler_fifo::fifo_name): Add installation_key
+ to fifo name.
+ * globals.cc: Include cygprops.h.
+ (_RDATA): Move slightly and add comment.
+ (cygwin_props): Define.
+ * mount.cc (mount_info::init): Accommodate the fact that
+ installation_root is now a global variable in DLL common shared memory,
+ rather than a member of cygwin_shared.
+ * pipe.cc (fhandler_pipe::create_selectable): Add installation_key to
+ pipe name.
+ * shared.cc (installation_root): Define here for storage in DLL
+ common shared memory.
+ (installation_key): Ditto.
+ (installation_key_buf): Ditto.
+ (init_installation_root): Convert from shared_info method to ordinary
+ function. Add initializing installation_key. Invalidate
+ installation_key depending of value of disable_key property. Add
+ comment to explain.
+ (get_shared_parent_dir): Add installation_key to directory name.
+ (get_session_parent_dir): Ditto.
+ (shared_info::initialize): Move call to init_installation_root from
+ here...
+ (memory_init): ...to here. Add debug output to print installation root
+ and installation key. Add comment to explain why.
+ * shared_info.h (SHARED_INFO_CB): Recalculate.
+ (CURR_SHARED_MAGIC): Ditto.
+ (class shared_info): Remove definition of installation_root and
+ declaration of init_installation_root.
+ (init_installation_root): Declare.
+ (installation_root): Declare.
+ (installation_key): Declare.
+ * uinfo.cc (pwdgrp::load): Accommodate the fact that installation_root
+ is now a global variable in DLL common shared memory.
+ * include/cygwin/version.h: Bump API minor number.
+ (CYGWIN_INFO_INSTALLATIONS_NAME): Add.
+ * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_GET_INSTKEY.
+
+2009-10-31 Corinna Vinschen <corinna@vinschen.de>
+
+ * sec_helper.cc (security_descriptor::realloc): Call free first if
+ current security desriptor has been allocated by GetSecurityInfo.
+
+2009-10-30 Corinna Vinschen <corinna@vinschen.de>
+
+ * sec_helper.cc (security_descriptor::free): If sd_size is 0, call
+ LocalFree instead of ::free.
+
+ * sec_acl.cc: Throughout replace old ACE flag definitions with current
+ definitions as used in MSDN man pages.
+ * security.cc: Ditto.
+
+ * fhandler.cc (fhandler_base::open): Make sure file has really been
+ just created before fixing file permissions. Add S_JUSTCREATED
+ attribute to set_file_attribute call.
+ * fhandler_disk_file.cc (fhandler_disk_file::mkdir): Always create dir
+ with default security descriptor and fix descriptor afterwards.
+ Add S_JUSTCREATED flag to set_file_attribute call.
+ * fhandler_socket.cc (fhandler_socket::bind): Ditto for AF_LOCAL
+ socket files.
+ * path.cc (symlink_worker): Ditto for symlinks.
+ * security.cc (get_file_sd): Call GetSecurityInfo rather than
+ NtQuerySecurityObject. Explain why. Change error handling accordingly.
+ (alloc_sd): Skip non-inherited, non-standard entries in ACL if
+ S_JUSTCREATED attribute is set. Explain why. Minor format fixes.
+ * security.h (S_JUSTCREATED): New define.
+ (security_descriptor::operator=): New operator.
+
+2009-10-30 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_random.cc (fhandler_dev_random::lseek): Revert change from
+ 2009-10-23.
+
+2009-10-30 Corinna Vinschen <corinna@vinschen.de>
+
+ * smallprint.cc (hex_str): New const string.
+ (__rn): Drop str and use hex_str instead.
+ (__small_vsprintf): If 'l' modifier has been found, print subsequent
+ multibyte or wide char string using the s, S, or W options in extended
+ hex value layout.
+
+ * fhandler_disk_file.cc (fhandler_disk_file::readdir): Print WCHAR
+ and resulting multibyte filename in extended hex value layout in
+ debug output.
+
+2009-10-26 Charles Wilson <cygwin@cwilson.fastmail.fm>
+
+ * lib/pseudo-reloc.c (__report_error) [CYGWIN]: Correct size bug
+ regarding error messages.
+
+2009-10-25 Charles Wilson <cygwin@cwilson.fastmail.fm>
+
+ Sync pseudo-reloc.c with mingw64
+ * lib/psuedo-reloc.c: Remove unnecessary includes.
+ Forward declare _pei386_runtime_relocator.
+ Decorate _image_base__ symbol with macro for
+ mingw64 compatibility. Whitespace changes.
+ (__print_reloc_error): Renamed to...
+ (__report_error): This. "Returns" void, and
+ always aborts. Now used on all platforms.
+ (__write_memory): Remove special case error handling
+ for different platforms - always call __report_error.
+ (do_pseudo_reloc): Remove special case error handling
+ for different platforms - always call __report_error.
+ (_pei386_runtime_relocator): Decorate _image_base__
+ symbol with mingw64 compatibility macro.
+
+2009-10-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.cc (fhandler_base::open): Remove unused variables sa and sd.
+
+2009-10-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.cc (fhandler_base::open): Always create file with default
+ security descriptor and fix descriptor afterwards. Change comment to
+ explain why.
+ * security.cc (alloc_sd): Drop setting the SE_DACL_PROTECTED flag.
+ * wincap.cc: Remove has_dacl_protect throughout.
+ * wincap.h: Ditto.
+
+2009-10-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_random.cc (fhandler_dev_random::lseek): Allow negative
+ dummy file positions as on Linux.
+
+2009-10-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * registry.cc (reg_key::get_int): Add alternative implementation
+ taking WCHAR strings.
+ (reg_key::set_int): Ditto.
+ (reg_key::get_string): Ditto.
+ (reg_key::set_string): Ditto.
+ * registry.h (struct reg_key): Add prototypes for added methods.
+
+2009-10-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * smallprint.cc (__small_vsprintf): Simplify UNICODE string handling
+ and allow empty strings.
+
+2009-10-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhander_disk_file::readdir): Handle a status
+ code STATUS_NOT_SUPPORTED. Add matching comment.
+
+2009-10-19 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (internal_setlocale): Only convert $PATH if there is a
+ $PATH.
+
+2009-10-19 Corinna Vinschen <corinna@vinschen.de>
+
+ * spawn.cc (av::fixup): Treat non-readable, but executable files as
+ Cygwin executables.
+
+2009-10-18 Corinna Vinschen <corinna@vinschen.de>
+
+ * uinfo.cc (uinfo_init): Deimpersonate, don't reimpersonate, if
+ not in a setuid condition.
+
+2009-10-13 Eric Blake <ebb9@byu.net>
+
+ * external.cc (cygwin_internal): Use va_end.
+ * fork.cc (child_copy): Likewise.
+ * libc/bsdlib.cc (warn, warnx, err, errx): Likewise.
+ * pinfo.cc (commune_request): Likewise.
+ * strace.cc (strace::prntf, strace_printf): Likewise.
+
+2009-10-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
+
+2009-10-13 Christian Franke <franke@computer.org>
+ Corinna Vinschen <corinna@vinschen.de>
+
+ * include/sys/cygwin.h: Add new cygwin_getinfo_type
+ CW_SET_EXTERNAL_TOKEN.
+ Add new enum CW_TOKEN_IMPERSONATION, CW_TOKEN_RESTRICTED.
+ * cygheap.h (cyguser): New flags ext_token_is_restricted,
+ curr_token_is_restricted and setuid_to_restricted.
+ * external.cc (cygwin_internal): Add CW_SET_EXTERNAL_TOKEN.
+ * sec_auth.cc (set_imp_token): New function.
+ (cygwin_set_impersonation_token): Call set_imp_token ().
+ * security.h (set_imp_token): New prototype.
+ * spawn.cc (spawn_guts): Use CreateProcessAsUserW if restricted token
+ was enabled by setuid(). Do not create new window station in this case.
+ * syscalls.cc (seteuid32): Add handling of restricted external tokens.
+ Set HANDLE_FLAG_INHERIT for primary token.
+ (setuid32): Set setuid_to_restricted flag.
+ * uinfo.cc (uinfo_init): Do not reimpersonate if restricted token was
+ enabled by setuid (). Initialize user.*_restricted flags.
+
+2009-10-13 Eric Blake <ebb9@byu.net>
+
+ * hires.h (hires_ms): Change initime_us to initime_ns, with 10x
+ more resolution.
+ (hires_ms::nsecs): New prototype.
+ (hires_ms::usecs, hires_ms::msecs, hires_ms::uptime): Adjust.
+ * times.cc (systime_ns): New helper function.
+ (hires_ms::prime): Use it for more resolution.
+ (hires_ms::usecs): Change to...
+ (hires_ms::nsecs): ...with more resolution.
+ (clock_gettime): Use more resolution.
+ (systime): Rewrite in terms of systime_ns.
+ (timespec_to_filetime): Rewrite math to reflect true operation.
+ * fhandler_disk_file.cc (utimens_fs): Use higher resolution.
+
+2009-10-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * external.cc (cygwin_internal): Return 0 in CW_SET_DOS_FILE_WARNING
+ and CW_SETERRNO cases.
+
+2009-10-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::link): Only append .lnk
+ if the original device had one, too. Add comment.
+
+ * fhandler_socket.cc (fhandler_socket::fstat): Always return a size of
+ 0 on sockets.
+
+2009-10-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (tfx_chars): Convert all ASCII control characters except
+ ASCII NUL as well. Change layout to make the conversions more clear.
+ Add comment.
+
+2009-10-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * include/cygwin/config.h (DEFAULT_LOCALE): Define as "C.UTF-8".
+
+2009-10-08 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * exceptions.cc (_cygtls::signal_exit): There's no need to set
+ signal_arrived if we're exiting.
+
+2009-10-08 Eric Blake <ebb9@byu.net>
+
+ * fhandler_disk_file.cc (utimens_fs): Plug fd leak on EINVAL.
+
+2009-10-07 Charles Wilson <cygwin@cwilson.fastmail.fm>
+
+ Additional pseudo-reloc-v2 support
+ * ntdll.h: Add custom NTSTATUS value for pseudo-reloc
+ errors STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION.
+ * pinfo.cc (status_exit): Map custom pseudo-reloc
+ error value STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION to 127.
+ * sigproc.cc (child_info::proc_retry): Return exit code when
+ STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION.
+
+ Cygwin modifications to pseudo-reloc.c
+ * lib/pseudo-reloc.c: Added comments throughout and various
+ whitespace fixes. Exploit cygwin_internal(CW_EXIT_PROCESS,...)
+ for fatal error handling that is consistent with cygwin process
+ life-cycle. Ensure state variable (in _pei386_runtime_relocator)
+ is unique to each address space, across fork().
+ (__print_reloc_error): New function for reporting errors in a
+ manner supported by cygwin at this early stage of the process
+ life-cycle.
+ (_pei386_runtime_relocator): Ensure relocations performed
+ only once for each address space, but are repeated after fork()
+ in the new address space.
+ only once for each address space (e.g. across fork()).
+ (__write_memory) [MINGW]: Ensure that b is always initialized
+ by call to VirtualQuery, even if -DNDEBUG.
+
+ * lib/pseudo-reloc.c: Import new implementation to support
+ v2 pseudo-relocs implemented by Kai Tietz from mingw.
+
+2009-10-07 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (seteuid32): Call set_cygwin_privileges on primary token
+ as well.
+
+2009-10-07 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (fhandler_pty_master::tcgetpgrp): Declare.
+ * fhandler_termios.cc (fhandler_termios::tcgetpgrp): Only return
+ valid pgid if tty is controlling tty. Set errno to ENOTTY and
+ return -1 otherwise.
+ (fhandler_pty_master::tcgetpgrp): New function. Return 0 for
+ master side of pty if it's not the controlling tty of the process.
+
+2009-10-05 Charles Wilson <cygwin@cwilson.fastmail.fm>
+
+ Add cygwin wrapper for ExitProcess and TerminateProcess.
+ * include/sys/cygwin.h: Declare new cygwin_getinfo_type
+ CW_EXIT_PROCESS.
+ * external.cc (exit_process): New function.
+ (cygwin_internal): Handle CW_EXIT_PROCESS.
+ * pinfo.h (pinfo::set_exit_code): New method.
+ * pinfo.cc (pinfo::set_exit_code): New, refactored from...
+ (pinfo::maybe_set_exit_code_from_windows): here. Call it.
+ * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR
+ to 215 to reflect the above change.
+
+2009-10-05 Charles Wilson <cygwin@cwilson.fastmail.fm>
+
+ * exceptions.cc: Move global variable sigExeced...
+ * globals.cc: here.
+ * pinfo.cc (pinfo::maybe_set_exit_code_from_windows): Remove now
+ unneeded declaration.
+
+2009-10-04 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * Makefile.in (CFLAGS): Add -mno-use-libstdc-wrappers.
+
+2009-10-04 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (internal_setlocale): Add comment.
+
+2009-10-02 Corinna Vinschen <corinna@vinschen.de>
+
+ * dcrt0.cc (dll_crt0_1): Drop calls to setlocale/_setlocale_r. Just
+ call initial_setlocale from here.
+ * syscalls.cc (initial_setlocale): Set internal charset and revert
+ application locale to "C".
+ (setlocale): Don't set Cygwin's internal charset here.
+
+2009-10-02 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * dcrt0.cc (dll_crt0_1): Move cxx_malloc reset kluge from here.
+ (check_sanity_and_sync): to here.
+
+2009-09-30 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * path.cc (has_dot_last_component): Rewrite to detect some corner cases
+ that were previously uncaught.
+
+2009-09-30 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_console.cc (beep): Move up to avoid forward declaration.
+ (fhandler_console::read): Just beep on characters invalid in current
+ charset. Add comment.
+
+2009-09-29 Eric Blake <ebb9@byu.net>
+
+ * syscalls.cc (rename): Fix regression in rename("dir","d/").
+
+2009-09-29 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_socket.cc (fhandler_socket::recv_internal): Always call
+ WSARecv on SOCK_STREAM sockets.
+
+2009-09-28 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (class dev_console): Constify charset parameter of
+ str_to_con.
+ * fhandler_console.cc (dev_console::con_to_str): Simplify. Always
+ default to the current internal locale.
+ (dev_console::get_console_cp): Always use codepage 437 for alternate
+ charset.
+ (dev_console::str_to_con): Constify charset parameter.
+ (fhandler_console::write_normal): Always use codepage 437 for alternate
+ charset. Otherwise always default to the current internal locale.
+ Replace ASCII SO with ASCII CAN.
+ * strfuncs.cc: Tweak comments according to below changes.
+ (sys_cp_wcstombs): Constify charset parameter. Convert all wchar_t
+ values in the Unicode private use area U+F0xx to the singlebyte
+ counterpart. Drop special handling creating ASCII SO sequence from
+ U+DCxx value. Rearrange for performance. Replace ASCII SO with
+ ASCII CAN.
+ (sys_cp_mbstowcs): Constify charset parameter. Replace ASCII SO with
+ ASCII CAN. Drop special case for U+DCxx ASCII SO sequences. Always
+ create a replacement from the Unicode private use area U+F0xx for
+ invalid byte values in a multibyte sequence. Do the same for wchar_t
+ values from the U+F0xx range to make them roundtrip safe.
+ * wchar.h (sys_cp_wcstombs): Constify charset parameter.
+ (sys_cp_mbstowcs): Ditto.
+
+2009-09-28 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygheap.cc (cygheap_init): Default locale.charset to "UTF-8".
+ * dcrt0.cc (dll_crt0_1): Call setlocale (LC_CTYPE, "") here, just
+ before resetting application locale to "C".
+ * environ.cc (environ_init): Drop code setting locale here.
+ * syscalls.cc (check_codepage): Break out check for required codepage
+ from internal_setlocale.
+ (internal_setlocale): Just convert CWD and $PATH from old charset to
+ new charset and set internal charset.
+ (setlocale): Change accordingly. Don't require LC_ALL or LC_CTYPE to
+ store old locale value. Always call internal_setlocale if charset
+ changed due to locale environment changes.
+
+2009-09-26 Eric Blake <ebb9@byu.net>
+
+ * exec.cc (fexecve): New function.
+ * cygwin.din (execvpe, fexecve): Export new fexecve and existing
+ execvpe.
+ * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
+ * posix.sgml: Mention them.
+
+2009-09-26 Eric Blake <ebb9@byu.net>
+
+ * syscalls.cc (link): Delete obsolete comment. Reject directories
+ and missing source up front.
+ (rename): Use correct errno for trailing '.'. Detect empty
+ strings. Allow trailing slash to newpath iff oldpath is
+ directory.
+ * dir.cc (mkdir): Reject dangling symlink with trailing slash.
+ * fhandler_disk_file.cc (fhandler_disk_file::link): Reject
+ trailing slash.
+ * fhandler.cc (fhandler_base::link): Match Linux errno.
+
+2009-09-25 Eric Blake <ebb9@byu.net>
+
+ * syscalls.cc (fchmodat): lchmod is not yet implemented.
+ (euidaccess): New function.
+ * path.cc (realpath): Update comment.
+ (canonicalize_file_name): New function.
+ * include/cygwin/stdlib.h (canonicalize_file_name): Declare it.
+ * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
+ * cygwin.din: Export canonicalize_file_name, eaccess, euidaccess.
+ * posix.sgml: Mention them.
+
+2009-09-25 Eric Blake <ebb9@byu.net>
+
+ * fhandler.h (fhandler_base::fhaccess): Add parameter.
+ * security.h (check_file_access, check_registry_access): Likewise.
+ * security.cc (check_file_access, check_registry_access)
+ (check_access): Implement new parameter.
+ * fhandler.cc (fhandler_base::fhaccess): Likewise.
+ (device_access_denied): Update caller.
+ * syscalls.cc (access, faccessat): Update callers.
+ * spawn.cc (find_exec, fixup): Likewise.
+
+2009-09-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * posix_ipc.cc (mq_open): Avoid closing the same descriptor twice in
+ case of errors.
+ (sem_open): Ditto.
+
+2009-09-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * kernel32.cc (CreateMutexW): Use correct access mask.
+ (CreateSemaphoreW): Ditto.
+
+2009-09-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc (__set_charset_from_codepage): Fetch current ANSI
+ codepage if cp is 0.
+
+2009-09-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc (sys_cp_wcstombs): Convert lone surrogate pair
+ second halves to unambiguous ASCII SO sequence. When converting
+ chars invalid in current codepage to ASCII SO sequence, make
+ sure to check for surrogate pair second half only if at least
+ one wide characters is left. Decrement nwc if valid second half has
+ been converted.
+ (sys_cp_mbstowcs): Improve ASCII SO handling. Never break from loop
+ if invalid character has been found. Recognize ASCII SO sequence
+ representing originally invalid mulitbyte char converted into a
+ lone surrogate pair second half. Convert accordingly.
+
+2009-09-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * autoload.cc (WSARecv): Define.
+ * fhandler_socket.cc (fhandler_socket::recv_internal): Call WSARecv
+ instead of WSARecvFrom if no name parameter is given. Explain why.
+
+2009-09-22 Eric Blake <ebb9@byu.net>
+
+ * syscalls.cc (faccessat): Fix typo, reject bad flags.
+ (fchmodat, fchownat, fstatat, utimensat, linkat, unlinkat): Reject
+ bad flags.
+
+2009-09-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc (sys_cp_mbstowcs): Reset shift state after handling
+ invalid multibyte sequence.
+
+2009-09-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (symlink_worker): Rework error handling to generate Linux
+ compatible errno in case of trailing slash in newpath.
+
+2009-09-22 Eric Blake <ebb9@byu.net>
+
+ * dtable.h (OPEN_MAX_MAX): New macro.
+ * resource.cc (getrlimit) [RLIMIT_NOFILE]: Use it.
+ * dtable.cc (dtable::extend): Likewise.
+ * fcntl.cc (fcntl64): Obey POSIX rule with too-large F_DUPFD.
+ * syscalls.cc (dup2): Likewise.
+
+2009-09-21 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygheap.h (cwdstuff::get_posix): Convert to const inline method just
+ returning pointer to posix path.
+ (cwdstuff::reset_posix): Convert to non-inline method taking a wchar_t
+ pointer.
+ * path.cc (cwdstuff::set): Revert change from 2009-05-13. Set posix
+ to valid incoming path again.
+ (cwdstuff::reset_posix): New implementation setting posix path from
+ incoming wchar_t path. Explain usage.
+ (cwdstuff::get_posix): Drop implementation.
+ (cwdstuff::get): Drop special case to handle empty posix path.
+ * syscalls.cc (internal_setlocale): Store old posix cwd as wide char
+ path. Restore posix cwd using new charset. Explain why.
+
+2009-09-21 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::link): Drop faking hardlink
+ creation on filesystems not supporting hardlinks.
+
+2009-09-20 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * dcrt0.cc (dll_crt0_1): Add another hack to REALLY make sure that
+ cxx_malloc is always set to the cygwin version.
+
+2009-09-20 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * external.cc (cygwin_internal): Add hack to always reset cxx_malloc to
+ proper value.
+
+ * lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Relocate wayward
+ comment.
+
+2009-09-19 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * exceptions.cc (sigpacket::process): Explicitly set thread-specific
+ handler function to zero to avoid transferring to incorrect location.
+ (_cygtls::call_signal_handler): Don't transfer to handler if there is
+ no handler to transfer to.
+
+2009-09-18 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * exceptions.cc (sigpacket::process): Give sigwait() processing
+ precedence even when a handler is present.
+
+ * syscalls.cc (getpagesize): Change return to 'int'.
+
+2009-09-16 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * ntea.c (write_ea): Don't abort if not-samba.
+
+2009-09-01 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * select.cc (peek_console): Always check window size when there is ANY
+ keyboard activity.
+
+2009-08-26 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.h (INTERIX_SYMLINK_COOKIE): Define.
+ * path.cc (symlink_info::check_sysfile): Read Interix symlinks as well.
+
+2009-08-26 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.cc (fhandler_base::open): Only set R/O attribute if ACLs
+ are not used.
+
+2009-08-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * mount.cc (fs_info::update): Add comment.
+ * path.cc (symlink_info::check_reparse_point): Return -1 for volume
+ mount points. Explain why.
+ (symlink_info::check): Call fs.update again for volume mount points.
+ Explain why.
+
+2009-08-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * globals.cc (ro_u_volume): New R/O unicode string.
+ * path.cc (symlink_info::check_reparse_point): Fix check for volume
+ mount points to work on Vista and later as well.
+
+2009-08-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc (__set_charset_from_codepage): Add codepages 20866
+ (KOI8-R) and 21866 (KOI8-U).
+
+2009-08-21 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * dll_init.h (has_dtors): New flag.
+ (run_dtors): New wrapper function which avoids calling dtors more than
+ once.
+ * dll_init.cc (dll_global_dtors): Use dll.run_dtors wrapper.
+ (dll_list::detach): Ditto.
+ (dll_list::alloc): Set has_dtors flag.
+
+2009-08-21 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fcntl.cc (fcntl64): Detect negative fd as error.
+
+2009-08-21 Corinna Vinschen <corinna@vinschen.de>
+
+ * mmap.cc (mmap64): Allocate fh_disk_file on cygheap. Delete
+ explicitely before returning.
+
+2009-08-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * dtable.cc (build_fh_dev): Take additional bool parameter indicating
+ whether set_name should be called or not.
+ (dtable::dup_worker): Call build_fh_pc with new second parameter set
+ to false. Explain why. If fhandler's dup failed, delete rather than
+ cfree newfh and set newfh to NULL to indicate failure correctly.
+ * dtable.h (build_fh_pc): Change declaration according to above change.
+ Default set_name parameter to true.
+ * mmap.cc (mmap_record::free_fh): Delete rather than cfree fh.
+
+2009-08-18 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * dtable.cc (dtable::fixup_after_exec): Close any popen'ed file handles here.
+ * fhandler.h (fhandler_*::ispipe): New function.
+ (fhandler_base::get_popen_pid): Define virtual function.
+ (fhandler_*::isdevice): Make const.
+ (fhandler_*::isfifo): Ditto.
+
+2009-08-17 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * syscalls.cc (popen): Reorganize slightly for clarity. Fix a comment.
+
+2009-08-17 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * syscalls.cc (popen): Rewrite to accommodate situations where stdin,
+ stdout, or stderr are closed.
+
+2009-08-17 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * pipe.cc (fhandler_pipe::create_selectable): Add -pipe to default pipe names.
+
+ * lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Use bool/true/false
+ for what is actually a boolean variable.
+
+2009-08-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix length
+ check for ".." dir.
+
+2009-08-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::readdir): Change comment
+ to be fair.
+
+2009-08-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Remove
+ ill-advised attempt to optimize "." and ".." handling by checking for
+ specific position in directory listing. Explain why.
+ (fhandler_disk_file.cc (fhandler_disk_file::readdir): Ditto.
+ Special-case opening file on NFS to fetch inode number and add longish
+ comment to explain why.
+
+2009-08-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * (fhandler_socket::getsockname): Fix length returned for unbound
+ AF_LOCAL sockets.
+ (fhandler_socket::getpeername): Ditto.
+ * net.cc (socketpair): Don't set sun_path and peer_sun_path to
+ make sure getsockname and getpeername return the correct values
+ for AF_LOCAL sockets.
+
+2009-08-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_socket.cc (fhandler_socket::accept): Use sizeof rather
+ then constant size. Truncate returned data, but return full address
+ length as per POSIX.
+ (fhandler_socket::getsockname): Truncate returned data, but return full
+ address length as per POSIX.
+ (fhandler_socket::getpeername): Ditto.
+
+2009-08-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (class fhandler_socket): Add peer_sun_path member.
+ (fhandler_socket::set_peer_sun_path): New method.
+ (fhandler_socket::get_peer_sun_path): New method.
+ * fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize
+ peer_sun_path to NULL.
+ (fhandler_socket::~fhandler_socket): Free peer_sun_path if necessary.
+ (fhandler_socket::dup): Duplicate peer_sun_path.
+ (fhandler_socket::accept): Ditto. Return fake unbound peer content
+ and len in case of AF_LOCAL sockets.
+ (fhandler_socket::getsockname): Always use local sockaddr_storage to
+ store socket address and copy over to incoming address. Handle every
+ namelen correctly per POSIX.
+ (fhandler_socket::getpeername): Ditto. Add code path to return
+ correct value for AF_LOCAL sockets.
+ (fhandler_socket::set_peer_sun_path): New method.
+ * net.cc (socketpair): Set peer_sun_path to empty string, just like
+ sun_path.
+
+2009-08-13 Corinna Vinschen <corinna@vinschen.de>
+ Dave Korn <dave.korn.cygwin@googlemail.com>
+
+ * cxx.cc (default_cygwin_cxx_malloc): Enhance commenting.
+ * dll_init.cc (dll_dllcrt0_1): Likewise.
+ * dlfcn.cc (dlopen): Prevent dlopen()'d DLL from installing any
+ cxx malloc overrides.
+ * include/cygwin/cygwin_dll.h (__dynamically_loaded): New variable.
+ * lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Check it and only
+ install cxx malloc overrides when statically loaded. Extend comments.
+
+2009-08-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_socket.cc (fhandler_socket::accept): Always use local
+ sockaddr_storage to store peer address and copy over to incoming
+ peer address if available. Truncate data as necessary according
+ to POSIX.
+
+2009-08-11 Corinna Vinschen <corinna@vinschen.de>
+
+ * include/limits.h (NGROUPS_MAX): Set to a more sane value.
+ * include/sys/param.h (NGROUPS): Ditto.
+
+2009-08-10 Corinna Vinschen <corinna@vinschen.de>
+
+ * spawn.cc (av::fixup): Check shell scripts for executability only on
+ filesystems/mounts supporting real permissions.
+
+2009-08-10 Corinna Vinschen <corinna@vinschen.de>
+
+ * dtable.cc (DEV_SOCKET): New static WCHAR string. Name of
+ the native NT socket device.
+ (dtable::init_std_file_from_handle): Remove unused tmp_pathbuf
+ variable. Move check for sockets into FILE_TYPE_PIPE clause.
+ Rely on handle_to_fn having recognized socket, or check if
+ getsockopt works to accommodate NT4 shortcoming.
+ (handle_to_fn): Use tmp_pathbuf for OBJECT_NAME_INFORMATION
+ buffer and simplify code due to that. Check name returned by
+ NtQueryObject for socket device.
+
+2009-08-10 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler_console.cc (create_invisible_console_workaround): Fix size
+ of cmd in the way originally intended.
+
+2009-08-10 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_console.cc (create_invisible_console_workaround): Fix
+ size of cmd to take spaces into account.
+
+2009-08-08 Corinna Vinschen <corinna@vinschen.de>
+
+ * dtable.cc (dtable::init_std_file_from_handle): Fix comment to
+ document change in the Windows 7 workaround.
+ * wincap.cc (wincapc::init): Don't set has_console_handle_problem
+ to false on 32 bit systems.
+
+2009-08-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * net.cc (cygwin_getnameinfo): Force setting NI_NUMERICSERV only
+ on Windows 2003 and earlier, only if the port number doesn't
+ resolve to a well-known service. Change comment accordingly.
+
+2009-08-05 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * cygheap.h (cygheap_debug::endh): Delete.
+ * debug.cc (lock_debug::acquired): Delete.
+ (lock_debug::lock_debug): Simplify.
+ (lock_debug::unlock): Ditto.
+ (find_handle): Don't set endh here.
+ (add_handle): Add new handle to beginning of the list rather than
+ trying to maintain an end list pointer.
+ (delete_handle): Minor optimization.
+ (mark_closed): Make logic clearer.
+ (verify_handle): Lock handle list before scanning.
+ (setclexec): Ditto.
+ (modify_handle): Ditto.
+ (newh): Don't lock handle list here. Assume caller did this.
+ (mark_closed): Ditto.
+ (close_handle): Remove unneeded #if.
+ * dtable.cc (dtable::dup2): Tweak debug output.
+
+2009-08-04 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * path.cc (patch_conv::check): Zero path before setting it.
+
+2009-08-04 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler_socket.cc (fhandler_socket::send_internal): Just use wmem
+ size if the length exceeds it.
+ * net.cc (fdsock): Use 65535 as window size, just like the comment
+ says or we run into problems with DuplicateHandle.
+
+ * path.cc (patch_conv::check): Use set_path to set invalid filename.
+ * path.h (path_conv::path_conv): Ditto.
+
+2009-08-04 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler.h (pdrive_buf): Defensively allocate one extra byte.
+
+2009-08-04 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler.h (fhandler_cygdrive:DRVSZ): New enum.
+ (pdrive_buf): New place to hold information about cygdrive.
+ * fhandler_disk_file.cc (fhandler_cygdrive::set_drives): Store drive
+ info in pdrive_buf since get_win32_name() could now be too small to
+ hold everything.
+ (fhandler_cygdrive::rewinddir): Reset pdrive to pdrive_buf.
+ (fhandler_cygdrive::closedir): Ditto.
+ * pipe.cc (fhandler_pipe::init): Be more defensive when referencing
+ get_win32_name(). Rework logic which made a copy of the POSIX path and
+ then never used it.
+
+2009-08-02 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * sigproc.cc (stopped_or_terminated): Don't return a match when stopsig
+ == SIGCONT and not WCONTINUED.
+ * termios.cc (tcsetpgrp): Improve debugging output.
+
+2009-08-01 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * cygheap_malloc.h: New file.
+ * cygheap.h: Remove stuff now included in cygheap_malloc.h and include
+ that file. Make cygheap_init a standard c++ function. Remove unneeded
+ child_info declaration.
+ * path.h: Include cygheap_malloc.h. Remove extra cstrdup declaration.
+ (path_conv): Reorganize to group variables together.
+ (path_conv::path): Make const char *.
+ (path_conv::known_suffix): Ditto.
+ (path_conv::normalized_path): Ditto.
+ (path_conv::path_conv): Reorganize initializers to reflect new element
+ ordering.
+ (path_conv::get_win32): Change return value to const char *.
+ (path_conv::set_path): Move back here from spawn.cc.
+ (parh_conv::modifiable_path): New function.
+ * path.cc (path_conv::add_ext_from_sym): Accommodate const'ness of
+ known_suffixes.
+ (path_conv::set_normalized_path): Ditto for normalized_path.
+ (path_conv::check): Use modifiable_path whereever we need to modify the
+ path element. Use set_path to set the path.
+ (path_conv::~path_conv): Accommodate new const'ness.
+ * spawn.cc (perhaps_suffix): Declare ext as const since that's what is
+ being returned.
+ (path_conv::set_path): Move back to path.h.
+ * winf.f (linebuf): Perform minor cleanup.
+ (linebuf::fromargv): Change second parameter to const.
+ * winf.cc (linebuf::fromargv): Ditto.
+
+2009-08-01 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * path.h (path_conv::set_path): Change return value.
+ * spawn.cc (path_conv::set_path): Return newly set value.
+ (find_exec): Set retval to newly set value when calling set_path.
+
+2009-07-31 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * spawn.cc (find_exec): Fix one more path where retval was not set.
+
+2009-07-31 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * spawn.cc (find_exec): Stop relying on the ability to set retval to a
+ fixed path_conv buffer and set it on the fly instead.
+
+2009-07-30 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.h (cstrdup): Fix declaration.
+
+2009-07-29 Dave Korn <dave.korn.cygwin@googlemail.com>
+
+ * globals.cc (enum exit_states::ES_GLOBAL_DTORS): Delete.
+ * dcrt0.cc (__main): Schedule dll_global_dtors to run
+ atexit before global dtors.
+ (do_exit): Delete test for ES_GLOBAL_DTORS and call to
+ dll_global_dtors.
+
+2009-07-29 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.h (class path_conv): Convert path from char array to char *.
+ Initialize to NULL in constructors. Drop normalized_path_size member.
+ (path_conv::size): Remove.
+ (path_conv::operator =): Always copy with sizeof path_conv. Always
+ duplicate path on cygheap.
+ (path_conv::set_path): Move implementation to spawn.cc.
+ * path.cc (path_conv::set_normalized_path): Always allocate
+ normalized_path on cygheap.
+ (path_conv::check): Don't work on path, rather allocate THIS_path in
+ TLS and use it throughout. When finished, allocate path on cygheap
+ and copy over. Defer tacking on extension after having copied path.
+ * spawn.cc (path_conv::set_path): Implement here.
+
+2009-07-27 Corinna Vinschen <corinna@vinschen.de>
+
+ * mount.h (enum fs_info_type): New type.
+ (IMPLEMENT_FS_FLAG): New define.
+ (class fs_info): Convert filesystem type status flags into an enum
+ fs_info_type. Add cifs FS. Revert change to has_buggy_open and
+ has_buggy_fileid_dirinfo. Make them normal; status flags again.
+ Implement is_FS functions using IMPLEMENT_FS_FLAG.
+ * mount.cc (fs_info::update): Define MINIMAL_WIN_NTFS_FLAGS and
+ FS_IS_WINDOWS_NTFS. Add comment. Only test remote filesystems
+ for "NTFS" once. Add is_cifs check using FS_IS_WINDOWS_NTFS.
+ Set has_buggy_open flag for SUNWNFS. Set has_buggy_fileid_dirinfo
+ flag for UNIXFS and all cifs type filesystems. Only check for
+ caseinsensitivity once.
+ (fillout_mntent): Create locale fs_names array. Use for setting
+ _my_tls.locals.mnt_type.
+
+2009-07-27 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+
+ * posix.sgml (std-notes): Remove obsolete reference to CYGWIN=server.
+
+2009-07-25 Corinna Vinschen <corinna@vinschen.de>
+
+ * posix.sgml (std-notes): Add flock restriction.
+
+2009-07-25 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_console.cc (set_console_title): Set buffer size to
+ TITLESIZE + 1. Call sys_mbstowcs with correct destination length.
+
+2009-07-24 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * sigproc.h (wait_for_sigthread): Eliminate parameter.
+ * sigproc.cc (wait_for_sigthread): Ditto. Don't synchronize with
+ wait_sig after receiving an event that it is ready to go.
+ (init_sig_pipe): New function.
+ (wait_sig): Call init_sig_pipe to create pipes for communicating
+ signals to this process. Don't send sigCONT signal when initializing.
+ * fork.cc (frok::child): Accommodate wait_for_sigpipe parameter change.
+
+2009-07-24 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler.h (fhandler_*::write): Make ssize_t/__stdcall.
+ (fhandler_*::write_overlapped): Ditto.
+ (fhandler_*::raw_write): Ditto.
+ (fhandler_*::readv): Ditto.
+ (fhandler_*::writev): Ditto.
+ (fhandler_*::raw_read): Make __stdcall.
+ * fhandler: Accommodate changes to read/write functions throughout.
+ * fhandler_clipboard.cc: Ditto.
+ * fhandler_console.cc: Ditto.
+ * fhandler_dsp.cc: Ditto.
+ * fhandler_fifo.cc: Ditto.
+ * fhandler_mailslot.cc: Ditto.
+ * fhandler_mem.cc: Ditto.
+ * fhandler_mem.cc: Ditto.
+ * fhandler_random.cc: Ditto.
+ * fhandler_tape.cc: Ditto.
+ * fhandler_tty.cc: Ditto.
+ * fhandler_virtual.cc: Ditto.
+ * fhandler_windows.cc: Ditto.
+ * fhandler_zero.cc: Ditto.
+ * syscalls.cc (readv): Use ssize_t as temp variable.
+
+ * fhandler.cc (fhandler_base::read): Coerce returned len to signed or
+ it will never be treated as < 0.
+ (fhandler_base::wait_overlapped): Minimize calls to GetLastError.
+ Remove duplicate debugging test. Fix error return.
+
+ * fhandler.h (fhandler_fifo::fifo_name): Declare new function.
+ (fhandler_fifo::close): Ditto.
+ (fhandler_fifo::dup): Ditto.
+ (fhandler_fifo::close_on_exec): Ditto.
+ * fhandler.cc (fhandler_fifo::fifo_name): Define new function.
+ (FIFO_BUF_SIZE): New define.
+ (cnp): Ditto.
+ (fhandler_fifo::open): Rework. Use cnp to open named pipe. Always
+ open write side as a client. Open dummy client when writing and can't
+ connect.
+ (wait): Rework. Implement fifo_wait_for_next_client. Handle signals
+ during connect better. Add new fifo_wait_for_server code which polls
+ (sigh) waiting for server.
+ (fhandler_fifo::raw_read): Handle transition states when one client
+ closes and another is available.
+ (fhandler_fifo::close): Define.
+ (fhandler_fifo::dup): Ditto.
+ (fhandler_fifo::close_on_exec): Ditto.
+
+2009-07-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (internal_setlocale): Fix typo in GBK codepage.
+
+2009-07-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (unlink_nt): Ignore sharing violation on NFS. Align
+ comments.
+
+2009-07-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * mount.h (fs_info::fsn): New member.
+ (fs_info::clear): Clear fsn.
+ (fs_info::fsname): New read accessor for fsn.
+ * mount.cc (fs_info::update): Fill in fsn member with lowercased
+ filesystem name if filesystem is not well-known. Fall back to
+ "unknown" if filesystem name is missing.
+ (fillout_mntent): Print filesystem name retrieved in fs_info::update
+ rather than static string "unknown".
+
+2009-07-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * mount.cc (fs_info::update): Revert to open filesystem with access set
+ to READ_CONTROL. If that fails, try additionally with FILE_READ_DATA.
+
+2009-07-22 Eric Blake <ebb9@byu.net>
+
+ * exceptions.cc (handle_exceptions): Set si_addr according to
+ POSIX for SIGSEGV.
+
+2009-07-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * mount.cc (fs_info::update): Open filesystem with access set to 0.
+ Explain why.
+
+2009-07-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * mount.cc: Revert accidental checkin.
+
+2009-07-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (symlink_info::check): Handle STATUS_NOT_SUPPORTED from
+ NtCreateFile just like STATUS_EAS_NOT_SUPPORTED.
+
+2009-07-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * mount.cc (fillout_mntent): Fix typo (noexec -> notexec).
+
+2009-07-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (symlink_info::check): Fix typo in comment.
+
+2009-07-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (enum del_lock_called_from): New enumeration.
+ (fhandler_base::del_my_locks): Declare taking a del_lock_called_from
+ as argument.
+ * fhandler.cc (fhandler_base::close): Call del_my_locks with "on_close".
+ (fhandler_base::fixup_after_fork): Call del_my_locks with "after_fork".
+ (fhandler_base::fixup_after_exec): Call del_my_locks with "after_exec".
+ * flock.cc (fhandler_base::del_my_locks): Take del_lock_called_from
+ as argument. Call node->del_my_locks with NULL handle in after_exec
+ case. Explain why.
+
+2009-07-21 Eric Blake <ebb9@byu.net>
+
+ * dtable.cc (dup2): Correct return value for no-op.
+
+2009-07-21 Corinna Vinschen <corinna@vinschen.de>
+ Eric Blake <ebb9@byu.net>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Add special case
+ for MVFS. Explain why.
+ (fhandler_disk_file::utimens): Drop local variables lastaccess and
+ lastwrite. Copy timestamps right into FILE_BASIC_INFORMATION structure
+ to avoid copying them twice.
+
+2009-07-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * wincap.h (wincaps::has_always_all_codepages): New element.
+ * wincap.cc: Implement above element throughout.
+ * wchar.h (__sjis_mbtowc): Declare.
+ (__eucjp_mbtowc): Ditto.
+ (__gbk_mbtowc): Ditto.
+ (__kr_mbtowc): Ditto.
+ (__big5_mbtowc): Ditto.
+ * syscalls.cc (internal_setlocale): Convert to char * function.
+ Return parameter by default. Return NULL if request to use a
+ charset can't be satisfied due to missing codepage support in the
+ underlying OS. Fix comment.
+ (setlocale): Store original locale. Restore to original locale if
+ internal_setlocale returns NULL.
+
+2009-07-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * fork.cc (fork): Create local tmp_pathbuf. Explain why.
+
+2009-07-18 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * exceptions.cc (sig_handle_tty_stop): Set stopsig to SIGCONT when
+ continuing.
+ (stopped_or_terminated): Honor WCONTINUED.
+ * wait.cc (wait4): Ditto.
+ * include/cygwin/wait.h (WCONTINUED): Define.
+ (__W_CONTINUED): Ditto.
+ (WIFCONTINUED): Ditto.
+
+2009-07-18 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * libstdcxx_wrapper.cc (operator delete): Remove stray space in
+ asm name.
+
+2009-07-17 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * cygtls.cc (_cygtls::init_exception_handler): Test for e, not e->prev
+ or we could still end up adding our handler twice. Add comment
+ explaining what we're doing.
+ * dll_init.cc (dll_dllcrt0_1): Clarify comment.
+
+2009-07-17 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * cygtls.cc (_cygtls::init_exception_handler): Avoid adding our
+ exception handler twice.
+
+2009-07-17 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (unlink_nt): Just return when a sharing violation
+ occurs on remote filesystems.
+
+2009-07-17 Corinna Vinschen <corinna@vinschen.de>
+
+ * globals.cc: Improve comment on R/O UNICODE_STRINGs.
+ * mount.h (class fs_info): Add is_mvfs bit.
+ * mount.cc (fs_info::update): Recognize MVFS remote filesystem.
+ (fillout_mntent): Reorder filesystem checks for speed. Add
+ mvfs, unixfs, and sunwnfs filesystem types.
+ * path.h (class path_conv): Add fs_is_mvfs method.
+ * path.cc (symlink_worker): On MVFS, always create symlinks as
+ Windows shortcuts. Explain why.
+
+2009-07-16 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (unlink_nt): First remove the R/O DOS attribute with
+ FILE_WRITE_ATTRIBUTES access only, then re-open the file for DELETE.
+ Explain why.
+
+2009-07-16 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Remove file
+ attribute check already done in NtSetAttributesFile.
+
+2009-07-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * globals.cc: Reorder constant UNICODE_STRINGs for clarity.
+ * mount.h (fs_info::sttaus): Move filesystem type flags into
+ substructure. Add union to allow simple test for having set any
+ one filesystem type flag. Replace has_buggy_open flag with is_sunwnfs
+ flag. Replace has_buggy_fileid_dirinfo with is_unixfs flag.
+ (fs_info::got_fs): New private method.
+ (fs_info::has_buggy_open): New explicit implementation.
+ (fs_info::has_buggy_fileid_dirinfo): Ditto.
+ * mount.cc (fs_info::update): Optimize filesystem checks for speed.
+ * winsup.h (IMPLEMENT_STATUS_FLAG): Change write accessor to return
+ value just set.
+
+2009-07-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_netdrive.cc (GET_RESOURCE_INFO): Remove.
+ (thread_netdrive): Drop GET_RESOURCE_INFO case.
+ (fhandler_netdrive::exists): Use GET_RESOURCE_OPENENUM info class
+ to check for existance.
+
+2009-07-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_netdrive.cc (fhandler_netdrive::readdir): Remove useless
+ alloca.
+
+2009-07-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (cwdstuff::set): Only fix up UNC path in win32 so as not
+ to overwrite incoming path.
+
+2009-07-14 Corinna Vinschen <corinna@vinschen.de>
+
+ Throughout avoid having to initialize constant UNICODE_STRINGs.
+ * globals.cc: Define constant UNICODE_STRINGs and store in .rdata
+ section.
+ * fhandler_disk_file.cc: Throughout, use readonly UNICODE_STRINGs
+ rather then initializing local UNICODE_STRING variable where
+ applicable.
+ * fhandler_mem.cc (fhandler_dev_mem::open): Ditto.
+ * flock.cc (inode_t::inode_t): Ditto.
+ * mmap.cc: Ditto.
+ * syscalls.cc: Ditto.
+ * mount.cc (fs_info::update): Ditto.
+ * path.cc: Ditto.
+
+ * ntdll.h (RtlEqualUnicodePathPrefix): Redefine to take prefix as
+ UNICODE_STRING.
+ (RtlEqualUnicodePathSuffix): Redefine to take suffix as UNICODE_STRING.
+ * fhandler_disk_file.cc: Accommodate throughout.
+ * mount.cc (fs_info::update): Ditto.
+ * path.cc (cwdstuff::set): Ditto.
+ * syscalls.cc: Ditto.
+
+2009-07-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * globals.cc (active_codepage): Remove.
+
+2009-07-12 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * how-spawn-works.txt: Add "out of date" note.
+ * how-vfork-works.txt: Ditto.
+
+2009-07-12 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * Makefile.in: Don't do anything special with any RCS directories.
+
+ * ntdll.h (PROCESSINFOCLASS): Remove unneeded trailing comma.
+
+ * pinfo.cc (_pinfo::dup_proc_pipe): Remove unneeded assignment.
+
+ * sigproc.cc (sig_send): Don't send signal to myself if this is an exec
+ stub.
+
+2009-07-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Don't use
+ FileAllInformation info class since it needs a big buffer. Add a
+ comment.
+
+2009-07-07 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * winbase.h (ilockexch): Avoid making 'ret' volatile.
+ (ilockcmpexch): Likewise.
+
+2009-07-07 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * Makefile.in (DLL_OFILES): Add libstdcxx_wrapper.o
+ (libstdcxx_wrapper_CFLAGS): Add flags for new module.
+ (_cygwin_crt0_common_STDINCFLAGS): Define per-file override.
+ (libstdcxx_wrapper_STDINCFLAGS, cxx_STDINCFLAGS): Likewise.
+ * cxx.cc: Include "cygwin-cxx.h".
+ (operator new): Tweak prototype for full standards compliance.
+ (operator new[]): Likewise.
+ (operator new (nothrow)): New fallback function.
+ (operator new[] (nothrow), operator delete (nothrow),
+ operator delete[] (nothrow)): Likewise.
+ (default_cygwin_cxx_malloc): New struct of pointers to the above,
+ for final last-resort fallback default.
+ * cygwin-cxx.h: New file.
+ (struct per_process_cxx_malloc): Define.
+ (default_cygwin_cxx_malloc): Declare extern.
+ * cygwin.din (__wrap__ZdaPv): Export new wrapper.
+ (__wrap__ZdaPvRKSt9nothrow_t, __wrap__ZdlPv,
+ __wrap__ZdlPvRKSt9nothrow_t, __wrap__Znaj,
+ __wrap__ZnajRKSt9nothrow_t, __wrap__Znwj,
+ __wrap__ZnwjRKSt9nothrow_t): Likewise.
+ * globals.cc (__cygwin_user_data): Init newly-repurposed 'forkee'
+ field (now 'cxx_malloc') to point to default_cygwin_cxx_malloc.
+ * libstdcxx_wrapper.cc: New file.
+ (__wrap__ZdaPv, __wrap__ZdaPvRKSt9nothrow_t, __wrap__ZdlPv,
+ __wrap__ZdlPvRKSt9nothrow_t, __wrap__Znaj,
+ __wrap__ZnajRKSt9nothrow_t, __wrap__Znwj,
+ __wrap__ZnwjRKSt9nothrow_t): Define wrapper functions for libstdc++
+ malloc operators and their overrides.
+ * winsup.h (default_cygwin_cxx_malloc): Declare extern.
+ * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
+ * include/sys/cygwin.h (struct per_process_cxx_malloc): Forward
+ declare here.
+ (struct per_process::forkee): Rename and repurpose from this ...
+ (struct per_process::cxx_malloc): ... to this.
+ * lib/_cygwin_crt0_common.cc: Include cygwin-cxx.h.
+ (WEAK): Define shorthand helper macro.
+ (__cygwin_cxx_malloc): Define and populate with weak references
+ to whatever libstdc++ malloc operators will be visible at final
+ link time for Cygwin apps and dlls.
+ (_cygwin_crt0_common): Always look up cygwin DLL's internal
+ per_process data, and don't test for (impossible) failure. Inherit
+ any members of __cygwin_cxx_malloc that we don't have overrides
+ for from the DLL's default and store the resulting overall set of
+ overrides back into the DLL's global per_process data.
+
+2009-07-07 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygtls.cc (_cygtls::remove): Fix typo.
+
+2009-07-06 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * Makefile.in (clean): Clean generated files in srcdir.
+ * tlsoffsets.h: Regenerate.
+
+2009-07-06 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * cygtls.cc (_cygtls::remove): Avoid closing a NULL handle.
+
+2009-07-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_socket.cc (fhandler_socket::recv_internal): Convert wsabuf
+ and wsacnt to references. Fix handling of WSAEMSGSIZE.
+
+2009-07-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygtls.h (struct _local_storage): Add thread storage pointers for
+ memory used by socket select functions. Combine them into a single
+ struct select.
+ * cygtls.cc: Accommodate above change throughout.
+ (_cygtls::init_thread): Drop initalizing of sockevt to
+ INVALID_HANDLE_VALUE.
+ (_cygtls::fixup_after_fork): Reset sockevt to NULL.
+ (_cygtls::remove): Don't use sockevt value to bail out prematurely.
+ Set sockevt to NULL. Free malloced select members.
+ * select.h (struct select_socket_info): Drop max_w4 member.
+ * select.cc (thread_socket): Use INFINITE timeout value if number of
+ objects to wait for is <= MAXIMUM_WAIT_OBJECTS. Use num_w4 member
+ of select_socket_info struct rather than dropped max_w4.
+ (init_tls_select_info): New inline function to initialize TLS select
+ members.
+ (start_thread_socket): Just call init_tls_select_info to initialize TLS
+ select members and use them later on.
+ (socket_cleanup): Don't free select_socket_info pointer members since
+ they are thread local now.
+
+2009-07-06 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * dtable.cc (handle_to_fn): Detect failing NtQueryObject.
+
+2009-07-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * autoload.cc: Delete stray CR.
+
+2009-07-05 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler_console.cc: Change workstation -> windows station
+ throughout.
+
+2009-07-04 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * autoload.cc (SetParent): Add new import.
+ * fhandler.h (fhandler_console::create_invisible_console): Declare new
+ function.
+ (create_invisible_console_workaround): Ditto.
+ * fhandler_console.cc (fhandler_console::create_invisible_console):
+ Define new function.
+ (create_invisible_console_workaround): Ditto. Add too much code to
+ deal with broken Windows 7. Use a helper app to start an invisible
+ console window.
+ (fhandler_console::need_invisible): Reorganize to use helper functions
+ to create invisible console.
+
+ * spawn.cc (spawn_guts): Avoid zeroing already zeroed fields in si.
+
+2009-07-04 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * autoload.cc (AttachConsole): Correct size of args.
+
+2009-07-03 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * dcrt0.cc (jit_debug): New global.
+ (initial_env): Set jit_debug when we are automatically starting a gdb
+ process.
+ * dtable.cc (dtable::get_debugger_info): Don't tty tricks when we are
+ being debugged by our own captive gdb, as determined by jit_debug ==
+ true.
+ (dtable::init_std_file_from_handle): Detect errors when initializing a
+ tty early rather than at random points later.
+ * fhandler.h (fhandler_*::init): Return int to indicate
+ success/failure.
+ * fhandler.cc (fhandler_base::init): Reflect change in return value.
+ * pipe.cc (fhandler_pipe::init): Ditto.
+ (fhandler_pipe::create_selectable): Don't say we're retrying when we
+ aren't.
+ * fhandler_console.cc (fhandler_console::init): Ditto. Return
+ success/failure.
+ * fhandler_serial.cc (fhandler_serial::init): Ditto.
+ * fhandler_tty.cc (fhandler_tty_slave::init): Ditto.
+ (fhandler_tty_slave::open): Make debugging output more detailed.
+ * tty.cc (tty_list::terminate): Don't close I/O handles before all
+ slaves have checked in.
+ (tty::slave_alive): Make a non-inlined function. Check if tty pipe
+ handles can be created as an additional exists check.
+ * tty.h (tty::slave_alive): Just define here.
+
+2009-07-03 Corinna Vinschen <corinna@vinschen.de>
+
+ * posix.sgml: Add fpurge and mkstemps to BSD list.
+
+2009-07-03 Eric Blake <ebb9@byu.net>
+
+ * cygwin.din (fpurge, mkstemps): New exports.
+ * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
+ * mktemp.cc (_gettemp): Add parameter.
+ (mkstemps): New function.
+ (mkstemp, mkdtemp, mktemp): Adjust clients.
+
+2009-07-03 Corinna Vinschen <corinna@vinschen.de>
+
+ * autoload.cc: Fix typo in comment.
+ (ShowWindowAsync): Define.
+ (AttachConsole): Define.
+ * fhandler_console.cc (fhandler_console::need_invisible): Add band-aid
+ for Windows 7 AllocConsole bug.
+
+2009-07-01 Corinna Vinschen <corinna@vinschen.de>
+
+ * net.cc (get_xp_ifs): Fix typo in comment.
+
+2009-07-01 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (class fhandler_socket): Add class members and methods
+ to store and retrieve the SO_RCVBUF and SO_SNDBUF sizes.
+ * fhandler_socket.cc (fhandler_socket::dup): Duplicate new members.
+ (fhandler_socket::send_internal): Check for SO_SNDBUF size and
+ restrict send to 1 byte less per KB 823764. Leave loop immediately
+ if WSASendMsg has been used.
+ * net.cc (fdsock): Change comment again. Set buffer sizes to 65536.
+ Store values in fhandler_socket.
+ (cygwin_setsockopt): Store SO_RCVBUF and SO_SNDBUF sizes in
+ fhandler_socket.
+ (cygwin_sendto): Drop call to sig_dispatch_pending.
+ (cygwin_recvfrom): Ditto.
+ (cygwin_recvmsg): Ditto.
+ (cygwin_sendmsg): Ditto.
+
+2009-06-30 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * select.h: New file split from fhandler.h.
+ (select_record::select_record): Define do-nothing constructor for "new"
+ to avoid gratuitous zeroing.
+ (select_info): New base class.
+ (select_pipe_info): New class with methods for dealing with pipes.
+ (select_socket_info): New class with methods for dealing with sockets.
+ (select_serial_info): Dummy class for serial.
+ (select_mailslot_info): Dummy class for mailslots.
+ (select_stuff): Define device_specific_* as actual classes rather than
+ void *.
+ * dtable.h (dtable::select_read): Accommodate return value change to
+ 'bool' and argument change to "select_stuff".
+ (dtable::select_write): Ditto.
+ (dtable::select_except): Ditto.
+ * dtable.cc (dtable::select_read): Accommodate return value change to
+ 'bool' and argument change to "select_stuff".
+ (dtable::select_write): Ditto.
+ (dtable::select_except): Ditto.
+ * fhandler.h: Excise select-related classes.
+ (fhandler_*::select_read): Change argument to select_stuff.
+ (fhandler_*::select_write): Ditto.
+ (fhandler_*::select_except): Ditto.
+ * select.cc (UNIX_FD_ZERO): Use memset rather than bzero.
+ (select_stuff::test_and_set): Change return type to bool. Allocate
+ select_record on entry and let fhandler_*::select_* operate on the
+ start.next field of select_stuff.
+ (pipeinf): Delete.
+ (select_pipe_info::select_pipe_info): New constructor. Allocates event
+ for controlling pipe waits.
+ (select_pipe_info::~select_pipe_info): New destructor. Destroy event.
+ Stop thread.
+ (select_pipe_info::add_watch_handle): New function.
+ (thread_pipe): Wait for the hEvent part of any overlapped pipes before
+ peeking.
+ (start_thread_pipe): Don't allocate device_specific_pipe stuff here.
+ Assume that it has been allocated earlier.
+ (pipe_cleanup): Rely on select_pipe_info destructor to clean up pipe
+ paraphenalia.
+ (fhandler_*::select_*): Derive select_record from new select_stuff
+ argument.
+ (fhandler_pipe::select_*): Ditto. Allocate pipe-specific field if not
+ already allocated.
+ (serialinf): Delete.
+ (thread_serial): serialinf -> select_serial_info.
+ (fhandler_base::ready_for_read): Rewrite to accommodate change in
+ argument to fhandler_*::select_*.
+ (socketinf): Delete.
+ (thread_socket): socketinf -> select_socket_info.
+ (mailslotinf): Delete.
+ (thread_mailslot): mailslotinf -> select_mailslot_info.
+
+2009-06-30 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler.cc (fhandler_base::has_ongoing_io): Accept an argument
+ indicating whether the overlapped event should be tested.
+ (fhandler_base::read_overlapped): Pass is_overlapped state to
+ has_ongoing_io.
+ (fhandler_base::write_overlapped): Ditto.
+ * fhandler.h (fhandler_base::has_ongoing_io): Accommodate argument
+ change.
+ * select.cc (peek_pipe): Ditto.
+
+2009-06-30 Corinna Vinschen <corinna@vinschen.de>
+
+ * net.cc (fdsock): Set default socket buffer sizes to 65520. Change
+ comment accordingly.
+ * fhandler_socket.cc (fhandler_socket::send_internal): Set maximum
+ send size to 65520 as well.
+
+2009-06-29 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * select.cc (peek_pipe): Turn on (temporarily?) the experimental code
+ which tries to determine when a pipe is writable.
+
+2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * select.cc (peek_pipe): Use has_ongoing_io() to determine if the pipe
+ is ready for writing rather than performing brute-force checks.
+
+2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler.h (fhandler_base::has_ongoing_io): Declare new function.
+ * fhandler.cc (fhandler_base::has_ongoing_io): Define new function.
+ (fhandler_base::read_overlapped): Use has_ongoing_io to avoid writing
+ when handle has not completed last I/O.
+ (fhandler_base::write_overlapped): Ditto.
+ * select.cc (peek_pipe): Be more careful about accessing hEvent field
+ from get_overlapped().
+
+2009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * gendef (cleanup): Rename from 'nocr'. Remove comments and trailing
+ spaces.
+ * cygwin.din: Add long-needed comment describing what
+ dll_crt0__FP11per_process demangles to.
+
+ * select.cc (peek_pipe): Flag handle as not ready for write if event is
+ not signalled.
+ * fhandler.cc (fhandler_base::setup_overlapped): Establish event as
+ already signalled.
+ (fhandler_base::wait_overlapped): Don't reset event after we've
+ successfully waited. MSDN documentation says that this happens
+ automatically after a WriteFileEx/ReadFileEx.
+
+2009-06-26 Corinna Vinschen <corinna@vinschen.de>
+
+ * wincap.h (wincaps::has_broken_alloc_console): New element.
+ * wincap.cc: Implement above element throughout.
+
+2009-06-25 Corinna Vinschen <corinna@vinschen.de>
+
+ * sec_auth.cc (lsaauth): Close unused handle.
+ (lsaprivkeyauth): Ditto.
+
+2009-06-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * sec_auth.cc (get_server_groups): Ignore errors from
+ get_user_local_groups.
+
+2009-06-22 Corinna Vinschen <corinna@vinschen.de>
+
+ * spawn.cc (spawn_guts): Don't run additional check for Win32
+ incompatible CWD if newargv.fixup bailed out already.
+ (av::fixup): Check shell scripts for executability.
+
+2009-06-18 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (chdir): Check error conditions first.
+
+2009-06-17 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_socket.cc (fhandler_socket::recv_internal): Mark WSARecvMsg
+ as NO_COPY.
+
+2009-06-16 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler.cc (fhandler_base::read_overlapped): Use a better variable
+ name.
+
+2009-06-16 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler.cc (fhandler_base::read_overlapped): Preserve len when
+ looping due to received signal.
+
+2009-06-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * net.cc (get_flags): New static function to generate interface flags
+ value.
+ (get_ipv4fromreg_ipcnt): New static function to fetch number of
+ configured IPv4 addresses for a given NIC from registry.
+ (get_ipv4fromreg): New static function to fetch configured IPv4
+ addresses for a given NIC from registry.
+ (get_friendlyname): New static function to generate friendly name.
+ (get_hwaddr): New static function to copy hardware address.
+ (get_xp_ifs): Restructure slightly. Add code to generate IPv4 entries
+ entries for interfaces which are disconnected.
+
+2009-06-14 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * errno.cc (errmap): Add mapping for ERROR_IO_INCOMPLETE.
+ * fhandler.cc (fhandler_base::fcntl): Fix comment.
+ (fhandler_base::wait_overlapped): Accept an optional len parameter.
+ Use the len parameter when WriteFile fails with ERROR_IO_PENDING. Make
+ debug output less alarming.
+ (fhandler_base::write_overlapped): Pass len to wait_overlapped.
+ * fhandler.h (fhandler_base::wait_overlapped): Add an optional argument
+ denoting the number of characters intended to be written.
+
+ * fhandler_tty.cc (fhandler_pty_master::close): Don't close archetype
+ handles when cygwin is still initializing since the handles aren't
+ actually opened at that point.
+
+2009-06-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * localtime.cc (time2): Take another stab at fixing a compiler warning.
+
+2009-06-14 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * localtime.cc (time2): Take a stab at fixing a compiler warning.
+
+2009-06-14 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler.cc (fhandler_base::wait_overlapped): Honor nonblocking flag
+ for writes. Don't reset event handle when we see a ERROR_IO_PENDING.
+
+ * sigproc.cc (stopped_or_terminated): Use bool constants for
+ consistency.
+
+ * wait.cc (wait4): Remove nonsensical comment.
+
+2009-06-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_socket.cc (fhandler_socket::recv_internal): Set namelen
+ pointer to NULL if name pointer is NULL. Explain why.
+
+2009-06-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * localtime.cc (time2): Change "spring gap" to "spring forward gap"
+ in comment.
+
+2009-06-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * localtime.cc (time2): Add workaround for spring forward gap problem.
+ Add explaining comment.
+
+2009-06-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * Makefile.in (SUBLIBS): Add librt.a.
+ (librt.a): New rule to build librt.a.
+
+2009-06-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * posix_ipc.cc (check_path): Fix typo in comment. Align naming
+ convention rules to Linux. Handle backslash same as slash. Add
+ comment.
+
+2009-06-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * autoload.cc (GetSystemTimes): Remove.
+ * fhandler_proc.cc (format_proc_uptime): Use global system_info rather
+ than retrieving a local copy of the SYSTEM_INFO. Drop call to
+ GetSystemTimes and retrieve SystemPerformanceInformation on all systems
+ again with buffer size big enough for 64 bit systems.
+ (format_proc_stat): Use global system_info rather than retrieving a
+ local copy of the SYSTEM_INFO. Retrieve SystemPerformanceInformation
+ with buffer size big enough for 64 bit systems.
+
+2009-06-08 Corinna Vinschen <corinna@vinschen.de>
+
+ * autoload.cc (GetSystemTimes): Define.
+ * fhandler_proc.cc (format_proc_uptime): Use GetSystemInfo to retrieve
+ processor count. Use GetSystemTimes when available to retrieve system
+ idle time. Improve debug output.
+ (format_proc_stat): Use GetSystemInfo to retrieve processor
+ count. Improve debug output. Ignore if SystemPerformanceInformation
+ returns error. Explain why.
+
+2009-06-08 Corinna Vinschen <corinna@vinschen.de>
+
+ * fork.cc (frok::parent): Remove ancient code erroneously flushing
+ stdout.
+
+2009-06-08 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygerrno.h (save_errno::~save_errno): Set errno directly to avoid
+ flooding debug output.
+
+2009-06-08 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (symlink_info::check): Return with error set to ENOENT if
+ STATUS_NO_MEDIA_IN_DEVICE is returned.
+
+2009-06-07 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * cygheap.h (mini_cygheap): New struct.
+ (init_cygheap): Inherit locale field via mini_cygheap.
+ * cygheap.cc (cygheap_at_start): Define new variable.
+ (cygheap): Initialize as cygheap_at_start so that locale information is
+ always available.
+ (cygheap_init): Initialize cygheap iff it is set to cygheap_at_start.
+ * shared_info.h (memory_init): Accommodate argument change.
+ * memory.cc (memory_init): Accept an argument indicating whether
+ cygheap should be initialized or not.
+ * dcrt0.cc (child_info_fork::handle_fork): Pass false to memory_init().
+ (child_info_spawn::handle_spawn): Ditto.
+ (dll_crt0_0): Pass true to memory_init when not forking or execing.
+
+ * cygheap.h (cygheap_types::HEAP_2_DLL): New enum.
+ * dll_init.h (dll): Remove unused namelen field.
+ (dll_list::load_after_fork): Accommodate change in arguments.
+ * dll_init.cc (dll_list::alloc): Allocate dll information in the cygwin
+ heap.
+ (dll_list::detach): Free dll information from the cygwin heap.
+ (dll_list::load_after_fork): Use dll information in the cygwin heap
+ directly rather than querying parent.
+ * fork.cc (frok::first_dll): Delete.
+ (frok::child): Don't report on first_dll. Don't pass it to
+ load_on_fork.
+ (frok::parent): Don't set first_dll.
+ (fork): Ditto.
+
+2009-06-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * dll_init.cc (dll_list::alloc): Allocate memory using a section
+ object. Explain why. Drop call to GetSystemInfo, rather call
+ getpagesize to get allocation granularity. Only align to allocation
+ granularity under WOW64. Use roundup2 to align.
+ (dll_list::detach): Call NtUnmapViewOfSection instead of VirtualFree.
+
+2009-06-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * mmap.cc: Use NtUnmapViewOfSection instead of UnmapViewOfFile
+ throughout for symmetry.
+ (fhandler_dev_mem::munmap): Use correct process handle in call to
+ NtUnmapViewOfSection.
+
+2009-06-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * dll_init.h (struct dll): Set size of name element to ANYSIZE_ARRAY.
+ * dll_init.cc: Fix formatting.
+ (dll_list::alloc): Only allocate as much memory for struct dll as
+ necessary for given DLL name.
+ (dll_list::load_after_fork): Only read a single page of parent memory.
+ Only read more if namelen indicates that it's necessary.
+
+2009-06-05 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * winbase.h (ilockexch): Fix asm constraints.
+ (ilockcmpexch): Likewise.
+
+2009-06-05 Corinna Vinschen <corinna@vinschen.de>
+
+ * heap.cc (heap_init): Fix typo in comment.
+
+2009-06-04 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_clipboard.cc: Avoid calling system_printf.
+ (set_clipboard): Add basic error checking. Set errno here. Per MSDN,
+ don't call GlobalFree on data block transferred to clipboard.
+ (fhandler_dev_clipboard::write): Drop setting errno after call to
+ set_clipboard.
+ (fhandler_dev_clipboard::read): Add basic error checking. Simplify code.
+
+2009-06-04 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_console.cc (set_console_title): Convert title string to
+ wchar_t and call SetConsoleTitleW.
+
+2009-06-04 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_console.cc (fhandler_console::read): Allow Ctrl-Space to
+ emit a NUL byte.
+
+2009-06-04 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * thread.cc (__cygwin_lock_lock): Delete racy optimisation.
+ (__cygwin_lock_unlock): Likewise.
+
+2009-06-03 IWAMURO Motnori <deenheart@gmail.com>
+
+ * strfuncs.cc (sys_cp_mbstowcs): Fix condition.
+
+2009-06-03 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc (sys_cp_wcstombs): Implement reverse functionality
+ of the change to sys_cp_mbstowcs from 2009-05-30.
+ (sys_cp_mbstowcs): Slightly reformat. Fix comment to accommodate
+ change to sys_cp_wcstombs. Don't write to *ptr if dst is NULL.
+
+2009-06-03 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_console.cc (fhandler_console::read): Convert Alt-Backspace
+ to \033\177 or to \377 dependent on the setting of dev_state->metabit.
+
+2009-06-02 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (path_conv::check): Don't call set_exec for files on "noacl"
+ mount points.
+
+2009-05-30 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * strfuncs.cc (sys_cp_mbstowcs): Treat src as unsigned char *. Convert
+ failure of f_mbtowc into a single malformed utf-16 value.
+
+2009-05-30 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * cygwin/include/sys/termios.h: Make default erase character "^?".
+
+2009-05-30 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler_console.cc (fhandler_console::read): Convert backspace key
+ to DEL.
+
+2009-05-29 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * path.cc (cwdstuff::set): Rewrite previous change to properly test the
+ end of the buffer.
+
+2009-05-28 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * path.cc (cwdstuff::set): Avoid removing a nonexistent trailing slash.
+
+2009-05-20 Eric Blake <ebb9@byu.net>
+
+ * net.cc (gethostby_helper): Use correct signedness.
+
+2009-05-18 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * mount.cc (mount_info::add_item): Avoid using any-old '/' as
+ indicating root.
+
+2009-05-18 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * mount.cc (mount_info::got_usr_bin): Mark as NO_COPY.
+ (mount_info::got_usr_lib): Ditto.
+ (mount_info::root_idx): Ditto.
+
+2009-05-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * wchar.h (sys_mbstowcs): Add missing __stdcall attribute.
+
+2009-05-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygheap.cc (cygheap_init): Set Cygwin default locale values.
+ * cygheap.h (struct cygheap_locale): New structure.
+ (struct user_heap_info): Add cygheap_locale member locale.
+ * dcrt0.cc (dll_crt0_1): Revert to calling _setlocale_r so that only
+ the applications locale is reverted to "C".
+ * environ.cc (environ_init): Remove unused got_lc variable.
+ * fhandler.h (class dev_console): Remove now unsed locale variables.
+ * fhandler_console.cc (fhandler_console::get_tty_stuff): Remove
+ setting dev_console's locale members.
+ (dev_console::con_to_str): Use internal locale settings. Default to
+ __ascii_wctomb if charset is "ASCII".
+ (fhandler_console::write_normal): Ditto.
+ * strfuncs.cc (__ascii_wctomb): Drop declaration.
+ (__db_wctomb): Use fixed value 2 instead of not
+ necessarily matching MB_CUR_MAX.
+ (__eucjp_wctomb): Use 3 instead of MB_CUR_MAX.
+ (sys_cp_wcstombs): Remove special case for "C" locale.
+ (sys_wcstombs): Implement here. Use internal locale data stored on
+ cygheap.
+ (sys_cp_mbstowcs): Remove special case for "C" locale.
+ (sys_mbstowcs): Implement here. Use internal locale data stored on
+ cygheap.
+ * syscalls.cc (internal_setlocale): New function to set cygheap locale
+ data and to reset CWD posix path.
+ (setlocale): Just call internal_setlocale from here if necessary.
+ * wchar.h (__ascii_wctomb): Declare.
+ (sys_wcstombs): Don't define inline, just declare.
+ (sys_mbstowcs): Ditto.
+
+2009-05-14 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * mount.cc (mount_info::init): Remove MOUNT_CYGWIN_EXEC setting when
+ auto-mounting /usr/bin.
+
+2009-05-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * mount.cc (oopts): Add a no-op "auto" option.
+ (mount_info::create_root_entry): Set root dir to MOUNT_IMMUTABLE rather
+ than to MOUNT_OVERRIDE.
+
+2009-05-13 Corinna Vinschen <corinna@vinschen.de>
+ Christopher Faylor <me+cygwin@cgf.cx>
+
+ * mount.cc (mount_info::got_usr_bin): Define.
+ (mount_info::got_usr_lib): Ditto.
+ (mount_info::root_idx): Ditto.
+ (mount_info::create_root_entry): Create root entry as immutable and
+ flag as automatic.
+ (mount_info::init): Remove "Huh? No /etc/fstab..." warning.
+ Unconditionally call from_fstab for user and system tables. Fill in
+ /usr/bin and /usr/lib if they have not been specified in /etc/fstab.
+ (oopts): Alphabetize. Add "override" option to allow overriding
+ immutable mount points.
+ (mount_info::add_item): Accommodate new MOUNT_IMMUTABLE flag intended
+ for root mount.
+ (mount_info::add_item): Detect "/usr/bin", "/usr/lib", and "/" and set
+ appropriate global state.
+ (fillout_mntent): Add ,auto to mount points added by Cygwin DLL.
+ (mount): Remove masking of MOUNT_SYSTEM. Allow user to shoot
+ themselves. Add comment.
+ * mount.h (mount_info::got_usr_bin): Declare.
+ (mount_info::got_usr_lib): Ditto.
+ (mount_info::root_idx): Ditto.
+ * include/sys/mount.h: Reformat enum.
+ Add MOUNT_{OVERRIDE,IMMUTABLE,AUTOMATIC}.
+
+2009-05-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygheap.h (cwdstuff): Convert to class. Make posix and dir private.
+ (cwdstuff::get_posix): New method.
+ (cwdstuff::reset_posix): New method.
+ * dcrt0.cc (dll_crt0_1): Call setlocale rather than _setlocale_r.
+ * environ.cc (environ_init): Ditto. Prefer "C" locale over current
+ codepage default locale.
+ * path.cc (chdir): Use cwdstuff::get_posix method instead of accessing
+ cwdstuff::posix directly.
+ (cwdstuff::set): Defer creating posix path to first usage.
+ (cwdstuff::get_posix): Create posix path if it's empty, and return it.
+ (cwdstuff::get): Create posix path if it's empty.
+ * strfuncs.cc (sys_cp_wcstombs): Use UTF-8 conversion in the "C"
+ locale.
+ (sys_cp_mbstowcs): Ditto.
+ * syscalls.cc (gen_full_path_at): Fetch CWD posix path locked.
+ (setlocale): Implement here. Reset CWD posix path.
+
+2009-05-09 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * cygwin/version.h (CYGWIN_VERSION_CYGWIN_CONV): New define.
+
+2009-05-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * dtable.cc (dtable::init_std_file_from_handle): Add workaround for
+ Windows 7 64 bit issue. Add lengthy comment to explain what happens.
+ * wincap.h (wincaps::has_console_handle_problem): New element.
+ * wincap.cc: Implement above element throughout.
+ (wincap_7): New wincaps structure for NT 6.1 kernels.
+ (wincapc::init): Set has_console_handle_problem to false for 32 bit
+ systems.
+
+2009-05-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * sec_auth.cc (str2uni_cat): Move from here...
+ * path.cc (str2uni_cat): ...to here. Simplify. Make static inline.
+ (get_nt_native_path): Use RtlAppendUnicodeToString rather than
+ str2uni_cat for constant strings for speed.
+ * security.h (str2uni_cat): Drop declaration.
+
+2009-05-08 Corinna Vinschen <corinna@vinschen.de>
+ IWAMURO Motonori <deenheart@gmail.com>
+
+ * strfuncs.cc (sys_cp_wcstombs): save and restore previous errno value.
+ (sys_cp_mbstowcs): Ditto.
+
+2009-05-08 IWAMURO Motonori <deenheart@gmail.com>
+
+ * strfuncs.cc (sys_cp_wcstombs): Set errno to 0 before converting
+ wide char to SO/UTF-8 sequence.
+
+2009-05-08 Corinna Vinschen <corinna@vinschen.de>
+
+ * include/sys/select.h: Guard definitions with __USE_W32_SOCKETS as
+ the accompanying fd_set definitions in newlib's sys/types.h.
+
+2009-05-06 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler_console.cc (fhandler_console::ioctl): Properly treat
+ TIOCLINUX argument as a char.
+ * fhandler_tty.cc (fhandler_tty_slave::ioctl): Use coercion to properly
+ set char value.
+
+2009-05-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * libc/minires.c (scanline): Fix type in calls to ctype functions
+ to stay in unsigned char range for char values >= 0x80.
+ * regex/regcomp.c: Ditto, throughout.
+ * regex/regex2.h (ISWORD): Ditto.
+
+2009-05-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygheap.cc (cygheap_init): Set umask to a sane default.
+ * uinfo.cc (cygheap_user::ontherange): Don't use HOMEDRIVE/HOMEPATH
+ to set HOME. Default to /home/USERNAME.
+
+2009-05-03 Corinna Vinschen <corinna@vinschen.de>
+
+ * security.cc (set_file_sd): Drop using FILE_OPEN_FOR_RECOVERY flag in
+ call to NtOpenFile.
+ * exceptions.cc (open_stackdumpfile): Ditto in call to NtCreateFile.
+ * fhandler.cc (fhandler_base::open): Ditto. Simplify setting
+ create_options.
+
+ * mount.cc (fs_info::update): Recognize offline storage.
+ (fillout_mntent): Report UDF and offline storage.
+ * mount.h (class fs_info): Add is_csc_cache status flag.
+
+2009-05-04 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler_console.cc (fhandler_console::write_console): Eliminate
+ unneeded debugging output.
+ (fhandler_console::write_normal): Eliminate unneeded __seterrno.
+
+2009-05-04 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * libc/minires.c (scanline): Accommodate ctype changes which disallow
+ use of an unadorned char argument to is* macros.
+ * regex/regcomp.c: Ditto, throughout.
+ * regex/regex2.h (ISWORD): Ditto.
+
+2009-05-03 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler.h (fhandler_console::MAX_WRITE_CHARS): Declare.
+ (fhandler_console::write_replacement_char): Declare as inline.
+ (fhandler_console::write_console): Declare new function.
+ * fhandler_console.cc (fhandler_console::MAX_WRITE_CHARS): Define.
+ (handler_console::write_console): Define.
+ (fhandler_console::write_replacement_char): Define as inline.
+ (fhandler_console::write_normal): Use write_console when writing
+ buffers of unknown length.
+
+2009-04-26 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+
+ * include/cygwin/socket.h: Define SOL_IPV6.
+
+2009-04-21 Corinna Vinschen <corinna@vinschen.de>
+
+ * ctype.cc (__set_ctype): Copy exact part of the current active
+ character class array.
+
+2009-04-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * flock.cc (lf_setlock): Handle border case which results in WFMO loop
+ exiting with ret == WAIT_TIMEOUT gracefully. Add a system_printf to
+ uncover other potential problems with WFMO loop.
+
+2009-04-18 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * mkimport: Specify .text for stub explicitly.
+ * speclib: Add a dummy '.idata$7' section referring to the dll
+ associated with the real import library.
+
+2009-04-18 Corinna Vinschen <corinna@vinschen.de>
+
+ * dcrt0.cc (globify): Only call mbtowc for non-ascii chars.
+
+2009-04-17 Corinna Vinschen <corinna@vinschen.de>
+
+ * dcrt0.cc (globify): Make multibyte-aware.
+
+2009-04-17 Corinna Vinschen <corinna@vinschen.de>
+
+ * flock.cc (class inode_t): Add i_wait member and matching methods
+ wait(), unwait(), and waiting().
+ (inode_t::inode_t): Initialize i_wait to 0.
+ (fhandler_disk_file::lock): Only remove node if no other thread is
+ waiting for a blocking lock.
+ (lf_setlock): Manipulate node->i_wait to signal that a thread is
+ waiting for a blocking lock in this node.
+ (lf_findoverlap): Reinstantiate SELF test as in original code.
+
+2009-04-16 Corinna Vinschen <corinna@vinschen.de>
+
+ * dlfcn.cc (get_full_path_of_dll): Just return a bool value. Drop
+ local path_conv in favor of getting it as parameter. Add local string
+ buffer instead of getting it as parameter.
+ (dlopen): Accommodate get_full_path_of_dll change. Fetch WCHAR Windows
+ path from path_conv variable and call LoadLibraryW.
+
+2009-04-16 Corinna Vinschen <corinna@vinschen.de>
+
+ * ntdll.h (STATUS_LOCK_NOT_GRANTED): Define.
+ * syscalls.cc (unlink_nt): Handle STATUS_LOCK_NOT_GRANTED same as
+ STATUS_SHARING_VIOLATION. Add lengthy comment to explain why.
+
+2009-04-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (path_conv::get_wide_win32_path): Allow relative paths.
+ (cygwin_conv_path): In case of CCP_POSIX_TO_WIN_W, convert relative
+ paths to absolute paths if the relative pathname length exceeds
+ MAX_PATH.
+
+2009-04-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * libc/bsdlib.cc: Align copyright with upstream.
+ * libc/fnmatch.c: Ditto.
+ * libc/fts.c: Ditto.
+ * libc/inet_addr.c: Ditto.
+ * libc/inet_network.c: Ditto.
+ * libc/rcmd.cc: Ditto.
+ * libc/rexec.cc: Ditto.
+
+2009-04-14 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * speclib: Really revert to using tempdir.
+
+2009-04-14 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * speclib: Revert to using tempdir.
+
+2009-04-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * localtime.cc (tzload): Implement setting __tzrule's offset member
+ using newlib's __gettzinfo () interface also when tzload returns
+ successfully.
+
+2009-04-13 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * include/stdint.h (intptr_t): Remove long from type.
+ (uintptr_t): Likewise.
+ (INTPTR_MIN): Remove 'L' suffix.
+ (INTPTR_MAX, UINTPTR_MAX): Likewise.
+
+2009-04-12 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * speclib: Initial stab at cleaning up temp files. More work needed.
+ * mkimport: Ditto.
+
+2009-04-12 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * Makefile.in (clean): Clean globals.h.
+ (LIBCOS): Depend on globals.h.
+
+2009-04-11 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * mkimport: New script to perform all operations necessary to create
+ libcygwin.a.
+ * rmsym: Delete.
+ * newsym: Delete.
+ * Makefile.in (toolopts): New variable which holds options relating to
+ binutils/gcc tools.
+ (speclib): Use toolopts. Add symbols to avoid copying to special
+ libraries.
+ (OBSOLETE_FUNCTIONS): Delete.
+ (NEW_FUNCTIONS): Change to represent an argument to new mkimport
+ script.
+ (libcygwin.a): Use only new mkimport script to create libcygwin.a.
+ Only rely on ${LIBCOS}.
+ (*/lib*.a): Simplify speclib dependencies.
+ (speclib): Accept toolchain options. Convert every argument to
+ absolute path. Simplify parsing of nm output. Accommodate new
+ exclude option.
+
+2009-04-11 Dave Korn <dave.korn.cygwin@googlemail.com>
+
+ * include/stdint.h (INTPTR_MIN, INTPTR_MAX): Add 'L' suffix.
+ (WINT_MAX): Add 'U' suffix.
+
+2009-04-10 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * speclib: Use a more robust method to derive full file path.
+
+2009-04-09 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * speclib: Semi-revert to previous version but don't try to generate
+ well-formed import library. Instead, just extract appropriate symbols
+ and let later libcygwin.a on link line fill in the rest of the import
+ stuff.
+ * gendef: Hopefully no-op modification to allow easier post-processing
+ on symbol values.
+
+2009-04-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (try_to_bin): Use tmp_pathbuf buffer to allocate infobuf
+ rather than using the stack.
+
+2009-04-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (try_to_bin): Fix alignment of infobuf.
+
+2009-04-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::fchown): Catch an
+ error when changing the user account on a standalone Samba server.
+ Explain why.
+ * sec_acl.cc (setacl): Accommodate additional parameter to set_file_sd.
+ * sec_helper.cc (SECURITY_SAMBA_UNIX_AUTHORITY): Define.
+ (well_known_samba_unix_user_fake_sid): Define.
+ * security.cc (set_file_sd): Take additional parameter if ownership
+ should be changed. Restrict requested permissions accordingly.
+ (set_file_attribute): Accommodate additional parameter to set_file_sd.
+ * security.h (well_known_samba_unix_user_fake_sid): Declare.
+ (set_file_sd): Align declaration to above change.
+
+2009-04-07 Corinna Vinschen <corinna@vinschen.de>
+
+ * include/stdint.h (int_least32_t): Define as int.
+ (uint_least32_t): Ditto, unsigned.
+ (int_fast16_t): Define as int.
+ (int_fast32_t): Ditto.
+ (uint_fast16_t): Ditto, unsigned.
+ (uint_fast32_t): Ditto.
+ (UINT32_MAX): Remove `L' long marker.
+ (UINT_LEAST32_MAX): Ditto.
+ (UINT_FAST16_MAX): Ditto.
+ (UINT_FAST32_MAX): Ditto.
+ (INT32_C): Ditto.
+ (UINT32_C): Ditto.
+
+2009-04-07 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc: Change WCHAR to wchar_t in multibyte<->widechar
+ conversion functions throughout.
+ * wchar.h: Ditto in declarations. Guard them __INSIDE_CYGWIN__.
+
+2009-04-07 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (class dev_console): Add members con_mbtowc, con_wctomb,
+ and con_charset.
+ (dev_console::str_to_con): Take mbtowc function pointer and charset
+ as additional parameters.
+ * fhandler_console.cc (fhandler_console::get_tty_stuff): Initialize
+ aforementioned new members. Explain why.
+ (dev_console::con_to_str): Remove useless comment. Call new
+ sys_cp_wcstombs function rather than sys_wcstombs.
+ (dev_console::str_to_con): Take mbtowc function pointer and charset
+ as additional parameters. Call sys_cp_mbstowcs accordingly.
+ (fhandler_console::write_normal): Only initialize f_mbtowc and charset
+ once. Accommodate changed str_to_con.
+ * strfuncs.cc (sys_cp_wcstombs): Renamed from sys_wcstombs. Take
+ wctomb function pointer and charset as parameters. Use throughout.
+ (sys_cp_mbstowcs): Take wctomb function pointer and charset as
+ parameters instead of codepage. Remove matching local variables and
+ their initialization.
+ * wchar.h (ENCODING_LEN): Define as in newlib.
+ (__mbtowc): Use mbtowc_p typedef for declaration.
+ (wctomb_f): New type.
+ (wctomb_p): New type.
+ (__wctomb): Declare.
+ (__utf8_wctomb): Use wctomb_f typedef for declaration.
+ (sys_cp_wcstombs): Move declaration from winsup.h here.
+ (sys_wcstombs): Ditto.
+ (sys_wcstombs_alloc): Ditto.
+ (sys_cp_mbstowcs): Ditto.
+ (sys_mbstowcs): Ditto.
+ (sys_mbstowcs_alloc): Ditto.
+ * winsup.h: Move declaration of sys_FOO functions to wchar.h. Include
+ wchar.h instead.
+
+2009-04-06 Earl Chew <earl_chew@agilent.com>
+
+ * libc/rexec.cc (ruserpass): Use fstat64 instead of fstat.
+
+2009-04-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc: Add comment to explain why we can't support JIS
+ for now.
+ (__db_wctomb): Alwaus use WC_NO_BEST_FIT_CHARS.
+ (__jis_wctomb): Just call __ascii_wctomb from here.
+ (__eucjp_wctomb): Convert to standalone implementation to fix up the
+ difference between eucJP and CP 20932 affecting JIS-X-0212 characters.
+ Explain.
+ (__kr_wctomb): Use codepage 949.
+ (__db_mbtowc): Reorder code slightly. Always use MB_ERR_INVALID_CHARS
+ in call to MultiByteToWideChar. Fix a problem with singlebyte
+ sequences. Fix a bug in '\0' handling. Reset state->__count on
+ successful return from non-zero state.
+ (__jis_mbtowc): Just call __ascii_mbtowc from here.
+ (__eucjp_mbtowc): Convert to standalone implementation to fix up the
+ difference between eucJP and CP 20932 affecting JIS-X-0212 characters.
+ (__kr_mbtowc): Use codepage 949.
+ (__set_charset_from_codepage): Handle codepage 20932 as eucJP.
+
+2009-04-05 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * Makefile.in: Use all compile options when calculating magic values.
+ * shared_info.h (CURR_SHARED_MAGIC): Revert erroneous value.
+ * child_info.h (CURR_CHILD_INFO_MAGIC): Update.
+
+ * fhandler.h (acquire_output_mutex): Remove unneeded ';'.
+ (release_output_mutex): Ditto.
+
+2009-04-05 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * net.cc: Undefine NOERROR and DELETE to avoid compiler warnings.
+ * shared_info.h (CURR_SHARED_MAGIC): Update.
+ * spawn.cc (spawn_guts): Avoid copying one line command line argument
+ if it hasn't been filled out.
+
+2009-04-04 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+ Corinna Vinschen <corinna@vinschen.de>
+
+ * include/asm/byteorder.h (__ntohl): Prototype before define to avoid
+ a warning with -Wmissing-prototypes. Use _ELIDABLE_INLINE macro from
+ _ansi.h.
+ (__ntohs): Ditto.
+
+2009-04-02 Corinna Vinschen <corinna@vinschen.de>
+
+ * environ.cc (build_env): Fix length calculation of resulting
+ wide char environment string.
+
+2009-04-02 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+
+ * include/netdb.h: #include <inttypes.h>, <netinet/in.h>,
+ and <sys/socket.h> per SUSv3.
+
+2009-04-01 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc (sys_cp_mbstowcs): Check if ASCII SO is followed by at
+ least two chars and the next byte is a valid UTF-8 start byte before
+ trying to convert the followup bytes as UTF-8 sequence.
+
+2009-03-31 Corinna Vinschen <corinna@vinschen.de>
+
+ * shm.cc (struct shm_attached_list): Convert access type to ULONG.
+ (fixup_shms_after_fork): Fix comment. Use NtMapViewOfSection rather
+ than MapViewOfFileEx to recreate shared memory regions. Add function
+ name to api_fatal output.
+ (shmat): Use NtMapViewOfSection to create shared memory region
+ top-down.
+
+2009-03-31 Corinna Vinschen <corinna@vinschen.de>
+
+ * ctype.cc: Remove implementation of ctype functions in favor of
+ pointer-based newlib implementation.
+ (_ctype_b): Declare.
+ (__ctype_cp): Move to newlib. Declare.
+ (__ctype_iso): Ditto.
+ (__set_ctype): Implement changing __ctype_ptr__. Only copy character
+ class data in applications built under older Cygwin.
+ * cygwin.din (__ctype_ptr__): Export.
+ * include/ctype.h: Remove in favor of newlib implementation.
+ * include/cygwin/config.h (__EXPORT): Define alongside __IMPORT.
+ * include/cygwin/version.h (CYGWIN_VERSION_CHECK_FOR_OLD_CTYPE):
+ Define check for old vs. new ctype implementation.
+ Bump API minor number.
+
+2009-03-28 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * Makefile.in: Perform some minor cleanup. Revamp speclib handling.
+ * speclib: Rewrite to create libraries with dlltool rather than
+ attempting surgery on libcygwin.a.
+
+2009-03-27 Corinna Vinschen <corinna@vinschen.de>
+
+ * net.cc (inet_ntop6): Convert to lowercase hex digits on the fly.
+
+2009-03-27 Corinna Vinschen <corinna@vinschen.de>
+
+ * net.cc (cygwin_getaddrinfo): Check hints for non-NULL before
+ checking its content.
+
+2009-03-27 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (class fhandler_fifo): Rename read/write methods to
+ raw_read/raw_write.
+ * fhandler_fifo.cc: Ditto.
+
+2009-03-27 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (pathconf): Fix memory leak.
+
+2009-03-26 Corinna Vinschen <corinna@vinschen.de>
+
+ * path.cc (symlink_worker): Write target filename as UTF-16 string
+ with leading BOM marker.
+ (symlink_info::check_shortcut): If check for leading BOM marker
+ succeeds, read filename as UTF-16 string.
+ (symlink_info::check_sysfile): Ditto.
+
+2009-03-26 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+
+ * include/asm/byteorder.h (__ntohl): Align definition to ISO C99.
+ (__ntohs): Ditto.
+
+2009-03-26 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc (__set_charset_from_codepage): Revert to translating
+ codepage 936 to "GBK".
+
+2009-03-25 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc (sys_wcstombs): Don't convert ASCII SO into two
+ ASCII SO's.
+
+2009-03-25 Corinna Vinschen <corinna@vinschen.de>
+
+ * environ.cc (environ_init): Break from locale loop after first hit.
+ * fhandler_console.cc (fhandler_console::write_normal): Print a SO
+ sequence using always valid Unicode chars.
+
+2009-03-25 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc (__kr_wctomb): Use codepage 51949 rather than 50949.
+ (__kr_mbtowc): Ditto.
+ (__set_charset_from_codepage): Ditto. Translate codepage 936 to
+ "GB2312" and drop the charset name "GBK".
+
+2009-03-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc (__kr_wctomb): Use codepage 50949 rather than 949.
+ (__kr_mbtowc): Ditto.
+ (__set_charset_from_codepage): Translate codepages 949 and 50949 to
+ "EUCKR" and drop the charset name "CP949".
+
+2009-03-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * strfuncs.cc (sys_cp_mbstowcs): Don't read beyond src + nms.
+
+2009-03-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * shared_info.h (CURR_SHARED_MAGIC): Update.
+
+2009-03-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * wchar.h: Replace UINT with unsigned int.
+
+2009-03-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * wchar.h: Remove erroneous "C" specifier from extern declaration.
+
+2009-03-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * ctype.cc (_CTYPE_DATA_0_127): Add _B class to TAB character.
+ (__ctype_default): New character class array for default ASCII
+ character set.
+ (__ctype_iso): New array of character class array for ISO charsets.
+ (__ctype_cp): Ditto for singlebyte Windows codepages.
+ (tolower): Implement as distinct function to support any singlebyte
+ charset.
+ (toupper): Ditto.
+ (__set_ctype): New function to copy singlebyte character classes
+ corresponding to current charset to ctype_b array.
+ Align copyright text to upstream.
+ * dcrt0.cc (dll_crt0_1): Reset current locale to "C" per POSIX.
+ * environ.cc (set_file_api_mode): Remove.
+ (codepage_init): Remove.
+ (parse_thing): Remove "codepage" setting.
+ (environ_init): Set locale according to environment settings, or
+ to current codepage, before converting environment to multibyte.
+ * fhandler.h (fhandler_console::write_replacement_char): Drop argument.
+ * fhandler_console.cc (dev_console::str_to_con): Call sys_cp_mbstowcs
+ rather than MultiByteToWideChar.
+ (fhandler_console::write_replacement_char): Always print a funny
+ half filled square if a character isn't in the current charset.
+ (fhandler_console::write_normal): Convert to using __mbtowc
+ rather than next_char.
+ * fork.cc (frok::child): Drop call to set_file_api_mode.
+ * globals.cc (enum codepage_type) Remove.
+ (current_codepage): Remove.
+ * miscfuncs.cc (cygwin_wcslwr): Unused, dangerous. Remove.
+ (cygwin_wcsupr): Ditto.
+ (is_cp_multibyte): Remove.
+ (next_char): Remove.
+ * miscfuncs.h (is_cp_multibyte): Drop declaration.
+ (next_char): Ditto.
+ * strfuncs.cc (get_cp): Remove.
+ (__db_wctomb): New function to implement _wctomb_r functionality for
+ doublebyte charsets using WideCharToMultiByte.
+ (__sjis_wctomb): New function to replace unusable newlib function.
+ (__jis_wctomb): Ditto.
+ (__eucjp_wctomb): Ditto.
+ (__gbk_wctomb): New function.
+ (__kr_wctomb): Ditto.
+ (__big5_wctomb): Ditto.
+ (__db_mbtowc): New function to implement _mbtowc_r functionality for
+ doublebyte charsets using MultiByteToWideChar.
+ (__sjis_mbtowc): New function to replace unusable newlib function.
+ (__jis_mbtowc): Ditto.
+ (__eucjp_mbtowc): Ditto.
+ (__gbk_mbtowc): New function.
+ (__kr_mbtowc): New function
+ (__big5_mbtowc): New function
+ (__set_charset_from_codepage): New function.
+ (sys_wcstombs): Reimplement, basically using same wide char to multibyte
+ conversion as newlib's application level functions. Plus extras.
+ Add lengthy comment to explain. Change return type to size_t.
+ (sys_wcstombs_alloc): Just use sys_wcstombs. Change return type to
+ size_t.
+ (sys_cp_mbstowcs): Replace sys_mbstowcs, take additional codepage
+ argument. Explain why. Change return type to size_t.
+ (sys_mbstowcs_alloc): Just use sys_mbstowcs. Change return type to
+ size_t.
+ * wchar.h: Declare internal functions implemented in strfuncs.cc.
+ (wcscasecmp): Remove.
+ (wcsncasecmp): Remove.
+ (wcslwr): Remove.
+ (wcsupr): Remove.
+ * winsup.h (codepage_init): Remove declaration.
+ (get_cp): Ditto.
+ (sys_wcstombs): Align declaration to new implementation.
+ (sys_wcstombs_alloc): Ditto.
+ (sys_cp_mbstowcs): Add declaration.
+ (sys_mbstowcs): Define as inline function.
+ (sys_mbstowcs_alloc): Align declaration to new implementation.
+ (set_file_api_mode): Remove declaration.
+ * include/ctype.h (isblank): Redefine to use _B character class.
+ (toupper): Remove ASCII-only definition.
+ (tolower): Ditto.
+
+2009-03-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * sec_auth.cc (str2buf2uni): Remove.
+ * security.h (str2buf2uni): Remove declaration.
+
+2009-03-24 Yaakov Selkowitz <yselkowitz@cygwin.com>
+
+ * include/mntent.h: Remove declarations of nonexistant addmntent
+ and hasmntopt. Update and clarify the /etc/mtab comment.
+
+2009-03-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * smallprint.cc (__small_vsprintf): Handle NULL PWCHAR and
+ PUNICODE_STRING arguments.
+ (__small_vswprintf): Ditto.
+
+2009-03-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * include/asm/byteorder.h (__constant_ntohs): Remove declaration.
+ (__constant_ntohl): Ditto.
+
+2009-03-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export wordexp, wordfree.
+ * posix.sgml: Move them to SUSv4 list.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-03-22 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+
+ * include/sys/un.h: #include <string.h> for strlen.
+
+2009-03-19 Corinna Vinschen <corinna@vinschen.de>
+
+ * dlfcn.cc (get_full_path_of_dll): Revert patch from 2008-07-16.
+
+2009-03-19 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+
+ * cygwin.din: Export log2, log2f as functions.
+ * posix.sgml: Add them to SUSv4 list.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-03-18 Corinna Vinschen <corinna@vinschen.de>
+
+ * sec_auth.cc (lsaauth): Remove local definitions of struct
+ _TOKEN_LINKED_TOKEN and TokenLinkedToken in favor of definitions
+ from winnt.h.
+ (lsaprivkeyauth): As in lsaauth, fetch linked token if available and
+ return that in favor of default token.
+
+2009-03-15 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+
+ * errno.cc (_sys_errlist): Add ESTRPIPE.
+
+2009-03-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export wcsdup.
+ * posix.sgml: Add wcsdup to SUSv4 list.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-03-15 Corinna Vinschen <corinna@vinschen.de>
+
+ * include/inttypes.h: Remove "l" size specifier from all 16 and 32 bit
+ definitions.
+
+2009-03-14 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * path.cc (warn_msdos): Don't warn about MS-DOS filenames encountered
+ during initialization.
+
+2009-03-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * gendef: Remove STABS directives.
+
+2009-03-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * mktemp.cc: Remove STABS specific link-time warning. Align copyright
+ text to upstream.
+
+2009-03-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * flock.cc: Fix lockf copyright to latest version.
+
+2009-03-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (path_conv::isgood_inode): Move to be defined
+ earlier.
+ (get_ino_by_handle): Take additional path_conv argument, accommodate
+ throughout. Only use FileId if isgood_inode check is true.
+ (fhandler_base::open_fs): Simplify setting ino due to above change.
+ (readdir_get_ino): Make sure to return always a non-zero inode number.
+ (fhandler_disk_file::readdir): Always open file in dir with
+ FILE_OPEN_REPARSE_POINT so as not to open wrong file.
+ Drop call to isgood_inode here.
+ * path.cc (symlink_info::check): Call fs.update in case we're fetching
+ file information from call to NtQueryDirectoryFile.
+
+2009-03-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * flock.cc (fhandler_disk_file::lock): Don't test file open mode in
+ case of flock-type locks. Explain why.
+
+2009-03-12 Brian Ford <Brian.Ford@FlightSafety.com>
+
+ * gethostby_helper: Fix typos in DEBUGGING case.
+
+2009-03-11 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export wcscasecmp, wcsncasecmp.
+ * posix.sgml: Move wcscasecmp, wcsncasecmp to SUSv4 list.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-03-11 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export wscanf, fwscanf, swscanf, vwscanf, vfwscanf,
+ vswscanf.
+ * posix.sgml: Move fwscanf, swscanf, vwscanf, vfwscanf, vswscanf
+ to SUSv4 list.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-03-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (fhandler_socket::wait_for_events): Take additional
+ parameter "dontwait".
+ * fhandler_socket.cc (fhandler_socket::wait_for_events): Act as if the
+ socket is non-blocking if dontwait is true.
+ (fhandler_socket::recv_internal): Use incoming MSG_DONTWAIT flag to
+ set the wait_for_events dontwait parameter.
+ (fhandler_socket::send_internal): Ditto. Optimize code slightly.
+ * include/cygwin/socket.h (MSG_DONTWAIT): Define.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-03-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export wcsftime.
+ * posix.sgml: Move wcsftime to SUSv4 list.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-03-06 Pierre A. Humblet <pierre@phumblet.no-ip.org>
+
+ * cygwin.din: Export gethostbyname2.
+ * net.cc: define _CYGWIN_IN_H and include resolv.h.
+ (realloc_ent): New function.
+ (dup_ent): Call realloc_ent.
+ (memcpy4to6): New function.
+ (dn_length1): New function.
+ (gethostby_helper): New function.
+ (gethostbyname2): New function.
+ * posix.sgml: Add gethostbyname2.
+ * include/cygwin/version.h: Bump API minor number.
+ * libc/minires.c (get_options): Look for "inet6" and apply bounds
+ to "retry" and "retrans".
+ (res_ninit): Set the default options at the beginning.
+ (dn_expand): Fix "off by one".
+
+2009-03-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export wprintf, fwprintf, swprintf, vwprintf, vfwprintf,
+ vswprintf. Sort.
+ * posix.sgml: Move fwprintf, swprintf, vwprintf, vfwprintf, vswprintf
+ to SUSv4 list. Sort SUSv4 list.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-03-04 Corinna Vinschen <corinna@vinschen.de>
+
+ * dcrt0.cc (disable_dep): Disable. Explain why.
+ (dll_crt0_0): Disable calling disable_dep. Explain why.
+
+2009-03-03 Corinna Vinschen <corinna@vinschen.de>
+
+ * net.cc: Include asm/byteorder.h.
+ (htonl): Move to end of file. Add comment to explain why. Align
+ definition to POSIX. Use related macro from asm/byteorder.h.
+ (ntohl): Ditto.
+ (htons): Ditto.
+ (ntohs): Ditto.
+ * include/asm/byteorder.h: Revert previous patch.
+
+2009-03-03 Corinna Vinschen <corinna@vinschen.de>
+
+ * include/asm/byteorder.h: Disable optimization when building
+ Cygwin network code.
+
+2009-02-26 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * dtable.cc (dtable::select_read): Add ability to override fh.
+ * fhandler.h (fhandler_fifo::select_read): Declare new function.
+ (fhandler_fifo::select_write): Ditto.
+ (fhandler_fifo::select_except): Ditto.
+ * select.cc (peek_pipe): Treat certain classes of pipe errors as "no
+ data".
+ (fhandler_fifo::select_read): Define new function.
+ (fhandler_fifo::select_write): Ditto.
+ (fhandler_fifo::select_except): Ditto.
+
+ * shared_info.h (CURR_SHARED_MAGIC): Update.
+
+2009-02-23 Sjors Gielen <mailinglist@dazjorz.com>
+
+ * Makefile.in: Add DESTDIR functionality.
+
+2009-02-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * sec_auth.cc (get_user_local_groups): Simplify LookupAccountName code.
+
+2009-02-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * autoload.cc (NetLocalGroupEnum): Remove.
+ (NetLocalGroupGetMembers): Remove.
+ (NetUserGetLocalGroups): Add.
+ * sec_auth.cc (is_group_member): Remove function.
+ (get_user_local_groups): Get user as string instead of as SID.
+ Call NetUserGetLocalGroups instead of NetLocalGroupEnum. Drop call
+ to is_group_member.
+ (get_server_groups): Call get_user_local_groups with user name instead
+ of user SID.
+
+2009-02-19 Corinna Vinschen <corinna@vinschen.de>
+
+ * winver.rc: Fix Copyright date.
+
+2009-02-19 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export mbsnrtowcs and wcsnrtombs.
+ * posix.sgml: Move mbsnrtowcs and wcsnrtombs to SUSv4 section.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-02-18 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export open_wmemstream.
+ * posix.sgml: Move open_wmemstream to SUSv4 section.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-02-16 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export reallocf.
+ * malloc_wrapper.cc( reallocf): New function.
+ * posix.sgml: Add reallocf to BSD section.
+ * include/cygwin/version.h: Bump API minor number.
+ * libc/fts.c: Remove erroneous reallocf definition.
+
+2009-02-16 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export wcstoimax, wcstoumax.
+ * posix.sgml: Move wcstoimax and wcstoumax to SUSv4 section.
+ * include/inttypes.h: Declare wcstoimax and wcstoumax.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-02-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export wcsnlen.
+ * posix.sgml: Move wcsnlen to SUSv4 section.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-02-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * environ.cc (_getenv_r): New function.
+
+2009-02-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * posix.sgml: Move dirfd to SUSv4 section.
+
+2009-02-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * posix.sgml: Move interfaces deprecated in SUSv4 to deprecated
+ interfaces section. Move interfaces added in SUSv4 to SUSv4
+ section or, if unimplemented, add them to the unimplemented interfaces
+ section.
+
+2009-02-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * posix.sgml: Merge SUSv3 and SUSv4 section into a single SUSv4 section.
+ Move Solaris calls now in SUSv4 to SUSv4 section. Rename unimplemented
+ section to refer to SUSv4. Add note about missing interfaces.
+ Move wcstod and wcstof from unimplemented to SUSv4 section.
+
+2009-02-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * mount.cc (mount_info::from_fstab_line): Make cygdrive posix=0 by
+ default as documented.
+
+2009-02-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export wcstod and wcstof.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-02-11 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (open): Handle O_DIRECTORY flag.
+ * include/fcntl.h: Add SUSv4 flags O_DIRECTORY, O_EXEC and O_SEARCH.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-02-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_floppy.cc (fhandler_dev_floppy::open): Fix format. Add
+ code to allow to read disk and CD/DVD devices in full length. Explain
+ why.
+ (fhandler_dev_floppy::raw_read): Add current position to debug output.
+
+ * include/sys/sched.h: New stub file to override newlib file with
+ clashing definitions.
+
+2009-02-05 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export wcstok.
+ * posix.sgml: Move wcstok from unimplemented to susv3.
+ * include/cygwin/version.h: Bump API minor number.
+
+2009-02-04 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_proc.cc (proc_tab): Add entry for mounts symlink.
+ (format_proc_mounts): New function to implement mounts symlink.
+ * fhandler_process.cc (process_tab): Add entry for mounts file.
+ (format_process_mounts): New function to implement mounts file.
+
+2009-02-04 Corinna Vinschen <corinna@vinschen.de>
+
+ * security.cc (alloc_sd): Disable generating default permission entries
+ for directories.
+
+2009-01-29 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix inode number
+ evaluation for faked "." entry.
+
+ * mount.cc (fs_info::update): Move setting of is_cdrom after checking
+ for caseinsensitivity. Recognize UDF in is_cdrom case and set
+ caseinsensitive flag according to UDF brokenness determined by OS.
+ Add comment to explain why.
+ * mount.h (class fs_info): Add is_udf status flag.
+ * path.cc (symlink_info::check): Add workaround for UDF bug in
+ terms of casesensitivity on certain OSes.
+ * wincap.h (wincaps::has_broken_udf): New element.
+ * wincap.cc: Implement above element throughout.
+
+2009-01-27 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * fhandler.cc (fhandler_base::wait_overlapped): Set bytes to -1 on
+ EINTR or real error.
+ (fhandler_base::write_overlapped): Assume that bytes_written will
+ contain proper error value.
+ * pipe.cc (fhandler_pipe::fhandler_pipe): Set uninterruptible_io since
+ signals are handled by pipe functions now.
+
+2009-01-26 Corinna Vinschen <corinna@vinschen.de>
+
+ * shared.cc (shared_name): New function for WCHAR names.
+ (open_shared): Take name parameter as WCHAR. Accommodate throughout.
+ * shared_info.h ((CURR_SHARED_MAGIC): Redefine.
+ (shared_name): Add declaration for function taking a WCHAR name.
+ (open_shared): Change declaration according to above change.
+ * pinfo.cc (pinfo::init) : Accommodate above change.
+
+2009-01-26 Corinna Vinschen <corinna@vinschen.de>
+
+ * grp.cc (getgrgid_r): Simplify code by using stpcpy.
+ (getgrnam_r): Ditto.
+ * passwd.cc (getpwuid_r32): Simplify code by using stpcpy.
+ (getpwnam_r): Ditto.
+
+2009-01-26 Corinna Vinschen <corinna@vinschen.de>
+
+ * uinfo.cc (pwdgrp::load): Open file with FILE_OPEN_FOR_BACKUP_INTENT
+ flag.
+
+2009-01-24 Corinna Vinschen <corinna@vinschen.de>
+
+ * mount.cc (mount_info::from_fstab): Open fstab file with
+ FILE_OPEN_FOR_BACKUP_INTENT flag.
+
+2009-01-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * smallprint.cc (__small_vsprintf): Use already available buffer tmp
+ in wfillin case.
+
+2009-01-22 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * select.cc (peek_serial): Add hack to allow proper operation with
+ com0com driver.
+
+2009-01-21 Corinna Vinschen <corinna@vinschen.de>
+
+ Remove USE_SERVER define. Accommodate throughout.
+ * configure.in: Remove --enable-server option.
+ * configure: Regenerate.
+ * environ.cc: Remove CYGWIN=server setting.
+
+2009-01-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_procnet.cc: Reorganize global procnet content data into a
+ new struct virt_tab_t. Accommodate throughout.
+
+ * fhandler.h: Fix copyright dates.
+ * fhandler_process.cc: Ditto.
+ * fhandler_registry.cc: Ditto.
+
+2009-01-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * devices.h (FH_PROCESSFD): New device type.
+ * dtable.cc (build_fh_pc): Add case for FH_PROCESSFD.
+ * fhandler.h (class fhandler_virtual): Drop bufalloc member.
+ * fhandler_virtual.h: New header.
+ * fhandler_proc.cc: Remove types proc_type_t and proc_tab_t in favor
+ of types virt_type_t and virt_tab_t from fhandler_virtual.h.
+ Change prototypes of format_XXX functions accordingly.
+ (proc_tab): Drop size member info.
+ (fhandler_proc::fill_filebuf): Don't allocate filebuf here. Allocate
+ it in the format_XXX functions.
+ * fhandler_process.cc: Reorganize global process content data into a
+ new struct virt_tab_t. Accommodate throughout.
+ (format_process_winexename): New function.
+ (format_process_winpid): New function.
+ (format_process_exename): New function.
+ (format_process_root): New function.
+ (format_process_cwd): New function.
+ (format_process_cmdline): New function.
+ (format_process_ppid): New function.
+ (format_process_uid): New function.
+ (format_process_pgid): New function.
+ (format_process_sid): New function.
+ (format_process_gid): New function.
+ (format_process_ctty): New function.
+ (format_process_fd): New function.
+ * fhandler_procnet.cc (fhandler_procnet::fill_filebuf): Don't use
+ bufalloc.
+ * fhandler_registry.cc (fhandler_registry::fill_filebuf): Define
+ bufalloc locally.
+ * fhandler_virtual.cc (fhandler_virtual::fhandler_virtual): Drop
+ initialization of bufalloc.
+ (fhandler_virtual::dup): Drop copying bufalloc.
+
+2009-01-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * thread.h (struct pthread_rwlock::RWLOCK_READER): Add counter n.
+ * thread.cc (pthread_rwlock::rdlock): If a thread already owns a
+ read lock, just count the number of locks for it, per SUSv4.
+ (pthread_rwlock::tryrdlock): Ditto.
+ (pthread_rwlock::unlock): If a thread has more than one concurrent
+ read locks, just count down.
+
+2009-01-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * autoload.cc (WSAIoctl): Reintroduce.
+ (WSASendMsg): Define.
+ * fhandler.h (class fhandler_socket): Change definition of recv_internal
+ and send_internal to take WSAMSG pointer as parameter.
+ * fhandler_socket.cc (WSAID_WSARECVMSG): Define.
+ (LPFN_WSARECVMSG): Define.
+ (WSASendMsg): Declare.
+ (get_ext_funcptr): New function to fetch address of WSARecvMsg.
+ (fhandler_socket::recv_internal): Take just a LPWSAMSG parameter.
+ Change code accordingly. If control information is requested,
+ fetch address of WSARecvMsg and use that instead of WSARecvFrom.
+ (fhandler_socket::recvfrom): Change return type to ssize_t as
+ declared in fhandler.h. Accommodate changes to recv_internal.
+ (fhandler_socket::recvmsg): Ditto. Make sure that control information
+ is only requested if system, address family, and socket type support it.
+ (fhandler_socket::send_internal): Take just a LPWSAMSG parameter
+ and the flags. Change code accordingly. If control information is
+ provided, use WSASendMsg instead of WSASendTo.
+ (fhandler_socket::sendto): Drop useless comment. Accommodate changes
+ to send_internal.
+ (fhandler_socket::sendmsg): Ditto. Make sure that control information
+ is only provided if system, address family, and socket type support it.
+ * wincap.h (wincaps::has_recvmsg): New element.
+ (wincaps::has_sendmsg): New element
+ * wincap.cc: Implement above elements throughout.
+ * include/cygwin/socket.h (CMSG_ALIGN): Phrase in terms of alignment
+ of type struct cmsghdr.
+
+2009-01-17 Corinna Vinschen <corinna@vinschen.de>
+
+ * mmap.cc (mmap64): Fix condition checking if anonymous mapping beyond
+ EOF is required.
+
+2009-01-17 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_proc.cc: Reorganize global proc content data into a new
+ struct proc_tab_t. Accommodate throughout.
+ (format_proc_version): New function.
+ (format_proc_loadavg): New function.
+ (format_proc_self): New function.
+
+ * resource.cc (getrlimit): Return correct rlim_max value for
+ RLIMIT_NOFILE.
+
+2009-01-16 Corinna Vinschen <corinna@vinschen.de>
+
+ * Fix copyright dates.
+
+2009-01-13 Corinna Vinschen <corinna@vinschen.de>
+
+ * libc/getopt.c (parse_long_options): Use fix from NetBSD's getopt
+ to avoid false ambiguities.
+
+2009-01-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * syscalls.cc (enum bin_status): New type.
+ (try_to_bin): Return bin_status. Rename win32_path to pc. Rename h
+ to fh. Rename fh to tmp_fh. Add code to set delete dispostion and
+ more code to replace file moved to bin by another, temporary file.
+ Add comments to explain why.
+ (unlink_nt): Replace move_to_bin with bin_stat. Only set bin_stat
+ to move_to_bin for non-remote files. As a last resort, call try_to_bin
+ if setting delete-on-close failed. Only re-set R/O DOS attribute
+ and only close handle if it's still valid.
+
+2009-01-11 Corinna Vinschen <corinna@vinschen.de>
+
+ * errno.cc (errmap): Set errno to ENOENT instead of ENOSHARE throughout.
+ * path.cc (path_conv::check): Set to and check for ENOENT instead of
+ ENOSHARE.
+
+ * path.cc (symlink_info::check): Fix Samba 3.2.x comment.
+
+2009-01-09 Corinna Vinschen <corinna@vinschen.de>
+
+ * mount.cc (mount_info::from_fstab_line): Always convert drive
+ letter in native path to uppercase.
+ * path.cc (normalize_win32_path): Ditto.
+ (path_prefix_p): Revert previous patch.
+
+ * path.cc (symlink_info::check): Check for STATUS_INVALID_PARAMETER
+ return code to circumvent weird behaviour of Samba 3.2.x shares.
+
+2009-01-09 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * include/sys/cygwin.h (CW_SETERRNO): Define.
+ * external.cc (CW_SETERRNO): Implement.
+ * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 192 to
+ reflect the above change.
+
+ * path.cc (path_prefix_p): Treat X: as equivalent to x:.
+
+ * mkglobals_h: Remove unneeded #define.
+
+ * spawn.cc (spawn_guts): Avoid overly wordy initialization to zero.
+
+2009-01-08 Corinna Vinschen <corinna@vinschen.de>
+
+ * libc/fts.c (fts_build): Use DT_DIR case on Cygwin.
+ (fts_ufslinks): Fix using wrong structure member in Cygwin-specific
+ code.
+
+2009-01-07 Corinna Vinschen <corinna@vinschen.de>
+
+ * ntdll.h: Reorder NT status flags. Fix a case difference. Add
+ STATUS_CANNOT_DELETE flag.
+ * syscalls.cc (unlink_nt): Change initial NtOpenFile to request
+ FILE_SHARE_DELETE sharing mode. Change comment accordingly.
+ If setting delete disposition failed with STATUS_CANNOT_DELETE, try
+ to delete using delete-on-close. Explain why.
+ Rearrange setting R/O DOS attribute after trying to delete. Simplify
+ comment.
+
+2009-01-07 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::link): Only add .exe if
+ original file has .exe as well.
+ * path.cc (path_conv::is_binary): Only recognize Windows 32 and 64 bit
+ apps as binaries.
+
+2009-01-02 Christopher Faylor <me+cygwin@cgf.cx>
+
+ Remove unneeded header files from source files throughout.
+ Update copyrights where appropriate.
+
+ * globals.cc: New file for generic global variables.
+ * mkglobals_h: New script to generate globals.h.
+ * mkstatic: New script used to build a (currently non-working) static
+ libcygwin_s.a.
+ * Makefile.in: Add unused rule to build a non-working libcygwin_s.a.
+ (DLL_OFILES): Add globals.o. Make all objects rely on globals.h.
+ (globals.h): New target. Generate globals.h.
+ * cygtls.h: Honor new CYGTLS_HANDLE define to control when the HANDLE
+ operator is allowed in _cygtls.
+ * dcrt0.cc: Move most globals to globals.cc.
+ * init.cc: Ditto.
+ * environ.cc (strip_title_path): Remove now-unneeded extern.
+ * fhandler_serial.cc (fhandler_serial::open): Ditto.
+ * pinfo.cc: Ditto.
+ (commune_process): Ditto.
+ * shared.cc: Ditto.
+ * glob.cc: Ditto.
+ * strace.cc: Ditto.
+ * exceptions.cc: Define CYGTLS_HANDLE before including winsup.h.
+ * path.cc (stat_suffixes): Move here.
+ * security.h: Add forward class path_conv declaration.
+ * smallprint.cc (__small_vsprintf): Make a true c++ function.
+ (__small_sprintf): Ditto.
+ (small_printf): Ditto.
+ (console_printf): Ditto.
+ (__small_vswprintf): Ditto.
+ (__small_swprintf): Ditto.
+ * spawn.cc (spawn_guts): Remove _stdcall decoration in favor of
+ regparm.
+ (hExeced): Move to globals.cc
+ * strfuncs.cc (current_codepage): Ditto.
+ (active_codepage): Ditto.
+ * sync.cc (lock_process::locker): Move here from dcrt0.cc.
+ * syscalls.cc (stat_suffixes): Move to path.cc.
+ * tty.cc (tty::create_master): Uncapitalize fatal warning for
+ consistency.
+ * winsup.h: Include globals.h to declare most of the grab bag list of
+ globals which were previously defined here.
+
+ * mount.h: Move USER_* defines back to shared_info.h.
+
+ * speclib: Force temporary directory cleanup.
+
+2009-01-02 Christopher Faylor <me+cygwin@cgf.cx>
+
+ * speclib: Rewrite completely in perl. Avoid multiple nm calls.
+
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc
index 31ecd7faf..663b9f93d 100644
--- a/winsup/cygwin/dcrt0.cc
+++ b/winsup/cygwin/dcrt0.cc
@@ -1,7 +1,7 @@
/* dcrt0.cc -- essentially the main() for the Cygwin dll
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009
+ 2007, 2008, 2009, 2010
Red Hat, Inc.
This file is part of Cygwin.