| 2008-12-31 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 191. |
| |
| 2008-12-31 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * glob_pattern_p.cc: New file. |
| * Makefile.in (DLL_OFILES): Add glob_pattern_p.o. |
| * glob.h: Add declaration for glob_pattern_p. |
| |
| * pinfo.cc (pinfo::thisproc): Remove __stdcall attribute. |
| |
| 2008-12-30 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * include/bits/wordsize.h: New linux-compatibility header. |
| |
| 2008-12-30 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * exceptions.cc (try_to_debug): Avoid creating a huge buffer on the |
| stack. |
| |
| 2008-12-25 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * mount.cc: Change comment. |
| (smb_extended_info): Move here from path.cc. |
| (fs_info::update): Ditto. |
| (mount_info::create_root_entry): Delay conversion to slashes and use |
| passed in buffer to figure out fs type. |
| * path.cc (smb_extended_info): Move. |
| (fs_info::update): Ditto. |
| * mount.h: New file. Move mount information here. |
| * path.h: (fs_info::update): Move. |
| * shared_info.h (mount_item): Ditto. |
| |
| 2008-12-24 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * path.cc (symlink_info::check_shortcut): Ensure that symlink handle is |
| closed on successful return. |
| |
| 2008-12-23 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.h (fhandler_base_setup_overlapped): Add new argument. |
| (fhandler_base::get_overlapped_buffer): Declare new function. |
| (fhandler_base::set_overlapped): Ditto. |
| (fhandler_pipe::overlapped): New variable. |
| (fhandler_pipe::get_overlapped): Rework to return contents of |
| overlapped variable. |
| (fhandler_pipe::set_overlapped): Set overlapped variable based on |
| argument. |
| (fhandler_fifo::get_overlapped_buffer): Return pointer to io_status. |
| * fhandler.cc (handler_base::setup_overlapped): Set to overlapped |
| pointer to NULL if new doit parameter is false. Otherwise set up |
| overlapped event as usual. |
| (fhandler_base::wait_overlapped): Return inres if this isn't an |
| overlapped operation. |
| (fhandler_base::read_overlapped): Remove inappropriate asserts. |
| * pipe.cc (fhandler_pipe::fhandler_pipe): Zero overlapped element. |
| (struct pipesync): Delete. |
| (getov_result): Ditto. |
| (pipe_handler): Ditto. |
| (pipesync::pipesync): Ditto. |
| (fhandler_pipe::init): Don't set up pipesync thread. Just pass |
| opened_properly flag along to overlapped setup. |
| |
| 2008-12-22 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * pipe.cc (getov_result): Minor cleanup. |
| |
| 2008-12-20 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * pipe.cc (getov_result): Add parameters to facilitate better EOF |
| checking. |
| (pipe_handler): Pass extra arguments to getov_result. |
| |
| 2008-12-20 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.cc (fhandler_base::wait_overlapped): Reorganize to eliminate |
| gotos and to hopefully eliminate one race when a signal is detected or |
| there is a WFMO error. |
| |
| 2008-12-20 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * pinfo.h (pinfo::thisproc): Declare. Rename from set_myself. |
| * pinfo.cc (pinfo::thisproc): Define. Rename from set_myself. Set |
| procinfo to NULL to avoid confusing subsequent init. |
| (pinfo_init): Accommodate set_myself -> pinfo::thisproc rename. |
| * dcrt0.cc (child_info_fork::handle_fork): Ditto. |
| (child_info_spawn::handle_spawn): Ditto. |
| |
| 2008-12-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * pwdgrp.h (pwdgrp::refresh): Fix indentation. |
| * uinfo.cc (pwdgrp::load): Open file synchronized to avoid truncated |
| read. Drop local variable off. |
| |
| 2008-12-19 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * pinfo.cc (pinfo_basic): New class. |
| (pinfo_basic::pinfo_basic): Define constructor for new class. |
| (myself): Initialize from myself_initial. |
| (set_myself): Set pid and progname from already myself_initial. |
| * strace.cc (strace::strace): Split apart strace::hello. Send |
| notification to strace as early as possible. |
| (strace::hello): Just send clause which describes the current process. |
| This can now be preceded by early initialization strace output. |
| * include/sys/strace.h (strace::strace): Declare new constructor. |
| |
| 2008-12-19 Christian Franke <franke@computer.org> |
| |
| * fhandler_registry.cc (perf_data_files): New table. |
| (PERF_DATA_FILE_COUNT): New constant. |
| (fhandler_registry::exists): Add check for HKEY_PERFORMANCE_DATA |
| value names. |
| (fhandler_registry::fstat): For HKEY_PERFORMANCE_DATA, return |
| default values only. |
| (fhandler_registry::readdir): For HKEY_PERFORMANCE_DATA, list |
| names from perf_data_files only. |
| (fhandler_registry::fill_filebuf): Use larger buffer to speed up |
| access to HKEY_PERFORMANCE_DATA values. Remove check for possible |
| subkey. Add RegCloseKey (). |
| (open_key): Replace goto by break, remove label. Do not try to |
| open subkey of HKEY_PERFORMANCE_DATA. Add missing RegCloseKey () |
| after open subkey error. |
| |
| 2008-12-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::check): Handle incoming DOS paths non-POSIXy, |
| always case-insensitive, always ignoring ACLs. |
| |
| 2008-12-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc: Set 4th parameter of NtQueryDirectoryFile to |
| NULL throughout. |
| (fhandler_disk_file::facl): Fix a condition so that fstat_by_handle |
| is actually used. |
| (fhandler_disk_file::readdir): Don't print debug message on a simple |
| STATUS_NO_MORE_FILES status code. |
| |
| 2008-12-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlin_info::check): Set 4th parameter of |
| NtQueryDirectoryFile to NULL instead of 0 since it's a pointer. |
| Simplify label and break from loop handling in symlink evaluation |
| conditional expression. Drop a now useless break statement. Fix |
| behaviour when searching for `foo' and then finding a `foo.lnk' |
| which is no shortcut. |
| |
| 2008-12-16 Christian Franke <franke@computer.org> |
| |
| * fhandler_registry.cc (DEFAULT_VALUE_NAME): Remove constant. |
| (encode_regname): Encode empty (default) name to "@". |
| Encode "@" to "%40". Change error return to -1. |
| (decode_regname): Decode "@" to empty name. Decode "%40" to "@". |
| (fhandler_registry::exists): Skip check for keys if name is empty. |
| Remove check for DEFAULT_VALUE_NAME, now handled by decode_regname (). |
| (fhandler_registry::readdir): Remove check for empty name, now |
| handled by encode_regname (). |
| (fhandler_registry::open): Remove check for DEFAULT_VALUE_NAME. |
| (fhandler_registry::open_key): Fail with ENOENT if key name is empty. |
| |
| 2008-12-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (gen_full_path_at): Use isabspath instead of isdirsep |
| to recognize absolute path. |
| |
| 2008-12-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_auth.cc (open_local_policy): Set lsa handle to |
| INVALID_HANDLE_VALUE when LsaOpenPolicy fails. Explain why. |
| |
| 2008-12-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * setlsapwd.cc (setlsapwd): Simplify code. Only try to call cygserver |
| if opening local policy fails. Don't treat removing non-existant |
| private data as error. |
| |
| 2008-12-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * setlsapwd.cc (setlsapwd): Explicitely erase password buffer content |
| after usage. |
| |
| 2008-12-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_registry.cc (fhandler_registry::exists): Handle EACCES. |
| (fhandler_registry::open): Ditto. |
| |
| 2008-12-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din: Export fgetwc, fgetws, fputwc, fputws, fwide, getwc, |
| getwchar, putwc, putwchar, ungetwc. |
| * posix.sgml: Move above functions (add missing) into "implemented |
| SUSv3" section. |
| * include/cygwin/version.h: Bump api minor number. |
| |
| 2008-12-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class fhandler_registry): Declare dup method. |
| * fhandler_registry.cc (fhandler_registry::exists): Fix missing |
| parenthesis. |
| (fhandler_registry::dup): New method. |
| |
| 2008-12-14 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler_disk_file.cc (readdir_get_ino): Don't complain about MS-DOS |
| paths since the function could be fed one by an internal call. |
| |
| 2008-12-13 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygheap.cc (cygheap_user::~cygheap_user): Remove unneeded if 0'ed |
| code. |
| |
| * fhandler_registry.cc (fhandler_registry::exists): Recode goto as |
| if/else to avoid a gcc4 compiler warning. |
| (fhandler_registry::open): Ditto. Use one goto rather than two. |
| |
| * gentls_offsets: Fix compiler warning in generated output. |
| * tlsoffsets.h: Regenerate. |
| |
| * mount.cc (fillout_mntent): slashify native paths returned via |
| getmntent. |
| |
| 2008-12-08 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> |
| |
| * resolv.h: #include <netinet/in.h> for sockaddr_in typedef. |
| |
| 2008-12-07 Christian Franke <franke@computer.org> |
| |
| * fhandler_registry.cc (encode_regname): Add Parameter add_val. |
| Append "%val" if add_val is set. |
| (decode_regname): Remove trailing "%val". Change returncode accordingly. |
| (__DIR_hash): New class. |
| (d_hash): New macro. |
| (key_exists): New function. |
| (fhandler_registry::exists): Remove encode of registry name before path |
| compare, decode file part of path instead. Skip checks for keys if |
| trailing "%val" detected. |
| (fhandler_registry::fstat): Change check of return value of |
| decode_regname (). |
| (fhandler_registry::readdir): Allocate __DIR_hash. Record key names in |
| hash table. Append "%val" if key with same name exists. Fix error |
| handling of encode_regname (). Set dirent.d_type. |
| (fhandler_registry::closedir): Delete __DIR_hash. |
| (fhandler_registry::open): Don't open key if trailing "%val" detected |
| by decode_regname (). |
| (open_key): Ditto. |
| |
| 2008-12-03 Pierre A. Humblet <Pierre.Humblet@ieee.org> |
| |
| * libc/minires.c (open_sock): Set non blocking and close on exec. |
| (res_ninit): Set id pseudo-randomly. |
| (res_nsend): Do not set close on exec. Initialize server from id. |
| Flush socket. Tighten rules for answer acceptance. |
| (res_nmkquery): Update id using current data. |
| |
| 2008-12-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_registry.cc (must_encode): Fix condition changed for testing. |
| |
| 2008-12-01 Christian Franke <franke@computer.org> |
| |
| * fhandler_registry.cc (must_encode): New function. |
| (encode_regname): Ditto. |
| (decode_regname): Ditto. |
| (fhandler_registry::exists): Encode name before path compare. |
| (fhandler_registry::fstat): Pass decoded name to win32 registry call. |
| (fhandler_registry::readdir): Return encoded name to user. |
| (fhandler_registry::open): Store decoded name into value_name. |
| (open_key): Pass decoded name to win32 registry call |
| |
| 2008-11-28 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * exceptions.c (sigpacket::process): Set tls on return since it is |
| assumed to be set to a valid value by the caller. |
| |
| 2008-11-28 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * include/cygwin/version.h: Bump api minor number to 189 to flag the |
| implementation of dirent.d_type. |
| |
| 2008-11-28 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * exceptions.cc (sigpacket::process): Rework previous change. tls |
| could still become NULL. |
| |
| 2008-11-28 Christian Franke <franke@computer.org> |
| |
| * dir.cc (readdir_worker): Initialize dirent.d_type and __d_unused1. |
| * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): |
| Set dirent.d_type based on FILE_ATTRIBUTE_*. |
| * include/sys/dirent.h: Define _DIRENT_HAVE_D_TYPE (enables DT_* |
| declarations). |
| (struct dirent): Add d_type. Adjust __d_unused1 size to preserve layout. |
| |
| 2008-11-27 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * exceptions.cc (sigpacket::process): Make sure that 'tls' is never |
| NULL when used. |
| |
| 2008-11-26 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| Remove unneeded whitespace throughout. |
| |
| * fhandler_fifo.cc (fhandler_fifo::open): Rework to cause errno to be |
| set to ENXIO when opening a fifo write/nonblocking. |
| |
| * environ.cc (ucreqenv): Rename to ucenv. Move code from old ucenv |
| here and conditionalize it on create_upcaseenv. |
| (ucenv): Delete. |
| (environ_init): Fix compiler warning by moving create_upcaseenv test to |
| ucenv. Don't bother checking for child_proc_info when calling ucenv |
| since it is assumed to be NULL at the point where the function is |
| called. |
| |
| * path.cc (symlink_worker): Turn off MS-DOS path warnings when dealing |
| with devices since the device handler passes in a translated MS-DOS |
| path. |
| |
| * sec_auth.cc (lsaprivkeyauth): Avoid variable initialization which |
| causes a compiler error. |
| |
| * fhandler_netdrive.cc: Update copyright. |
| |
| 2008-11-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_OFILES): Add setlsapwd.o. |
| * cygserver.h (CYGWIN_SERVER_VERSION_API): Bump. |
| (request_code_t): Define CYGSERVER_REQUEST_SETPWD request type. |
| * cygserver_msg.h (client_request_msg::retval): Use default value of -1 |
| for retval if msglen is 0. |
| * cygserver_sem.h (client_request_sem::retval): Ditto. |
| * cygserver_shm.h (client_request_shm::retval): Ditto. |
| * cygserver_setpwd.h: New file. |
| * external.cc (cygwin_internal): Implement new CW_SET_PRIV_KEY type. |
| * sec_auth.cc (open_local_policy): Make externally available. |
| Get ACCESS_MASK as argument. |
| (create_token): Accommodate change to open_local_policy. |
| (lsaauth): Ditto. |
| (lsaprivkeyauth): New function fetching token by retrieving |
| password stored in Cygwin or Interix LSA private data area and |
| calling LogonUser with it. |
| * security.h (lsaprivkeyauth): Declare. |
| (open_local_policy): Declare. |
| * setlsapwd.cc: New file implementing setting LSA private data password |
| using LsaStorePrivateData or by calling cygserver if available. |
| * syscalls.cc (seteuid32): Add workaround to get the original token |
| when switching back to the original privileged user, even if |
| setgroups group list is still active. Add long comment to explain why. |
| Call lsaprivkeyauth first, only if that fails call lsaauth or |
| create_token. |
| * include/cygwin/version.h: Bump API minor number. |
| * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_SET_PRIV_KEY. |
| |
| 2008-11-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_floppy.cc (fhandler_dev_floppy::raw_read): Drop |
| initialization of bytes_to_read. Set bytes_to_read to len in |
| non-buffered case. Call read_bytes correctly with bytes_to_read |
| instead of len. |
| |
| 2008-11-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mmap.cc (MapView): Add NT status to debug output. |
| |
| 2008-11-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (GetSystemDEPPolicy): Define. |
| (GetProcessDEPPolicy): Ditto. |
| (SetProcessDEPPolicy): Ditto. |
| * dcrt0.cc (disable_dep): New static function. |
| (dll_crt0_0): Call disable_dep on platforms requiring it. Add longish |
| comment to explain the circumstances. |
| * wincap.h (wincaps::ts_has_dep_problem): New element. |
| * wincap.cc: Implement above element throughout. |
| (wincapc::init): Set ts_has_dep_problem to true on 2008 Terminal |
| Servers. |
| * winsup.h (WINVER): Set to 0x0601. |
| |
| 2008-11-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::cygdrive_win32_path): Always upper case |
| DOS drive letter to accommodate case sensitivity. |
| (cygdrive_getmntent): Ditto. |
| * path.cc (path_conv::check): Invalidate wide_path after making path |
| relative. |
| |
| 2008-11-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * environ.cc (create_upcaseenv): New static variable. |
| (renv_arr): New static array to keep track of environment variables |
| which have to be always uppercased. |
| (idx_arr): Ditto. |
| (start_at): Ditto. |
| (ucreqenv): New function to uppercase only the environment variables |
| from renv_arr. |
| (parse_thing): Add "upcaseenv" setting. |
| (environ_init): Parse $CYGWIN before doing anything else. Call |
| ucreqenv instead of ucenv if CYGWIN=noupcaseenv is set. |
| |
| 2008-11-10 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * path.cc (normalize_win32_path): Don't add a trailing '\' if the cwd |
| returns a path with a trailing '\'. |
| |
| 2008-11-07 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * pthread.cc (pthread_mutex::_unlock): Avoid unlocking a mutex if the |
| recursion_counter is already 0. |
| (pthread_mutex::_destroy): Don't consider a mutex busy if its |
| recursion_counter == 0. |
| (pthread_mutex::_fixup_after_fork): Set recursion_counter to 0 to flag |
| that we've just forked. Don't reset the owner of this mutex since the |
| forkee may think it still owns the mutex. Reinstate initialization of |
| win32_obj_id. |
| |
| * fhandler_floppy.cc (fhandler_dev_floppy::raw_read): Initialize a |
| variable to bypass a C++ warning. |
| |
| 2008-11-05 Corinna Vinschen <corinna@vinschen.de> |
| |
| * environ.cc (environ_init): Avoid evaluating $CYGWIN twice. |
| |
| 2008-10-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * wincap.cc (all wincaps): Store in .cygwin_dll_common section same as |
| wincap. Add comment to explain why. |
| |
| 2008-10-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (GetSystemWindowsDirectoryW): Define. |
| * kernel32.cc (GetWindowsDirectoryW): Implement to abstract from |
| running under Terminal Services or not. |
| (GetWindowsDirectoryA): Ditto. |
| |
| 2008-10-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * passwd.cc (pwdgrp::read_passwd): Check if we're called within |
| user_shared initialization and ignore myself, if so. Reformat |
| conditional expression. |
| |
| 2008-10-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * ntdll.h (NtSetAttributesFile): New inline function. |
| * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Use |
| NtSetAttributesFile. |
| * path.cc (symlink_worker): Ditto. |
| * syscalls.cc (unlink_nt): Ditto. |
| (rename): Omit FILE_SHARE_DELETE when opening files on Samba. Add |
| comment to explain why. |
| |
| 2008-10-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dtable.cc (dtable::get_debugger_info): Call SetStdHandle |
| for the newly opened handle. Explain why. |
| (dtable::stdio_init): Don't duplicate standard error handle |
| when stderr has already been created under debugger control. |
| |
| 2008-10-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_acl.cc (setacl): Align standard owner and group permissions |
| with alloc_sd. Strip FILE_READ_ATTRIBUTES fromn setting |
| FILE_GENERIC_EXECUTE permissions same as in alloc_sd. |
| * security.cc (alloc_sd): Reformat expression. Strip EA permission |
| bits from owner_deny and group_deny computation. |
| |
| 2008-10-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::fstat_helper): Check |
| for executable suffixes here in case we're on a file system |
| not supporting permission. |
| * path.cc (path_conv::check): Drop check for executable suffixes. |
| |
| 2008-10-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_floppy.cc (fhandler_dev_floppy::raw_read): Keep track of |
| current position in non-buffered case, too. |
| |
| 2008-10-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * grp.cc (pwdgrp::read_group): Generate more speaking group name |
| if passwd gid exists under different gid in /etc/group. |
| |
| 2008-10-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::is_binary): Always check for GetBinaryType. |
| * syscalls.cc (rename): Fix test for just changing case of name on |
| case insensitive filesystems. |
| |
| 2008-10-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check_shortcut): Don't check for executability |
| here. |
| (symlink_info::check_sysfile): Ditto. |
| |
| 2008-10-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::check): Only assume executability by suffix |
| on file systems not supporting permissions. |
| |
| 2008-10-07 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * pthread.cc (pthread_create): Very minor formatting change. |
| * timer.cc (timer_thread): Ensure that any created thread defaults to |
| detached state. |
| |
| 2008-10-06 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygtls.h (_cygtls::initialized): Remove bogus stack check which would |
| crash when checking the current thread from the current thread. |
| * tlsoffsets.h: Regenerate. |
| |
| 2008-10-05 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc (dll_crt0_0): Don't initialize signals early when |
| dynamically loaded. |
| (dll_crt0_1): Wait until this phase to initialize signals when |
| dynamically loaded. |
| |
| 2008-09-29 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * thread.cc (pthread_mutex::_fixup_after_fork): Reinstate DEBUGGING |
| conditional. |
| |
| 2008-09-29 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * thread.cc (pthread_mutex::_fixup_after_fork): Just reset lock to |
| pristine state after fork. Don't recreate a mutex since it may not |
| actually be needed. |
| |
| 2008-09-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * flock.cc (inode_t::get_all_locks_list): Fix typo. |
| * posix.sgml: Add cfmakeraw to list of implemented BSD functions. |
| |
| 2008-09-19 Eric Blake <ebb9@byu.net> |
| |
| * errno.cc (_sys_errlist): Add ECANCELED, ENOTRECOVERABLE, |
| EOWNERDEAD. |
| |
| 2008-09-15 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygtls.h (unionent): Move from net.cc. |
| (unionent::struct_type): Move enum here. |
| (_local_storage::hostent_buf): Define as unionent. |
| (_local_storage::protoent_buf): Ditto. |
| (_local_storage::servent_buf): Ditto. |
| * net.cc (unionent): Move to cygtls.h. |
| (struct_type): Ditto. |
| (dup_ent): Define one function per {host,proto,serv}ent type. |
| (cygwin_getprotobyname): Simplify dup_ent call. Removed now-unneeded |
| return type coercion. |
| (cygwin_getprotobynumber): Ditto. |
| (cygwin_getservbyname): Ditto. |
| (cygwin_getservbyport): Ditto. |
| (cygwin_gethostbyname): Ditto. |
| (cygwin_gethostbyaddr): Ditto. |
| tlsoffsets.h: Regenerate. |
| |
| 2008-09-12 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * Makefile.in: Add -c option which is now removed from COMPILE_C*. |
| * cygwin.din (cfmakeraw): Export. |
| * termios.cc (cfmakeraw): Implement. |
| * include/sys/termios.h (cfmakeraw): Declare. |
| * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. |
| |
| 2008-09-11 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygwin.din (sys_sigabbrev): Add this here. |
| * dcrt0.cc (__argc,__argv,_check_for_executable): Remove dllexport |
| decoration since it is already handled in cygwin.din. |
| * errno.cc (_sys_errlist): Ditto. |
| * strsig.cc (sys_sigabbrev): Ditto. |
| * include/cygwin/signal.h: Protect use of dllimport when |
| __INSIDE_CYGWIN__. |
| * libc/getopt.c: Revert previous changes. Define __INSIDE_CYGWIN__. |
| |
| 2008-09-11 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * localtime.cc (increment_overflow): Mark as non-inline to prevent |
| compiler from complaining about the very thing we're trying to test. |
| * ntea.cc (read_ea): Reorganize to avoid a new compiler warning/error. |
| * sched.cc (sched_rr_get_interval): Ditto. |
| * select.cc (peek_serial): Ditto. |
| * libc/rexec.cc (ruserpass): Ditto. |
| * posix_ipc.cc (ipc_names): Make static to avoid a compiler warning |
| (and it's the right thing to do anyway). |
| |
| 2008-09-11 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * net.cc (in6addr_any, in6addr_loopback): Add appropriate number of |
| braces around initializer. |
| (dup_ent): Try harder to coerce the first argument to deal with more |
| stringent compiler. |
| (get_2k_ifs): Remove extraneous typedef. |
| (get_2k_ifs): Reorganize expression to avoid a compiler warning. |
| (get_xp_ifs): Ditto. |
| (get_nt_ifs): Ditto. |
| |
| 2008-09-11 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.h (fhandler_pipe::raw_read): Remove __stdcall decoration. |
| * pipe.cc (fhandler_pipe::raw_read): Ditto. |
| |
| 2008-09-11 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygheap.cc (creturn): Reorganize to avoid a new compiler |
| warning/error. |
| * dtable.cc (handle_to_fn): Ditto. |
| * fhandler_console.cc (fhandler_console::read): Ditto. |
| (fhandler_console::scroll_screen): Ditto. |
| (dev_console::set_color): Ditto. |
| * fhandler_dsp.cc (fhandler_dev_dsp::write): Ditto. |
| (fhandler_dev_dsp::read): Ditto. |
| * fhandler_tape.cc (mtinfo_drive::get_status): Ditto. |
| * hookapi.cc (find_first_notloaded_dll): Ditto. |
| * mmap.cc (msync): Ditto. |
| * pipe.cc (pipesync::pipesync): Ditto. |
| * sec_acl.cc (getace): Ditto. |
| * sec_auth.cc (create_token): Ditto. |
| (lsaauth): Ditto. |
| * select.cc (peek_pipe): Ditto. |
| * spawn.cc (av::fixup): Ditto. |
| * syscalls.cc (popen): Ditto. |
| * tty.cc (tty::init_session): Ditto. |
| * uinfo.cc (pwdgrp::load): Ditto. |
| * fhandler.cc (fhandler_base::setup_overlapped): Ditto. |
| (fhandler_base::wait_overlapped): Rename second use of res variable to |
| wres or errors are not returned correctly. |
| * dcrt0.cc: Remove obsolete variable. |
| * dll_init.cc (release_upto): Fix typo involving incorrect use of '|'. |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Avoid a |
| compiler warning regarding coercing type-punned variables. |
| (fhandler_base::fstat_by_name): Ditto. |
| * fhandler_fifo.cc (fhandler_fifo::open_nonserver): Fix = vs. == typo. |
| (fhandler_fifo::wait): Add all conditions to switch statement to avoid |
| a compiler warning. |
| * fhandler_process.cc: Avoid unneeded initialization of variables to |
| zero. |
| * fhandler_socket.cc (fhandler_socket::listen): Add braces around |
| initializer. |
| * flock.cc (inode_t::get_all_locks_list): Reorganize to avoid a |
| compiler warning. Fix problem with EWOULDBLOCK error return. |
| * path.cc (GUID_shortcut): Use braces around struct initializer. |
| (cygwin_conv_path): Reorganize to avoid a compiler warning. |
| * random.cc (dummy): Mark variable as volatile to avoid a "used |
| uninitialized" warning. |
| * libc/getopt.c: Mark some variables as dllexport although gcc doesn't |
| seem to do the right thing with them. |
| * libc/minires-os-if.c (get_registry_dns_items): Coerce some function |
| arguments to avoid a compiler warning. |
| |
| 2008-08-27 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler_tty.cc (close_maybe): Check for both types of invalid handle |
| before attempting CloseHandle. |
| (fhandler_pty_master::setup): Only set inheritance on pty handles, not |
| tty handles. |
| |
| 2008-08-26 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * shared_info.h (shared_info::create_root_entry): Remove extraneous |
| mount_info:: from declaration. |
| |
| 2008-08-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class fhandler_pipe): Rename read and write |
| declarations to raw_read and raw_write. |
| * pipe.cc (fhandler_pipe::raw_read): Rename from read. |
| (fhandler_pipe::raw_write): Rename from write. |
| |
| 2008-08-21 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.cc (fhandler_base::wait_overlapped): Reorganize again to |
| accommodate what appears to be an MSDN hint about not resetting the |
| overlapped event prior to calling GetOverlappedResult. |
| |
| 2008-08-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check_shortcut): If file can't be opened, |
| treat it as non-symlink rather than generating an EIO error. |
| (symlink_info::check_sysfile): Ditto. |
| |
| 2008-08-19 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.cc (fhandler_base::wait_overlapped): Always assume that |
| bytes will be non-NULL. Distinguish input result from result derived |
| from WFMO and GetOverlappedResult or res can never be -1. Only raise |
| SIGPIPE when writing. |
| * fhandler.h (fhandler_base::wait_overlapped): Pass first argument by |
| value. |
| * fhandler_fifo.cc (fhandler_fifo::wait): Pass in dummy byte count to |
| wait_overlapped. |
| * pipe.cc (DEFAULT_PIPEBUFSIZE): Define to 65536 explicitly. |
| |
| 2008-08-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::mkdir): Drop fattr variable |
| and use FILE_ATTRIBUTE_DIRECTORY directly in call to NtCreateFile. |
| * posix_ipc.cc (ipc_mutex_init): Fix format string when creating IPC |
| object name. |
| (ipc_cond_init): Ditto. |
| * security.cc (alloc_sd): Add parentheses to fix setting initial |
| owner_allow value. |
| |
| 2008-08-18 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.cc (fhandler_base::wait_overlapped): Don't treat |
| ERROR_BROKEN_PIPE as a non-error. Do raise SIGPIPE when it is |
| detected. |
| |
| 2008-08-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::get_mounts_here): Don't subtract 2 from |
| Length if it's 0 anyway. |
| |
| 2008-08-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::create_root_entry): Create default cygdrive |
| prefix with MOUNT_NOPOSIX flag. |
| |
| 2008-08-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Don't use eabuf when trying to open |
| file a second time. Call NtOpenFile instead of NtCreateFile in this |
| case. |
| |
| 2008-08-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::link): Fix linking |
| against symlinks. |
| |
| 2008-08-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * external.cc (cygwin_internal): Call set_security_attribute with |
| additional path_conv argument. |
| * fhandler.cc (fhandler_base::open): Ditto. |
| * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Never set DOS |
| R/O attribute when using ACLs. |
| (fhandler_disk_file::mkdir): Ditto. Set |
| security descriptor on remote dirs after creating the dir, same as in |
| fhandler_base::open. |
| * fhandler_socket.cc (fhandler_socket::bind): Ditto for remote AF_LOCAL |
| socket files. |
| * path.cc (symlink_worker): Ditto. for remote symlinks. |
| * security.cc (alloc_sd): Take additional path_conv argument. |
| Accommodate throughout. Drop setting FILE_WRITE_EA/FILE_READ_EA |
| flags unconditionally (was only necessary for "ntea"). Don't set |
| FILE_READ_ATTRIBUTES and FILE_WRITE_ATTRIBUTES unconditionally on |
| Samba. Add comment to explain. Drop useless setting of |
| STANDARD_RIGHTS_WRITE, it's in FILE_GENERIC_WRITE anyway. |
| Remove FILE_READ_ATTRIBUTES bit from FILE_GENERIC_EXECUTE so as not |
| to enforce read permissions on Samba. |
| (set_security_attribute): Take additional path_conv argument. |
| * security.h (set_security_attribute): Change prototype accordingly. |
| |
| 2008-08-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (fillout_mntent): Always print noumount option last. |
| |
| 2008-08-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (fillout_mntent): Print options as taken in fstab and mount. |
| |
| 2008-08-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dll_init.cc: Throughout convert to use long pathnames. |
| * dll_init.h (struct dll): Change name to WCHAR, change operator [] to |
| take PWCHAR argument. |
| |
| 2008-08-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): If newpath doesn't exist, check if .exe suffix |
| in oldpath has been omitted before appending .exe to newpath. |
| |
| 2008-08-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_floppy.cc (fhandler_dev_floppy::raw_read): Don't set |
| eom_detected when EOF is detected, thus returning 0 instead of |
| setting errno to ENOSPC. |
| |
| 2008-08-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Use Samba workaround generally |
| for all remote filesystems supporting ACLs. Change comment and |
| explain why. Refer to the discussion which led to this. |
| |
| 2008-08-05 Brian Dessent <brian@dessent.net> |
| |
| * config/i386/profile.h (mcount): Mark asms volatile. |
| |
| 2008-08-05 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dll_init.cc (dll_global_dtors): Add an additional test to avoid |
| walking the linked list if it is empty. |
| (dll_list::detach): Don't set dll_global_dtors_recorded if we aren't |
| actually going to record any dlls. |
| |
| 2008-08-04 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| Changes suggested by Dave Korn. |
| * dcrt0.cc (cygwin_exit): Remove (hopefully) extraneous call to |
| dll_global_dtors. |
| * dll_init.cc (dll_global_dtors): Run destructors in reverse |
| dependency/load order. |
| * dll_init.h (dll_list): Add dll_global_dtors as a friend. |
| |
| 2008-08-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc (dll_crt0_1): Add a symbol denoting return from call to |
| main(). |
| * exceptions.cc (stack_info::walk): Stop walking the stack when we |
| hit _cygwin_exit_return rather than just blindly stopping when PC |
| becomes zero. |
| |
| 2008-07-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Handle (and explain) a special case |
| when accessing files matching DOS device names on SMB shares. |
| |
| 2008-07-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * spawn.cc (spawn_guts): Check constructed short pathname for being |
| a DOS device name and fall back to long path name, if so. |
| |
| 2008-07-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_name): Check for |
| file systems incapable of handling FileIdBothDirectoryInformation |
| correctly. |
| (fhandler_disk_file::opendir): Ditto. |
| * path.cc (fs_info::update): Always clear at the start. |
| Rearrange to make certain tests only on non-Samba, non-NFS remote |
| drives. |
| Add test for file systems known to be incapable of handling |
| FileIdBothDirectoryInformation correctly. Right now that's just |
| "UNIXFS". |
| * path.h (struct fs_info): Add has_buggy_fileid_dirinfo flag and |
| accessor methods. |
| (class path_conv): Add has_buggy_fileid_dirinfo method. |
| |
| 2008-07-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_auth.cc (extract_nt_dom_user): Return domain and user name as |
| WCHAR. |
| (cygwin_logon_user): Accommodate above change. Convert password to |
| WCHAR and call LogonUserW. |
| * external.cc (cygwin_internal): Accommodate above change. |
| * security.h (extract_nt_dom_user): Change prototype accordingly. |
| |
| 2008-07-30 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygwin.din (_getutline): Remove. |
| * lib/bsdlib.cc (login): Make argument const as per linux. |
| (logout): Ditto. |
| * syscalls.cc (getutid): Ditto. |
| (getutline): Ditto. |
| (pututline): Ditto. |
| (getutxent): Add comment mentioning non-thread-safety. |
| (getutxid): Ditto. |
| (getutxline): Ditto. |
| (pututxline): Ditto. |
| * sys/utmp.h: Declare arguments to various functions as const as per |
| linux. Remove bogus _getutline definition. |
| |
| 2008-07-29 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * include/cygwin/version.h: Add comment indicating that current API number |
| bump also has another consequence. |
| |
| 2008-07-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_OFILES): Remove v8 regexp files. |
| (OBSOLETE_FUNCTIONS): Remove v8 regexp functions. |
| (NEW_FUNCTIONS): Remove POSIX regex functions. |
| * cygwin.din: Export POSIX regex functions with their correct symbol |
| name. Export with posix_ prefix for backward compatibility. |
| * syscalls.cc (regfree): Remove ancient fake function. |
| * regex/regex.h: Remove renaming regex functions within Cygwin. |
| * regexp/*: Remove. |
| * include/cygwin/version.h: Bump API minor number. |
| |
| 2008-07-27 Corinna Vinschen <corinna@vinschen.de> |
| Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dcrt0.cc (dll_crt0_0): Remove calling malloc_init and |
| user_shared_initialize_1 from here. |
| (dll_crt0_1): Remove dynamically_loaded check. Just call malloc_init |
| and user_shared_initialize unconditionally. |
| * shared.cc (user_shared_create): Rename from user_shared_initialize. |
| (user_shared_initialize): Rename from user_shared_initialize_1. Move |
| complete user_shared content initialization code here from |
| user_shared_create. |
| * syscalls.cc (seteuid32): Remove call to user_shared_initialize_1. |
| That is implied by the "true" argument to user_shared_create(). |
| |
| 2008-07-27 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * mount.cc (mount_info::init): Add location where we're looking for |
| fstab to temporary message. |
| |
| * lib/cygwin_crt0.c (cygwin_crt0): Simplify by eliminating |
| accommodations for ancient cygwin DLLs. |
| * lib/crt0.h: Include <windows.h> directly since it is needed. |
| |
| 2008-07-27 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * shared_info.h (shared_destroy): Declare. |
| * shared.cc (shared_destroy): Define new function to destroy shared |
| memory regions. |
| * init.cc (dll_entry): Call shared_destroy when dll detaches from the |
| process. |
| |
| 2008-07-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::send_internal): Send never more |
| then 64K bytes at once. For blocking sockets, loop until entire data |
| has been sent or an error occurs. |
| (fhandler_socket::sendto): Drop code which sends on 64K bytes. |
| (fhandler_socket::sendmsg): Ditto. |
| |
| 2008-07-26 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler_tty.cc (fhandler_pty_master::setup): Reorganize so that all |
| operations for each end of the pipe are grouped together. |
| |
| 2008-07-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dcrt0.cc (dll_crt0_1): Call malloc_init and user_shared_initialize_1 |
| only in non-dynamically loaded case. |
| |
| 2008-07-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dcrt0.cc (dll_crt0_0): Call malloc_init and user_shared_initialize_1 |
| here in case we're dynamically loaded. Explain why. |
| (dll_crt0_1): Call user_shared_initialize_1 from here. |
| * mount.cc (is_native_path): New inline function testing for native |
| and long Win32 path prefix. |
| (is_unc_share): Remove long WIn32 path prefix test. |
| (mount_info::create_root_entry): Use PATH_MAX buffer. |
| (mount_info::init): Ditto. |
| (mount_info::add_item): Test for is_native_path as well. |
| * path.cc (normalize_win32_path): Simplify native path prefix code. |
| * shared.cc (user_shared_initialize_1): New function taking user |
| shared initialization code relying on malloc and cygtls. |
| (user_shared_initialize): Move mountinfo initialization to |
| user_shared_initialize_1. |
| * shared_info.h (user_shared_initialize_1): Declare. |
| * syscalls.cc (seteuid32): Call user_shared_initialize_1 after user |
| changed. |
| |
| 2008-07-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::from_fstab): Change system_printf to |
| debug_printf on NtOpenFile failure. |
| |
| 2008-07-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * shared.cc (user_shared_initialize): Fetch potentially changed Cygwin |
| username from /etc/passwd before loading mount table. |
| (shared_info::init_installation_root): New function fetching Cygwin's |
| installation root dir and storing as native NT path in global shared |
| memory. |
| (shared_info::initialize): Call init_installation_root exactly once at |
| first startup. |
| * shared_info.h (SHARED_INFO_CB): Accommodate change to shared_info. |
| (CURR_SHARED_MAGIC): Ditto. |
| (class shared_info): Add installation_root member. |
| (shared_info::init_installation_root): Declare. |
| |
| * grp.cc (pwdgrp::read_group): Call pwdgrp::load with native WCHAR path. |
| * passwd.cc (pwdgrp::read_passwd): Ditto. Avoid recursion. |
| (etc::init): Take POBJECT_ATTRIBUTES instead of path_conv. |
| * path.h (etc::init): Change prototype accordingly. |
| * pwdgrp.h (class pwdgrp): Store path as UNICODE_STRING/PWCHAR instead |
| of as path_conv. |
| (pwdgrp::load): Accommodate prototype. |
| * uinfo.cc (pwdgrp::load): Change argument type from char to wchar_t. |
| Create native NT path here instead of calling path_conv. |
| |
| * mount.cc (find_root_from_cygwin_dll): Drop in favor of global |
| initializaion in shared_info. |
| (mount_info::init): Fetch native NT root dir from cygwin_shared. |
| (mount_info::from_fstab): Expect native NT path and use native NT |
| functions to access file. Convert username part in user fstab path |
| according to special char transformation rules. |
| * path.cc (tfx_chars): Convert slash to backslash. |
| (transform_chars): Implement for path given as PWCHAR. |
| (transform_chars): PUNICODE_STRING version calls PWCHAR version. |
| Remove useless commented code. |
| |
| 2008-07-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * spawn.cc (spawn_guts): Fix previous patch for UNC paths. |
| |
| 2008-07-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * spawn.cc (spawn_guts): Remove long path prefix from win32 path |
| before calling CreateProcess if path length is < MAX_PATH. |
| |
| 2008-07-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/ctype.h: Declare __ctype_ptr__ to keep newlib build happy. |
| |
| 2008-07-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (WNetGetProviderNameA): Define. |
| (WNetGetResourceParentA): Remove. |
| * fhandler_netdrive.cc (struct net_hdls): New structure to keep |
| WNet handles. Stored in dir->__handle throughout. |
| (thread_netdrive): Rewrite to enumerate all servers in all accessible |
| domains and workgroups. |
| (fhandler_netdrive::readdir): Simplify toplevel code. Lowercase all |
| server names in toplevel. |
| (fhandler_netdrive::rewinddir): Close all WNet handles and free |
| net_hdls structure. |
| |
| 2008-07-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Rename x to fh. On Samba, always |
| create file with NULL security descriptor and set the permissions |
| afterwards. Explain why. |
| |
| 2008-07-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * environ.cc (known): Remove "binmode" option. |
| * fhandler.cc (binmode): Remove. |
| (fhandler_base::set_flags): Accommodate binmode removal. |
| * path.h (path_conv::set_binary): Remove. |
| * pipe.cc (pipe): Create pipes always as binary pipes. |
| * winsup.h (binmode): Remove declaration. |
| |
| 2008-07-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::from_fstab_line): Default to binary mount. |
| |
| 2008-07-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (allow_winsymlinks): Revert default to create system bit |
| symlinks for speed. |
| |
| 2008-07-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| Add case-sensitivity. |
| Unconditionally handle mount points case-sensitive. |
| Unconditionally handle virtual paths case-sensitive. |
| Unconditionally handle registry paths case-insensitive. |
| Otherwise, accommodate case-sensitivity of given path throughout. |
| * cygheap.cc (cygheap_root::set): Get additional caseinsensitive |
| parameter and store it. |
| * cygheap.h (struct cygheap_root_mount_info): Add member |
| caseinsensitive. |
| * dlfcn.cc (get_full_path_of_dll): Drop PC_NOFULL parameter from call |
| to path_conv::check. |
| * environ.cc (pcheck_case): Remove. |
| (check_case_init): Remove. |
| (known): Drop "check_case" option. |
| * exceptions.cc (open_stackdumpfile): Add comment. |
| * fhandler.cc (fhandler_base::get_default_fmode): Call pathmatch |
| instead of strcasematch. |
| * fhandler_disk_file.cc: Accommodate case-sensitivity of given path |
| throughout. |
| (__DIR_mounts::check_mount): Unconditionally check virtual paths |
| case-sensitive. |
| (fhandler_disk_file::link): Drop case clash handling. |
| (fhandler_disk_file::open): Ditto. |
| (fhandler_disk_file::readdir_helper): Drop managed mount code. |
| * mount.cc: Remove managed mount code and datastructures. |
| (struct opt): Remove "managed" option. Add "posix=0" and "posix=1" |
| options. |
| (fillout_mntent): Remove "managed" output. Add "posix" output. |
| * path.cc (struct symlink_info): Remove case_clash member and |
| case_check method. |
| (pcheck_case): Remove. |
| (path_prefix_p): Take additional bool parameter "caseinsensitive". |
| (pathnmatch): Ditto. |
| (pathmatch): Ditto. |
| (mkrelpath): Ditto. |
| (fs_info::update): Set caseinsensitive flag according to file system |
| name and FILE_CASE_SENSITIVE_SEARCH flag. Add comment. |
| (tfx_chars_managed): Remove. |
| (transform_chars): Drop "managed" parameter. Always use tfx_chars. |
| (get_nt_native_path): Drop "managed" parameter. Make sure drive letters |
| are always upper case. |
| (getfileattr): Change second parameter to denote caseinsensitivity. |
| (path_conv::check): Initialize caseinsensitive to OBJ_CASE_INSENSITIVE. |
| Set caseinsensitive according to global obcaseinsensitive flag, file |
| system case sensitivity and MOUNT_NOPOSIX mount flag. |
| Drop case_clash and all the related code. |
| (symlink_worker): Drop case clash handling. |
| (symlink_info::set): Drop setting case_clash. |
| (symlink_info::case_check): Remove. |
| (cwdstuff::set): Add comment. |
| (etc::init): Take path_conv instead of PUNICODE_STRING as parameter to |
| allow case sensitivity. |
| * path.h (enum pathconv_arg): Drop PC_SYM_IGNORE. |
| (enum case_checking): Remove. |
| (enum path_types): Drop PATH_ENC, add PATH_NOPOSIX flag. |
| (struct fs_info): Add caseinsensitive flag and accessor methods. |
| (class path_conv): Add caseinsensitive member and define |
| objcaseinsensitive method. Drop case_clash member and isencoded method. |
| (pathmatch): Change prototype according to above change. |
| (pathnmatch): Ditto. |
| (path_prefix_p): Ditto. |
| (get_nt_native_path): Ditto. |
| (class etc): Ditto. |
| (fnunmunge): Remove prototype. |
| * shared.cc (shared_info::init_obcaseinsensitive): Initialize |
| obcaseinsensitive flag from obcaseinsensitive registry value. |
| (shared_info::initialize): Call init_obcaseinsensitive here by the |
| first process creating the shared memory. |
| * shared_info.h (mount_item::fnmunge): Remove. |
| (shared_info::obcaseinsensitive): Rename from obcaseinsensitivity. |
| (shared_info::init_obcaseinsensitive): Declare. |
| * syscalls.cc (try_to_bin): Add comment. |
| * include/sys/mount.h (MOUNT_ENC): Remove flag. |
| (MOUNT_NOPOSIX): Add flag. |
| |
| 2008-07-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tape.cc (mtinfo::initialize): Remove synchronization stuff. |
| Just initialize drive data. |
| * mtinfo.h (MTINFO_MAGIC): Remove. |
| (MTINFO_VERSION): Remove. |
| (class mtinfo): Remove magic and version members. |
| * shared.cc (shared_info::initialize): Move call to |
| get_session_parent_dir so that the dir creation is only called once. |
| Move call to mt.initialize so that it's called only by the first |
| process creating the shared memory. |
| * shared_info.h (SHARED_INFO_CB): Accommodate change to shared_info. |
| (CURR_SHARED_MAGIC): Ditto. |
| (class shared_info): Add obcaseinsensitivity member. |
| |
| 2008-07-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::fpathconf): On _PC_POSIX_PERMISSIONS |
| and _PC_POSIX_SECURITY, return true for NFS, too. |
| |
| 2008-07-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| Throughout drop allow_ntsec and allow_smbntsec handling. |
| * environ.cc (set_ntsec): Remove. |
| (set_smbntsec): Remove. |
| (known): Remove ntsec and smbntsec options. |
| * external.cc (check_ntsec): Return true if no filename is given. |
| * mount.cc (oopts): Add "acl" and "noacl" options. Set MOUNT_NOACL |
| flag accordingly. |
| (fillout_mntent): Handle MOUNT_NOACL flag. |
| * path.h (enum path_types): Add PATH_NOACL. |
| * security.cc (allow_ntsec): Remove. |
| (allow_smbntsec): Remove. |
| * security.h (allow_ntsec): Drop declaration. |
| (allow_smbntsec): Drop declaration. |
| * include/sys/mount.h (MOUNT_NOACL): Define. |
| |
| 2008-07-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * miscfuncs.cc (cygwin_strncasecmp): Fix bug which results in |
| prematurely truncated strings. Simplify target length argument to |
| sys_mbstowcs. |
| |
| 2008-07-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (GetExtendedTcpTable): Define. |
| * fhandler_socket.cc (address_in_use): Take const struct sockaddr |
| pointer as argument. Implement additional AF_INET6 table check. |
| (fhandler_socket::bind): Drop AF_INET test before calling |
| address_in_use. |
| * net.cc (ipv4_getnameinfo): Return EAI_FAMILY instead of 1 if |
| called with unsupported af_family. |
| |
| 2008-07-12 Eric Blake <ebb9@byu.net> |
| |
| Fix usage of recently fixed Interlocked* functions. |
| * winbase.h (ilockincr, ilockdecr, ilockexch, ilockcmpexch): Add |
| volatile qualifier, to match Interlocked* functions. |
| |
| 2008-07-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * select.cc (peek_pipe): Temporarily revert patch from 2008-05-30. |
| |
| 2008-07-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| Change length for domain buffers from INTERNET_MAX_HOST_NAME_LENGTH to |
| MAX_DOMAIN_NAME_LEN throughout. |
| * cyglsa.h (CYG_LSA_MAGIC): New value. |
| (cyglsa_t): Define username and domain as WCHAR arrays. |
| * errno.cc (errmap): Add mapping for ERROR_NONE_MAPPED. |
| * sec_auth.cc: Drop 'w' prefix from WCHAR string variable names where |
| appropriate. |
| (extract_nt_dom_user): Prefer resolving by SID before resolving by |
| domain\name pair. |
| (cygwin_logon_user): Don't print cleartext password in debug output. |
| Change comment. |
| (get_user_groups): Revert calls to LookupAccountNameW to use NULL |
| server instead of explicit server name, according to MSDN. |
| (get_user_local_groups): Ditto. |
| (get_server_groups): Fetch domain and user name from usersid per |
| LookupAccountSidW instead of calling extract_nt_dom_user. |
| (lsaauth): Fetch domain and user name from usersid per LookupAccountSidW |
| instead of calling extract_nt_dom_user. |
| * sec_helper.cc (cygpriv): Convert to wchar_t pointer array. |
| (privilege_luid): Convert first parameter to PWCHAR. |
| (privilege_name): Return wchar_t pointer. |
| (set_privileges): Accommodate debug output. |
| * security.h (privilege_luid): Change prototype accordingly. |
| |
| 2008-07-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cyglsa.h (SECURITY_STRING): Define. |
| (enum _SECPKG_NAME_TYPE): Define. |
| (struct _SECPKG_CALL_INFO): Define. |
| (struct _LSA_SECPKG_FUNCS): Extend to full size. Define unused |
| functions lazily. |
| (cygprf_t): Define. |
| * sec_auth.cc (lsaauth): Use actual primary group if no admins group. |
| Add (disabled) code to fetch token from profil data. |
| |
| 2008-07-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_auth.cc (verify_token): Allow builtin groups missing in a token |
| and it's still valid. Explain why. |
| |
| 2008-07-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (DsGetDcNameW): Replace DsGetDcNameA. |
| * dcrt0.cc (child_info_spawn::handle_spawn): Drop artificial |
| supplementary group list from calling setgroups in parent. |
| * grp.cc (internal_getgroups): Drop 9x-only code. Reformat. |
| * sec_auth.cc (get_logon_server): Do everything in WCHAR only. |
| (get_user_groups): Ditto. Use wlogonserver in LookupAccountNameW |
| calls, too. |
| (is_group_member): Get logon server as first argument and use in call |
| to NetLocalGroupGetMembers. |
| (get_user_local_groups): Get logon server as first argument and use in |
| calls to NetLocalGroupEnum and LookupAccountNameW. Revamp to work |
| more correctly in domain environments. |
| (get_server_groups): Accommodate aforementioned changed function calls. |
| * security.h (get_logon_server): Change prototype accordingly. |
| * uinfo.cc (cygheap_user::env_logsrv): Accommodate changed |
| get_logon_server call. |
| |
| 2008-07-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * grp.cc (internal_getgroups): Also add integrity-enabled groups. |
| |
| 2008-07-09 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_auth.cc (verify_token): Disable code which returns false if |
| the token contains additional groups not requested by setgroups. |
| Explain why. |
| |
| 2008-07-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::bind): Don't run explicit |
| local socket test in SO_REUSEADDR case on systems supporting |
| enhanced socket security. Explain why. Only call address_in_use |
| for AF_INET sockets. |
| * net.cc (cygwin_setsockopt): Don't call setsockopt to set SO_REUSEADDR |
| on systems supporting enhanced socket security. Add comment. |
| * wincap.h (wincaps::has_enhanced_socket_security): New element. |
| * wincap.cc: Implement above element throughout. |
| |
| 2008-07-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (ipv6_inited): Make NO_COPY. |
| |
| 2008-07-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::is_binary): Fix test. Add comment. |
| |
| 2008-06-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (cygwin_bindresvport_sa): Fix usage of last_used_bindresvport. |
| |
| 2008-06-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/limits.h (PATH_MAX): Add comment. |
| * include/cygwin/config.h (__FILENAME_MAX__): Define as 4096. Add |
| comment. |
| |
| 2008-06-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_tty.cc (fhandler_pty_master::setup): Fix pipe inheritance. |
| |
| 2008-06-18 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * strsig.cc (strsignal): Return non-const buffer to allow building with |
| recent newlib change. |
| |
| 2008-06-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_auth.cc (DsGetDcNameA): Drop declaration. |
| (DS_FORCE_REDISCOVERY): Drop definition. |
| |
| 2008-06-17 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * spawn.cc (spawn_guts): Reinstate call to |
| fhandler_console::need_invisible since it is required to prevent |
| console flashing. |
| |
| 2008-06-17 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/resolv.h (_getshort): Drop declaration. |
| (_getlong): Ditto. |
| |
| 2008-06-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::get_cygdrive_info): Fix usage of user and |
| system arguments. Strip trailing slash from path for backward |
| compatibility. |
| |
| 2008-06-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (set_console_state_for_spawn): Drop declaration. |
| * fhandler_console.cc (set_console_state_for_spawn): Remove. |
| (fhandler_console::open): Set console state last. Don't set |
| ENABLE_PROCESSED_INPUT flag. |
| * spawn.cc (spawn_guts): Drop call to set_console_state_for_spawn. |
| |
| 2008-06-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (get_nt_native_path): Drop considerations for DOS devices. |
| Keep relative paths relative. |
| (cygwin_conv_path): Don't try to skip native NT prefixes on relative |
| paths. |
| |
| 2008-06-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/version.h (CYGWIN_VERSION_MOUNT_REGISTRY): Bump. |
| (CYGWIN_INFO_CYGWIN_MOUNT_REGISTRY_NAME): Remove. |
| (CYGWIN_INFO_CYGDRIVE_FLAGS): Remove. |
| (CYGWIN_INFO_CYGDRIVE_PREFIX): Remove. |
| (CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX): Add comment to differ from the |
| registry related defines. |
| |
| 2008-06-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_procnet.cc (dad_to_flags): Fix comment. |
| |
| 2008-06-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_procnet.cc (get_scope): New static function to evaluate |
| scope. |
| (dad_to_flags): New static array to convert Windows DAD state to |
| Linux values. |
| (format_procnet_ifinet6): Drop asking for IfIndex, just use Ipv6IfIndex. |
| Use get_scope and dad_to_flags to generate more accurate linux-like |
| output. |
| |
| 2008-06-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * net.cc (if_nametoindex): Fix typo in call to get_adapters_addresses. |
| (if_indextoname): Prefer IPv6 loopback device name over IPv4 loopback |
| device name on pre-Vista systems. |
| (if_nameindex): Ditto. |
| |
| 2008-06-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_procnet.cc (format_procnet_ifinet6): Use sprintf rather than |
| __small_sprintf. |
| * net.cc (if_nametoindex): Prefer IPv6IfIndex over IfIndex for |
| consistency with /proc/net/if_inet6. |
| (if_indextoname): Ditto. |
| (if_nameindex): Ditto. |
| |
| 2008-06-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::from_fstab): Read sizeof (buf) - 2 bytes. |
| Add code to handle overly long lines. |
| |
| 2008-06-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_auth.cc (lsaauth): Make returned token inheritable. |
| |
| 2008-06-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * devices.cc: Regenerate. |
| |
| 2008-06-09 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * devices.in: Remove "Global" from tty device. |
| |
| 2008-06-09 Eric Blake <ebb9@byu.net> |
| |
| * signal.cc (abort): Only flush streams after signal handler. |
| |
| 2008-06-02 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygwin.sc: Remove unrequired and erroneous definition. |
| |
| 2008-05-30 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * select.cc (peek_pipe): Semi-reinstate pipe NT-special write |
| detection. |
| |
| 2008-05-29 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * devices.in: Change mapping for /dev/ttyS* and /dev/com*. |
| * devices.cc: Regenerate. |
| |
| 2008-05-25 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * mount.cc (mount_info::from_fstab): Use proper buffer size. |
| |
| 2008-05-24 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * mount.cc (mount_info::init): Revert previous change. |
| (mount_info::from_fstab): Change system_printf to debug_printf. Just |
| use a local NT_MAX_PATH sized temporary buffer. |
| |
| 2008-05-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::init): Recreate path when trying to read the |
| user fstab file. |
| |
| 2008-05-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Reorder test for nfs symlinks. |
| |
| 2008-05-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::opendir): Don't try to |
| use FileIdBothDirectoryInformation on NFS shares. Fix comment to |
| explain why. |
| * path.cc (symlink_info::check): Reinstantiate no_ea. Use in |
| erroneously changed condition. |
| |
| 2008-05-23 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * mount.cc (find_root_from_cygwin_dll): New function factored from |
| from_fstab. Avoid use of tls since it isn't necessarily initialized |
| when cygwin1.dll is dynamically loaded. |
| (mount_info::create_root_entry): Ditto. |
| (mount_info::init): Calculate cygwin root once. Use create_root_entry |
| to record it. Pass fstab location to from_fstab. |
| (mount_info::from_fstab): Move root calculation stuff elsewhere, as per |
| above. |
| |
| * shared_info.h (mount_info::from_fstab_line): Make private. |
| (mount_info::fstab): Ditto. Accommodate new arguments. |
| |
| 2008-05-23 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * mount.cc (mount_info::from_fstab): Use cygwin_hmodule rather than |
| trying to find handle based on cygwin1.dll. |
| |
| * path.cc (symlink_info::check): Remove unused variable. |
| |
| 2008-05-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * shared.cc (open_shared): Fix comments. Fix a condition which has |
| been overlooked to revert to its old state in change from 2008-04-18. |
| |
| 2008-05-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Define eabuf and easize outside of |
| loop. Set to NULL on first STATUS_EAS_NOT_SUPPORTED. Align comments. |
| Fix formatting. |
| |
| 2008-05-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::readdir): Eliminate |
| compiler warning. |
| |
| 2008-05-23 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * path.cc (symlink_info::check): Don't pass EaBuffer to NtCreateFile if |
| it has indicated that it isn't appropriate. |
| * ntdll.h (STATUS_EAS_NOT_SUPPORTED): Define. |
| |
| * winsup.h: Remove __builtin* defines. |
| |
| 2008-05-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * grp.cc (internal_getgroups): Fix thinko. Only add enabled groups to |
| the group list. |
| |
| 2008-05-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * grp.cc (internal_getgroups): Don't add deny-only groups to the group |
| list. |
| |
| 2008-05-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygtls.h (struct san): Add two int values to store the current |
| tls_pathbuf counters. |
| (return_from_fault): Restore tls_pathbuf counters. |
| (setup_fault): Save tls_pathbuf counters. |
| * tlsoffset.h: Regenerate. |
| |
| 2008-05-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_acl.cc (setacl): Set errno to EINVAL if user or group don't exist. |
| |
| 2008-05-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (cygwin_conv_path): Define tp before setting up faul handler. |
| * syscalls.cc: Ditto, throughout. |
| (gen_full_path_at): Add bool parameter to allow NULL pathname. |
| (futimesat): Allow NULL pathname as GLIBC. |
| |
| 2008-05-21 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * string.h (strchr): Eliminate. |
| |
| * syscalls.cc (rename): Work around inexplicable C++ warning. |
| |
| 2008-05-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (get_ino_by_handle): Rename pfai to fai. |
| (fhandler_base::fstat_by_handle): Drop fai_size and pfai in favor of |
| static struct fai_buf. Restructure. |
| (fhandler_base::fstat_by_name): Drop fvi_size and pfvi. Drop fdi_size |
| and pfdi in favor of static struct fdi_buf. Drop redundant test for |
| existance. Use FileDirectoryInformation class instead of |
| FileBothDirectoryInformation. Drop call to NtQueryVolumeInformationFile |
| in favor of using pc.fs_serial_number (). Fix FileId information given |
| to fstat_helper. |
| (fhandler_disk_file::fstatvfs): Drop fvi_size, pfvi, fai_size and pfai. |
| Drop getting FileFsVolumeInformation and FileFsAttributeInformation in |
| favor of using the related path_conv info. |
| (fhandler_disk_file::opendir): Fix comment. |
| (fhandler_disk_file::readdir): Ditto. Use FileDirectoryInformation |
| class instead of FileBothDirectoryInformation. |
| * path.cc (fs_info::update): Store MaximumComponentNameLength in new |
| member name_len. |
| * path.h (struct fs_info): Use ULONG rather than DWORD. Add member |
| name_len to store MaximumComponentNameLength. Add accessor methods. |
| (path_conv::fs_name_len): New method. |
| |
| 2008-05-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (dirent_states): Add dirent_nfs_d_ino state and add it to |
| dirent_info_mask. |
| * fhandler_disk_file.cc (fhandler_disk_file::opendir): Set |
| dirent_nfs_d_ino flag for NFS shares. Explain why. |
| (fhandler_disk_file::readdir): Use FileNamesInformation instead of |
| FileBothDirectoryInformation info class on NFS clients not supporting |
| the FileIdBothDirectoryInformation info class. Use local pointers to |
| accommodate different offsets. |
| * path.cc (symlink_info::check): Don't test directories for symlinks |
| on NFS shares. Enhance comment. |
| |
| 2008-05-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (FILTERED_MODE): Define valid chmod mode mask. |
| (chmod): Call fh->fchmod with filtered mode. |
| (fchmod): Ditto. |
| |
| 2008-05-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Fix test for |
| S_IFSOCK in mode bits. |
| |
| 2008-05-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_worker): Fix EA buffer size info given to |
| NtCreateFile. |
| (symlink_info::check_nfs_symlink): Get 64K buffer for EA buffer. |
| Change EA buffer size info given to NtQueryEaFile accordingly. |
| |
| 2008-05-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check_shortcut): Minimize requested file |
| access flags. |
| (symlink_info::check_sysfile): Ditto. Add missing `else'. |
| (symlink_info::check): Only retry to open file if first try failed |
| with access denied. |
| |
| 2008-05-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (fs_info::update): Re-add opening the unsplitted path |
| for fillout_mntent's sake. |
| |
| 2008-05-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::mkdir): Create directories |
| on NFS shares with correct mode bits. |
| |
| 2008-05-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * winsup.h (cygwin_inet_addr): Fix type of declaration. |
| |
| 2008-05-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_OFILES): Add nfs.o. |
| * fhandler.cc (fhandler_base::open): Open files on NFS shares with |
| correct access flags and EAs. |
| * fhandler.h (fhandler_base::fstat_by_nfs_ea): Declare. |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_nfs_ea): New method. |
| (fhandler_base::fstat_by_handle): Call fstat_by_nfs_ea for files on |
| NFS shares. |
| (fhandler_disk_file::fchmod): Use NFS specific method to set mode for |
| files on NFS shares. Don't overrule errno from call to |
| set_file_attribute with errno from NtSetInformationFile call. |
| (fhandler_disk_file::fchown): Add comment. |
| * mount.cc (fillout_mntent): Accommodate change in second parameter |
| to fs_info::update. |
| * nfs.cc: New file. |
| * nfs.h: New file. |
| * path.cc (fs_info::update): Take handle instead of bool as second |
| parameter. Use that handle if it's not NULL. Only close handle if |
| it has been opened here. Use static defined buffers instead of |
| alloca'd buffers. |
| (path_conv::check): Call symlink_info::check with reference to fs. |
| Don't call fs.update here if file exists. |
| (conv_path_list): Prefer tmp_pathbuf buffer over using alloca. |
| (symlink_worker): Use NFS specific method to create symlinks on NFS |
| shares. Prefer tmp_pathbuf buffer over using alloca. |
| (symlink_info::check_shortcut): Reopen file from incoming handle |
| with necessary FILE_GENERIC_READ flag. Prefer tmp_pathbuf buffer over |
| using alloca. |
| (symlink_info::check_sysfile): Ditto. |
| (symlink_info::check_reparse_point): Use tmp_pathbuf buffer to |
| allocate REPARSE_DATA_BUFFER. |
| (symlink_info::check_nfs_symlink): New method. |
| (enum symlink_t): Remove. |
| (symlink_info::check): Don't use NtQueryAttributesFile. Rather, open |
| file with necessary access flags and call NtQueryInformationFile. Fix |
| error handling in case file can't be opened. For existing files, call |
| fs_info::update here. Restructure symlink checking to accommodate the |
| fact that the file is already open. Add case for NFS symlinks. |
| * path.h (fs_info::update): Take handle instead of bool as second |
| parameter. |
| |
| 2008-05-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): Fix condition when to start a transaction. |
| |
| 2008-05-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::check): Free wide_path and normalized_path if |
| necessary. |
| * path.h (path_conv::path_conv): Set wide_path, normalized_path and |
| normalized_path_size to 0 in all constructors. |
| |
| 2008-05-19 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): Allocate temporary path buffers using |
| tmp_pathbuf. Don't try to unset R/O attribute on dstpc if a |
| removepc exists. dstpc is a non-existant file in that case. |
| |
| 2008-05-17 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * include/stdint.h: Use int rather than long for {u,}int32_t. |
| |
| 2008-05-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * CYGWIN_LICENSE: Remove duplicate file here. |
| |
| 2008-05-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): ONly start transaction if FS supports them. |
| |
| 2008-05-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (LoadDLLfuncNt): Re-invent. |
| (NtCreateTransaction): Define. |
| (NtCommitTransaction): Define. |
| (NtRollbackTransaction): Define. |
| (RtlGetCurrentTransaction): Define. |
| (RtlSetCurrentTransaction): Define. |
| * ntdll.h (TRANSACTION_ALL_ACCESS): Define. |
| (NtCreateTransaction): Declare. |
| (NtCommitTransaction): Declare. |
| (NtRollbackTransaction): Declare. |
| (RtlGetCurrentTransaction): Declare. |
| (RtlSetCurrentTransaction): Declare. |
| * syscalls.cc (start_transaction): New static function to start TxF |
| transaction. |
| (stop_transaction): New static function to end TxF transaction. |
| (rename): Call start_transaction and stop_transaction where appropriate |
| on systems supporting transactions. |
| * wincap.h (wincaps::has_transactions): New element. |
| * wincap.cc: Implement above element throughout. |
| |
| 2008-05-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Drop |
| explicit transformation of special DOS chars. |
| * strfuncs.cc (sys_wcstombs): Always transform UNICODE private use area |
| back to ASCII. |
| |
| 2008-05-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/cygwin/stdlib.h (initstate): Declare. |
| (setstate): Declare. |
| |
| 2008-05-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (path_conv::set_normalized_path): Drop strip_tail argument. |
| Never strip trailing dots and spaces. |
| * (path_conv::check): Accomodate above change. |
| * path.h (path_conv::operator=): Ditto |
| * dtable.cc (build_fh_dev): Ditto. |
| * fhandler.h (fhandler_base::set_name): Ditto. |
| |
| * path.cc (transform_chars): Disable converting trailing dots and |
| spaces. |
| |
| * path.cc (path_conv::check): Remove two disabled code snippets. |
| |
| 2008-05-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * random.cc (initstate): Align to POSIX definition. |
| (setstate): Ditto. |
| |
| 2008-05-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_OFILES): Remove _def_time.o. |
| * libc/_def_time.c: Remove. Move definitions of _DefaultTimeLocale |
| and _CurrentTimeLocale ... |
| * libc/strptime.cc: ... here. |
| |
| 2008-05-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/sys/localedef.h: Remove. |
| * libc/strptime.cc: Define _TimeLocale and declare _CurrentTimeLocale |
| as well as _DefaultTimeLocale locally for Cygwin. |
| |
| 2008-05-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_OFILES): Add _def_time.o. Remove timelocal.o. |
| * include/sys/localedef.h: New file from NetBSD. |
| * libc/_def_time.c: Ditto. |
| * libc/getopt.c: Update to latest OpenBSD version 1.23. |
| * libc/strptime.cc: Replace FreeBSD version 1.35 with latest NetBSD |
| version 1.28. |
| * libc/timelocal.cc: Remove. |
| * libc/timelocal.h: Remove. |
| |
| 2008-04-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dtable.cc (dtable::release): Drop fixup_before handling. |
| (dtable::fixup_before_fork): Remove. |
| (dtable::fixup_before_exec): Remove. |
| * dtable.h (class dtable): Remove cnt_need_fixup_before member. |
| (dtable::dtable): Accommodate above change. |
| (dtable::dec_need_fixup_before): Remove. |
| (dtable::inc_need_fixup_before): Remove. |
| (dtable::need_fixup_before): Remove. |
| (dtable::fixup_before_exec): Remove declaration. |
| (dtable::fixup_before_fork): Ditto. |
| * fhandler.h (fhandler_base::fixup_before_fork_exec): Remove. |
| (fhandler_base::need_fixup_before): Remove. |
| * fork.cc (frok::parent): Drop fixup_before handling. |
| * spawn.cc (spawn_guts): Ditto. |
| |
| 2008-04-30 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (is_unc_share): Allow \\?\ prefix as well. Enhance comment. |
| (mount_info::from_fstab): Remove patch from 2008-04-29. |
| |
| * mount.cc (mount_info::conv_to_posix_path): Simplify test for native |
| UNC path. |
| * path.cc (normalize_win32_path): Ditto. |
| (symlink_worker): Ditto. |
| (symlink_info::posixify): Ditto. |
| (cygwin_conv_path): Ditto. |
| |
| 2008-04-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::from_fstab): Skip native path prefix in |
| module path. |
| |
| 2008-04-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): Use volume serial numbers stored in path_conv |
| rather than fetching them here for the "same file" test. Change |
| comment to reflect this. |
| |
| 2008-04-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check): Avoid special handling for |
| STATUS_BUFFER_OVERFLOW when calling NtQueryDirectoryFile. |
| * strace.cc (strace::vprntf): Use bigger buffer. |
| |
| 2008-04-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * kernel32.cc (CreateFileMappingW): Remove stray small_printf. |
| |
| 2008-04-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (IsWow64Process): Remove. |
| (Wow64DisableWow64FsRedirection): Remove. |
| (Wow64RevertWow64FsRedirection): Remove. |
| * ntdll.h (enum _PROCESSINFOCLASS): Define ProcessWow64Information. |
| * init.cc (respawn_wow64_process): Use NtQueryInformationProcess to |
| get WOW64 state. |
| * wincap.cc (wincapc::init): Ditto. |
| * wincap.h (wincapc::wow64): Change type to ULONG. |
| |
| 2008-04-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * wincap.h (wincapc::wow64): Change type to BOOL. |
| * wincap.cc: Remove explicit use of this pointer in wincapc methods. |
| (wincapc::init): Fix bug in IsWow64Process handling. |
| |
| 2008-04-26 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dcrt0.cc (dll_crt0_0): Set SEM_NOGPFAULTERRORBOX error mode, too, |
| to accommodate Vista/Longhorn. |
| * spawn.cc (spawn_guts): Move check for CREATE_SUSPENDED condition |
| after the call to ch.set() since it depends on it. |
| |
| 2008-04-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (install): Drop install rules for postinstall script. |
| |
| 2008-04-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * postinstall: Remove (Moved to base-cygwin package). |
| |
| 2008-04-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Move handling FILE_ATTRIBUTE_NORMAL |
| back to its old place. Or it to file_attributes instead of setting it. |
| |
| 2008-04-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): *Only* handle SYSTEM and HIDDEN |
| attributes in FILE_OVERWRITE case. |
| |
| 2008-04-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open): Handle SYSTEM and HIDDEN attributes |
| in FILE_OVERWRITE case as well. |
| |
| 2008-04-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::fstat_helper): Disable calling |
| pc.ndisk_links. Just use nNumberOfLinks instead. |
| |
| 2008-04-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_base::utimens_fs): Fix typo in |
| input range check. |
| |
| 2008-04-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din (futimens): Export. |
| (utimensat): Export. |
| * fhandler.cc (fhandler_base::utimens): Replace fhandler_base::utimes. |
| Call utimens_fs. |
| * fhandler.h (class fhandler_base): Declare utimens_fs instead of |
| utimes_fs, utimens instead of utimes. |
| (class fhandler_disk_file): Declare utimens instead of utimes. |
| * fhandler_disk_file.cc (fhandler_disk_file::utimens): Replace |
| fhandler_disk_file::utimes. |
| (fhandler_base::utimens_fs): Replace fhandler_base::utimes_fs. |
| Implement tv_nsec handling according to SUSv4. |
| * syscalls.cc (utimensat): New function. |
| * times.cc (timespec_to_filetime): New function. |
| (timeval_to_timespec): New function. |
| (utimens_worker): Replace utimes_worker. |
| (utimes): Convert timeval to timespec and call utimens_worker. |
| (lutimes): Ditto. |
| (futimens): Take over implementation from futimes. |
| (futimes): Convert timeval to timespec and call futimens. |
| * winsup.h (timespec_to_filetime): Declare. |
| * include/cygwin/version.h: Bump API minor number. |
| * posix.sgml: Add SUSv4 section. Add futimens and utimensat to it. |
| |
| 2008-04-24 Yaakov (Cygwin Ports) <yselkowitz@users.sourceforge.net> |
| |
| * include/wait.h: New file. |
| |
| 2008-04-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * posix.sgml: Add openat, faccessat, fchmodat, fchownat, fstatat, |
| futimesat, linkat, mkdirat, mkfifoat, mknodat, readlinkat, renameat, |
| symlinkat, unlinkat to list of implemented Solaris functions. |
| |
| 2008-04-23 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din: Sort. |
| (faccessat): Export. |
| (fchmodat): Export. |
| (fchownat): Export. |
| (fstatat): Export. |
| (futimesat): Export. |
| (linkat): Export. |
| (mkdirat): Export. |
| (mkfifoat): Export. |
| (mknodat): Export. |
| (openat): Export. |
| (readlinkat): Export. |
| (renameat): Export. |
| (symlinkat): Export. |
| (unlinkat): Export. |
| * path.cc (readlink): Align definition to POSIX. |
| * syscalls.cc (gen_full_path_at): New static function. |
| (faccessat): Implement. |
| (fchmodat): Implement. |
| (fchownat): Implement. |
| (fstatat): Implement. |
| (futimesat): Implement. |
| (linkat): Implement. |
| (mkdirat): Implement. |
| (mkfifoat): Implement. |
| (mknodat): Implement. |
| (openat): Implement. |
| (readlinkat): Implement. |
| (renameat): Implement. |
| (symlinkat): Implement. |
| (unlinkat): Implement. |
| * include/cygwin/version.h: Bump API minor number. |
| |
| 2008-04-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dcrt0.cc (dll_crt0_0): Move CWD initialization from here... |
| (dll_crt0_1): ...to here. |
| |
| 2008-04-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din (fmemopen): Export. |
| (open_memstream): Export. |
| * include/cygwin/version.h: Bump API minor number. |
| |
| 2008-04-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * sec_auth.cc (create_token): Add integrity level SID to token on |
| systems supporting that. Remove useless check for dynamically loading |
| NtCreateToken function. |
| * sec_helper.cc (mandatory_medium_integrity_sid): Define. |
| (mandatory_high_integrity_sid): Define. |
| (mandatory_system_integrity_sid): Define. |
| * sec_helper.h (mandatory_medium_integrity_sid): Declare. |
| (mandatory_high_integrity_sid): Declare. |
| (mandatory_system_integrity_sid): Declare. |
| |
| 2008-04-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::init): Remove call to from_registry. Print |
| message that fstab is missing. |
| (mount_info::from_fstab): Use CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX |
| instead of constant string. |
| (mount_info::read_mounts): Remove. |
| (mount_info::from_registry): Remove. |
| (mount_info::read_cygdrive_info_from_registry): Remove. |
| * postinstall: Enable code to create fstab entries from old registry |
| entries. |
| * registry.cc (reg_key::reg_key): Drop CYGWIN_INFO_CYGNUS_REGISTRY_NAME |
| from registry key. |
| * shared_info.h (mount_info::read_mounts): Remove declaration. |
| (mount_info::from_registry): Ditto. |
| (mount_info::to_registry): Ditto. |
| (mount_info::read_cygdrive_info_from_registry): Ditto. |
| * winver.rc (CYGWIN_REGISTRY_KEY): Remove. |
| (LegalCopyright): Fix to include 2008. |
| (RegistryKey): Set to CYGWIN_INFO_CYGWIN_REGISTRY_NAME. |
| * include/cygwin/version.h (CYGWIN_INFO_CYGNUS_REGISTRY_NAME): Remove. |
| |
| 2008-04-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * kernel32.cc (CreateFileMappingW): Fix bug in reserve/commit handling. |
| |
| 2008-04-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_OFILES): Add kernel32.o. |
| * autoload.cc (WSACloseEvent): Remove. |
| (WSACreateEvent): Remove. |
| * cygheap.cc (cygheap_init): Drop initializing shared_prefix. |
| * cygheap.h (struct init_cygheap): Drop shared_prefix and |
| shared_prefix_buf members. |
| * fhandler_socket.cc (sock_shared_name): New static function. |
| (search_wsa_event_slot): Convert name buffers to WCHAR. Call |
| NtCreateMutant/NtOpenMutant to create mutexes in session local |
| namespace. |
| (fhandler_socket::init_events): Ditto. Fix debug output. |
| (fhandler_socket::release_events): Close mutexes using NtClose. |
| (fhandler_socket::dup): Ditto. |
| * kernel32.cc: New file, implementing Win32 calls in a Cygwin-specific |
| way. |
| * mmap.cc (MapView): Make static. |
| * ntdll.h: Fix status code sorting. |
| (STATUS_OBJECT_NAME_EXISTS): Define. |
| (SEMAPHORE_QUERY_STATE): Define. |
| (CYG_SHARED_DIR_ACCESS): Define. |
| (CYG_MUTANT_ACCESS): Define. |
| (CYG_EVENT_ACCESS): Define. |
| (CYG_SEMAPHORE_ACCESS): Define. |
| (enum _PROCESSINFOCLASS): Define ProcessSessionInformation. |
| (struct _PROCESS_SESSION_INFORMATION): Define. |
| (NtCreateSemaphore): Declare. |
| (NtOpenSemaphore): Declare. |
| * flock.cc: Use CYG_xxx_ACCESS access masks where appropriate. |
| * posix_ipc.cc (ipc_mutex_init): Use native functions to create mutex. |
| Create in cygwin-shared subdir. |
| (ipc_cond_init): Ditto for event. |
| (ipc_mutex_close): Use NtClose. |
| (ipc_cond_close): Ditto. |
| (mq_open): Drop "cyg" prefix from mqh_uname. |
| * shared.cc (CYG_SHARED_DIR_ACCESS): Drop definition here. |
| (_cygwin_testing): Declare extern on file level. |
| (get_shared_parent_dir): Change name of shared directory. Add name |
| to api_fatal output. |
| (get_session_parent_dir): New function. |
| (shared_name): Simplify. |
| (shared_info::initialize): Call get_session_parent_dir. |
| * shared_info.h (get_session_parent_dir): Declare. |
| * smallprint.cc (__small_vswprintf): Fix bug in multibyte string |
| conversion. |
| * thread.cc (semaphore::semaphore): Align semaphore name to object |
| names in posix IPC functions. |
| * include/cygwin/version.h (CYGWIN_VERSION_SHARED_DATA): Bump. |
| |
| 2008-04-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| Revert thinko in previous patch. |
| * fhandler.h (struct wsa_event): Move back from wsa_event.h to here. |
| * fhandler_socket.cc (NUM_SOCKS): Ditto. |
| (wsa_events): Move back from cygwin_shared to here. Accommodate |
| throughout. |
| (socket_serial_number): Ditto. |
| * shared_info.h: Accommodate above changes. |
| * wsa_event.h: Remove. |
| |
| 2008-04-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (struct wsa_event): Move to wsa_event.h. Include |
| wsa_event.h instead. |
| * fhandler_socket.cc (NUM_SOCKS): Move to wsa_event.h. |
| (wsa_events): Move from DLL shared area to cygwin_shared shared |
| memory. Accommodate throughout. |
| (socket_serial_number): Ditto. |
| * fhandler_tape.cc (mt): Ditto. |
| (mtinfo_init): Remove. |
| (mt): Define as cygwin_shared->mt. |
| * flock.cc (FLOCK_PARENT_DIR_ACCESS): Remove. |
| (FLOCK_INODE_DIR_ACCESS): Move up in file. |
| (FLOCK_MUTANT_ACCESS): Ditto. |
| (FLOCK_EVENT_ACCESS): Ditto. |
| (get_lock_parent_dir): Remove. |
| (inode_t::inode_t): Call get_shared_parent_dir to get parent dir handle. |
| Add a "flock-" prefix to file's lock directory name for clarity. |
| * mtinfo.h (mtinfo_init): Drop declaration. |
| * net.cc (last_used_bindresvport): Move from DLL shared area to |
| cygwin_shared shared memory. |
| (cygwin_bindresvport_sa): Accommodate above change. |
| * sec_helper.cc (_everyone_sd): Move here from flock.cc. |
| * security.h (SD_MIN_SIZE): Ditto. |
| (everyone_sd): Ditto. |
| * shared.cc (cygwin_shared_area): Remove. |
| (cygwin_shared_h): New handle. |
| (get_shared_parent_dir): New static function. |
| (shared_name): Drop session_local argument. Call get_shared_parent_dir |
| here. Add cygwin-shared subdir to object name. |
| (offsets): Reinstantiate SH_CYGWIN_SHARED member. |
| (open_shared): Revert change from 2007-03-29 for systems supporting |
| SeCreateGlobalPrivilege. |
| (shared_info::initialize): Call mtinfo's initialize here. |
| (memory_init): Drop call to mtinfo_init. |
| * shared_info.h (SHARED_INFO_CB): Accommodate change to shared_info. |
| (CURR_SHARED_MAGIC): Ditto. |
| (class shared_info): Add members for global socket and tape info |
| sharing. |
| (enum shared_locations): Reinstantiate SH_CYGWIN_SHARED. |
| (get_shared_parent_dir): Declare. |
| (shared_name): Drop session_local argument from declaration. |
| * wsa_event.h: New file. Move definitions of NUM_SOCKS and |
| struct wsa_event here. |
| |
| 2008-04-18 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * autoload.cc (noload): Make sure this and succeeding functions are |
| located in the text segment. |
| |
| 2008-04-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::close): Disable enforced |
| lingering since the original problem can no longer be reproduced. |
| |
| 2008-04-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * grp.cc (internal_getgroups): Drop local buf. Allocate groups |
| directly using alloca. |
| |
| 2008-04-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * postinstall: Fix copy/paste bug. |
| |
| 2008-04-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Fix |
| thinko in UNC path handling. |
| * path.cc (symlink_worker): Fix typo in comment. Fix UNC path handling. |
| |
| 2008-04-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Simplify |
| code which checks for symlinks. Fix problem with UNC paths. |
| |
| * environ.cc (struct parse_thing): Remove transparent_exe option. |
| * syscalls.cc (transparent_exe): Remove. |
| (unlink): Always add stat_suffixes, drop transparent_exe check. |
| (open): Ditto. |
| (link): Ditto. |
| (pathconf): Ditto. |
| * fhandler_disk_file.cc (fhandler_disk_file::link): Ditto. |
| * fhandler_process.cc (fhandler_process::fill_filebuf): Always remove |
| .exe suffix. |
| * path.cc (realpath): Never attach known_suffix. |
| |
| 2008-04-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygwin.din (wprintf): Remove. |
| (_wprintf): Ditto. |
| * syscalls.cc (wprintf): Ditto. |
| * include/cygwin/version.h: Add FIXME comment. |
| |
| 2008-04-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * mount.cc (mount_info::from_fstab): Read user fstab files from |
| /etc/fstab.d/$USER to avoid user write access to /etc. |
| * postinstall: Use variables for filenames. Create /etc/fstab.d dir |
| with 01777 permissions. |
| |
| 2008-04-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * postinstall: Disable adding registry mounts to /etc/fstab for now. |
| |
| 2008-04-07 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| Remove unneeded header files from source files throughout. |
| |
| 2008-04-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * postinstall: Add function print_flags and call where appropriate. |
| Omit system and cygdrive flag when testing cygdrive flags. |
| |
| 2008-04-07 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| Add miscfuncs.h to files as needed throughout. |
| * mount.cc: New file. |
| * path.cc: Move mount-specific stuff into mount.cc. Move common stuff |
| into miscfuncs.cc. Remove unneeded includes. |
| * miscfuncs.cc: Move some common path functions here. |
| * miscfuncs.h: New file. |
| * winsup.h: Move miscelleneous functions to miscfuncs.h. |
| * dcrt0.cc: Remove unneeded includes. |
| * Makefile.in (DLL_OFILES): Add mount.o. |
| |
| * include/cygwin/config.h: Fix a minor typo. |
| |
| 2008-04-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * postinstall: Set IFS to LF only. Change while loop in subshell to |
| for loop in parent shell. Add code to read system mount points and |
| system cygdrive prefix from registry and append them to /etc/fstab. |
| |
| 2008-04-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (struct opt): Rename "system" to "nouser". |
| * postinsatll: Ditto. |
| |
| 2008-04-05 Corinna Vinschen <corinna@vinschen.de> |
| |
| * postinstall: New script. |
| * Makefile.in (sysconfdir): Define. |
| (install): Create $(sysconfdir)/postinstall dir. Install postinstall |
| script into it. |
| |
| * path.cc: Add temorary comments to note later function removal. |
| (conv_fstab_spaces): New inline function to handle \040 to space |
| conversion. |
| (struct opt): Add "system" and "user" mount options. |
| (mount_info::from_fstab_line): Only allow # to start a comment at |
| the beginning of the line. Call conv_fstab_spaces on native_path and |
| posix_path fields. Don't enforce system mounts in /etc/fstab. |
| Drop last argument in call to add_item. |
| (mount_info::from_fstab): Create a default cygdrive entry. Load |
| user mount points from fstab.<username> instead of fstab.<sid>. |
| (mount_info::read_mounts): Drop last argument in call to add_item. |
| (mount_info::add_reg_mount): Remove. |
| (mount_info::del_reg_mount): Remove. |
| (mount_info::write_cygdrive_info): Rename from |
| mount_info::write_cygdrive_info_to_registry. Don't write to registry. |
| Disallow to overwrite a system cygdrive prefix. |
| (mount_info::remove_cygdrive_info_from_registry): Remove. |
| (mount_info::get_cygdrive_info): Just fetch current cygdrive prefix and |
| flags. |
| (mount_info::add_item): Drop last argument. Don't write to registry. |
| Disallow to overwrite a system mount point. |
| (mount_info::del_item): Drop last argument. Don't write to registry. |
| Disallow to remove a system mount point. |
| (mount): Enforce user mount. |
| (cygwin_umount): Ditto. |
| * shared_info.h (mount_info::add_item): Drop last argument. |
| (mount_info::del_item): Ditto. |
| (mount_info::add_reg_mount): Remove. |
| (mount_info::del_reg_mount): Remove. |
| (mount_info::write_cygdrive_info): Rename from |
| mount_info::write_cygdrive_info_to_registry. |
| (mount_info::remove_cygdrive_info_from_registry): Remove. |
| |
| 2008-04-03 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (mount_info::from_fstab_line): Simplify. Recognize special |
| "cygdrive" entry from FS type field. |
| (mount_info::from_fstab): Create a default root dir. |
| |
| 2008-04-03 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dcrt0.cc (insert_file): Fix potential buffer overflow. |
| |
| 2008-04-03 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (mount_info::from_fstab): Get module path name of the Cygwin |
| DLL, not the path of the application. |
| |
| 2008-04-03 Corinna Vinschen <corinna@vinschen.de> |
| |
| Cleanup. |
| * exceptions.cc (windows_system_directory): Make static. Convert to |
| WCHAR. |
| (_cygtls::inside_kernel): Accommodate above change. Check module |
| path name for leading \\?\ and skip, if so. |
| (try_to_debug): Call GetEnvironmentStringsW and convert evaluation to |
| WCHAR to avoid truncated environment problem. |
| (has_visible_window_station): Call GetUserObjectInformationW. |
| (events_init): Accommodate above conversion of windows_system_directory. |
| * init.cc (respawn_wow64_process): Use WCHAR functions to start new |
| process. |
| * net.cc (__dup_ent): Drop Windows 9x consideration. |
| (load_ipv6_funcs): Use WCHAR functions to load IPv6 libs. |
| * syscalls.cc (syscalls.cc): Remove call to GetDiskFreeSpace. |
| |
| 2008-04-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (mount_info::init): First try to fetch mount points from |
| fstab files. Fallback to registry if none exists. |
| (skip_ws): New inline function. |
| (find_ws): Ditto. |
| (struct opt): New structure for mount options. |
| (read_flags): New static function to convert a mount flags string into |
| a flag value. |
| (mount_info::from_fstab_line): New method to create a mount table |
| entry from a fstab line. |
| (mount_info::from_fstab): New method to read fstab file. |
| * shared_info.h (mount_info::from_fstab_line): Declare. |
| (mount_info::from_fstab): Declare. |
| |
| 2008-04-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (enum symlink_t): Rename from shortcut_t. |
| |
| 2008-04-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (symlink_info::check_reparse_point): Use NtFsControlFile |
| to read reparse points. |
| (enum shortcut_t): New type. |
| (symlink_info::check): Convert sym_check to shortcut_t. Use shortcut_t |
| enum values throughout. Check reparse point before checking for |
| sysfile shortcut. Open reparse points with READ_CONTROL only to |
| accommodate special Vista reparse points. Add comments. |
| |
| 2008-04-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * flock.cc (get_lock_parent_dir): Drop call to NtOpenDirectoryObject |
| and utilize OBJ_OPENIF flag in call to NtCreateDirectoryObject. |
| (inode_t::inode_t): Ditto. Same for NtOpenMutant/NtCreateMutant. |
| |
| 2008-04-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * posix.sgml: Change lockf to being implemented. |
| |
| 2008-04-02 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dcrt0.cc (insert_file): Convert filename to WCHAR and call |
| CreateFileW to allow UTF-8 filenames. |
| |
| 2008-04-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Fix copyright dates. |
| |
| 2008-04-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| Throughout, call fcntl64 instead of fcntl or fcntl_worker. |
| * fcntl.cc (fcntl_worker): Remove. |
| (fcntl64): Add fault handler. Move fcntl_worker stuff here. Add case |
| for locking and call fhandler's lock method directly. Make sure that |
| F_FLOCK flag isn't set in lock call. |
| (_fcntl): Add fault handler. |
| * fhandler.cc (fhandler_base::fcntl): Drop lock cases. |
| * flock.cc (flock): Add fault handler. Simplify code. Call fhandlers |
| lock method directly instead of fcntl_worker. Add debug output. |
| (lockf): Add fault handler. Call fhandlers lock method directly |
| instead of fcntl_worker. Add debug output. |
| * winsup.h (fcntl_worker): Drop declaration. |
| (fcntl64): Declare. |
| |
| 2008-03-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * smallprint.cc (__small_vswprintf): Fix uninitialized usage of `w'. |
| |
| Revamp advisory file locking to avoid cross reference pointers as well |
| as to allow BSD flock semantics. More agressively delete unused nodes |
| and sync objects. |
| * fhandler.h (fhandler_base::ino): Rename from namehash. Fix comment. |
| (fhandler_base::node): Remove. |
| (fhandler_base::unique_id): Add. |
| (fhandler_base::del_my_locks): New method. |
| (get_ino): Rename from get_namehash. Change usage throughout Cygwin. |
| (get_unique_id): New method. |
| * fhandler.cc (fhandler_base::close): Call own del_my_locks method. |
| Fix comment. |
| (fhandler_base::fhandler_base): Accommodate new and changed members. |
| (fhandler_base::fixup_after_fork): Call del_my_locks. |
| (fhandler_base::fixup_after_exec): Ditto for files with close-on-exec |
| flag set. |
| * fhandler_disk_file.cc (get_ino_by_handle): Rename from |
| readdir_get_ino_by_handle. Accommodate throughout. |
| (fhandler_base::open_fs): Fill ino with inode number if FS has good |
| inodes. Allocate a LUID and store in unique_id to recognize file |
| descriptors referencing the same file object. |
| * flock.cc: Drop flock TODO comments. Use explicit types __dev32_t |
| and __ino64_t instead of dev_t and ino_t. |
| (LOCK_OBJ_NAME_LEN): Change to reflect longer lf_id length. |
| (get_obj_handle_count): New method. |
| (lockf_t::lf_id): Change type to long long. |
| (inode_t::get_lock_obj_handle_count): Drop in favor of static function |
| get_obj_handle_count. |
| (inode_t::del_locks): Remove. |
| (inode_t::get): Add create_if_missing flag argument. |
| (inode_t::del_my_locks): Reimplement to handle POSIX and BSD flock |
| locks. Return if node can be deleted or not. |
| (inode_t::~inode_t): Ditto. Close handles to i_dir and i_mtx. |
| (fixup_lockf_after_fork): Remove. |
| (fhandler_base::del_my_locks): New method. |
| (fixup_lockf_after_exec): Check if node can be deleted. |
| (inode_t::get): Only create node if create_if_missing is set. Lock |
| the returned node here before unlocking the node list. |
| (inode_t::get_all_locks_list): Accommodate new lf_id length. |
| (inode_t::create_lock_obj): Ditto. |
| (lockf_t::open_lock_obj): Ditto. Change return type to bool. De-const. |
| Set lf_obj instead of returning a handle. |
| (lockf_t::del_lock_obj): Call SetEvent only if new incoming parameters |
| allow it. Explain how it's supposed to work. |
| (fhandler_disk_file::lock): Only fetch file length in SEEK_END case. |
| Use NtQueryInformationFile(FileStandardInformation) instead of |
| calling fstat_by_handle. Always unlock node before returning. |
| Use fhandler's unique id to create lf_id for BSD flock locks. |
| Rely on node lock from inode_t::get. Call del_lock_obj on removed |
| locks here to allow explicit unlocking. Delete node if no lock exists |
| on the file anymore. |
| (lf_setlock): Get file handle as additional parameter. Handle the fact |
| that lf_getblock now always opens the attached event object. Reactivate |
| erroneously applied patch which deactivates setting thread priority. |
| Additionally handle blocking on BSD flock locks. |
| (lf_clearlock): Get file handle as additional parameter. |
| (lf_getlock): Close event handle opened by lf_getblock. |
| (lf_getblock): Open potentially blocking event object here and check |
| its signal state if it's a BSD flock lock. |
| (lf_wakelock): Get file handle as additional parameter. |
| * fork.cc (frok::child): Drop call to fixup_lockf_after_fork. |
| * ntdll.h (struct _EVENT_BASIC_INFORMATION): Define. |
| (enum _EVENT_INFORMATION_CLASS): Define. |
| (NtQueryEvent): Declare. |
| |
| * fhandler.h (fhandler_base::fs_flags): Remove. |
| (fhandler_base::set_fs_flags): Remove. |
| (fhandler_base::get_fs_flags): Remove. |
| * fhandler.cc (fhandler_base::write): Check for sparse file using |
| pc.fs_flags(). |
| * fhandler_disk_file.cc (fhandler_disk_file::ftruncate): Ditto. |
| |
| The return of the volume serial number in fs_info. |
| * fhandler.h (get_dev): New method. |
| * fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Drop call to |
| NtQueryVolumeInformationFile(FileFsVolumeInformation). Just use |
| get_dev() method. |
| * fhandler_fifo.cc (fhandler_fifo::open) Use device ID and inode number |
| to generate fifo name. |
| * path.h (fs_info::sernum): New member. |
| (fs_info::serial_number): New method. |
| (path_conv::fs_serial_number): New method. |
| * path.cc (fs_info::update): Fetch volume serial number and store in |
| sernum. |
| |
| 2008-03-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * flock.cc (lockf_t::operator new): Add operator taking a pointer. Call |
| cmalloc instead of ccalloc in the default operator. Add comments. |
| (inode_t::operator new): Call cmalloc instead of ccalloc. |
| (inode_t::get_all_locks_list): Return lockf_t pointer. |
| (inode_t::del_all_locks_list): Delete. Remove calls throughout. |
| (inode_t::get): Handle failing new gracefully. |
| (MAX_LOCKF_CNT): Define. |
| (inode_t::get_all_locks_list): Use pre-allocated buffer in i_all_lf |
| instead of allocating every lock. Return pointer to start of linked |
| list of locks. |
| (lockf_t::open_lock_obj): Create event object non-inheritable. |
| (fhandler_disk_file::lock): Handle failing new gracefully. |
| (lf_setlock): Allocate temporary buffer for node->i_all_lf from TLS. |
| Remove erroneous NtClose call. |
| (lf_getlock): Allocate temporary buffer for node->i_all_lf from TLS. |
| (lf_getblock): Set lf to return value of get_all_locks_list. |
| |
| 2008-03-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * flock.cc (FLOCK_PARENT_DIR_ACCESS): Define. |
| (FLOCK_INODE_DIR_ACCESS): Define. |
| (FLOCK_MUTANT_ACCESS): Define. |
| (FLOCK_EVENT_ACCESS): Define. |
| (SD_MIN_SIZE): Define. |
| (everyone_sd): Define to simplify calling _everyone_sd. |
| (_everyone_sd): Replace everyone_sync_sd. Take SECURITY_DESCRIPTOR as |
| argument and allow to specify access mask. |
| (get_lock_parent_dir): Open/Create parent dir with |
| FLOCK_PARENT_DIR_ACCESS. Add text to api_fatal message. |
| (inode_t::inode_t): Open/Create dir with FLOCK_INODE_DIR_ACCESS. |
| Open/Create mutant with FLOCK_MUTANT_ACCESS. Add text to api_fatal |
| message. |
| (lockf_t::create_lock_obj): Create event with FLOCK_EVENT_ACCESS. |
| Add text to api_fatal message. |
| (lockf_t::open_lock_obj): Open event with FLOCK_EVENT_ACCESS. |
| On failure, just return NULL pointer instead of calling api_fatal. |
| (lockf_t::get_lock_obj_handle_count): Replace call to small_printf |
| with call to debug_printf. |
| (lf_setlock): Handle a failure to open the lock event object as |
| EDEADLK. Call system_printf if opening sync objects fail. |
| * ntdll.h (DIRECTORY_TRAVERSE): Define. |
| (DIRECTORY_CREATE_OBJECT): Define. |
| (DIRECTORY_CREATE_SUBDIRECTORY): Define. |
| (EVENT_QUERY_STATE): Define. |
| |
| 2008-03-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): Fix setting errno in case of trailing "/." |
| |
| 2008-03-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc: Create shared objects session local throughout. |
| * shared.cc (shared_name): Add argument to allow opening session |
| local shared memory. |
| * shared_info.h (shared_name): Change declaration accordingly. |
| |
| 2008-03-26 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| Implement method of detecting a missing dll as suggested by Brian |
| Dessent. |
| * hookapi.cc (find_first_notloaded_dll): New function. |
| * pinfo.cc (status_exit): New function. Issue message when dll not |
| found. Use find_first_notloaded_dll to find a nonexistent dll. |
| (pinfo::maybe_set_exit_code_from_windows): Call status_exit when exit |
| code >= 0xc0000000UL. |
| * sigproc.cc (child_info::proc_retry): Return exit code when |
| STATUS_DLL_NOT_FOUND. |
| * spawn.cc (spawn_guts): Minor cleanup. |
| * syscalls.cc (close_all_files): Don't actually close stderr |
| filehandle. Just make it noninheritable. |
| * winsup.h (find_first_notloaded_dll): Declare new function. |
| |
| 2008-03-26 Brian Dessent <brian@dessent.net> |
| |
| * ntdll.h: Add several missing NTSTATUS defines. |
| |
| 2008-03-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * flock.cc (inode_t::get_all_locks_list): Don't allow F_WAIT flag |
| in lock event object name. |
| (lockf_t::create_lock_obj): Ditto. |
| (lockf_t::open_lock_obj): Ditto. |
| (lf_setlock): Only check POSIX locks for deadlock condition. |
| (lf_findoverlap): Don't let POSIX and flock locks interact. |
| |
| 2008-03-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * flock.cc: Clarify a couple of comments. |
| (lf_setlock): Treat not being able to sync on a process as a potential |
| deadlock situation. Close process handle using CloseHandle. |
| |
| 2008-03-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * flock.cc: Fix typo in comment. |
| |
| 2008-03-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::dup): Drop setting flags in the parent. |
| |
| Implement advisory file locking. |
| * cygheap.h (struct init_cygheap): Add inode_list member. |
| * cygwin.din (lockf): Export. |
| * dcrt0.cc (child_info_spawn::handle_spawn): Call |
| fixup_lockf_after_exec. |
| * dtable.h (class dtable): Add fhandler_disk_file as friend class. |
| * fhandler.cc (fhandler_base::close): Call del_my_locks if node is set. |
| (fhandler_base::fhandler_base): Initialize node to NULL. |
| (fhandler_base::fixup_after_fork): Ditto. |
| * fhandler.h (class fhandler_base): Add member node. |
| * fhandler_disk_file.cc (fhandler_disk_file::lock): Delete. |
| * flock.cc: Implement all advisory file locking here. |
| (fhandler_disk_file::lock): Implement here. |
| (flock): Call fcntl with F_FLOCK bit set. Remove test main function. |
| (lockf): New function. |
| * fork.cc (frok::child): Call fixup_lockf_after_fork. |
| * ntdll.h (DIRECTORY_ALL_ACCESS): Define. |
| (struct _OBJECT_BASIC_INFORMATION): Define. |
| (enum _EVENT_TYPE): Define. |
| (NtCreateDirectoryObject): Declare. |
| (NtCreateEvent): Declare. |
| (NtCreateMutant): Declare. |
| (NtOpenEvent): Declare. |
| (NtOpenMutant): Declare. |
| * include/cygwin/version.h: Bump API minor number. |
| |
| 2008-03-22 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dtable.cc (handle_to_fn): Modify to return true if handle represents |
| a cygwin tty. |
| (dtable::init_std_file_from_handle): Detect when we've seen a cygwin |
| pipe and use it in overlapped mode by default. |
| (decode_tty): Make static. |
| |
| 2008-03-22 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * dtable.cc: Define various device-related string constants as wide |
| character constants. |
| (dtable::init_std_file_from_handle): Reorganize pipe handling to try to |
| catch special tty case. |
| (build_fh_name_worker): Declare for common use. |
| (build_fh_name): Define char version. |
| (build_fh_name): Define (currently unused) UNICODE_STRING version. |
| (decode_tty): Detect if pipe is actually a cygwin tty, returning the |
| tty name in the buffer. |
| (handle_to_fn): Reorganize to use wide characters. |
| * dtable.h (build_fh_name): Declare (currently unused) UNICODE_STRING |
| version. |
| * fhandler_tty.cc (fhandler_pty_master::setup): Use |
| fhandler_pipe::create_selectable to create a pipe with a given name. |
| * pipe.cc (pipe_handler): Make returned handle inheritable. |
| (fhandler_pipe::create_selectable): Take an optional name. Use a |
| standard cygwin introducer for the name. |
| |
| * path.cc (path_conv::check): Make first argument const. |
| * path.h (path_conv::check): Ditto for declaration. |
| (path_conv::path_conv): Ditto for UNICODE_STRING version. |
| |
| 2008-03-18 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/sys/cygwin.h: Revert erroneous move of `#ifdef WINVER' to |
| another location. |
| |
| 2008-03-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fcntl.cc (fcntl_worker): Protect with a 'myfault'. |
| |
| * path.cc (normalize_posix_path): Treat X:/ as Win32 path, too. |
| |
| * smallprint.cc (__wrn): New static function. |
| (__small_vswprintf): New function to generate WCHAR strings. |
| (__small_swprintf): Ditto. |
| * winsup.h (__small_swprintf): Declare. |
| (__small_vswprintf): Declare. |
| |
| 2008-03-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.sgml: Remove documentation for old path API. Add documentation |
| for new path API. |
| * security.sgml: New file to document cygwin_set_impersonation_token |
| and cygwin_logon_user with only eight years of delay. |
| * shared.sgml: Remove file. |
| * include/sys/cygwin.h (cygwin32_attach_handle_to_fd): Move declaration |
| into fully deprecated function block. |
| (cygwin_logon_user): Move declaration down to declaration of |
| cygwin_set_impersonation_token. |
| |
| 2008-03-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): Just return with 0 if filenames are identical, |
| per POSIX. Drop comment added in previous patch. |
| |
| 2008-03-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (rename): Handle a special case of trying to rename a |
| mount point. |
| |
| 2008-03-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * environ.h: Fix comment. |
| * winsup.h: Ditto. Reflect the fact that CYG_MAX_PATH is deprecated. |
| |
| 2008-03-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * pipe.cc (fhandler_pipe::create_selectable): Use MAX_PATH instead of |
| CYG_MAX_PATH. |
| * tty.cc (tty_list::init_session): Ditto. |
| (tty::alive): Ditto. |
| (tty::open_mutex): Ditto. |
| (tty::create_inuse): Ditto. |
| (tty::get_event): Ditto. |
| |
| 2008-03-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Disable |
| munging. Convert all chars in the 0xf0xx area to it's ascii equivalent. |
| * path.cc (normalize_posix_path): Don't treat "X:foo" as windows path, |
| only "X:\foo". |
| (tfx_chars): New transformation table for special DOS chars. |
| (tfx_chars_managed): Ditto, plus transformation of uppercase ASCII |
| chars. |
| (transform_chars): New function. |
| (get_nt_native_path): Make static. Call transform_chars for all valid |
| FS paths. Get additional flag if file is managed or not. Accommodate |
| throughout. |
| (getfileattr): Get additional flag if file is managed or not. |
| Accommodate throughout. |
| (path_conv::check): Disable special handling for trailing dots and |
| spaces. |
| (mount_item::build_win32): Disable code for managed paths. |
| (mount_info::conv_to_posix_path): Ditto. |
| * path.h (get_nt_native_path): Remove declaration. |
| |
| 2008-03-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Don't |
| copy filename twice in the non-managed case. |
| |
| 2008-03-12 Corinna Vinschen <corinna@vinschen.de> |
| |
| * winsup.h (NT_MAX_PATH): Revert ill-advised change to 32767. |
| Accommodate change throughout. |
| |
| * cygwin.din (cygwin_conv_path): Export. |
| (cygwin_conv_path_list): Export. |
| (cygwin_create_path): Export. |
| * dcrt0.cc (dll_crt0_1): Use cygwin_conv_path. |
| * dtable.cc (handle_to_fn): Ditto. Don't expect UNICODE_STRING being |
| 0-terminated. |
| * environ.cc (env_plist_to_posix): New helper function. |
| (env_plist_to_win32): Ditto. |
| (env_path_to_posix): Ditto. |
| (env_path_to_win32): Ditto. |
| (return_MAX_PATH): Remove. |
| (conv_envvars): Use new helper functions. Drop removed members. |
| (win_env::operator =): Accommodate removal of path length functions. |
| (win_env::add_cache): Accommodate new env helper function API. |
| (posify): Ditto. |
| * environ.h (struct win_env): Ditto. Remove path length function |
| pointers since they are unused. |
| * path.cc (warn_msdos): Use cygwin_conv_path. |
| (getfileattr): Use new tmp_pathbuf::u_get method. |
| (fillout_mntent): Ditto. |
| (symlink_info::check): Ditto. |
| (path_conv::check): Use sizeof (WCHAR) instead of constant 2. |
| (symlink_info::check_reparse_point): Ditto. |
| (conv_path_list): Get max size of target string as argument. Call |
| cygwin_conv_path as helper function. |
| (cygwin_conv_path): New function. |
| (cygwin_create_path): New function. |
| (cygwin_conv_to_win32_path): Just call cygwin_conv_path with size set |
| to MAX_PATH. |
| (cygwin_conv_to_full_win32_path): Ditto. |
| (cygwin_conv_to_posix_path): Ditto. |
| (cygwin_conv_to_full_posix_path): Ditto. |
| (conv_path_list_buf_size): Add FIXME comment. |
| (env_PATH_to_posix): Rename from env_win32_to_posix_path_list. |
| Add size argument as required for env helper functions. |
| (cygwin_win32_to_posix_path_list): Call conv_path_list with size set to |
| MAX_PATH. |
| (cygwin_posix_to_win32_path_list): Ditto. |
| (cygwin_conv_path_list): New function. |
| (cwdstuff::get): Fix length argument in call to sys_wcstombs. |
| * spawn.cc (find_exec): Use cygwin_conv_path_list. |
| * tls_pbuf.h (tmp_pathbuf::u_get: New method. |
| * uinfo.cc (cygheap_user::ontherange): Allocate temporary path buffers |
| using tmp_pathbuf. Use cygwin_conv_path. |
| * winf.cc (av::unshift): Use cygwin_conv_path. |
| * include/cygwin/version.h: Bump API minor number. |
| * include/sys/cygwin.h: Comment out old cygwin32_XXX API. |
| Mark old path handling API as deprecated. |
| (cygwin_conv_path_t): Typedef. Define values. |
| (cygwin_conv_path): Declare. |
| (cygwin_create_path): Declare. |
| (cygwin_conv_path_list): Declare. |
| |
| 2008-03-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dlfcn.cc (get_full_path_of_dll): Allow paths up to PATH_MAX. |
| (dlopen): Call get_full_path_of_dll with path buffer allocate by |
| tmp_pathbuf. |
| |
| 2008-03-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * spawn.cc (find_exec): Use tmp_pathbuf to allocate path buffer. |
| |
| 2008-03-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dtable.cc (dtable::init_std_file_from_handle): Use tmp_pathbuf to |
| allocate path buffer. |
| (handle_to_fn): Ditto. Allocate fnbuf big enough to get long path |
| names. |
| |
| 2008-03-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (cwdstuff::set): Make sure drive_length is 0 for virtual |
| paths. Add comments. |
| * spawn.cc (spawn_guts): Don't allow to start a native Win32 application |
| from a long path or a virtual path. Print an error message to stderr. |
| |
| 2008-03-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * environ.cc (parse_options): Use tmp_pathbuf to allocate buffer. |
| (regopt): Take tmp buffer as additional argument. |
| (environ_init): Alllcate tmpbuf earlier. Use as temporary buffer in |
| call to regopt. |
| * tls_pbuf.cc (tmp_pathbuf::c_get): Allocate one additional char. |
| (tmp_pathbuf::w_get): Allocate one additional WCHAR. |
| * winf.cc (av::unshift): Use tmp_pathbuf to allocate buffer. |
| |
| 2008-03-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * syscalls.cc (sync): Use MAX_PATH rather than CYG_MAX_PATH. |
| |
| 2008-03-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (class fhandler_console): Add write_buf as pointer to |
| temporary buffer space. |
| * fhandler_console.cc (CONVERT_LIMIT): Define as NT_MAX_PATH. Add |
| comment. |
| (fhandler_console::write_normal): Use write_buf throughout. |
| (fhandler_console::write): Use tmp_pathbuf to allocate write_buf. |
| |
| 2008-03-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_console.cc (fhandler_console::write_normal): Don't print |
| chars marked as ERR chars. |
| |
| 2008-03-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (dev_console::con_to_str): Declare returning DWORD. |
| * fhandler_console.cc (dev_console::con_to_str): Return number of |
| multibyte char bytes. |
| (fhandler_console::read): Set nread to number of multibyte char bytes |
| returned from con_to_str. |
| (fhandler_console::write_normal): Reorder trunc buffer preocessing. |
| Return after writing valid multibyte sequence out of trunc buffer. |
| Change comments slightly. |
| |
| 2008-03-08 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (DIR_BUF_SIZE): Define required space for file |
| name in terms of sizeof(WCHAR). |
| (fhandler_disk_file::readdir_helper): Convert *all* of fname. |
| * path.cc (fillout_mntent): Use tmp_pathbuf for path buffer. |
| (symlink_worker): Ditto. |
| (SCAN_JUSTCHECKTHIS): New state for suffix_scan to define |
| that only the actual name gets cheked and a suffix is never attached. |
| (suffix_scan::has): If filename + suffix would be > NAME_MAX, start |
| in SCAN_JUSTCHECKTHIS state. |
| (suffix_scan::next): Add case for SCAN_JUSTCHECKTHIS. |
| (symlink_info::check): Use tmp_pathbuf for path buffer. Goto |
| file_not_symlink in case of invalid file name. |
| (realpath): Use tmp_pathbuf for path buffer. |
| |
| 2008-03-07 Brian Dessent <brian@dessent.net> |
| |
| * dtable.cc (handle_to_fn): Null-terminate posix_fn in the case |
| of justslash = true. |
| |
| 2008-03-07 Brian Dessent <brian@dessent.net> |
| |
| * fhandler.cc (fhandler_base::open): Use %S for PUNICODE_STRING. |
| * syscalls.cc (setmode): Ditto. |
| |
| 2008-03-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_socket.cc (fhandler_socket::sendto): Never send more than |
| 64K. Add comment to explain why. |
| (fhandler_socket::sendmsg): Ditto. |
| |
| 2008-03-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_OFILES): Add tls_pbuf.o. |
| * autoload.cc (CreateDesktopW): Replace CreateDesktopA. |
| (CreateWindowStationW): Replace CreateWindowStationA. |
| (GetUserObjectInformationW): Replace GetUserObjectInformationA. |
| * cygheap.h (cwdstuff::get): Assume default buffer size NT_MAX_PATH. |
| * cygtls.cc (_cygtls::remove): Free temporary TLS path buffers. |
| * cygtls.h (TP_NUM_C_BUFS): Define. |
| (TP_NUM_W_BUFS): Define. |
| (class tls_pathbuf): New class to store pointers to thread local |
| temporary path buffers. |
| (_local_storage::pathbufs): New member. |
| * environ.cc (win_env::add_cache): Use temporary TLS path buffer instead |
| of stack based buffer. |
| (posify): Get temporary outenv buffer from calling function. |
| (environ_init): Create temporary TLS path buffer for posify. |
| (build_env): Create Windows environment block as WCHAR buffer. |
| * environ.h (build_env): Change declaration accordingly. |
| * external.cc (sync_winenv): Accommodate build_env change. |
| * fhandler_console.cc (fhandler_console::need_invisible): Use |
| GetUserObjectInformationW and CreateWindowStationW. |
| * fhandler_process.cc (format_process_maps): Use temporary TLS path |
| buffer instead of stack based buffer. |
| * fork.cc (frok::parent): Convert to use CreateProcessW. |
| * path.cc: Throughout use temporary TLS path buffers instead of stack |
| based buffer. Replace checks for CYG_MAX_PATH by checks for |
| NT_MAX_PATH. |
| (getfileattr): New function to replace GetFileAttributesA. |
| (normalize_win32_path): Remove Win32 and NT long path prefixes. |
| (getwd): Assume PATH_MAX + 1 buffer per SUSv3. |
| * path.h (class path_conv): Set path buffer to size NT_MAX_PATH. |
| (iswdrive): Define. |
| * pinfo.cc (commune_process): Use temporary TLS path buffer instead of |
| stack based buffer. |
| * registry.cc (get_registry_hive_path): Ditto. |
| (load_registry_hive): Ditto. |
| * spawn.cc (spawn_guts): Convert to use CreateProcessW and |
| CreateProcessAsUserW. |
| (av::fixup): Open/close file using NtOpenFile/NtClose. |
| * syscalls.cc (mknod_worker): Allow PATH_MAX file name. |
| (mknod32): Ditto. |
| (getusershell): Ditto. |
| * tls_pbuf.cc: New file implementing tls_pathbuf and tmp_pathbuf |
| methods. |
| * tls_pbuf.h: New header for files using tmp_pathbuf. |
| * tlsoffsets.h: Regenerate. |
| * winsup.h (NT_MAX_PATH): Define as 32767 to avoid USHORT overflow. |
| |
| 2008-03-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * child_info.h (CURR_CHILD_INFO_MAGIC): Reset. |
| |
| 2008-03-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::open_): Add missing test for O_CREAT. |
| Fix comment. |
| |
| 2008-03-05 Corinna Vinschen <corinna@vinschen.de> |
| |
| * child_info.h (~child_info_spawn): Check moreinfo->myself_pinfo for |
| NULL before closing. |
| * spawn.cc (spawn_guts): Don't close moreinfo->myself_pinfo explicitely |
| in case of failing CloseProcess. |
| |
| * fhandler.cc (fhandler_base::open_): Return EISDIR when trying to |
| create a directory. |
| * path.cc (path_conv::check): If input path had a trailing dir |
| separator, tack it on to the native path if directory doesn't exist. |
| |
| 2008-03-02 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygtls.cc (_cygtls::init_exception_handler): Semi-revert to making |
| only ourselves the exception handler and nothing else. |
| * exceptions.cc (open_stackdumpfile): Use correct format specifiers for |
| unicode when printing the name of the stackdump file. |
| (stack_info::walk): Stop walking if ebp points into cygwin itself. |
| (_cygtls::handle_exceptions): Detect when signal is masked and treat as |
| if it was not caught. Reinitialize exception handler to known state to |
| avoid subsequent attempts to call Windows exception handlers if an |
| exception occurs in a signal handler. Revert to a 'return 0' rather |
| than using a goto. |
| |
| * strfuncs.cc (sys_wcstombs_alloc): Minor formatting tweak. |
| * winsup.h: Fix comment typo. |
| |
| 2008-03-02 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * smallprint.cc (__small_vsprintf): Free allocated buffer rather than |
| pointer into the buffer. |
| |
| 2008-03-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygtls.h (_cygtls::handle_threadlist_exception): Eliminate. |
| (_cygtls::init_threadlist_exceptions): Ditto. |
| * cygtls.cc (_cygtls::handle_threadlist_exception): Eliminate. |
| (_cygtls::init_threadlist_exceptions): Ditto. |
| (_cygtls::find_tls): Use myfault handling to deal with errors caused by |
| nonexistent threads. |
| * sigproc.cc (wait_sig): Eliminate call to init_threadlist_exceptions. |
| |
| 2008-03-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygtls.cc (_cygtls::init_exception_handler): Just return. |
| |
| 2008-03-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * exceptions.cc (_cygtls::handle_exceptions): Only call rtl_unwind when |
| exiting. Just return, don't set thread context. |
| * gendef (_setjmp): Store %fs:0 in jmp_buf. |
| (_sjfault): Ditto. |
| (_ljfault): Restore %fs:0 from jmp_buf. |
| (_longjmp): Ditto. |
| |
| 2008-02-29 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Call close_fs |
| instead of close to avoid calling close from wrong class when changing |
| a file system based device node. |
| (fhandler_disk_file::fchown): Ditto. |
| (fhandler_disk_file::facl): Ditto. |
| |
| 2008-02-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * exceptions.cc (_cygtls::handle_exceptions): When being debugged, |
| leave through SetThreadContext, too, to keep exception handler stack |
| intact. |
| |
| 2008-02-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * exceptions.cc (open_stackdumpfile): Add comments. |
| |
| 2008-02-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * exceptions.cc (open_stackdumpfile): Use NtCreateFile to create |
| stackdump file. |
| |
| 2008-02-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * exceptions.cc (stack_info::walk): Fix typo. |
| |
| 2008-02-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygtls.cc (_cygtls::init_exception_handler): Fix comment. |
| |
| 2008-02-27 Corinna Vinschen <corinna@vinschen.de> |
| |
| * (struct __DIR_cache): Switch order of members so that the buffer |
| given to NtQueryDirectoryFile is 8 byte aligned. |
| |
| 2008-02-27 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * cygtls.cc (_cygtls::handle_threadlist_exception): Make it clear that |
| the function never actually returns. |
| * exceptions.cc (_cygtls::handle_exceptions): Jump out of function |
| rather than returning to avoid meddling by previously installed |
| exception handlers. |
| |
| 2008-02-25 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dcrt0.cc (initial_env): Only use local buffer "buf" if DEBUGGING is |
| enabled. Replace calls to GetEnvironmentVariable by calls to |
| GetEnvironmentVariableA for clarity. Call GetEnvironmentVariableA |
| with NULL buffer. |
| (cygbench): Ditto, drop local buffer. |
| * environ.cc (getearly): Call GetEnvironmentVariableA. |
| (environ_init): Retrieve unicode environment and convert to current |
| codepage locally. |
| (getwinenveq): Ditto. |
| * exceptions.cc (try_to_debug): Accommodate new sys_mbstowcs calling |
| convention. |
| * fhandler_clipboard.cc (set_clipboard): Call sys_mbstowcs to retrieve |
| required buffer length. |
| * fork.cc (frok::child): Call GetEnvironmentVariableA. |
| * miscfuncs.cc: Accommodate changed arguments in calls to sys_mbstowcs. |
| * sec_auth.cc: Ditto. |
| * strfuncs.cc (sys_wcstombs_alloc): Fix formatting. |
| (sys_mbstowcs): Change arguments to allow specifying a source string |
| length. |
| (sys_mbstowcs_alloc): Ditto. |
| * uinfo.cc (cygheap_user::ontherange): Accommodate changed arguments in |
| calls to sys_mbstowcs. |
| * winsup.h (sys_mbstowcs): Adjust declaration. |
| (sys_mbstowcs_alloc): Ditto. |
| |
| 2008-02-20 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (cwdstuff::set): Revert error handling change in case |
| DuplicateHandle fails, because it breaks Vista/Longhorn workaround. |
| |
| 2008-02-19 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * sigproc.cc (sig_send): Use sigmask of target thread if it is |
| specified otherwise default to main sigmask. |
| |
| 2008-02-16 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.cc (fhandler_base::fpathconf): Fix _PC_NAME_MAX and |
| _PC_PATH_MAX cases. |
| |
| 2008-02-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/sys/cygwin.h (__INT_MAX_PATH): Remove. |
| (external_pinfo): Convert program_long to pointer. |
| * external.cc (fillout_pinfo): Add buffer for program_long value. |
| |
| 2008-02-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * include/sys/cygwin.h (__INT_MAX_PATH): Define to 32K. |
| (external_pinfo): Set size of program_long to __INT_MAX_PATH. |
| |
| 2008-02-15 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * include/sys/cygwin.h (external_pinfo): Define program_long size using |
| external buffer size rather than cygwin-internal buffer size. |
| |
| 2008-02-15 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| Perform whitespace cleanup throughout. |
| |
| * dcrt0.cc (signal_shift_subtract): Eliminate ancient backwards |
| compatibility. |
| (check_sanity_and_sync): Ditto. |
| * winsup.h (SIGTOMASK): Ditto. Just use constant in signal |
| calculation. |
| * include/cygwin/version: Remove backwards signal mask compatibility |
| define. |
| |
| * path.cc (symlink_info::check_sysfile): Cosmetic change. |
| |
| * registry.cc (get_registry_hive_path): Remove unneeded variable. |
| |
| * exceptions.cc (handle_sigsuspend): Eliminate thread signal mask and |
| use either main sigmask or current thread sigmask. |
| (set_process_mask): Ditto. |
| (sighold): Ditto. |
| (sigrelse): Ditto. |
| (sigset): Ditto. |
| (set_process_mask_delta): Ditto. |
| (_cygtls::call_signal_handler): Ditto. |
| * fhandler_process.cc (format_process_status): Ditto. |
| * fhandler_termios.cc (fhandler_termios::bg_check): Ditto. |
| * pinfo.h (class pinfo): Ditto. |
| * select.cc (pselect): Ditto. |
| * signal.cc (sigprocmask): Ditto. |
| (abort): Ditto. |
| (sigpause): Ditto. |
| (sigsend): Ditto. |
| (wait_sig): Ditto. |
| * thread.h (pthread::parent_tls): New member. |
| * thread.cc (pthread::pthread): Record parent_tls here. |
| (pthread::thread_init_wrapper): Initialize sigmask from parent thread. |
| |
| 2008-02-14 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygheap.cc (cwcsdup): New function. |
| (cwcsdup1): New function. |
| * cygheap.h (cygheap_user::get_windows_id): New method returning PWCHAR. |
| (cwcsdup): Declare. |
| (cwcsdup1): Declare. |
| * registry.cc (get_registry_hive_path): Use WCHAR instead of char |
| throughout. |
| (load_registry_hive): Ditto. |
| * registry.h (get_registry_hive_path): Change declaration accordingly. |
| (load_registry_hive): Ditto. |
| * sec_helper.cc (cygpsid::string): New method returning PWCHAR. |
| * security.h (cygpsid::string): Declare. |
| * syscalls.cc (seteuid32): Convert local name var to WCHAR. |
| * uinfo.cc (cygheap_user::env_userprofile): Convert local name buffers |
| to WCHAR. Call sys_wcstombs_alloc to generate puserprof buffer. |
| |
| * winsup.h: Fix comment. |
| (NT_MAX_PATH): New definition for maximum internal path length. |
| Use throughout where appropriate. |
| * include/limits.h (PATH_MAX): Set to 4096 as on Linux. |
| |
| 2008-02-13 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * configure.in: Remove non-working options. |
| * configure: Regenerate. |
| |
| 2008-02-13 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * syscalls.cc (_isatty): Define as an alias to isatty to override |
| newlib version. |
| |
| * thread.cc (pthread_kill): Deal with signal 0 as per POSIX and also |
| avoid manipulating an invalid thread. |
| |
| 2008-02-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * posix.sgml: Move llrint, llrintf, llrintl, lrintl, rintl, wcstol, |
| wcstoll, wcstoul, wcstoull, wcsxfrm from unimplemented to implemented |
| POSIX interfaces. |
| Change headline of "GNU extensions" to "GNU and Linux extensions". |
| Add fgetxattr, flistxattr, fremovexattr, fsetxattr, getxattr, lgetxattr, |
| listxattr, llistxattr, lremovexattr, lsetxattr, removexattr, setxattr, |
| wcpcpy and wcpncpy to list of implemented GNU functions. |
| |
| 2008-02-13 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygtls.cc (_cygtls::init_exception_handler): Revert patch |
| from 2005-12-02. |
| * exceptions.cc (stack_info::walk): Add workaround for NT 5.2 |
| 64 bit OSes. |
| * wincap.h (wincaps::has_restricted_stack_args): New element. |
| * wincap.cc: Implement above element throughout. |
| (wincapc::init): Reset has_restricted_stack_args if not running |
| under WOW64. |
| |
| 2008-02-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::fgetxattr): Remove unused |
| attr. |
| (fhandler_disk_file::fsetxattr): Ditto. |
| * include/attr/xattr.h: New file. |
| |
| 2008-02-11 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dcrt0.cc (dll_crt0_1): Fix typo in call to sys_wcstombs. |
| * miscfuncs.cc (next_char): Initialize ret to keep gcc happy. |
| |
| 2008-02-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_OFILES): Add ntea.o. |
| * cygwin.din (getxattr, listxattr, removexattr, setxattr, lgetxattr, |
| llistxattr, lremovexattr, lsetxattr, fgetxattr, flistxattr, |
| fremovexattr, fsetxattr): Export Linux extended attribute functions. |
| Sort. |
| * errno.cc (errmap): Add mappings for ERROR_EAS_DIDNT_FIT, |
| ERROR_EAS_NOT_SUPPORTED, ERROR_EA_LIST_INCONSISTENT, |
| ERROR_EA_TABLE_FULL, ERROR_FILE_CORRUPT, ERROR_INVALID_EA_NAME. |
| * fhandler.h (class fhandler_base): Declare new fgetxattr and |
| fsetxattr methods. |
| (class fhandler_disk_file): Ditto. |
| * fhandler.cc (fhandler_base::fgetxattr): New method. |
| (fhandler_base::fsetxattr): New method. |
| * fhandler_disk_file.cc (fhandler_disk_file::fgetxattr): New method. |
| (fhandler_disk_file::fsetxattr): New method. |
| * ntdll.h (STATUS_EA_TOO_LARGE): Define. |
| (STATUS_NONEXISTENT_EA_ENTRY): Define. |
| (STATUS_NO_EAS_ON_FILE): Define. |
| * ntea.cc (read_ea): Rewrite for long pathnames and for using with |
| Linux extended attribute functions. |
| (write_ea): Ditto. |
| (getxattr_worker): New static function. |
| (getxattr): New function. |
| (lgetxattr): New function. |
| (fgetxattr): New function. |
| (listxattr): New function. |
| (llistxattr): New function. |
| (flistxattr): New function. |
| (setxattr_worker): New static function. |
| (setxattr): New function. |
| (lsetxattr): New function. |
| (fsetxattr): New function. |
| (removexattr): New function. |
| (lsetxattr): New function. |
| (fsetxattr): New function. |
| * security.h (read_ea): Change declaration according to above changes. |
| (write_ea): Ditto. |
| * include/cygwin/version.h: Bump API minor version. |
| |
| 2008-02-10 Corinna Vinschen <corinna@vinschen.de> |
| |
| * libc/ftw.cc (ftw): Allow nfds <= 0 for glibc compatibility. |
| * libc/nftw.c (nftw): Ditto. |
| |
| 2008-02-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dtable.cc (dtable::init_std_file_from_handle): Set access to |
| read/write if handle is connected to a tty or console. |
| * fhandler_dsp.cc (fhandler_dev_dsp::dup): Set open flags correctly |
| after duplicating from archetype. |
| * fhandler_tty.cc (fhandler_tty_slave::dup): Ditto. |
| (fhandler_pty_master::dup): Ditto. |
| |
| 2008-02-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * miscfuncs.cc (next_char): Fix typos in comment. |
| * strfuncs.cc: Remove cygserver guards. |
| |
| 2008-02-06 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h (fhandler_console::trunc_buf): Add to use as cache for |
| truncated multibyte characters on input. |
| (fhandler_console::write_replacement_char): Declare new method. |
| * fhandler_console.cc (CONVERT_LIMIT): Raise to 64K. |
| (fhandler_console::fhandler_console): Initialize trunc_buf. |
| (ERR): Define as independent value again. |
| (fhandler_console::write_replacement_char): New method to print |
| replacement chars. |
| (fhandler_console::write_normal): Add handling for truncated multibyte |
| sequences. Call next_char instead of pathetic CharNextExA function. |
| Don't change src, rather just work with found later on. |
| * miscfuncs.cc (is_cp_multibyte): Move here from strfuncs.cc. |
| Don't call Windows function, restrict to well-known ANSI/OEM codepages |
| and UTF-8. |
| (next_char): Call CharNextExA only for doublebyte codepages. |
| Implement for UTF-8 here. |
| * strfuncs.cc (is_cp_multibyte): Move to miscfuncs.cc. |
| * winsup.h (next_char): Declare. |
| * include/limits.h (MB_LEN_MAX): Set to maximum value of MB_CUR_MAX |
| as defined by newlib for now. |
| |
| 2008-02-05 Corinna Vinschen <corinna@vinschen.de> |
| |
| * autoload.cc (CharToOemA): Remove. |
| (CharNextExA): Define. |
| * environ.cc (codepage_init): Un-static. Set active_codepage to |
| active codepage. Default to ansi regardless of buf pointer. |
| * fhandler.h (dev_console::get_console_cp): New method. |
| (dev_console::con_to_str): Change declaration according to new |
| implementation. |
| (dev_console::str_to_con): Ditto. |
| * fhandler_console.cc (cp_convert): Remove. |
| (dev_console::con_to_str): Redefine to take WCHAR as incoming console |
| char. |
| (dev_console::get_console_cp): Return correct codepage according to |
| alternate_charset_active setting. |
| (dev_console::str_to_con): Redefine to create WCHAR buffer for console |
| output. |
| (fhandler_console::read): Read console input as WCHARs. |
| (base_chars): Fix typo in comment. |
| (fhandler_console::char_command): Save and restore console output |
| buffer using UNICODE functions. |
| (fhandler_console::write_normal): Convert to write output in UNICODE. |
| Use CharNextExA to recognize multibyte characters in input. Workaround |
| problem with UTF-8 and MultiByteToWideChar. Simplify the loop for |
| printing "normal" characters. |
| * strfuncs.cc (active_codepage): New variable to store active codepage. |
| (get_cp): Call codepage_init() if active_codepage is uninitialized. |
| Just return active_codepage. |
| (is_cp_multibyte): New function. |
| * winsup.h (active_codepage): Declare. |
| (codepage_init): Declare. |
| (is_cp_multibyte): Declare. |
| |
| 2008-02-03 Brian Dessent <brian@dessent.net> |
| |
| * smallprint.cc (__small_vsprintf): Use HEAP_NOTHEAP for type. |
| * strfuncs.cc (sys_wcstombs_alloc): Guard use of ccalloc |
| to !__OUTSIDE_CYGWIN__ for use in cygserver. |
| (sys_mbstowcs_alloc): Ditto. |
| |
| 2008-02-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * miscfuncs.cc (cygwin_wcsncasecmp): Never access more than n |
| characters. |
| (cygwin_strncasecmp): Ditto. Fix for strings longer than n. |
| |
| 2008-02-01 Corinna Vinschen <corinna@vinschen.de> |
| |
| * string.h: Re-enable inline strcasematch and strncasematch |
| implementations and rename to ascii_strcasematch/ascii_strncasematch. |
| * dcrt0.cc: Replace str[n]casematch with ascii_str[n]casematch where |
| applicable. |
| * environ.cc: Ditto. |
| * fhandler_process.cc: Ditto. |
| * hookapi.cc: Ditto. |
| * path.cc: Ditto. |
| * spawn.cc: Ditto. |
| * strace.cc: Ditto. |
| * syscalls.cc: Ditto. |
| * uinfo.cc: Ditto. |
| * winf.cc: Ditto. |
| |
| 2008-01-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * dcrt0.cc (dll_crt0_1): Use GetCommandLineW and convert to current |
| codepage. |
| * environ.cc (set_file_api_mode): Always set file api to ANSI if not |
| using the OEM codepage. |
| (codepage_init): Allow "utf8" codepage. |
| * fhandler_clipboard.cc (set_clipboard): Convert clipbuf to void and |
| cast as needed. Always convert input to wide char and write |
| CF_UNICODETEXT to clipboard. |
| (fhandler_dev_clipboard::read): Read CF_UNICODETEXT from clipboard and |
| convert to current codepage if CYGWIN_NATIVE format is not available. |
| * fhandler_console.cc: Drop redundant undef. |
| * smallprint.cc (__small_vsprintf): Convert PWCHAR and UNICODE_STRING |
| to current codepage for printing. |
| * strfuncs.cc: Use PWCHAR throughout. |
| (get_cp): Return CP_UTF8 for utf8_cp codepage setting. |
| (sys_wcstombs): Allow NULL target buffer. |
| (sys_wcstombs_alloc): New function. |
| (sys_mbstowcs_alloc): Ditto. |
| * winsup.h (codepage_type): Add utf8_cp. |
| (HEAP_NOTHEAP): Define. |
| (sys_wcstombs_alloc): Declare. |
| (sys_mbstowcs_alloc): Declare. |
| |
| 2008-01-31 Corinna Vinschen <corinna@vinschen.de> |
| |
| * cygheap.h (struct cwdstuff): Add dir member to store cwd handle. |
| (cwdstuff::get_handle): New method. |
| * path.cc (cwdstuff::set): When doit is true, always try to get |
| directory handle. Fail if duplicating handle fails. Store handle |
| in dir. Fix potential SEGV when setting drive_length. |
| |
| 2008-01-28 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc: Fix Samba version in comment. |
| |
| 2008-01-24 Corinna Vinschen <corinna@vinschen.de> |
| |
| * path.cc (fs_info::update): Fix old-style Samba test to support |
| recent as well as upcoming Samba releases. |
| |
| 2008-01-22 Corinna Vinschen <corinna@vinschen.de> |
| |
| * ntdll.h (struct _FILE_FS_OBJECTID_INFORMATION): Define. |
| * path.cc (struct smb_extended_info): Define. |
| (fs_info::update): Request object id info to get Samba information. |
| Set flags according to new implementation. |
| * path.h (struct fs_info): Add samba_version to status_flags. |
| Implement flags() and samba_version() using IMPLEMENT_STATUS_FLAG. |
| |
| 2008-01-21 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler_disk_file.cc (fhandler_disk_file::link): Open file with |
| READ_CONTROL for Vista/Longhorn's sake. |
| |
| 2008-01-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (install-libs): Overwrite newlib's libg.a with symlink |
| to libcygwin.a. |
| |
| 2008-01-15 Corinna Vinschen <corinna@vinschen.de> |
| |
| * Makefile.in (DLL_OFILES): Remove memmem.o. |
| * memmem.cc: Remove in favor of newlib implementation. |
| |
| 2008-01-07 Corinna Vinschen <corinna@vinschen.de> |
| |
| * fhandler.h: Update copyright. |
| * include/limits.h: Ditto. |
| |
| 2008-01-06 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * fhandler.h (fhandler_base::is_tty): Make bool. |
| (fhandler_serial::is_tty): Ditto. |
| (fhandler_termios::is_tty): Ditto. |
| (fhandler_base::is_slow): Return bool value. |
| (fhandler_socket::is_slow): Ditto. |
| (fhandler_serial::is_slow): Ditto. |
| (fhandler_console::is_slow): Ditto. |
| (fhandler_tty_common::is_slow): Ditto. |
| (fhandler_tty_master::is_slow): Ditto. |
| (fhandler_dev_null::is_slow): Ditto. |
| |
| 2008-01-06 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * include/limits.h (TTY_NAME_MAX): Increase size to same as linux to |
| allow for (at least) null terminating byte for "/dev/console". |
| |
| 2008-01-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * tty.cc: Update copyright. |
| * pipe.cc: Ditto. |
| |
| 2008-01-01 Christopher Faylor <me+cygwin@cgf.cx> |
| |
| * newsym: First stab at understanding data as well as functions. |
| |
| * pipe.cc (fhandler_pipe::init): Move more intelligence here. |
| (fhandler_pipe::create): Simplify based on above change. |
| |
| * tty.cc (tty_list::allocate): Remove non-NT code. |