diff options
Diffstat (limited to 'winsup/cygwin/ChangeLog')
-rw-r--r-- | winsup/cygwin/ChangeLog | 2770 |
1 files changed, 5 insertions, 2765 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 66cb33130..1f93df2bf 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,2769 +1,9 @@ -2007-12-30 Dave Korn <dave.korn@artimi.com> +2008-01-01 Christopher Faylor <me+cygwin@cgf.cx> - * cygwin.din (_f_llrint, _f_llrintf, _f_llrintl, _f_lrint, _f_lrintf, - _f_lrintl, _f_rint, _f_rintf, _f_rintl): Export fast *rint* functions. - (lrint, lrintf, rint, rintf): Redirect exports to alias _f_ versions. - (llrint, llrintf, llrintl, lrintl, rintl): Add exports aliasing _f_* - versions likewise. - * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. + * newsym: First stab at understanding data as well as functions. -2007-12-22 Corinna Vinschen <corinna@vinschen.de> + * pipe.cc (fhandler_pipe::init): Move more intelligence here. + (fhandler_pipe::create): Simplify based on above change. - * fhandler.h (class fhandler_dev_random): Add dummy_offset member. - * fhandler_random.cc (fhandler_dev_random::lseek): Fake seeking - capability as on Linux. + * tty.cc (tty_list::allocate): Remove non-NT code. -2007-12-20 Eric Blake <ebb9@byu.net> - - * libc/memmem.cc (memmem): Fix bug when searching for empty string. - -2007-12-19 Corinna Vinschen <corinna@vinschen.de> - - * cygwin.din: Export wcpcpy, wcpncpy. - * include/cygwin/version.h: Bump API minor number. - -2007-12-16 Christopher Faylor <me+cygwin@cgf.cx> - - * dtable.cc (POSIX_NAMED_PIPE): New define. - (POSIX_NAMED_PIPE_LEN): Ditto. - (dtable::add_archetype): Use crealloc_abort. - (dtable::init_std_file_from_handle): Specifically detect pipe - stdin/stdout. Pass name to build_fh_dev so that proper name is - recorded. Use binmode of fh if it is set before using - get_default_mode. Set proper read/write access when calling init(). - (handle_to_fn): Handle pipes. - * fhandler.cc (fhandler_base::wait_overlapped): Add some debugging. - * fhandler.h (fhandler_base::set_name): Default to just setting the - path_conv name. - (fhandler_pipe::init): Declare. - * pipe.cc (struct pipesync): New struct. - (getov_result): New function. Blocks and retrieves the result of an - overlay I/O operation. - (pipe_handler): New function. - (pipesync::pipesync): New function. Initializer for pipesync struct. - (handler_pipe::init): Define. Detects attempts to set up a "native" - pipe fhandler and creates a thread which accepts input from or output - to the non-cygwin pipe, creating a cygwin pipe wrapper around the - non-cygwin pipe. - (fhandler_pipe::create): Add pipe-specific flags to call to init(). - - * exceptions.cc (ctrl_c_handler): Lock process while we determine what - to do. - -2007-12-14 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/socket.h: Include sys/uio.h instead of cygwin/uio.h. - * include/cygwin/uio.h: Remove. - -2007-12-14 Corinna Vinschen <corinna@vinschen.de> - - * dtable.cc (dtable::set_file_pointers_for_exec): Reenable. Fix - comment. - * spawn.cc (spawn_guts): Call cygheap->fdtab.set_file_pointers_for_exec - only for non-Cygwin processes. - -2007-12-13 Craig MacGregor <cmacgreg@gmail.com> - Corinna Vinschen <corinna@vinschen.de> - - * poll.cc (poll): Return count of fds with events instead of total - event count. - -2007-12-13 Corinna Vinschen <corinna@vinschen.de> - - * string.h: Guard cygwin internal string function definitions with - __INSIDE_CYGWIN__. - -2007-12-12 Corinna Vinschen <corinna@vinschen.de> - - * dcrt0.cc: Include string.h. - (initial_env): Use small_printf's %P specifier. - * dll_init.cc (dll_list::alloc): Use PATH_MAX instead of CYG_MAX_PATH - for path name buffer size. - * dll_init.h (struct dll): Ditto. - * environ.cc: Include string.h. - (win_env::add_cache): Use temporary local buffer for path conversion. - (posify): Ditto. - * exceptions.cc (try_to_debug): Use CreateProcessW to allow long path - names. - * miscfuncs.cc: Drop unused implementations of strcasematch and - strncasematch. - (ch_case_eq): Drop. - (strcasestr): Drop. - (cygwin_wcscasecmp): New function. - (cygwin_wcsncasecmp): New function. - (cygwin_strcasecmp): New function. - (cygwin_strncasecmp): New function. - (cygwin_wcslwr): New function. - (cygwin_wcsupr): New function. - (cygwin_strlwr): New function. - (cygwin_strupr): New function. - * ntdll.h (RtlDowncaseUnicodeString): Declare. - (RtlUpcaseUnicodeString): Declare. - (RtlInt64ToHexUnicodeString): Fix typo in comment. - * string.h: Disable not NLS aware implementations of strcasematch - and strncasematch. - (cygwin_strcasecmp): Declare. - (strcasecmp): Define as cygwin_strcasecmp. - (cygwin_strncasecmp): Declare. - (strncasecmp): Define as cygwin_strncasecmp. - (strcasematch):Define using cygwin_strcasecmp. - (strncasematch):Define using cygwin_strncasecmp. - (cygwin_strlwr): Declare. - (strlwr): Define as cygwin_strlwr. - (cygwin_strupr): Declare. - (strupr): Define as cygwin_strupr. - * wchar.h: New file. - * wincap.cc (wincapc::init): Use "NT" as fix OS string. - * winsup.h (strcasematch): Drop declaration. - (strncasematch): Ditto. - (strcasestr): Ditto. - -2007-12-11 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_base::fstat_helper): Fix R/O bit - handling on filesystems without ACL support. - -2007-12-11 Corinna Vinschen <corinna@vinschen.de> - - * localtime.cc (tzset): Guard by a muto for thread safety. - -2007-12-11 Dave Korn <dave.korn@artimi.com> - - * cygheap.cc (_csbrk): Don't request zero bytes from VirtualAlloc, - as windows treats that as an invalid parameter and returns an error. - -2007-12-11 Corinna Vinschen <corinna@vinschen.de> - - * localtime.cc (tzset): Call tzsetwall only if it hasn't been - called before. - -2007-12-07 Corinna Vinschen <corinna@vinschen.de> - - * include/sys/cygwin.h: Include limits.h. - -2007-12-06 Corinna Vinschen <corinna@vinschen.de> - - * dcrt0.cc (initial_env): Use PATH_MAX instead of CYG_MAX_PATH for path - name buffer size. - (dll_crt0_1): Allocate new_argv0 with PATH_MAX size. - * exceptions.cc (debugger_command): Set size to 2 * PATH_MAX + 20; - (error_start_init): Use PATH_MAX instead of CYG_MAX_PATH for path - name buffer size. - * external.cc (fillout_pinfo): Always fill out ep.progname 0-terminated. - Fill out ep.progname_long. - * fhandler_process.cc (fhandler_process::fill_filebuf): Allocate - buffer for executable filename with PATH_MAX size. - * pinfo.cc: Throughout use PATH_MAX instead of CYG_MAX_PATH. - * pinfo.h (class _pinfo): Set progname size to PATH_MAX. - * smallprint.cc: Include limits.h. Use PATH_MAX instead of CYG_MAX_PATH - for path name buffer size. - * strace.cc (strace::vsprntf): Ditto. - * include/sys/cygwin.h (EXTERNAL_PINFO_VERSION_32_LP): Define. - (EXTERNAL_PINFO_VERSION): Set to EXTERNAL_PINFO_VERSION_32_LP. - (struct external_pinfo): Add progname_long member. - * include/sys/dirent.h: Correctly include limits.h instead of - sys/limits.h. - -2007-12-05 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_tty.cc (fhandler_tty_slave::open): Use MAX_PATH instead of - CYG_MAX_PATH for event name buffer size. - (fhandler_pty_master::setup): Use MAX_PATH instead of CYG_MAX_PATH for - mutex name buffer size. - * netdb.cc: Drop old comment. - (open_system_file): Set path buffer size to MAX_PATH instead of - CYG_MAX_PATH. Drop conversion to posix path. Open file using win32 - path. - -2007-12-05 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_registry.cc: Use NAME_MAX + 1 instead of CYG_MAX_PATH - throughout for subkey name buffer size. - * fhandler_socket.cc (search_wsa_event_slot): Use MAX_PATH instead of - CYG_MAX_PATH for mutex name buffer size. - (fhandler_socket::init_events): Ditto. - * fhandler_virtual.cc (fhandler_virtual::opendir): Check path length - against PATH_MAX instead of against CYG_MAX_PATH. - * registry.cc (get_registry_hive_path): Use PATH_MAX instead of - CYG_MAX_PATH for registry value path buffer size. - * shared.cc (open_shared): Use MAX_PATH instead of CYG_MAX_PATH - for shared memory name buffer size. - * thread.cc (semaphore::semaphore): Use MAX_PATH instead of CYG_MAX_PATH - for semaphore name buffer size. - * uinfo.cc (cygheap_user::env_userprofile): Use PATH_MAX instead of - CYG_MAX_PATH for temporary path name buffer size. - * winf.h (LINE_BUF_CHUNK): Define as MAX_PATH * 2. - * include/sys/dirent.h: Include sys/limits.h. Define name buffer sizes - using NAME_MAX. - -2007-12-04 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_fifo.cc (fhandler_fifo::open): Use MAX_NAME for pipe name - buffer size. - (fhandler_fifo::fstatvfs): Use same technique as in fhandler_socket. - * fhandler_proc.cc (format_proc_partitions): Use NAME_MAX+1 for - device name buffer size. Use MAX_PATH for device path buffer size. - -2007-12-03 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (GetModuleFileNameExW): Replace definition of - GetModuleFileNameExA. - * fhandler_process.cc (format_process_maps): Change modname type to - WCHAR. Set buffer sizes to PATH_MAX. Call GetModuleFileNameExW - instead of GetModuleFileNameExA. Call mount_info::conv_to_posix_path - instead of cygwin_conv_to_full_posix_path. Set posix_modname to - modname if that call fails. - (format_process_stat): Set cmd buffer size to NAME_MAX + 1. Simplify - setting cmd to process name. - (format_process_status): Ditto. - * path.cc (mount_info::conv_to_posix_path): Call sys_wcstombs - correctly. - -2007-12-03 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/time.h: Remove redundant #endif. - -2007-12-01 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/time.h (daylight): Declare as extern symbol referring - _daylight variable. - (timezone): Only define if __timezonefunc__ is undefined. - -2007-12-01 Corinna Vinschen <corinna@vinschen.de> - Brian Dessent <brian@dessent.net> - - * Makefile.in (OBSOLETE_FUNCTIONS): Add timezone. - * include/cygwin/time.h: Drop conditional timezone definitions. - (timezone): Declare as extern symbol referring _timezone variable. - -2007-11-28 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_tape.cc (mtinfo::initialize): Use MAX_PATH instead of - CYG_MAX_PATH. - * fhandler_tty.cc (fhandler_pty_master::ptsname): Set buffer size to - TTY_NAME_MAX. - * syscalls.cc (ttyname): Eliminate the `+ 1' from the name buffer size - since TTY_NAME_MAX already counts the trailing NUL. - * libc/bsdlib.cc (openpty): Set pts buffer size to TTY_NAME_MAX. - -2007-11-28 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_socket.cc (fhandler_socket::recv_internal): Add MSG_WAITALL - handling. Use explicit flag values instead of MSG_WINMASK. - (fhandler_socket::send_internal): Use explicit flag values instead of - MSG_WINMASK. - * include/cygwin/socket.h (MSG_WINMASK): Remove definition. - (MSG_WAITALL): Define. - -2007-11-27 Corinna Vinschen <corinna@vinschen.de> - - * posix_ipc.cc (ipc_names): Rename max_len to prefix_len. Store - the prefix len in it. - (check_path): Take length parameter. Use this length insetad of - calling strlen. Allow PATH_MAX length paths. - (ipc_mutex_init): Use MAX_PATH instead of CYG_MAX_PATH. - (ipc_cond_init): Ditto. - (shm_open): Allocate local name buffer not bigger than necessary. Call - check_path with additional length argument. - (shm_unlink): Ditto. - (mq_open): Ditto. - (mq_unlink): Ditto. - (sem_open): Ditto. - (sem_unlink): Ditto. - -2007-11-27 Corinna Vinschen <corinna@vinschen.de> - - Drop old SetResourceLock stuff in favor of mutos. - * dcrt0.cc (_reslock): Remove. - (__cygwin_user_data): Accommodate removal of resourcelocks member. - (dll_crt0_0): Don't initialize resourcelocks. - * exceptions.cc (_cygtls::signal_exit): Drop resourcelocks handling. - * mmap.cc (mmap_guard): New muto. - (LIST_LOCK): Define. - (LIST_UNLOCK): Define. - (mmap_list::search_record): Remove. - (mmap_list::try_map): Include code for anonymous case from - mmap_list::search_record. - (mmap_is_attached_or_noreserve): Access bookkeeping lists in a thread - safe way. - (mmap64): Replace SetResourceLock/ReleaseResourceLock by - LIST_LOCK/LIST_UNLOCK. Lock at the latest possible point. - (munmap): Replace SetResourceLock/ReleaseResourceLock by - LIST_LOCK/LIST_UNLOCK. - (msync): Ditto. - (mprotect): Ditto. - * thread.cc (ResourceLocks::Lock): Remove. - (SetResourceLock): Remove. - (ReleaseResourceLock): Remove. - (ResourceLocks::Init): Remove. - (ResourceLocks::Delete): Remove. - * thread.h (SetResourceLock): Drop declaration. - (ReleaseResourceLock): Ditto. - (class ResourceLocks): Drop definition. - * include/sys/cygwin.h (class ResourceLocks): Drop forward declaration. - (struct per_process): Replace resourcelocks with additional unused2 - element. - (per_process_overwrite): Accommodate above change. - -2007-11-27 Corinna Vinschen <corinna@vinschen.de> - - * mmap.cc: Convert usage of dynamically growing cmalloced arrays to - cmalloced linked lists throughout. - (class mmap_record): Add LIST_ENTRY element. - (mmap_record::match): New method, taking over match algorithm from - list::search_record. - (class mmap_list): Rename from class list. Add LIST_ENTRY. Convert - recs to a LIST_HEAD. Drop nrecs and maxrecs members. - (mmap_list::get_record): Drop entirely. - (mmap_list::free_recs): Drop entirely. - (mmap_list::del_record): Take mmap_record to delete as parameter. - (mmap_list::search_record): Convert to mmap_record::match. - (class mmap_areas): Rename from class map. Convert lists to LIST_HEAD. - (mmap_areas::get_list): Drop entirely. - (mmap_areas::del_list): Take mmap_list to delete as parameter. - (mprotect): Fix indentation. - -2007-11-26 Christopher Faylor <me+cygwin@cgf.cx> - - Change many cygheap allocation routines to their *_abort analogs. - * cygheap.cc (cmalloc_abort): New function. - (crealloc_abort): Ditto. - (ccalloc_abort): Ditto. - -2007-11-23 Christopher Faylor <me+cygwin@cgf.cx> - - * cygheap.cc (_crealloc): Avoid memcpy when _cmalloc returns NULL. - -2007-11-08 Christopher Faylor <me+cygwin@cgf.cx> - - * dllfixdbg: Eliminate extra objcopy step. - -2007-11-07 Pedro Alves <pedro_alves@portugalmail.pt> - - * dllfixdbg: Pass --only-keep-debug to objcopy, instead of - selecting the sections manually. - -2007-11-06 Corinna Vinschen <corinna@vinschen.de> - - * thread.cc (pthread_key_create): Drop check for incoming valid object. - -2007-11-06 Corinna Vinschen <corinna@vinschen.de> - - * shm.cc: Include sync.h - (struct shm_shmid_list): Add ref_count member. - (struct shm_attached_list): Remove hdl and size members. Add a parent - member pointing to referenced shm_shmid_list entry. - (shm_guard): New muto. - (SLIST_LOCK): Define. - (SLIST_UNLOCK): Define. - (fixup_shms_after_fork): Use hdl and size members of parent - shm_shmid_list entry. - (shmat): Access sequential bookkeeping lists in a thread safe way. - Accommodate change in list element layout. Align comments. - (shmctl): Ditto. - (shmdt): Ditto. - (shmget): Ditto. - -2007-11-05 Corinna Vinschen <corinna@vinschen.de> - - * shm.cc (shmctl): On IPC_RMID don't unmap views and don't close handle - if the map is still referenced to emulate Linux and BSD behaviour. - -2007-11-05 Corinna Vinschen <corinna@vinschen.de> - - * shm.cc (shmctl): On IPC_RMID also unmap all views on shared mem - as well as connected shm_attached_list entry. - -2007-10-31 Corinna Vinschen <corinna@vinschen.de> - - * net.cc (load_ipv6_funcs): Use MAX_PATH instead of CYG_MAX_PATH. - (cygwin_getaddrinfo): Simplify formatting. - (cygwin_getnameinfo): Ditto. - -2007-10-31 Corinna Vinschen <corinna@vinschen.de> - - * external.cc (get_cygdrive_info): Make inline. - (get_cygdrive_prefixes): Remove. - (cygwin_internal): Call get_cygdrive_info with NULL flag parameters - instead of get_cygdrive_prefixes. - * path.cc (mount_info::get_cygdrive_info): Allow NULL flag parameters. - -2007-10-30 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_base::fstat_helper): Don't remove - write bits for directories with R/O attribute. - (fhandler_base::fhaccess): Don't shortcircuit R/O attribute with W_OK - scenarios for directories. - -2007-10-22 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.h (struct cwdstuff): Drop hash member. Drop get_hash, - get_initial, and fixup_after_exec declarations. - Convert win32 to UNICODE_STRING. - (cwdstuff::get_drive): Convert win32 path in current codepage. - (cwdstuff::set): Take native NT path. - * ntdll.h (struct _TEB): Typedef. - * path.cc (mount_info::conv_to_posix_path): Add variant taking - wide char DOS paths. - (symlink_info::posixify): Simplify concatenating cwd and relative path. - (hash_path_name): Drop special relative path handling. - (chdir): Drop special "drive only" handling. Call cwdstuff::set with - native path. - (cwdstuff::get_hash): Remove. - (windows_system_directory): Remove. - (_upp): Remove. - (get_user_proc_parms): Make inline. Get PEB pointer by calling - NtCurrentTeb. - (cwdstuff::init): Simplify. - (cwdstuff::set): Rework to handle incoming native NT path. Workaround - a Vista problem with CWD handle in the user process parameter block. - (cwdstuff::get): Simplify locking. Accommodate type change of win32. - * shared_info.h (mount_info): Add declaration for new conv_to_posix_path - method. - * strfuncs.cc (sys_wcstombs): Return correct length of created - multi-byte string. - -2007-10-19 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (__DIR_mounts::eval_ino): Make fname big enough - to allow multibyte chars. - -2007-10-18 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (fhandler_base::open): Open native symlinks with - FILE_OPEN_REPARSE_POINT flag. Fix typo in comment. - -2007-10-18 Corinna Vinschen <corinna@vinschen.de> - - * include/sys/param.h (MAXPATHLEN): Define as PATH_MAX. - -2007-10-14 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (is_at_eof): Rewrite using NT functions. - (off_current): New static variable. - (off_append): Ditto. - (fhandler_base::raw_write): Use NtWriteFile. Accommodate O_APPEND here. - (fhandler_base::write): Drop O_APPEND hack. Use NT functions. - (fhandler_base::lseek): Rewrite using NT functions. - * fhandler_disk_file.cc (fhandler_disk_file::fstatvfs): Add space in - debug output. - (fhandler_disk_file::ftruncate): Ditto. - * ntdll.h (STATUS_DISK_FULL): Define. - (FILE_USE_FILE_POINTER_POSITION): Define. - (FILE_WRITE_TO_END_OF_FILE): Define. - -2007-10-13 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (STATUS_END_OF_FILE): Define. - * path.cc (symlink_info::check_shortcut): Use NT function to get file - size. Reintroduce checking file size before reading it. Eliminiate - close_it label. - (symlink_info::check_sysfile): Check for EOF condition. - -2007-10-11 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (basename): Return pointer into the path argument itself. - Shrink buf to 4 bytes. Use buf only for border cases. - (dirname): Ditto. - -2007-10-10 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (struct symlink_info): Change size of contents member to - be able to keep SYMLINK_MAX sized strings. - (symlink_worker): Rework for long path names. When writing windows - shortcuts, store pathname additionally "hidden" after the actual - shortcut data to workaround size limitations of the description field. - (symlink_info::check_shortcut): Drop file name parameter. Drop max - file size check. Use NT functions. Use appended full path if - available, description otherwise. Check symlink string length for - not exceeding SYMLINK_MAX. Don't close file here. - (symlink_info::check_sysfile): Drop file name parameter. Use NT - functions. Check symlink string length for not exceeding SYMLINK_MAX. - Don't close file here. - (symlink_info::check_reparse_point): Drop file name parameter. Drop - useless length checks. Allow SYMLINK_MAX length symlink strings. - Don't close file here. - (symlink_info::posixify): Allow SYMLINK_MAX length symlink strings. - (symlink_info::check): Turn around checking for symlink file attributes. - Use NT functions. Close symlink file here. - * include/limits.h (PATH_MAX): Define as 32760. Change comment. - (SYMLINK_MAX): Define as PATH_MAX - 1. - -2007-10-10 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_socket.cc (fhandler_socket::bind): Open file for deletion, - too. Don't write to file and especially don't close handle if file - couldn't be created. Set delete disposition if writing failed, - instead of calling unlink_nt. - -2007-09-27 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (struct _FILE_COMPRESSION_INFORMATION): Align with definition - in w32api / MSDN. - * fhandler_disk_file.cc (fhandler_base::fstat_helper): Accommodate - change to struct _FILE_COMPRESSION_INFORMATION. - -2007-09-26 Corinna Vinschen <corinna@vinschen.de> - - * termios.cc (setspeed): Support new baud rates introduced 2007-02-05. - -2007-09-20 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (STATUS_OBJECT_NAME_INVALID): Define. - -2007-09-18 Corinna Vinschen <corinna@vinschen.de> - - * mmap.cc (fh_disk_file): Delete as global static variable and... - (mmap64): ...define as local pointer to make mmap thread-safe. - Accommodate throughout. Only initialize fh_disk_file after file could - be opened with GENERIC_EXECUTE access. Call fstat_by_handle instead of - fstat to avoid overhead. - -2007-09-18 Corinna Vinschen <corinna@vinschen.de> - - * security.cc (set_file_sd): Open file with FILE_OPEN_FOR_BACKUP_INTENT - too. - -2007-09-17 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (symlink_info::check): Check for STATUS_OBJECT_NAME_INVALID. - Add comment. - -2007-09-17 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (fhandler_base::open): Partly revert change from - 2007-08-24: Call has_acls to avoid permission problems getting - a handle to a file on a remote share. Add comment. - -2007-09-08 Brian Dessent <brian@dessent.net> - - * include/cygwin/config.h: Conditionalize inline __getreent() - definition on _COMPILING_NEWLIB. - -2007-09-06 Brian Dessent <brian@dessent.net> - - * include/cygwin/config.h (__getreent): Define inline version. - -2007-09-06 Brian Dessent <brian@dessent.net> - - * include/sys/stdio.h (_flockfile): Don't try to lock a FILE - that has the __SSTR flag set. - (_ftrylockfile): Likewise. - (_funlockfile): Likewise. - -2007-08-24 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (open): Don't follow symlinks if O_EXCL is given. - -2007-08-23 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (STATUS_NO_SUCH_FILE): Define. - * path.cc (get_nt_native_path): Reset upath.Length to 0 on each - invocation. - (symlink_info::check): Use NT native functions. - -2007-08-21 Corinna Vinschen <corinna@vinschen.de> - - * uinfo.cc (pwdgrp::load): Use NT native functions. - -2007-08-21 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_base::fstat_helper): Rewrite checking - for executable file magic using a thread safe method and re-enable this - code. - -2007-08-21 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (unlink_nt): Drop one local FILE_BASIC_INFORMATION struct. - -2007-08-21 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (NtNotifyChangeDirectoryFile): Declare. - (NtQueryAttributesFile): Move to maintain alphabetical order of - declarations. Add comment to note that timestamp information returned - by NtQueryAttributesFile is unreliable. - * path.h (etc::changed_h): Move here. - (etc::fn): Change type to OBJECT_ATTRIBUTES. - (etc::last_modified): Change type to LARGE_INTEGER. - (etc::init): Take PUNICODE_STRING as second argument. - * path.cc: Accomodate above changes. - (etc::test_file_change): Use NT native functions. - (etc::dir_changed): Ditto. - * uinfo.cc (pwdgrp::load): Call etc::init with NT native path. - -2007-08-21 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc: Change debugging output througout to print - the NT status consistently. Use UNICODE path information if available. - -2007-08-20 Corinna Vinschen <corinna@vinschen.de> - - * hookapi.cc (ld_preload): Call LoadLibraryW. - * path.h (path_conv::get_wide_win32_path_len): Define. - -2007-08-20 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (rootdir): Delete. - * winsup.h (rootdir): Drop declaration. - -2007-08-19 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (fillout_mntent): Append backslash to drive-only paths before - calling fs_info::update. - * path.h (fs_info::clear): Simplify. - (fs_info::fs_info): Add constructor. - -2007-08-17 Corinna Vinschen <corinna@vinschen.de> - - * spawn.cc (spawn_guts): Fix typo in comment. - -2007-08-17 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (CloseDesktop): Define. - (CreateDesktopA): Define. - (SetThreadDesktop): Define. - * spawn.cc (spawn_guts): When starting a process under another user - account, don't open up permissions on current window station and - desktop. Instead, if not in interactive session, create a new per-user - window station plus default desktop and use that for the child process. - -2007-08-16 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Handle S_IFSOCK - mode bit by setting the SYSTEM attribute. - * fhandler_socket.cc (fhandler_socket::fchmod): Add S_IFSOCK mode bit - when calling fhandler_disk_file::fchmod. Don't set attributes here. - -2007-08-16 Corinna Vinschen <corinna@vinschen.de> - - * path.h (path_conv::operator char *): Delete. - (path_conv::operator const char *): Delete. - * dlfcn.cc: Throughout, replace path_conv::operator char * and - path_conv::operator const char * by call to path_conv::get_win32 - for easier transition to UNICODE_PATHs. - * fhandler_socket.cc: Ditto. - * hookapi.cc: Ditto. - * path.cc: Ditto. - * spawn.cc: Ditto. - * syscalls.cc: Ditto. - * uinfo.cc: Ditto. - -2007-08-16 Corinna Vinschen <corinna@vinschen.de> - - * dir.cc (readdir_worker): Convert w32name to PUNICODE_STRING. - * sec_acl.cc (getacl): Convert debug output to print native NT path. - * security.cc (set_file_attribute): Ditto. - * syscalls.cc (try_to_bin): Ditto and fix buggy debug statement. - -2007-08-16 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (RtlAcquirePebLock): Declare. - (RtlReleasePebLock): Declare. - * path.cc (cwdstuff::set): Change PEB only while it's locked. - -2007-08-16 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (fhandler_base::get_namehash): Use NT native path. - * fhandler_disk_file.cc (readdir_get_ino): Ditto in call to - hash_path_name. - -2007-08-16 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (RtlCreateUnicodeStringFromAsciiz): Fix declaration. - (RtlUpcaseUnicodeChar): Declare. - * path.cc (hash_path_name): Split into three functions, taking - the path as char *, PWCSTR, or PUNICODE_STRING. Move implementation - into PUNICODE_STRING-based function. Drop old drive-relative path - consideration. - * winsup.h (iswdirsep): Like isdirsep but for WCHARs. - (isabspath_u): Like isabspath, for PUNICODE_STRINGs. - (iswabspath): Like isabspath, for PWCHARs. - (hash_path_name): Add new declarations. - -2007-08-15 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (get_nt_native_path): Allow to convert special paths which - have no native NT path representation for simplified debug output. - * syscalls.cc: Convert debug output to print native NT path. - (unlink): Drop redundant debug output. - -2007-08-15 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::link): Drop superfluous - test for trailing dot. - * path.h (path_conv::operator []): Remove. - -2007-08-15 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_socket.cc (get_inet_addr): Use NT native functions for - accessing the file representing the local socket. - (fhandler_socket::bind): Ditto. - * ntdll.h: Declare NtReadFile. - -2007-08-14 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (symlink_info::check): In case of ERROR_SHARING_VIOLATION and - ERROR_ACCESS_DENIED, try to get file attributes by using directory - functions. - -2007-08-14 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (fs_info::update): Correctly handle the volume root directory. - -2007-08-14 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (fhandler_base::pc): Make public. - * fhandler_disk_file.cc (fhandler_disk_file::link): Drop extern - declaration of stat_suffixes. Use NT native path in debug output. - (fhandler_base::utimes_fs): Simplify closeit case. Use close_fs - to close newly opened file handle. - (fhandler_base::open_fs): Use NT native path in debug output. - * path.cc: Throughout drop extern declaration of stat_suffixes. - * path.h (stat_suffixes): Declare. - * sec_acl.cc (acl_worker): Drop extern declaration of stat_suffixes. - * times.cc (utimes_worker): Take path_conv as parameter instead of - single-byte pathnam, drop nofollow argument, accommodate throughout. - Compare UNICODE paths when enumerating file descriptors. Fix - formatting. Use NT native path in debug output. - -2007-08-13 Corinna Vinschen <corinna@vinschen.de> - - * mmap.cc: Call NtClose instead of CloseHandle throughout. - (CreateMapping): Drop unused last argument. Accommodate throughout. - (mmap64): Re-open file with execute permissions using NtOpenFile. - -2007-08-13 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (fhandler_base::close_fs): Reintroduce (as inline function) - for clearness. - * fhandler_disk_file.cc (fhandler_base::fstat_fs): Revert previous - change. - (fhandler_base::open_fs): Ditto. - * fhandler_socket.cc (fhandler_socket::close): Ditto. - -2007-08-13 Corinna Vinschen <corinna@vinschen.de> - - * Makefile.in (DLL_OFILES): Remove delqueue.o. - * delqueue.cc: Delete. - * fhandler.h (fhandler_base::close_fs): Drop declaration. - (fhandler_disk_file::close): Drop declaration. - * fhandler_disk_file.cc (fhandler_base::fstat_fs): Call close instead of - close_fs. - (fhandler_base::fstat_helper): Use open FH_UNIX handle in call to - get_file_attribute. - (fhandler_base::open_fs): Call close instead of get_file_attribute. - (fhandler_disk_file::close): Remove. - (fhandler_base::close_fs): Remove. - * fhandler_socket.cc (fhandler_socket::close): Just call - fhandler_base::close for FH_UNIX sockets. - * shared.cc (user_shared_initialize): Drop call to - user_shared->delqueue.init. - * shared_info.h (CURR_USER_MAGIC): Change according to below change. - (MAX_DELQUEUES_PENDING): Remove. - (class delqueue_list): Remove. - (class user_info): Remove delqueue. - * syscalls.cc (close_all_files): Drop call to - user_shared->delqueue.process_queue. - (unlink): Drop delqueue handling. - -2007-08-13 Corinna Vinschen <corinna@vinschen.de> - - * devices.in (dev_storage): Use native NT device name for kmsg mailslot. - * devices.cc: Regenerate. - * fhandler.cc (fhandler_base::operator =): Use path_conv assignment - operator. - (fhandler_base::set_name): Ditto. - (fhandler_base::open): Use NT native path in debug output. - * fhandler_mailslot.cc: Convert to NT native function calls. - * ntdll.h (struct _FILE_MAILSLOT_SET_INFORMATION): Define. - (NtCreateMailslotFile): Declare. - * path.cc (path_conv::set_normalized_path): Don't set wide_path to NULL. - (path_conv::set_name): Remove unused function. - * path.h (path_conv::set_name): Drop declaration. - (path_conv::operator =): Define. - -2007-08-12 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (fhandler_base::open): Remove HIDDEN_DOT_FILES code. - * fhandler_disk_file.cc (fhandler_disk_file::mkdir): Ditto. - * path.cc (symlink_worker): Ditto. - -2007-08-12 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (getw): Remove redundant implementation. - (putw): Ditto. - (wcscmp): Ditto. - (wcslen): Ditto. - (memccpy): Ditto. - -2007-08-12 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h: Add descriptive comments to special Rtl functions. - (STATUS_OBJECT_PATH_NOT_FOUND): Define. - (STATUS_BUFFER_OVERFLOW): Define. - (FILE_SUPERSEDED): Define. - (FILE_OPENED): Define. - (FILE_CREATED): Define. - (FILE_OVERWRITTEN): Define. - (FILE_EXISTS): Define. - (FILE_DOES_NOT_EXIST): Define. - (PIO_APC_ROUTINE): Typedef. - (NtFsControlFile): Fix parameter types to use PIO_APC_ROUTINE. - (NtWriteFile): Declare. - (RtlInt64ToHexUnicodeString): Declare. - * strfuncs.cc: Include ntdll.h. - (RtlInt64ToHexUnicodeString): New function. - * syscalls.cc (try_to_bin): Rewrite using native NT functions. - Only try to create recycle bin after unsuccessfully trying to move - file. Also try to create special files in recycle bin so that Windows - Explorer isn't unnecessarily stampeded. - -2007-08-10 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (fillout_mntent): Fix calculation of unicode buffer size. - -2007-08-10 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (rename): Check oldpath and newpath for trailing dir - separators, require them to be existing directories if so. Check - for a request to change only the case of the filename. Check paths - for case insensitve equality only once. Handle renaming a directory - to another, existing directory by unlinking the destination directory - first. If newpath points to an existing file with R/O attribute set, - try to unset R/O attribute first. Augment hardlink test by not - checking directories. If renaming fails with STATUS_ACCESS_DENIED, - try to unlink existing destination filename and try renaming again. - Drop useless test for non-empty directory. Always close fh at the - end of the function. - -2007-08-09 Ernie Coskrey <Ernie.Coskrey@steeleye.com> - - * gendef (sigbe): Reset "incyg" while the stack lock is active to avoid - a potential race. - -2007-08-09 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (rename): Close oldpath file handle immediately after - trying to rename it. Use nfh handle when checking for non-empty - newpath directory. Only change status if check_dir_not_empty really - returns STATUS_DIRECTORY_NOT_EMPTY. - -2007-08-02 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (readdir_get_ino): Accommodate native symlinks. - * syscalls.cc (rename): Ditto. - -2007-08-02 Christopher Faylor <me+cygwin@cgf.cx> - - * lib/Makefile: Add missed file to accommodate below changes. - -2007-08-02 Christopher Faylor <me+cygwin@cgf.cx> - - * lib/cygwin_attach_dll.c: Fix compiler warning. - * lib/cygwin_crt0.c: Ditto. - -2007-08-02 Christopher Faylor <me+cygwin@cgf.cx> - - * dcrt0.cc (codepage_type): Remove definition. - * strfuncs.cc: Move it here. New file with bits of miscfuncs.cc. - * miscfuncs.cc: Remove wide character stuff. - -2007-08-02 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (rename): Move and add text to comment about testing - oldpath and newpath referring to the same file. Test if oldpath - has more than one hardlink before opening oldpath (idea by Eric Blake). - Reorder test so that file id is tested before volume serial number. - -2007-08-02 Corinna Vinschen <corinna@vinschen.de> - - * path.h (struct fs_info): Drop root_len and name_hash members. - (fsinfo::length): Remove. - (path_conv::rootdir): Remove. - * syscalls.cc (try_to_bin): Use rootdir function instead of - path_conv::rootdir method. - -2007-08-02 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (path_conv::ndisk_links): Fix typo in call to - NtClose. - -2007-08-01 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (rename): Check if oldpath and newpath refer to the - same file. If so, return successfully and perform no other action, - as per SUSv3. - -2007-08-01 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (STATUS_ACCESS_DENIED): Define. - * syscalls.cc (check_dir_not_empty): New static function. - (unlink_nt): Move code checking for non-empty dir to check_dir_not_empty - and call check_dir_not_empty instead. - (rename): Add fault handler. Check oldpath and newpath for trailing - . and .. path components and return EINVAL if so. Check oldpath - for being on a vrtual file system. If renaming a dir fails with - STATUS_ACCESS_DENIED, check if the target dir is non-empty and return - ENOTEMPTY if so. - -2007-08-01 Corinna Vinschen <corinna@vinschen.de> - - * localtime.cc (tzsetwall): Don't set TZ. - -2007-08-01 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Drop - usage of path_conv::volser(). - (fhandler_base::fstat_by_name): Ditto. - * ntdll.h (STATUS_NO_MEDIA_IN_DEVICE): Define. - (STATUS_OBJECT_NAME_NOT_FOUND): Define. - (FILE_REMOVABLE_MEDIA, FILE_READ_ONLY_DEVICE, FILE_FLOPPY_DISKETTE) - (FILE_WRITE_ONCE_MEDIA, FILE_REMOTE_DEVICE, FILE_DEVICE_IS_MOUNTED) - (FILE_VIRTUAL_VOLUME, FILE_AUTOGENERATED_DEVICE_NAME) - FILE_DEVICE_SECURE_OPEN): Define Device Characteristics. - (struct _FILE_FS_DEVICE_INFORMATION): Define. - * path.cc (MAX_FS_INFO_CNT): Remove. - (fsinfo): Remove. - (fsinfo_cnt): Remove. - (fs_info::update): Rewrite using native NT functions. Drop fs_info - cashing since it's incorrect. - (path_conv::fillin): Use NtQueryInformationFile. Drop setting serial - number. - (path_conv::check): Accommodate new fs_info::update parameters. - (fillout_mntent): Ditto. - * path.h (fs_info): Drop serial, has_ea and drive_type status - flags. - (fs_info::update): Declare with new parameters. - (path_conf::drive_type): Remove. - (path_conf::fs_has_ea): Remove. - (path_conf::volser): Remove. - -2007-08-01 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (check_posix_perms): Remove. - (fhandler_base::fpathconf): Return value of pc.has_acls () instead - of calling check_posix_perms. - -2007-08-01 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (rename): Use unchanged path_conv in condition. - -2007-08-01 Corinna Vinschen <corinna@vinschen.de> - - * smallprint.cc (__small_vsprintf): Add format specifier 'W' for - PWCHAR arguments. Move wide char handling after char handling. - -2007-07-31 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (RtlFreeAnsiString): Declare. - * ntdll.h (RtlFreeOemString): Declare. - * ntdll.h (RtlUnicodeStringToAnsiString): Declare. - * ntdll.h (RtlUnicodeStringToOemString): Declare. - * smallprint.cc: Renamed from smallprint.c. Drop unnecessary - forward declarations. - (__small_vsprintf): Add format specifiers 'C' for WCHAR arguments - and 'S' for PUNICODE_STRING arguments. - -2007-07-31 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::link): Revert to checking - for binary in case of .exe files. - * ntdll.h (RtlPrefixUnicodeString): Declare. - * path.cc (path_conv::is_binary): New method. - * path.h (path_conv::is_binary): Declare. - * syscalls.cc (rename_append_suffix): New static helper function for - rename. - (rename): Rewrite. New suffix tests. Use native NT functions. - -2007-07-30 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::facl): If file can't be - opened for reading the ACLs, fall back to faking them. - * sec_acl.cc (acl_worker): Handle non-existing files. - * security.cc (get_file_attribute): Return ILLEGAL_UID/ILLEGAL_GID - as owner/group for non-readable ACLs on file systems supporting them. - -2007-07-30 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (stat_worker): Don't call build_fh_pc with invalid pc. - -2007-07-29 Christopher Faylor <me+cygwin@cgf.cx> - - * fhandler.cc (fhandler_base::wait_overlapped): Handle read EOF better - and issue a SIGPIPE when we get ERROR_NO_DATA. - -2007-07-29 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Don't allow - FileAttributes set to 0 when calling NtSetInformationFile since it has - a special meaning. - (fhandler_disk_file::facl): Ditto. - (fhandler_disk_file::link): Only set attributes after copying files. - Use SetFileAttributesW. - * syscalls.cc (unlink_nt): Only care for actual FILE_ATTRIBUTE_READONLY. - Don't allow FileAttributes set to 0 when calling NtSetInformationFile. - After marking for deletion, restore R/O attribute on files to - accommodate hardlinks. - -2007-07-29 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::link): Use FILE_ANY_ACCESS. - (fhandler_base::utimes_fs): Fix white space. - (fhandler_disk_file::lock): Remove 9x blurb from comment. - (fhandler_disk_file::mkdir): Use NtCreateFile/NtClose instead of - CreateDirectoryA. - (fhandler_disk_file::rmdir): Accommodate changes to unlink_nt. - Simplify post-delete SMB-related tests. Use NtQueryAttributesFile - instead of GetFileAttributes. - * ntdll.h (STATUS_DIRECTORY_NOT_EMPTY): Define. - (NtQueryAttributesFile): Declare. - * syscalls.cc (unlink_nt): Return NTSTATUS. Drop setattrs parameter. - Never use FILE_DELETE_ON_CLOSE, always use - NtSetInformationFile(FileDispositionInformation) instead. - Check for R/O attributes and open file with FILE_WRITE_ATTRIBUTES - access if any of them are set. Remove R/O attributes before - marking for delete if necessary. Revert them afterwards if necessary. - (unlink): Accommodate changes to unlink_nt. - -2007-07-29 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc: Use get_handle throughout. - (fhandler_disk_file::fchmod): Always try to open file with required - access rights. Use NtSetInformationFile instead of SetFileAttributes. - (fhandler_disk_file::facl): Use NtSetInformationFile instead of - SetFileAttributes. - (fhandler_base::utimes_fs): Change lastaccess and lastwrite to - LARGE_INTEGER. Drop 9x directory case. Use NtSetInformationFile - instead of SetFileAttributes. Drop temporarily changing R/O attribute - since NtSetInformationFile(FileBasicInformation) also works on R/O - files. - * ntdll.h (STATUS_NOT_SUPPORTED): Define. - -2007-07-29 Christopher Faylor <me+cygwin@cgf.cx> - - * cygtls.h (_cygtls::inside_kernel): Move function declaration into - _cygtls class. - * exceptions.cc (_cygtls::inside_kernel): Move function definition into - _cygtls class. - - * fhandler.cc (fhandler_base::wait_overlapped): Make return tri-state - to detect when there is a EINTR situation. Add a pointer to a length - parameter. Move GetOverlappedResult into this function. - (fhandler_base::read_overlapped): Accommodate above changes and loop if - we receive a restartable signal. - (fhandler_base::write_overlapped): Ditto. - * fhandler.h (fhandler_base::wait_overlapped): Reflect above changes. - * fhandler_fifo.cc (fhandler_fifo::wait): Ditto. - -2007-07-28 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (RtlEqualUnicodePathPrefix): Rename from RtlEqualPathPrefix. - (RtlEqualUnicodePathSuffix): Rename from RtlEqualPathSuffix. - * fhandler_disk_file.cc (fhandler_disk_file::link): Accommodate above - change. - -2007-07-28 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (RtlInitCountedUnicodeString): Swap order of string and length - parameters to be the same as for RtlInitEmptyUnicodeString. - (RtlEqualPathPrefix): New inline function. - (RtlEqualPathSuffix): New inline function. - * fhandler_disk_file.cc: Accommodate parameter order change of - RtlInitEmptyUnicodeString throughout. - (fhandler_disk_file::link): Do path checking in unicode. Call - CopyFileW instead of CopyFileA. - -2007-07-27 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (CreateHardLinkA): Remove. - * fhandler_disk_file.cc (fhandler_disk_file::link): Drop GetBinaryType - test. Just check exe suffix instead. Tune creating new file name. - Implement creating hard link using native NT functions which works - on all platforms. - * ntdll.h (STATUS_INVALID_DEVICE_REQUEST): Define. - (struct _FILE_LINK_INFORMATION): Define. - -2007-07-27 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::ftruncate): Use - NtQueryInformationFile instead of GetFileSize, NtFsControlFile instead - of DeviceIoControl. - -2007-07-27 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_base::fstat_by_name): Use - RtlSplitUnicodePath. - (fhandler_disk_file::fstat): Rename oret to opened. Open file using NT - functions right here. Try to open parent dir instead of root directory - to avoid call to rootdir. Use NtFsControlFile. - * ntdll.h (RtlSplitUnicodePath): Define. - -2007-07-27 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (is_volume_mountpoint): New static inline - function. - (path_conv::ndisk_links): Call is_volume_mountpoint. - (fhandler_disk_file::readdir_helper): Ditto. - -2007-07-27 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (enum query_state): Drop redundant query_stat_control. - * fhandler.cc (fhandler_base::open): Ditto. Add READ_CONTROL to - access and FILE_OPEN_FOR_BACKUP_INTENT to create_options when opening - for writing. Always set security attributes to avoid calling - has_acls. - * fhandler_disk_file.cc (fhandler_base::fstat_fs): Don't try to - open file twice. - -2007-07-26 Corinna Vinschen <corinna@vinschen.de> - - * dir.cc (readdir_worker): Drop dir parameter from call to - readdir_get_ino. - * fhandler.h (fhandler_disk_file::readdir_helper): Switch file name - parameter to PUNICODE_STRING. - * fhandler_disk_file.cc: Drop including ntdef.h. - (class __DIR_mounts): Store mount points in UNICODE. Additionally - store cygdrive prefix in unicode here. Change methods accordingly. - (__DIR_mounts::eval_ino): Call new stat_worker instead of lstat64. - (__DIR_mounts::~__DIR_mounts): New destructor to free UNICODE buffers. - (path_conv::ndisk_links): Rewrite using native NT functions. - (fhandler_base::fstat_by_handle): Use NAME_MAX instead of CYG_MAX_PATH. - Always set pfvi->VolumeSerialNumber to non-0. Remove last resort - code. - (fhandler_base::fstat_by_name): Rewrite using native NT functions. - (fhandler_base::fstat_fs): Always call fstat_by_name if fstat_by_handle - fails. - (fhandler_base::fstat_helper): Rely on dwVolumeSerialNumber. - (fhandler_disk_file::facl): Call fstat_by_name if fstat_by_handle fails. - (DIR_BUF_SIZE): Define using NAME_MAX instead of CYG_MAX_PATH. - (__DIR_cache): Remove __name. - (d_dirname): Remove. - (fhandler_disk_file::opendir): Drop pathname length check. - Remove outdated comment. Use get_name method instead of accessing - pc.normalized_path directly. - (readdir_get_ino): Drop unused dir parameter. Accomodate throughout. - Allocate fname dynamically. Call new stat_worker instead of lstat64. - Call NtOpenFile instead of CreateFile. Call NtClose instead of - CloseHandle. - (fhandler_disk_file::readdir_helper): Use native NT functions. - Check for volume mount points and use correct inode number. - (fhandler_disk_file::readdir): Simplify slightly. - Use get_name instead of pc.normalized_path. - (fhandler_disk_file::rewinddir): Use RtlInitUnicodeString. - (fhandler_cygdrive::fstat): Ignore floppy drives. Set st_nlink - correctly. - (fhandler_cygdrive::readdir): Ignore floppy drives. - * fhandler_netdrive.cc (fhandler_netdrive::readdir): Accommodate - change to readdir_get_ino. - * fhandler_proc.cc (PROC_DIR_COUNT): Define. - (fhandler_proc::fstat): Evaluate correct link count for /proc. - * ntdll.h (struct _FILE_DIRECTORY_INFORMATION): Define. - (NtFsControlFile): Declare. - (RtlAppendUnicodeToString): Declare. - (RtlAppendUnicodeStringToString): Declare. - (RtlCompareUnicodeString): Declare. - (RtlCopyUnicodeString): Declare. - (RtlCreateUnicodeStringFromAsciiz): Declare. - (RtlEqualUnicodeString): Declare. - (RtlFreeUnicodeString): Declare. - (RtlInitEmptyUnicodeString): Declare. - (RtlSecondsSince1970ToTime): Declare. - (RtlInitEmptyUnicodeString): Define as inline function. - (RtlInitCountedUnicodeString): Define as inline function. - * path.cc (path_conv::check): New method with PUNICODE_STRING as path, - preliminary implementation. - (mount_info::get_mounts_here): Change to create UNICODE_STRINGs. - Also copy cygpath prefix into UNICODE_STRING. - (is_floppy): Drop 9x consideration. - * path.h: Drop including ntdef.h. - (path_conv::check): Add declaration. - (path_conv::path_conv): Add constructor for UNICODE_STRING paths. - * shared_info.h (mount_info::get_mounts_here): Change declaration. - * syscalls.cc: Drop forward declaration of stat_worker. - (stat_worke): Take path_conv as parameter. Drop nofollow flag. - (stat64): Create matching path_conv and call stat_worker with it. - (lstat64): Ditto. - * winsup.h: Include ntdef.h. - (stat_worker): Declare. - (readdir_get_ino): Change declaration. - -2007-07-25 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (CreateToolhelp32Snapshot): Remove. - -2007-07-25 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (Process32First): Remove. - (Process32Next): Remove. - -2007-07-25 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (NetWkstaUserGetInfo): Remove. - (CharToOemBuffA): Remove. - (KillTimer): Remove. - (OemToCharBuffA): Remove. - (SetTimer): Remove. - -2007-07-20 Corinna Vinschen <corinna@vinschen.de> - - * Makefile.in (DLL_OFILES): Add sec_auth.o. - * fhandler.cc (fhandler_base::fhaccess): Accommodate interface changes - of access control functions throughout. - * fhandler_disk_file.cc: Ditto. - * fhandler_registry.cc: Ditto. - * sec_acl.cc: Drop unnecessary includes. - (setacl): Take path_conv instead of file name as parameter. - Accommodate interface changes of access control functions. - (getacl): Ditto. - * sec_auth.cc: New file, taking over all authentication related - functions from security.cc. - * sec_helper.cc: Drop unnecessary includes. - * security.cc: Ditto. Move all authentication related functions to - sec_auth.cc. - (ALL_SECURITY_INFORMATION): New define. Use throughout. - (set_file_sd): New function, replacing read_sd and the file related - part of get_nt_object_security. - (get_reg_sd): Rename from get_reg_security. Drop type parameter. - (get_reg_attribute): New function, replacing the registry related part - of get_nt_object_security. - (get_file_attribute): Take path_conv instead of file name as parameter. - Use new get_file_sd call. - (set_file_attribute): Ditto plus new set_file_sd. Drop unnecessary - implementation without uid/gid parameters. - (check_file_access): Take path_conv instead of file name as parameter. - Use new get_file_sd call. - (check_registry_access): Use new get_reg_sd call. - * security.h: Accommodate above interface changes. - -2007-07-19 Corinna Vinschen <corinna@vinschen.de> - - * security.cc (set_nt_attribute): Remove. - (set_file_attribute): Do it yourself instead of calling - set_nt_attribute. - -2007-07-19 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_base::fstat_by_name): Use - NtQueryFullAttributesFile instead of FindFirstFile. - (fhandler_base::fstat_fs): Drop check for exec_state. Drop check for - invalid characters. - * ntdll.h (struct _FILE_NETWORK_OPEN_INFORMATION): Define. - (NtQueryFullAttributesFile): Declare. - -2007-07-19 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (fhandler_base::open): Drop local wpath and upath - variables. Call pc.get_object_attr to create object attributes. - * fhandler_disk_file.cc (fhandler_disk_file::opendir): Ditto. - * syscalls.cc (unlink_nt): Ditto. - * path.cc (path_conv::set_normalized_path): Set wide_path to NULL. - (path_conv::get_nt_native_path): Drop parameter. Create path in - wide_path/uni_path members. - (path_conv::get_object_attr): New method to create object attributes. - (path_conv::get_wide_win32_path): New method to create Win32 wide path. - (path_conv::check): Initialize wide_path to NULL. - (path_conv::~path_conv): cfree wide_path. - * path.h (class path_conv): New members wide_path and uni_path. - Add declarations of get_object_attr and get_wide_win32_path. - (path_conv::path_conv): Initialize wide_path to NULL. - (path_conv::get_nt_native_path): Drop parameter. - -2007-07-19 Corinna Vinschen <corinna@vinschen.de> - - * sec_helper.cc: Remove unused code. - -2007-07-19 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (SetSecurityDescriptorControl): Drop. - * security.cc (alloc_sd): Set security descriptor control flag without - calling SetSecurityDescriptorControl function. - * wincap.h (wincapc::has_dacl_protect): Rename from - has_security_descriptor_control. - * wincap.cc: Ditto throughout. - -2007-07-19 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (SetUserObjectSecurity): Drop. - * pinfo.cc (pinfo::set_acl): Use NtSetSecurityObject instead of - SetKernelObjectSecurity. - * spawn.cc (spawn_guts): Use NtSetSecurityObject instead of - SetUserObjectSecurity. - * uinfo.cc (cygheap_user::init): Ditto. - -2007-07-19 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.h (init_cygheap::luid): Remove. - * mmap.cc (mlock): Accommodate parameter change in call to - push_thread_privilege. - (munlock): Ditto. - * ntdll.h (STATUS_NOT_ALL_ASSIGNED): Define. - (NtAdjustPrivilegesToken): Declare. - * sec_helper.cc (cygpriv): Reorder to match numerical privilege order. - (privilege_luid): Take job of privilege_luid_by_name, using new - cygpriv. - (privilege_luid_by_name): Remove. - (privilege_name): Accommodate new cygpriv array. - (set_privilege): Call NtAdjustPrivilegesToken to avoid using advapi32. - Accommodate changes to privilege_name. - (set_cygwin_privileges): Simplify. Don't try to set - SE_CREATE_GLOBAL_PRIVILEGE on systems not supporting it. - * security.cc (sys_privs): Reorder to match numerical privilege order. - Use real privilege values as defined in security.h. - (get_system_priv_list): Drop unused grp_list argument. Create - list of privileges according to new wincapc::max_sys_priv value. - (get_priv_list): Call privilege_luid instead of privilege_luid_by_name. - Make priv a local value instead of a pointer. - (create_token): Accommodate parameter change in call to - push_self_privilege. - (lsaauth): Ditto. - (check_access): Use privilege values directly instead of calling - privilege_luid. - * security.h: Define real privilege values. - (cygpriv_idx): Remove. - (privilege_luid): Change declaration. - (privilege_luid_by_name): Drop declaration. - (set_privilege): Change declaration. - (set_process_privilege): Drop definition. - (_push_thread_privilege): Accomodate new set_privilege parameters. - * wincap.h (wincapc::max_sys_priv): New element. - * wincap.cc: Implement above element throughout. - (wincap_2000sp4): New wincaps structure. - (wincap_xpsp1): Ditto. - (wincap_xpsp2): Ditto. - (wincapc::init): Use new wincaps. - (wincapc::max_sys_priv): New element. - -2007-07-19 Corinna Vinschen <corinna@vinschen.de> - - * dcrt0.cc (dll_crt0_0): Call set_cygwin_privileges here, after - initializing hProcToken. - * sec_helper.cc (init_global_security): Don't call set_cygwin_privileges here. - -2007-07-18 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.h (shared_prefix): De-const. - (shared_prefix_buf): Add static buffer for shared prefix to avoid - additional allocation. - * cygheap.cc (cygheap_init): Set cygheap->shared_prefix to - cygheap->shared_prefix_buf and strcpy. - -2007-07-17 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (fhandler_base::fhaccess): Add check for R/O file system. - * security.cc (check_registry_access): Set errno to EROFS when checking - for W_OK. - -2007-07-17 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::opendir): Move setting - cfd->nohandle where it won't crash. - -2007-07-16 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.h (cygheap_user::curr_imp_token): Rename from current_token. - Accommodate change throughout Cygwin. - (cygheap_user::imp_token): Rename from token. Accommodate change - throughout Cygwin. - (rcygheap_user::eimpersonate): Use primary token for impersonation. - * grp.cc (internal_getgroups): Use primary impersonation token when - impersonated. - * security.h (_push_thread_privilege): Use primary impersonation token - when impersonated. - -2007-07-14 Christopher Faylor <me+cygwin@cgf.cx> - - * init.cc (in_dllentry): Delete. - (dll_entry): Remove assignment to deleted variable. - * winsup.h (in_dllentry): Delete declaration. - * exceptions.cc (inside_kernel): Use another method to see if we are in - dll_entry phase. - -2007-07-13 Christopher Faylor <me+cygwin@cgf.cx> - - * init.cc (in_dllentry): Make NO_COPY to avoid spurious false - positives. - -2007-07-09 Christopher Faylor <me+cygwin@cgf.cx> - - * debug.cc (close_handle): Change debug output format slightly. - - * dlfcn.cc (dlclose): Don't close handle returned from - GetModuleHandle(NULL). - - * fhandler.h (fhandler_pipe::create): Remove obsolete argument. - (fhandler_pipe::create): Ditto. - * fhandler.cc (fhandler_pipe::create): Ditto. - (fhandler_pipe::create): Ditto. - -2007-07-09 Christopher Faylor <me+cygwin@cgf.cx> - - * strsig.cc (__signals): New macro. - (sys_sigabbrev): New array of signal strings, patterned after linux. - (siglist): Use __signals. - * include/cygwin/signal.h (sys_sigabbrev): Define. - * include/cygwin/version.h: Bump API minor version to 177. - -2007-07-09 Corinna Vinschen <corinna@vinschen.de> - - * dir.cc (closedir): Revert change from 2007-06-29. - * fhandler.h (dirent_valid_fd): Drop. - * fhandler_disk_file.cc (fhandler_disk_file::opendir): If opening a - real dir, use the underlying fhandler to keep track of the directory - handle. In fdopendir case use original io_handle from fhandler. Use - fhandler's io_handle in subsequent directory functions throughout. - Create handle non-inheritable and set close-on-exec flag. - (readdir_get_ino): Drop dirent_isroot case. - (fhandler_disk_file::readdir): Handle dirent_isroot case here. - (fhandler_disk_file::rewinddir): Revert change from 2007-07-05. Use - NtClose instead of CloseHandle. - * fhandler_virtual.cc (fhandler_virtual::opendir): Drop adding - dirent_valid_fd flag. Set close-on-exec flag. - -2007-07-08 Christopher Faylor <me+cygwin@cgf.cx> - - * Makefile.in (DLL_OFILES): Add newly-imported random.o. Eliminate - reliance on libiberty. - * random.cc: Import from FreeBSD. Modify for Cygwin environment. - * include/cygwin/stdlib.h (random): Reflect change in return value to - be more linux/freebsd-like. - (srandom): Ditto. - -2007-07-07 Christopher Faylor <me+cygwin@cgf.cx> - - * fhandler.h (fhandler_base::write): Remove __stdcall decoration. - (fhandler_pipe::write): Ditto. - (fhandler_fifo::write): Ditto. - -2007-07-07 Christopher Faylor <me+cygwin@cgf.cx> - - Preliminary change to make pipes interruptible and fifos reliable. - * dtable.cc (dtable::find_fifo): Eliminate definition. - * dtable.h (dtable::find_fifo): Ditto for declaration. - * fhandler.cc (fhandler_base::raw_read): Remove pipe-specific stuff. - (fhandler_base::fhandler_base): Ditto. - (fhandler_base::close): Handle overlapped I/O structure if appropriate. - (fhandler_base::dup): Ditto. - (fhandler_base::fork_fixup): Ditto. - (fhandler_base::setup_overlapped): Define new function. - (fhandler_base::destroy_overlapped): Ditto. - (fhandler_base::wait_overlapped): Ditto. - (fhandler_base::read_overlapped): Ditto. - (fhandler_base::write_overlapped): Ditto. - * fhandler.h (fhandler_base::get_overlapped): Declare new function. - (fhandler_base::setup_overlapped): Ditto. - (fhandler_base::destroy_overlapped): Ditto. - (fhandler_base::wait_overlapped): Ditto. - (fhandler_base::read_overlapped): Ditto. - (fhandler_base::write_overlapped): Ditto. - (fhandler_base::get_guard): Eliminate. - (fhandler_pipe::*): Rework to eliminate most Win9x related cruft, - removing many variables and defining a new overlapped capability. - (fhandler_fifo::*): Ditto. - (fifo_state): Declare new enum. - * fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Remove old Win9x - stuff. Initialize overlapped handle to NULL. - (fhandler_fifo::set_use): Eliminate. - (fhandler_fifo::open_nonserver): Define. - (fhandler_fifo::open): Rework to use named pipes and overlapped I/O. - (fhandler_fifo::wait): Define new function to wait for named pipe - connection. - (fhandler_fifo::read): Rework to use wait() and new overlapped I/O - functionality. - (fhandler_fifo::write): Ditto. - (fhandler_fifo::dup): Eliminate. - * pinfo.cc (commune_process): Remove fifo handling. - (_pinfo::commune_request): Ditto. - * pinfo.h (picom): Ditto. - * pipe.cc (fhandler_pipe::fhandler_pipe): Remove Win9x stuff. - Initialize overlapped handle to NULL. - (fhandler_pipe::open): Eliminate Win9x stuff. - (fhandler_pipe::set_close_on_exec): Eliminate. - (read_pipe): Eliminate. - (fhandler_pipe::close): Ditto. - (fhandler_pipe::fixup_after_exec): Ditto. - (fhandler_pipe::fixup_in_child): Ditto. - (fhandler_pipe::read): Rework to use overlapped I/O. - (fhandler_pipe::write): New function using overlapped I/O. - (fhandler_pipe::dup): Rework to eliminate Win9x stuff. - (fhandler_pipe::create_selectable): Rework to eliminate Win9x and use - overlapped I/O. - * select.cc (peek_pipe): Rework to eliminate Win9x stuff and use - overlapped I/O. - (fhandler_base::ready_for_read): Ditto. - -2007-07-07 Christopher Faylor <me+cygwin@cgf.cx> - - * path.cc (symlink_info::check_shortcut): Handle device "symlinks" - specially - don't posixify them. - -2007-07-07 Christopher Faylor <me+cygwin@cgf.cx> - - * fhandler_disk_file.cc: White space. - * fhandler_proc.cc: Ditto. - * fhandler_virtual.cc: Ditto. - -2007-07-07 Christopher Faylor <me+cygwin@cgf.cx> - - * fork.cc: White space. - * net.cc: Ditto. - * posix_ipc.cc: Ditto. - -2007-07-06 Corinna Vinschen <corinna@vinschen.de> - - * times.cc (gettimeofday): Align definition to POSIX. - -2007-07-06 Corinna Vinschen <corinna@vinschen.de> - - * cygwin.din: Export wcstol, wcstoll, wcstoul, wcstoull, wcsxfrm. - * include/cygwin/version.h: Bump API minor number. - -2007-07-05 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::opendir): Add missing - OBJ_INHERIT flag when creating OBJECT_ATTRIBUTES. - (fhandler_disk_file::rewinddir): Ditto. - -2007-07-04 Corinna Vinschen <corinna@vinschen.de> - - * times.cc: Define __timezonefunc__ before including time.h to protect - definition of timezone function. - -2007-07-04 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/time.h: Switch to timezone variable by default. Add - comment. - -2007-06-29 Corinna Vinschen <corinna@vinschen.de> - - * cygwin.din: Export fdopendir. - * dir.cc (opendir): Call fhandler's opendir with fd set to -1. - (fdopendir): New function. - (seekdir64): Use dirent_info_mask. - (rewinddir): Ditto. - (closedir): Only release underlying file descriptor if it has been - reserved by opendir itself. - * fhandler.cc (fhandler_base::opendir): Accommodate new parameter. - * fhandler.h (dirent_states): Add dirent_valid_fd and dirent_info_mask. - (fhander_XXX::opendir): Add file descriptor parameter. Use regparms. - (fhandler_procnet::opendir): Drop declaration. - * fhandler_disk_file.cc (fhandler_disk_file::opendir): Ditto. - If called from fdopendir, use existing handle to re-open directory - with valid flags. Rename fd to cfd. Use only if no valid incoming fd. - (fhandler_cygdrive::opendir): Accommodate new parameter. - * fhandler_process.cc (fhandler_process::opendir): Ditto. - * fhandler_procnet.cc (fhandler_procnet::opendir): Drop definition. - * fhandler_virtual.cc (fhandler_virtual::opendir): Accommodate new - parameter. Only create new file descriptor entry if called from - opendir. Remove duplicated setting of dir->__flags. - * posix.sgml: Add fdopendir to list of implemented Solaris functions. - * include/cygwin/version.h: Bump API minor number. - * include/sys/dirent.h: Declare fdopendir. - -2007-06-28 Brian Dessent <brian@dessent.net> - - * include/cygwin/version.h: Fix comment typo. - -2007-06-28 Corinna Vinschen <corinna@vinschen.de> - - * cygwin.din: Export stpcpy, stpncpy. - * posix.sgml: Add stpcpy and stpncpy to list of implemented - GNU extensions. - * include/cygwin/version.h: Bump API minor number. - -2007-06-27 Corinna Vinschen <corinna@vinschen.de> - - * shared_info.h (SHARED_INFO_CB): Accommodate change to shared_info. - (CURR_SHARED_MAGIC): Ditto. - (class shared_info): Add heap_slop_inited member. - * shared.cc (shared_info::heap_slop_size): Use heap_slop_inited to - track initializing heap_slop since 0 is a valid value for heap_slop. - Drop useless < 0 consideration. - -2007-06-27 Eric Blake <ebb9@byu.net> - - * assert.cc (__assert_func): New function, to match newlib header - change. - * cygwin.din: Export __assert_func. - * include/cygwin/version.h: Bump API minor number. - -2007-06-21 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (WSAIoctl): Remove. - * cygwin.din: Export freeifaddrs, getifaddrs. - * fhandler_socket.cc (fhandler_socket::ioctl): Drop SOCKET parameter - from get_ifconf. - * net.cc: Include ifaddrs.h. - (in_are_prefix_equal): Match addresses in network byte order. - (ip_addr_prefix): Convert address into host byte order before - testing with IN_LOOPBACK. - (struct ifall): Define. - (get_xp_ifs): Replace get_xp_ifconf. Return struct ifall array. - (get_2k_ifs): Ditto, replace get_2k_ifconf. - (get_nt_ifs): Ditto, replace get_nt_ifconf. - (getifaddrs): New function. - (freeifaddrs): New function. - (get_ifconf): Call matching get_XX_ifs function and create - ifc content from here. Drop lo fake since it's now in get_nt_ifs. - * posix.sgml: Add freeifaddrs and getifaddrs to list of implemented - BSD functions. - * wincap.h (wincapc::has_broken_if_oper_status): New element. - * wincap.cc: Implement above element throughout. - * include/ifaddrs.h: New file. - * include/cygwin/version.h: Bump API minor number. - -2007-06-20 Eric Blake <ebb9@byu.net> - - * cygwin.din: Export exp10, exp10f, pow10, pow10f, strcasestr, - funopen, fopencookie. - * include/cygwin/version.h: Bump API minor number. - * posix.sgml: Minor improvements. - -2007-06-20 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/if.h (IFF_POINTOPOINT): Fix typo. - -2007-06-16 Christopher Faylor <me+cygwin@cgf.cx> - - * include/search.h: Reinstate node_t definition. - -2007-06-16 Christopher Faylor <me+cygwin@cgf.cx> - - * include/sys/cdefs.h: Remove in favor of newlib version. - -2007-06-14 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (GetIpForwardTable): Define. - * fhandler_socket.cc (fhandler_socket::ioctl): Handle SIOCGIFDSTADDR. - * net.cc (get_routedst): New static function to get destination - address of point-to-point interfaces. - (get_xp_ifconf): Handle SIOCGIFDSTADDR. - (get_2k_ifconf): Ditto. - (get_nt_ifconf): Ditto. - (get_ifconf): Ditto. - * include/asm/socket.h (SIOCGIFDSTADDR): Define. - * include/cygwin/if.h (struct ifreq): Add ifru_dstaddr member. - (ifr_dstaddr): Define. - * include/cygwin/in.h: Cast ipv4 addresses correctly to in_addr_t in - definitions. - -2007-06-12 Christopher Faylor <me+cygwin@cgf.cx> - - * signal.cc (usleep): Use useconds_t for the type as per POSIX. - -2007-06-12 Corinna Vinschen <corinna@vinschen.de> - - * Makefile.in (DLL_OFILES): Add xsique.o. - * cygwin.din (confstr): Make NOSIGFE. - (insque): Export. - (remque): Export. - * lsearch.cc: Remove superfluous _SEARCH_PRIVATE define. - * posix.sgml: Move insque to defined SUSv3 interfaces. Remove - comment for remque. - * include/search.h: Remove _SEARCH_PRIVATE guarded definitions. - Add struct qelem definition. Add insque and remque declarations. - * include/cygwin/version.h: Bump API minor number. - * include/sys/queue.h: Remove insque/remque definitions so as not - to collide with SUSv3 compatible declaration in search.h. - * libc/xsique.cc: New file implementing insque and remque. - -2007-06-12 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (fhandler_base::fstat): Set pipe permission bits more - correctly. - -2007-06-11 Corinna Vinschen <corinna@vinschen.de> - - * cygwin.din (confstr): Export. - * posix.sgml (confstr): Move to list of implemented SUSv3 functions. - * sysconf.cc (confstr): Implement. - * include/cygwin/version.h: Bump API minor number. - -2007-06-05 Corinna Vinschen <corinna@vinschen.de> - - * ansi.sgml: Delete. - * misc-std.sgml: Delete. - * posix.sgml: Rework entirely. - -2007-05-29 Corinna Vinschen <corinna@vinschen.de> - - * dtable.cc (dtable::set_file_pointers_for_exec): Call SetFilePointer - correctly for 64 bit file access. Comment out functionality. - * fhandler.cc (fhandler_base::open): Don't set append_mode. - (fhandler_base::write): Check for O_APPEND instead of append_mode. - Call SetFilePointer correctly for 64 bit file access. Handle - errors from SetFilePointer. - * fhandler.h (class fhandler_base): Drop append_mode status flag. - * fhandler_disk_file.cc (fhandler_base::fstat_helper): Handle - seeking correctly for 64 bit file access. - -2007-05-22 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (cwdstuff::set): Revert useless acquire check. - -2007-05-22 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (cwdstuff::set): Avoid double aquiring of cwd_lock. - Open directory with inheriting enabled. - -2007-05-21 Christian Franke <franke@computer.org> - - * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Don't invalidate - devbuf if new position is within buffered range. - -2007-05-21 Eric Blake <ebb9@byu.net> - - * include/search.h (hsearch_r): Provide declaration. - -2007-05-21 Christian Franke <franke@computer.org> - Corinna Vinschen <corinna@vinschen.de> - - * fhandler_floppy.cc (fhandler_dev_floppy::lseek): Set buf size to - sector size. Simplify non-sector aligned case. Handle errors from - raw_read. - -2007-05-15 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_socket.cc (adjust_socket_file_mode): New inline function. - (fhandler_socket::fchmod): Squeeze mode through adjust_socket_file_mode - before using it. - (fhandler_socket::bind): Ditto. - -2007-03-19 Ryan C. Gordon <icculus@icculus.org> - - * path.cc (fs_info::update): Set and use is_cdrom. - * path.cc (fillout_mntent): Set ret.mnt_type to something more - Linux-like, based on data from fs_info. Move "system" and "user" - strings from mnt_type to mnt_opts. - * path.h (struct fs_info): Add is_cdrom field. - * path.h (fs_info::clear): Initialize is_cdrom. - * path.h (struct fs_info): Add IMPLEMENT_STATUS_FLAG(bool,is_cdrom). - * path.h (class path_conv): Add fs_is_cdrom method. Add missing - fs_is_netapp method. - -2007-05-14 Eric Blake <ebb9@byu.net> - - * cygwin.din (asnprintf, dprint, _Exit, vasnprintf, vdprintf): Export. - * include/cygwin/version.h: Bump API minor number. - -2007-04-18 Brian Dessent <brian@dessent.net> - - * cygwin.sc: Remove duplicated .debug_macinfo section. - * dllfixdbg: Also copy DWARF-2 sections into .dbg file. - -2007-04-06 Eric Blake <ebb9@byu.net> - - * include/stdint.h (WINT_MIN): Fix sign. - -2007-04-04 Eric Blake <ebb9@byu.net> - - * include/stdint.h (WINT_MIN, WINT_MAX): Fix definition. - -2007-03-30 Christopher Faylor <me@cgf.cx> - - * external.cc (cygwin_internal): Implement CW_SET_DOS_FILE_WARNING. - * include/sys/cygwin.h: Define CW_SET_DOS_FILE_WARNING. - -2007-03-29 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.cc (cygheap_init): Fix formatting. Remove comment. Set - shared_prefix depending only on terminal service capability. - * dcrt0.cc (dll_crt0_1): Don't call set_cygwin_privileges here. - * fhandler_fifo.cc (fhandler_fifo::open): Create the mutex as global - object. - * posix_ipc.cc (ipc_mutex_init): Use cygheap->shared_prefix. - (ipc_cond_init): Ditto. - * sec_helper.cc (privilege_name): Make static. Use LookupPrivilegeName - directly to be independent of the state of cygheap. - (set_privilege): Take a LUID as parameter instead of an index value. - Only print debug output in case of failure. - (set_cygwin_privileges): Add comment. Use LookupPrivilegeValue to - get privilege LUIDs. - (init_global_security): Call set_cygwin_privileges here. - * security.h (privilege_name): Drop declaration. - (set_privilege): Declare according to above change. - (set_process_privilege): Call privilege_luid to get LUID. - (_push_thread_privilege): Ditto. - * shared.cc (open_shared): Add comment. On systems supporting the - SeCreateGlobalPrivilege, try to create/open global shared memory first. - Fall back to local shared memory if that fails. - * thread.cc (semaphore::semaphore): Use cygheap->shared_prefix. - * wincap.h (wincapc::has_create_global_privilege): New element. - * wincap.cc: Implement above element throughout. - -2007-03-28 Christopher Faylor <me@cgf.cx> - - * spawn.cc (spawn_guts): Start pure-windows processes in a suspended - state to avoid potential DuplicateHandle problems. - -2007-03-13 Eric Blake <ebb9@byu.net> - - * include/cygwin/stat.h (S_TYPEISMQ, S_TYPEISSEM, S_TYPEISSHM): - Avoid compiler warnings. - -2007-03-07 Christopher Faylor <me@cgf.cx> - - * signal.cc (handle_sigprocmask): Remove extraneous - sig_dispatch_pending. - -2007-03-07 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_proc.cc: Fix formatting. Drop setting errno when creating - proc file content. - (format_proc_uptime): Simplify. - (format_proc_cpuinfo): Align more closely to output of Linux 2.6 kernel. - Evaluate more data, especially for AMD CPUs. - -2007-03-06 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (fhandler_base::fstat_helper): Add creation time parameter. - * glob.cc (stat32_to_stat64): Set st_birthtim to st_mtim. - -2007-03-06 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/stat.h (S_TYPEISMQ): Define. - (S_TYPEISSEM): Dttio. - (S_TYPEISSHM): Ditto. - -2007-03-06 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_mailslot.cc (fhandler_mailslot::fstat): Set new stat member - st_birthtim to useful value. - * fhandler_process.cc (fhandler_process::fstat): Ditto. - * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Take - additional parameter for creation time. Fill st_birthtim with it. - Accomodate additional creation time parameter throughout. - * fhandler_raw.cc (fhandler_dev_raw::fstat): Set new stat member - st_birthtim to useful value. - * fhandler.cc (fhandler_base::fstat): Ditto. - * fhandler_registry.cc (fhandler_registry::fstat): Ditto. - * include/cygwin/version.h: Bump API minor number. - * include/cygwin/stat.h (struct __stat64): Replace st_spare4 with - timestruc_t st_birthtim. - (struct stat): Ditto if __CYGWIN_USE_BIG_TYPES__ is defined. - (st_birthtime): Define if __CYGWIN_USE_BIG_TYPES__ is defined. - -2007-03-02 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (struct _FILE_NAMES_INFORMATION): Define. - * syscalls.cc (unlink_nt): Check shared directory for being empty - before trying to move and mark for deletion. - -2007-03-02 Corinna Vinschen <corinna@vinschen.de> - - * security.cc (get_file_attribute): Avoid compiler warning. - -2007-03-01 Christopher Faylor <me@cgf.cx> - - * fork.cc (fork): Reset child to true after fork since it may have been - reset by fork memory copies. - -2007-03-01 Christopher Faylor <me@cgf.cx> - - * Makefile (DLL_OFILES): Remove ntea.o - * environ.cc (set_ntea): Delete. - (parse_thing): Delete "ntea" setting. - * fhandler.cc (fhandler_base::open): Remove allow_ntea considerations. - (check_posix_perm): Ditto. - * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Ditto. - (fhandler_base::open_fs): Ditto. - (fhandler_disk_file::mkdir): Ditto. - * path.cc (symlink_worker): Ditto. - * security.cc (get_file_attribute): Ditto. - (set_file_attribute): Ditto. - * security.h: Remove allow_ntea declaration. - -2007-02-27 Corinna Vinschen <corinna@vinschen.de> - - * path.cc (close_user_proc_parms_cwd_handle): Remove. - (cwdstuff::init): Don't call close_user_proc_parms_cwd_handle. - Call set to set cwd with all-sharing handle. - (cwdstuff::set): Fix comment. Don't close cwd handle. Set in - user parameter block instead and close old cwd handle. - * syscalls.cc (rename): Call unlink_nt instead of RemoveDirectory or - DeleteFile to allow deleting shared files/directories. - -2007-02-27 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc(fhandler_base::open): Open with READ_CONTROL only in - case of query_open flag set to query_read_control. Add case for - new query_read_attributes flag. - (fhandler_base::fstatvfs): New method. - * fhandler.h (enum query_state): Add query_read_attributes flag. - (class fhandler_base): Declare new virtual fstatvfs method. - (class fhandler_socket): Ditto. - (class fhandler_pipe): Ditto. - (class fhandler_fifo): Ditto. - (class fhandler_disk_file): Ditto. - (class fhandler_virtual): Ditto. - * fhandler_disk_file.cc (fhandler_base::fstat_fs): Open with - query_read_attributes instead of query_read_control. - (fhandler_disk_file::fstatvfs): New method. - (fhandler_disk_file::facl): Open with query_read_attributes instead of - query_read_control. - * fhandler_fifo.cc (fhandler_fifo::fstatvfs): New method. - * fhandler_socket.cc (fhandler_socket::fstatvfs): New method. - (fhandler_socket::fchmod): Return with EBADF in the default case. - (fhandler_socket::fchown): Ditto. - (fhandler_socket::facl): Ditto. - * fhandler_virtual.cc (fhandler_virtual::fstatvfs): Ditto. - * ntdll.h (struct _FILE_FS_ATTRIBUTE_INFORMATION): Define. - (struct _FILE_FS_FULL_SIZE_INFORMATION): Define. - * pipe.cc (fhandler_pipe::fstatvfs): New method. - * syscalls.cc (fstatvfs): Just call the fhandler's fstatvfs. - (statvfs): Ditto. - (fstatfs): Call fstatvfs. - (statfs): Drop EFAULT handling. - -2007-02-26 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (fhandler_base::fstat): Set all file times to arbitrary - fixed value. - -2007-02-26 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_registry.cc (registry_listing): Drop name of HKEY_DYN_DATA. - (registry_keys): Drop HKEY_DYN_DATA. - * net.cc: Fix comment. - * syslog.cc: Ditto. - -2007-02-26 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Drop comment. - * mmap.cc (gen_access): Remove. - (mmap_record::gen_access): Remove. - (mmap64): Don't mention 9x any longer. - * syscalls.cc (statvfs): Drop status code consideration for 9x. - * libc/minires-os-if.c (get_registry_dns_items): Don't mention 9x any - longer. - (get_registry_dns): Drop getting registry key on 9x. Drop is9x - variable. - -2007-02-23 Corinna Vinschen <corinna@vinschen.de> - - Throughout remove all usage of wincap.has_security. - * environ.cc (environ_init): Drop setting allow_ntsec here. - * grp.cc (initgroups32): Drop usage of label "out". - * security.cc (allow_ntsec): Set to true by default. - * syscalls.cc (seteuid32): Remove label success_9x. - * wincap.cc: Remove has_security throughout. - * wincap.h: Ditto. - -2007-02-23 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (class fhandler_pipe): Remove members writepipe_exists, - orig_pid and id. Make hit_eof inline. - * fhandler_fifo.cc (fhandler_fifo::open): Drop handling of - writepipe_exists, orig_pid and id. - * pipe.cc: Ditto throughout. - (pipecount): Remove. - (pipeid_fmt): Remove. - (fhandler_pipe::hit_eof): Simplify. Move to fhandler.h. - (fhandler_pipe::dup): Drop leave label. - (fhandler_pipe::create): Drop has_unreliable_pipes case. - * wincap.cc: Remove has_unreliable_pipes throughout. - * wincap.h: Ditto. - -2007-02-23 Corinna Vinschen <corinna@vinschen.de> - - * devices.in: Change native device name to native NT device name for - /dev/null, /dev/comX and /dev/ttySx. - * devices.cc: Regenerate. - * fhandler.cc (fhandler_base::open_9x): Remove. - (fhandler_base::open): Don't test for DOS device name, don't call - open_9x. - (fhandler_dev_null::open): Remove. - * fhandler.h (class fhandler_base): Drop open_9x declaration. - (class fhandler_dev_null): Drop open declaration. - -2007-02-23 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_console.cc (fhandler_console::need_invisible): Drop - pty_needs_alloc_console check. - * spawn.cc (spawn_guts): Ditto. - (av::fixup): Remove setting iscui. - * syscalls.cc (rename): Drop has_move_file_ex checks. Remove 9x - specific code. - * wincap.cc: Remove has_move_file_ex and pty_needs_alloc_console - throughout. - * wincap.h: Ditto. - -2007-02-23 Corinna Vinschen <corinna@vinschen.de> - - * exceptions.cc (dummy_ctrl_c_handler): Remove. - (init_console_handler): Drop has_null_console_handler_routine checks. - * fhandler_raw.cc (fhandler_dev_raw::open): Drop has_raw_devices check. - * fhandler_serial.cc (fhandler_serial::open): Drop - .supports_reading_modem_output_lines check. - * miscfuncs.cc (low_priority_sleep): Drop has_switch_to_thread check. - * shared.cc (open_shared): Drop needs_memory_protection checks. - * spawn.cc (spawn_guts): Drop start_proc_suspended check. - * uname.cc (uname): Drop has_valid_processorlevel check. - * wincap.cc: Remove has_raw_devices, has_valid_processorlevel, - supports_reading_modem_output_lines, needs_memory_protection, - has_switch_to_thread, start_proc_suspended and - has_null_console_handler_routine throughout. - * wincap.h: Ditto. - -2007-02-23 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (fhandler_base::lseek): Drop 9x considerations. - * fhandler_disk_file.cc (fhandler_disk_file::lock): Ditto. - * wincap.cc: Remove lock_file_highword and has_64bit_file_access - throughout. - * wincap.h: Ditto. - -2007-02-22 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.h (struct cwdstuff): Remove sync member and keep_in_sync - accessors. - * external.cc (cygwin_internal): Drop call to cygheap->cwd.keep_in_sync. - * fhandler_disk_file.cc (fhandler_disk_file::link): Always presume - ability to create hard links. - * path.cc (cwdstuff::init): Drop 9x considerations. - (cwdstuff::keep_in_sync): Remove. - (cwdstuff::set): Take NT for granted. - * pinfo.h (cygwin_pid): Just return pid. - * wincap.cc: Remove has_hard_links, can_open_directories, - has_negative_pids, has_named_pipes, has_try_enter_critical_section, - cant_debug_dll_entry and detect_win16_exe throughout. - * wincap.h: Ditto. - -2007-02-22 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_console.cc (fhandler_console::read): Drop 9x specific - handling of AltGr key. - * mmap.cc: Take NT for granted throughout. - * wincap.cc: Remove map_view_of_file_ex_sucks, altgr_is_ctrl_alt, - has_working_copy_on_write, share_mmaps_only_by_name, - virtual_protect_works_on_shared_pages, has_mmap_alignment_bug and - has_working_virtual_lock throughout. - * wincap.h: Ditto. - -2007-02-22 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (fhandler_base::set_no_inheritance): Always use - SetHandleInformation. - * fhandler_disk_file.cc (fhandler_disk_file::lock): Always use - UnlockFileEx/LockFileEx functions. - * net.cc (fdsock): Don't bother to duplicate socket for inheritance. - * sysconf.cc (get_nproc_values): Take NT for granted. - (get_avphys): Ditto. - * syslog.cc (WIN95_EVENT_LOG_PATH): Remove define. - (get_win95_event_log_path): Remove. - (vsyslog): Fix formatting. Take NT for granted. - * wincap.cc: Remove has_lock_file_ex, has_signal_object_and_wait, - has_eventlog, has_set_handle_information, - has_set_handle_information_on_console_handles and supports_smp - throughout. - * wincap.h: Ditto. - -2007-02-22 Corinna Vinschen <corinna@vinschen.de> - - * dir.cc (rmdir): Move existance check in front of - has_dot_last_component check. Simplify setting errno in latter case. - -2007-02-22 Corinna Vinschen <corinna@vinschen.de> - - * fhandler.cc (fhandler_base::write): Remove wincap.has_lseek_bug case. - Simplify seek beyond EOF case. - * times.cc (times): Remove wincap.has_get_process_times case. - * wincap.cc: Remove has_delete_on_close, has_page_guard, - has_get_process_times and has_lseek_bug throughout. - * wincap.h: Ditto. - -2007-02-22 Corinna Vinschen <corinna@vinschen.de> - - Throughout remove all usage of wincap.access_denied_on_delete. - * dir.cc (rmdir): Add existance check to be errno-compatible with Linux. - * fhandler_disk_file.cc (fhandler_disk_file::rmdir): Drop test for - non-existent dir on 9x share. - * syscalls.cc (unlink): Add comment. - * wincap.cc: Remove access_denied_on_delete flag throughout. - * wincap.h: Ditto. - -2007-02-22 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::closedir): Fix bug - introduced by switching to NtClose. - -2007-02-22 Christopher Faylor <me@cgf.cx> - - * dcrt0.cc (child_info_fork::alloc_stack_hard_way): Change sense of - guard test. Increase size of stack reserved and increase size before - the current stack pointer. Use pointers when doing arithmetic. - (dll_crt0_1): Initialize exception handler when we notice we're the - child of a fork from non-main thread. - * fork.cc (frok::parent): Make argument volatile. - (frok::child): Ditto. - (lock_signals): New class. - (lock_pthread): Ditto. - (hold_everhthing): Ditto. - (frok::parent): Move atforkprepare and atforkparent to lock_pthread - class. - (fork): Make ischild boolean. Use hold_everything variable within - limited scope to set various mutexes in such a way as to avoid - deadlocks. - * thread.h (pthread_mutex::tid): New variable, active when debugging - for tracking thread id of owner. - (pthread_mutex::set_owner): Set tid when debugging. - * thread.cc (pthread_mutex::pthread_mutex): Clear tid. - (pthread_mutex::_unlock): Ditto when unlocking. - (pthread_mutex::fixup_after_fork): Set tid to special value after - forking since owner is unknown. - -2007-02-22 Corinna Vinschen <corinna@vinschen.de> - - Throughout replace all usage of wincap.shared with the constant - FILE_SHARE_VALID_FLAGS. - * fhandler.cc (fhandler_base::open_9x): Drop local variable shared. - * wincap.cc: Remove shared member throughout. - * wincap.h: Ditto. - -2007-02-22 Corinna Vinschen <corinna@vinschen.de> - - * Makefile.in (DLL_IMPORTS): Add libntdll.a. - * autoload.cc: Remove all symbols from advapi32.dll, kernel32.dll and - ntdll.dll available on all platforms since NT4. - - Throughout remove all usage of wincap.is_winnt. - * dcrt0.cc (dll_crt0_0): Remove call to mmap_init. - * fhandler.h (class fhandler_base): Remove has_changed flag. - (fhandler_disk_file::touch_ctime): Remove declaration. - (fhandler_disk_file::readdir_9x): Ditto. - (fhandler_disk_file::touch_ctime): Remove. - (fhandler_disk_file::readdir_9x): Remove. - (fhandler_disk_file::closedir): Call NtClose instead of CloseHandle. - * mmap.cc: Throughout call CreateMapping and MapView directly. - (VirtualProt9x): Remove. - (VirtualProtNT): Remove. - (VirtualProtEx9x): Remove. - (VirtualProtExNT): Remove. - (VirtualProtect): Remove define. - (VirtualProtectEx): Remove define. - (CreateMapping9x): Remove. - (CreateMappingNT): Rename to CreateMapping. - (MapView9x): Remove. - (MapViewNT): Rename to MapView. - (struct mmap_func_t): Remove definition. - (mmap_funcs_9x): Remove. - (mmap_funcs_nt): Remove. - (mmap_func): Remove. - (mmap_init): Remove. - * net.cc (getdomainname): Drop comment. Use NT4 registry key only. - (get_95_ifconf): Remove. - * pinfo.cc (winpids::enumNT): Rename to winpids::enum_processes. - (winpids::enum9x): Remove. - (winpids::set): Just call enum_processes directly. - (winpids::enum_init): Ditto. - * pinfo.h (class winpids): Drop enum_processes pointer. Rename - enumNT to enum_processes. Drop enum9x declaration. Drop initialization - of enum_processes throughout. - * registry.cc (get_registry_hive_path): Just create NT key. - (load_registry_hive): Only load NT specific file. - * syscalls.cc (unlink_9x): Remove. - (unlink): Just call unlink_nt. - * wincap.cc: Remove is_winnt flag throughout. - * wincap.h: Ditto. - * winsup.h: Remove mmap_init declaration. - -2007-02-21 Corinna Vinschen <corinna@vinschen.de> - - * wincap.cc (wincap_unknown): Change settings for unknown to reflect - the capabilities of NT4. - (wincap_95): Remove. - (wincap_95osr2): Remove. - (wincap_98): Remove. - (wincap_98se): Remove. - (wincap_me): Remove. - (wincap_nt3): Remove. - (wincapc::init): Temporarily bail out on any 9x system. - -2007-02-20 Corinna Vinschen <corinna@vinschen.de> - - * cygwin.din (sem_unlink): Export. - * posix_ipc.cc: Include thread.h and semaphore.h. Remove TODO - comment. - (ipc_names): Add max_len member. Set to maximum length of the path - before tacking on the prefix path. Set prefix path for named semaphors - to /dev/shm, as on Linux. - (enum ipc_type_t): Change sem to semaphore to avoid name conflicts. - (check_path): Detect empty paths. Use ipc_names's max_len member. - Use __small_sprintf to create full object path name. Special case - semaphores. - (ipc_cond_init): Drop superfluous strcpy. - (class ipc_flock): New class to simplify file locking in subsequent - code. - (struct mq_hdr): Raise size of mqh_uname to allow adding a unique - LUID to the name. - (mq_open): Fix formatting. Create unique synchronization object names - using AllocateLocallyUniqueId. - (struct sem_finfo): New structure defining named semaphore file content. - (sem_open): Move here. Rework implementation to allow kernel - persistent implementation of POSIX named semaphores. - (_sem_close): Implement sem_close. - (sem_close): Move here. Just call _sem_close with do_close parameter - set to true. - (sem_unlink): New function. - * pthread.cc (mangle_sem_name): Remove. - (sem_open): Move to posix_ipc.cc. - (sem_close): Ditto. - * syscalls.cc (close_all_files): Call semaphore::terminate here. - * thread.cc: Fix formatting. Rearrange semaphore functions so that - they are close together. - (semaphore::semaphore): Rework to play nicely with new named semaphore - implementation. - (semaphore::_terminate): Call _sem_close if semaphore is a named - semaphore. - (semaphore::destroy): Don't destroy named semaphores. Return EINVAL - instead. - (semaphore::close): Only destroy named semaphores. Return EINVAL - otherwise. - (semaphore::open): Rework to play nicely with new named semaphore - implementation. Loop through existing semaphores to be able to - return same sem_t pointer as a former call on the same named semaphore. - (semaphore::getinternal): New function called from _sem_close. - * thread.h (class List): Make mx and head public. - (class semaphore): Fix formatting. Align method declarations with - implementation in thread.cc. Add members used for named semaphores. - (semaphore::terminate): New static method. - * include/semaphore.h: Redefine SEM_FAILED. Fix formatting. - (sem_unlink): Add declaration. - * include/cygwin/version.h: Bump API minor number. - -2007-02-20 Christopher Faylor <me@cgf.cx> - - * exceptions.cc (_cygtls::signal_exit): Only call myself.exit when when - exit_state indicates that we've visited do_exit. - * sync.h (lock_process::lock_process): Use renamed exit_state - - ES_PROCESS_LOCKED. - * winsup.h: Rename ES_MUTO_SET to ES_PROCESS_LOCKED. - -2007-02-20 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_socket.cc (fhandler_socket::bind): Remove printing wrong - errno in debug output. - -2007-02-19 Christopher Faylor <me@cgf.cx> - - Remove extraneous whitespace. - * pinfo.cc (commune_process): Use default argument to lock_process. - * sigproc.cc: Update copyright. - * select.cc: Ditto. - -2007-02-15 Corinna Vinschen <corinna@vinschen.de> - - * posix_ipc.cc (mq_open): Avoid compiler warning. Initialize mqhdr - before using it in file exists case. - * include/mqueue.h (mqd_t): Make non-pointer type. - -2007-02-15 Corinna Vinschen <corinna@vinschen.de> - - * posix_ipc.cc (ipc_mutex_init): Create global object name. - (ipc_cond_init): Ditto. - (struct mq_hdr): Add mqh_uname member to store synchronization object - name. - (mq_open): Create unique synchronization object name and store in - mq_hdr->mqh_uname. Use this name in calls to ipc_mutex_init and - ipc_cond_init. - -2007-02-14 Corinna Vinschen <corinna@vinschen.de> - - * Makefile.in (DLL_OFILES): Add posix_ipc.o. - * cygwin.din (mq_close): Export. - (mq_getattr): Export. - (mq_notify): Export. - (mq_open): Export. - (mq_receive): Export. - (mq_send): Export. - (mq_setattr): Export. - (mq_timedreceive): Export. - (mq_timedsend): Export. - (mq_unlink): Export. - * posix_ipc.cc: New file implementing the above functions. Move - shm_open and shm_unlink from syscalls.cc here. - * sysconf.cc (sca): Set value of _SC_MQ_OPEN_MAX to MQ_OPEN_MAX, - _SC_MQ_PRIO_MAX to MQ_PRIO_MAX, _SC_MESSAGE_PASSING to - _POSIX_MESSAGE_PASSING. - * include/limits.h (MQ_OPEN_MAX): Define. - (MQ_PRIO_MAX): Define. - * include/mqueue.h: New file. - * include/cygwin/version.h: Bump API minor number. - -2007-02-13 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/stdlib.h (valloc): Declare. - (memalign): Declare. - -2007-02-09 Pierre A. Humblet <Pierre.Humblet@ieee.org> - - * libc/minires-os-if.c (write_record): Handle DNS_TYPE_SRV and - some obsolete types. - -2007-02-08 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (check_shm): New static function to do path checking - common to shm_open and shm_unlink. Check for /dev/shm existance. - (shm_open): Call check_shm. - (shm_unlink): Ditto. - -2007-02-08 Corinna Vinschen <corinna@vinschen.de> - - * cygwin.din (shm_open): Export. - (shm_unlink): Export. - * syscalls.cc (shm_open): New function. - (shm_unlink): New function. - * sysconf.cc (sca): Set value of _SC_SHARED_MEMORY_OBJECTS to - _POSIX_SHARED_MEMORY_OBJECTS. - * include/cygwin/version.h: Bump API minor number. - * include/sys/mman.h (shm_open): Add prototype. - (shm_unlink): Ditto. - -2007-02-08 Christopher Faylor <me@cgf.cx> - Corinna Vinschen <corinna@vinschen.de> - - * cygmalloc.h (__set_ENOMEM): Declare. - (MALLOC_FAILURE_ACTION): Call __set_ENOMEM. - * malloc_wrapper.cc (malloc) Remove setting errno here. - (realloc): Ditto. - (calloc): Ditto. - (memalign): Ditto. - (valloc): Ditto. - (posix_memalign): Save and restore errno. - -2007-02-07 Corinna Vinschen <corinna@vinschen.de> - - * cygmalloc.h (MALLOC_FAILURE_ACTION): Move to correct #if branch. - -2007-02-07 Corinna Vinschen <corinna@vinschen.de> - - * cygmalloc.h (MALLOC_FAILURE_ACTION): Define empty. - * cygwin.din (posix_madvise): Export. - (posix_memalign): Export. - * fhandler.cc (fhandler_base::fpathconf): Return useful values in - _PC_VDISABLE, _PC_SYNC_IO and _PC_SYMLINK_MAX cases. - * malloc_wrapper.cc (malloc): Set errno here since it's not set in - dlmalloc.c anymore. - (realloc): Ditto. - (calloc): Ditto. - (memalign): Ditto. - (valloc): Ditto. - (posix_memalign): New function. - * mmap.cc (posix_madvise): New function. - * sysconf.cc (get_open_max): New function. - (get_page_size): Ditto. - (get_nproc_values): Ditto. - (get_avphys): Ditto. - (sc_type): New type. - (sca): New array to map _SC_xxx options to sysconf return values. - (sysconf): Reimplement using sca array. - * include/limits.h: Add all missing values as defined by SUSv3. - * include/pthread.h (PTHREAD_DESTRUCTOR_ITERATIONS): Move definition - to sys/limits.h. - (PTHREAD_KEYS_MAX): Ditto. - * include/semaphore.h (SEM_VALUE_MAX): Ditto. - * include/cygwin/stdlib.h (posix_memalign): Declare. - * include/cygwin/version.h: Bump API minor number. - * include/sys/mman.h: Add posix_madvise flags. - (posix_madvise): Declare. - * include/sys/termios.h (_POSIX_VDISABLE): Move definition to - sys/limits.h. - -2007-02-05 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_serial.cc (fhandler_serial::tcsetattr): Add support for - baud rates up to 3000000 baud. Add missing 128K and 256K cases. - (fhandler_serial::tcgetattr): Ditto. - * include/sys/termios.h: Add baud rate definitions from B460800 up to - B3000000. - -2007-02-02 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (unlink_nt): Add missing assignment in case NtClose fails. - -2007-02-01 Corinna Vinschen <corinna@vinschen.de> - - * net.cc (ga_dup): New function, taken from ga_clone with v4-in-v6 - mapping addition. - (ga_clone): Just call ga_dup from here. - (ga_duplist): New function to duplicate list of struct addrinfo. - (ga_echeck): Don't check ai_flags, it already happened in - cygwin_getaddrinfo. - (cygwin_freeaddrinfo): Always call ipv4_freeaddrinfo. - (cygwin_getaddrinfo): Use new wincap.supports_all_posix_ai_flags - flag rather than wincap.has_gaa_on_link_prefix. Always duplicate - WinSock's addrinfo list to a self-allocated list. Handle AI_V4MAPPED - for pre-Vista platforms supporting getaddrinfo. - * wincap.h (wincapc::supports_all_posix_ai_flags): New element. - * wincap.cc: Implement above element throughout. - * include/netdb.h: Note how AI_ADDRCONFIG is not supported pre-Vista. - Remove superfluous comment. - -2007-02-01 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/socket.h: Add IPv6 socket options. - -2007-01-31 Corinna Vinschen <corinna@vinschen.de> - - * net.cc (cygwin_getaddrinfo): Fix thinko in AI_ADDRCONFIG handling. - -2007-01-31 Corinna Vinschen <corinna@vinschen.de> - - * net.cc (cygwin_getaddrinfo): Check ai_flags for valid values. - Handle AI_NUMERICSERV. Handle AI_ADDRCONFIG behaviour on Vista. - * include/netdb.h (AI_NUMERICSERV): Add missing flag. - -2007-01-30 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::closedir): Add dir name - to debug output. - * syscalls.cc (try_to_bin): Enable code to move file to user specific - recycler dir to eliminate Vista problem. - (unlink_nt): Add comment that rename after opening for delete on close - only fails on XP. - -2007-01-30 Corinna Vinschen <corinna@vinschen.de> - - * sigproc.cc (child_info::child_info): Set msv_count to non-zero - value only on systems requiring it. - -2007-01-28 Corinna Vinschen <corinna@vinschen.de> - - * include/ftw.h: Include sys/cdefs.h. - -2007-01-26 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_disk_file.cc (fhandler_disk_file::rmdir): Implement rmdir - on NT by calling unlink_nt. Check for directory here. - * syscalls.cc (try_to_bin): Fix buggy debug_printf statement. - (unlink_nt): Make non-static. Don't use delete-on-close semantics on - directories. Explain why. - -2007-01-24 Corinna Vinschen <corinna@vinschen.de> - - * net.cc (if_nametoindex): This time, really free IP_ADAPTER_ADDRESSES - memory. - (if_indextoname): Ditto. - -2007-01-24 Corinna Vinschen <corinna@vinschen.de> - - * security.h (pop_thread_privilege): Revert to previous state, not - to token used for impersonation. - -2007-01-24 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.h (cygheap_user::deimpersonate): Always RevertToSelf. - -2007-01-23 Corinna Vinschen <corinna@vinschen.de> - - * net.cc (gai_errmap): Add EAI_OVERFLOW entry. Fix formatting. - (cygwin_gai_strerror): Drop using EAI_MAX. - (w32_to_gai_err): Ditto. - * include/netdb.h: Define EAI_OVERFLOW. Remove EAI_MAX. - -2007-01-23 Corinna Vinschen <corinna@vinschen.de> - - * include/netdb.h: Add AI_xxx flags available since Vista. - -2007-01-23 Corinna Vinschen <corinna@vinschen.de> - - * net.cc (if_nametoindex): Free IP_ADAPTER_ADDRESSES memory. - (if_indextoname): Ditto. - (if_nameindex): Ditto. Remove duplicate indexed entries in result. - -2007-01-21 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (WSAIoctl): Define. - (SendARP): Define. - * cygwin.din: Export if_freenameindex, if_indextoname, if_nameindex and - if_nametoindex. - * fhandler_procnet.cc: Drop including wchar.h. Drop definitions of - GAA_FLAG_INCLUDE_ALL_INTERFACES, IP_ADAPTER_UNICAST_ADDRESS_VISTA. - (fhandler_procnet::exists): Check for has_gaa_prefixes. Call - get_adapters_addresses here. - (fhandler_procnet::readdir): Ditto. - (prefix): Move to net.cc. - (fhandler_procnet::fill_filebuf): Call get_adapters_addresses here. - Simplify allocation. Use AdapterName rather than FriendlyName as - interface name. Use IfIndex if available, Ipv6IfIndex otherwise. - (in6_are_prefix_equal): Move to net.cc. - * fhandler_socket.cc: Define old SIOCGxxx values. - (CONV_OLD_TO_NEW_SIO): Convert old SIOCGxxx value to new one. - (struct __old_ifreq): Define old struct ifreq. - (fhandler_socket::ioctl): Handle old SIOCGxxx values. Handle new - SIOCGIFFRNDLYNAM command. Simplify copying ifreq data to user space. - Call get_ifconf with additional SOCKET parameter. - * net.cc (IP_ADAPTER_UNICAST_ADDRESS_LH): Define. - (IP_ADAPTER_ADDRESSES_LH): Define. - (SIO_GET_INTERFACE_LIST): Define. - (sockaddr_in6_old): Define. - (sockaddr_gen): Define. - (INTERFACE_INFO): Define. - (IN_LOOPBACK): Define. - (in_are_prefix_equal): New static function. - (ip_addr_prefix): New function, replaces prefix function, add AF_INET - handling. - (GAA_FLAG_INCLUDE_ALL_INTERFACES): Define. - (get_adapters_addresses): New function. - (WS_IFF_xxx): Define Winsock interface flag values. - (convert_ifr_flags): New function to convert Winsock interface flag - values to Cygwin interface flag values. - (get_xp_ifconf): New get_ifconf implementation for XP SP1 and above. - (get_2k_ifconf): Fix interface index. Fix formatting. - (get_nt_ifconf): Fix formatting. - (get_95_ifconf): Ditto. - (get_ifconf): Take additional SOCKET parameter. Call get_xp_ifconf - on XP SP1 and above. - (if_nametoindex): New function. - (if_indextoname): New function. - (if_nameindex): New function. - (if_freenameindex): New function. - (in6_are_prefix_equal): Moved here from fhandler_procnet.cc. - * wincap.cc (wincap_xp): Define has_gaa_prefixes as true by default. - (wincapc::init): Assume has_osversioninfoex by default. Call - GetVersionEx with OSVERSIONINFOEX first. Call with OSVERSIONINFO only - if that fails. Simplify NT4 case and try to avoid strcmp. Check XP - Service Pack using version.wServicePackMajor to avoid strcmp. - * include/asm/socket.h (SIOCGIFFRNDLYNAM): Define. - * include/cygwin/if.h: Fix formatting. - (IFF_POINTTOPOINT): Define. - (IFF_NOARP): Define. - (IFF_LOWER_UP): Define. - (IFF_DORMANT): Define. - (struct if_nameindex): Define. - (IFRF_FRIENDLYNAMESIZ): Define. - (struct ifreq_frndlyname): Define. - (IFNAMSIZ): Redefine as 44. - (IF_NAMESIZE): Define. - (struct ifreq): Redefine ifru_flags as int. Define ifru_data. Pad size - to sizeof sockaddr_in6 for further extensions. - (ifr_data): Define. - (ifr_frndlyname): Define. - (if_nametoindex): Declare. - (if_indextoname): Declare. - (if_nameindex): Declare. - (if_freenameindex): Declare. - * include/cygwin/version.h: Bump API minor number. - (CYGWIN_VERSION_CHECK_FOR_OLD_IFREQ): Define check for old vs. new - ifreq structure. - -2007-01-18 Corinna Vinschen <corinna@vinschen.de> - - * spawn.cc (spawn_guts): Don't set cwd for non-Cygwin child processes - on NT to allow starting them in virtual directories. - -2007-01-18 Corinna Vinschen <corinna@vinschen.de> - - * mmap.cc (list::hash): Fix type to __ino64_t. - (list::get_hash): Ditto. - (list::set): Add struct stat parameter. Use that instead of calling - fstat. - (map::get_list_by_fd): Ditto. - (map::add_list): Ditto. - (mmap_is_attached_or_noreserve): Call get_list_by_fd appropriately. - (mmap_worker): Add pameters for map list and file stat information. - Propagate to called functions. - (mmap64): Use fstat on files early. Replace call to GetFileSize. - Call get_list_by_fd and mmap_worker appropriately. - -2007-01-18 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_procnet.cc: Drop declaration of htonl and ntohs. Include - asm/byteorder.h instead. - -2007-01-18 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/in6.h: Drop inclusion of asm/byteorder.h. - * fhandler_procnet.cc: Declare htonl and ntohs here. - -2007-01-17 Corinna Vinschen <corinna@vinschen.de> - - * Makefile.in (DLL_OFILES): Add fhandler_procnet.o. - * autoload.cc (GetAdaptersAddresses): Define. - * devices.h (FH_PROCNET): Define new device. - * devices.in (dev_procnet_storage): Add "/proc/net" entry. - * devices.cc: Regenerate. - * dir.cc (readdir_worker): Use isproc_dev macro. - * dtable.cc (build_fh_pc): Add FH_PROCNET. - * fhandler.h (class fhandler_procnet): New class. - * fhandler_proc.cc: Add "net" subdirectory handling. - * fhandler_procnet.cc: New file handling "/proc/net" directory. - * path.cc (isvirtual_dev): Move to path.h. - * path.h (isproc_dev): New macro to identify /proc files by device. - (isvirtual_dev): Moved here. Define using isproc_dev. - * syscalls.cc (unlink): Use isproc_dev macro. - * wincap.h (wincapc::has_gaa_prefixes): New element. - (wincapc::has_gaa_on_link_prefix): New element. - * wincap.cc: Implement above elements throughout. - (wincapc::init): Check XP for service pack and set has_gaa_prefixes - appropriately. - * include/cygwin/in6.h: Include asm/byteorder.h. - -2007-01-17 Corinna Vinschen <corinna@vinschen.de> - - * include/asm/socket.h (SIOGIFINDEX): Define. - -2007-01-17 Corinna Vinschen <corinna@vinschen.de> - - * mmap.cc (MapView9x): Note possible uselessness of retrying. - (MapViewNT): Ditto. - (mmap64): Fix pre-reservation to work for non NULL, non MAP_FIXED. - -2007-01-16 Corinna Vinschen <corinna@vinschen.de> - - * autoload.cc (RtlAnsiStringToUnicodeString): Define. - (RtlOemStringToUnicodeString): Define. - * ntdll.h (struct _RTL_USER_PROCESS_PARAMETERS): Define. - (struct _PEB): Redefine with a bit of content. - (RtlAnsiStringToUnicodeString): Declare. - (RtlOemStringToUnicodeString): Declare. - * path.cc: Include ntdll.h. - (_upp): New global variable pointing to user process parameter block. - (get_user_proc_parms): New static function to retrieve user process - parameter block. - (close_user_proc_parms_cwd_handle): New function to close handle to - current working directory in user process parameter block. - (cwdstuff::init): Drop redundant declaration of dynamically_loaded. - Set current dir only on 9x. Call close_user_proc_parms_cwd_handle - on NT instead. - (cwdstuff::keep_in_sync): Only on 9x. - (cwdstuff::set): Keep behaviour on 9x. On NT write cwd path into user - process parameter block and set cwd handle to NULL. Fix comments to - reflect new behaviour. - -2007-01-16 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_socket.cc (fhandler_socket::ioctl): Handle SIOCGIFINDEX. - * net.cc (get_2k_ifconf): Ditto. - (get_nt_ifconf): Fake SIOCGIFINDEX. - (get_95_ifconf): Ditto. - (get_ifconf): Handle SIOCGIFINDEX. Fake it for loopback on systems - not supporting IP Helper Lib. - * include/asm/socket.h (SIOCGIFINDEX): Define. - * include/cygwin/if.h (struct ifreq): Add member for interface index. - (ifr_ifindex): Define. - -2007-01-16 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/in6.h (struct ipv6_mreq): Change type of interface - member to uint32_t. - (struct in6_pktinfo): Ditto. - -2007-01-16 Corinna Vinschen <corinna@vinschen.de> - - * include/cygwin/in.h (struct ip_mreq_source): Define. - (struct ip_msfilter): Define. - (IP_MSFILTER_SIZE): Define. - (struct in_pktinfo): Define. - (struct group_req): Define. - (struct group_source_req): Define. - (struct group_filter): Define. - (GROUP_FILTER_SIZE): Define. - (INADDR_ALLRTRS_GROUP): Define. - * include/cygwin/socket.h: Define protocol agnostic multicast options. - -2007-01-15 Corinna Vinschen <corinna@vinschen.de> - - * CYGWIN_LICENSE: Fix web pages and contact information. - -2007-01-15 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h: Adjust status definitions. - -2007-01-15 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.cc (cygheap_init): Add TODO comment. - -2007-01-15 Corinna Vinschen <corinna@vinschen.de> - - * ntdll.h (STATUS_SHARING_VIOLATION): Define. - -2007-01-13 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (unlink_nt): Don't move files to recycle bin which are - not in use. - -2007-01-13 Christopher Faylor <me@cgf.cx> - - * glob.cc: Update copyright notice with latest from FreeBSD. - (glob0): Use correct type for c variable to propagate previously - detected protection. - -2007-01-12 Corinna Vinschen <corinna@vinschen.de> - - * cygheap.cc (_csbrk): Fix off-by-one error. - * cygwin.sc: Give .cygheap a minimum size of 512K. - -2007-01-12 Christopher Faylor <me@cgf.cx> - - * external.cc (sync_winenv): Use cur_environ () rather than - __cygwin_environ. - -2007-01-12 Corinna Vinschen <corinna@vinschen.de> - - * fork.cc (child_copy): Add missing Windows PID in debug output. - -2007-01-12 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc: Update copyright. - -2007-01-10 Corinna Vinschen <corinna@vinschen.de> - - * mmap.cc (mmap64): Pre-Reserve space for the whole mapping to get a - useful, valid address before the actual mappings take place. - Fix typo in comment. - -2007-01-10 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (sync): Use b_drive for B: drive (Thanks to Howard Chu). - -2007-01-09 Corinna Vinschen <corinna@vinschen.de> - - * syscalls.cc (getpagesize): Change condition for clarity. - (getsystempagesize): Ditto. - -2007-01-09 Corinna Vinschen <corinna@vinschen.de> - - * mmap.cc: Do bookkeeping in 4K pages, rather than in 64K chunks. - -2007-01-07 Corinna Vinschen <corinna@vinschen.de> - - * security.h (setacl): Add parameter for writability flag. - * sec_acl.cc (setacl): Ditto. Set to true if any ACE with write - permissions is created. - * fhandler_disk_file.cc (fhandler_disk_file::facl): Reset - FILE_ATTRIBUTE_READONLY if ACL contains an ACE with write permissions. - -2007-01-05 Corinna Vinschen <corinna@vinschen.de> - - * include/strings.h: Don't include string.h. Only declare functions - according to SUSv3. - -2007-01-04 Corinna Vinschen <corinna@vinschen.de> - - (get_ifconf): Set MTU for loopback to more correct value. - -2007-01-04 Corinna Vinschen <corinna@vinschen.de> - - * fhandler_socket.cc (fhandler_socket::ioctl): Don't fake results - for SIOCGIFFLAGS here. Call get_ifconf instead. - * net.cc (get_2k_ifconf): Clean up code to generate interface name. - Handle SIOCGIFFLAGS here. - (get_nt_ifconf): Fake SIOCGIFFLAGS here. - (get_95_ifconf): Ditto. - (get_ifconf): Don't fake loopback on systems with IP Helper Lib. - Set MTU for loopback to a more "modern" value. - -2007-01-04 Brian Ford <Brian.Ford@FlightSafety.com> - Corinna Vinschen <corinna@vinschen.de> - - * fhandler.h (PREFERRED_IO_BLKSIZE): Define as 64K. - * fhandler.cc (fhandler_base::fstat): Set st_blksize to - PREFERRED_IO_BLKSIZE. - * fhandler_disk_file.cc (fhandler_base::fstat_helper): Ditto. - * fhandler_mailslot.cc (fhandler_mailslot::fstat): Ditto. - * fhandler_raw.cc (fhandler_dev_raw::fstat): Ditto. - -2007-01-01 Christopher Faylor <me@cgf.cx> - - * spawn.cc (spawn_guts): Don't expect synchronization from a non-cygwin - _P_NOWAIT process. |