OSDN Git Service

* shared.cc (open_shared): Drop useless attempt from 2006-08-11.
[pf3gnuchains/pf3gnuchains4x.git] / winsup / cygwin / ChangeLog
index 23aa6dc..1487544 100644 (file)
@@ -1,3 +1,363 @@
+2006-10-27  Corinna Vinschen  <corinna@vinschen.de>
+
+       * shared.cc (open_shared): Drop useless attempt from 2006-08-11.
+
+2006-10-27  Corinna Vinschen  <corinna@vinschen.de>
+
+       * dcrt0.cc (__api_fatal): Drop spare argument to __small_sprintf.
+       * smallprint.c (__small_vsprintf): Preserve GetLastError value.
+       * winsup.h (api_fatal): Simplify.  Drop duplicate filename arg.
+
+2006-10-23  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_disk_file.cc (fhandler_disk_file::rewinddir): Fix comment.
+
+2006-10-23  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_disk_file.cc (fhandler_disk_file::rewinddir): Accomodate
+       buggy RestartScan behaviour of Windows 2000.
+       * wincap.h: Define has_buggy_restart_scan throughout.
+       * wincap.cc: Ditto.
+
+2006-10-22  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_disk_file.cc (fhandler_disk_file::facl): Fix whitespace.
+       * external.cc: Update copyright.
+       * fhandler.cc: Ditto.
+       * sec_helper.cc: Ditto.
+       * security.h: Ditto.
+       * security.cc: Ditto.
+       (check_registry_access): Return -1 if W_OK is requested.
+
+2006-10-22  Corinna Vinschen  <corinna@vinschen.de>
+
+       * external.cc (cygwin_internal): Use security_descriptor::copy method.
+       * sec_helper.cc (security_descriptor::malloc): Use own free method.
+       Set type.
+       (security_descriptor::realloc): Handle the case that psd has been
+       allocated using LocalAlloc.  Set type.
+       (security_descriptor::free): Ditto.
+       * security.cc (get_nt_attribute): Remove.
+       (get_reg_security): Remove.
+       (get_nt_object_security): Use GetSecurityInfo which handles all
+       securable objects.
+       (get_nt_object_attribute): Remove.
+       (get_object_attribute): Call get_nt_object_security instead of
+       get_nt_object_attribute.
+       (get_file_attribute): Ditto.
+       (check_registry_access): Call get_nt_object_security instead of
+       get_reg_security.
+       * security.h (cygpsid::operator PSID): Make method const, not the
+       result.
+       (class security_descriptor): Add type member.  Accomodate throughout.
+       (security_descriptor::copy): New method.
+       (security_descriptor::operator PSECURITY_DESCRIPTOR *): New operator.
+
+2006-10-22  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler.cc (fhandler_base::fhaccess): Check if opening registry
+       actually created a handle.  This handles the registry root dir.
+       * fhandler_registry.cc (fhandler_registry::open): Set io_handle in
+       case of opening one of the predefined registry keys.
+
+2006-10-21  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler.cc (fhandler_base::fhaccess): Call check_registry_access
+       for registry keys/values if ntsec is on.
+       * security.cc (check_access): New static function derived from
+       check_file_access, but object type agnostic.
+       (check_file_access): Only do file specific stuff.  Call check_access.
+       (check_registry_access): New access check function for registry keys/
+       values.
+       * security.h (check_registry_access): Declare.
+
+2006-10-21  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_registry.cc (fhandler_registry::fstat): Set restrictive
+       permission and ownership if key can't be opened for reading security.
+       (open_key): If opening key fails, retry opening with backup intent.
+
+2006-10-20  Corinna Vinschen  <corinna@vinschen.de>
+
+       * net.cc (cygwin_getnameinfo): Fix typo in comment.
+
+2006-10-19  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler.h (fhandler_base::set_name): Make virtual.
+       (class fhandler_registry): Add wow64 and prefix_len members.
+       Declare set_name method.
+       * fhandler_proc.cc (PROC_REGISTRY32): Define.
+       (PROC_REGISTRY64): Define.
+       (proc_listing): Add "registry32" and "registry64" elements.
+       (proc_fhandlers): Add corresponding FH_REGISTRY values.
+       * fhandler_registry.cc (registry_len): Drop static value in favor of
+       class member prefix_len.  Use preifx_len instead of registry_len
+       throughout.
+       (fhandler_registry::set_name): Define.  Set wow64 and prefix_len
+       according to directory prefix.
+       (fhandler_registry::fhandler_registry): Set wow64 and prefix_len to
+       default values.
+       (open_key): Add wow64 argument.  Handle wow64 in call to RegOpenKeyEx.
+       Use fhandler_registry member wow64 in this place throughout.
+
+2006-10-19  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_proc.cc: Drop superfluous definition of _WIN32_WINNT.
+       * miscfuncs.cc: Ditto.
+       * sched.cc: Ditto.
+
+2006-10-17  Corinna Vinschen  <corinna@vinschen.de>
+
+       * glob.c: Remove.
+       * glob.cc: New file.  Latest glob version from FreeBSD plus Cygwin
+       specific changes (__stat64/__stat32, ignore_case_with_glob,
+       drop collate functions).
+       (glob3): Return GLOB_ABORTED in case directory is unreadable and
+       GLOB_ERR is set, as demanded by SUSv3.
+       * glob.h: Import latest version from FreeBSD.
+
+2006-10-17  Corinna Vinschen  <corinna@vinschen.de>
+
+       * winsup.h (WINVER): Define instead of _WIN32_WINNT.  Set to 0x0502.
+       (_NO_W32_PSEUDO_MODIFIERS): Define.
+
+2006-10-16  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_disk_file.cc (fhandler_disk_file::opendir): Drop redundant
+       access check.
+
+2006-10-16  Corinna Vinschen  <corinna@vinschen.de>
+
+       * include/asm/byteorder.h: Fix copyright dates.
+
+2006-10-16  Corinna Vinschen  <corinna@vinschen.de>
+
+       * autoload.cc (PrivilegeCheck): Define.
+       * fhandler.cc (fhandler_base::open): Always try opening with backup
+       resp. restore intent.
+       * fhandler_disk_file.cc (fhandler_disk_file::opendir): Always try
+       opening with backup intent.
+       (fhandler_disk_file::readdir): Ditto when trying to retrieve file id
+       explicitely.
+       * security.cc (check_file_access): Replace pbuf with correctly 
+       PPRIVILEGE_SET typed pset.  Check explicitely for backup and/or restore
+       privileges when AccessCheck fails, to circumvent AccessCheck
+       shortcoming.  Add comment to explain.
+
+2006-10-13  Christopher Faylor  <cgf@timesys.com>
+
+       * winsup.h: Turn off DEBUGGING.
+
+2006-10-13  Corinna Vinschen  <corinna@vinschen.de>
+
+       * autoload.cc (Wow64DisableWow64FsRedirection): Define.
+       (Wow64RevertWow64FsRedirection): Define.
+       * security.cc (cygsuba_installed): New shared variable to store result
+       of cygsuba.dll installation test.
+       (subauth): Check if cygsuba.dll has been installed and registered
+       before issuing the (sub)authentication.
+
+2006-10-12  Corinna Vinschen  <corinna@vinschen.de>
+
+       * security.cc (create_token): Fix condition for source identifier.
+
+2006-10-11  Corinna Vinschen  <corinna@vinschen.de>
+
+       * select.cc (struct socketinf): Convert ser_num and w4 to dynamically
+       allocated arrays.  Add max_w4 member to keep track.
+       (thread_socket): Make timeout depending on number of sockets to wait
+       for.  Loop WFMO over all sockets.
+       (start_thread_socket): Handle any number of sockets.  Fix typo.  Don't
+       close socket event in out of memory condition.
+       (socket_cleanup): Free ser_num and w4.
+
+2006-10-06  David Jade  <d3@mutable.net>
+
+       * path.cc (path_conv::get_nt_native_path): Properly detect \\?\ paths.
+       (mount_info::conv_to_win32_path): Update comment.
+       * fhandler_disk_file.cc (path_conv::ndisk_links): Use backslashes
+       to make NT kernel functions work for \\?\GLOBALROOT paths.
+
+2006-10-09  Corinna Vinschen  <corinna@vinschen.de>
+
+       * devices.in: Raise number of handled serial ports to 64.
+       * devices.cc: Regenerate.
+
+2006-09-17  Danny Smith  <dannysmith@clear.net.nz>
+
+       * include/asm/byteorder.h: Correct typo.
+
+2006-09-17  Danny Smith  <dannysmith@clear.net.nz>
+
+       * include/asm/byteorder.h: Don't #define n* macros if -fnoinline is
+       specified.
+
+2006-09-07  Christopher Faylor  <cgf@timesys.com>
+
+       * environ.cc (build_env): Don't put an empty environment variable into
+       the environment.  Optimize use of "len".
+       * errno.cc (ERROR_MORE_DATA): Translate to EMSGSIZE rather than EAGAIN.
+
+2006-08-31  Corinna Vinschen  <corinna@vinschen.de>
+
+       * grp.cc (initgroups32): Run get_server_groups under original token.
+       * syscalls.cc (seteuid32): Slightly reorganize code creating a token.
+
+2006-08-27  Christopher Faylor  <cgf@timesys.com>
+
+       * child_info.h (child_info_spawn::~child_info_spawn): Don't close
+       myself_pinfo handle when spawning.
+
+2006-08-20  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_disk_file.cc (fhandler_disk_file::opendir): Fix formatting.
+
+2006-08-20  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_disk_file.cc (DIR_NUM_ENTRIES): Set to 100 to maximize
+       performance on remote shares.
+       (fhandler_disk_file::opendir): Move comment about Samba weirdness into
+       fhandler_disk_file::readdir.  Don't disallow
+       FileIdBothDirectoryInformation on Samba.
+       (fhandler_disk_file::readdir): Workaround Samba problem with
+       FileIdBothDirectoryInformation by rereading already read entries
+       using FileBothDirectoryInformation.  Change comment about Samba
+       weirdness explaining this change.
+
+2006-08-20  Hideki Iwamoto  <h-iwamoto@kit.hi-ho.ne.jp>
+
+       * fhandler_disk_file.cc (fhandler_disk_file::pread): Properly check for
+       non-error return from lseek.
+
+2006-08-17  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_serial.cc (raw_read): Evaluate minchars taking the
+       vmin_ > ulen case into account.  Simplify evaluating the bytes to read.
+       Don't use bytes in Queue value from ClearCommError call in case vtime_
+       is > 0.  Reformat GetOverlappedResult call.  Simplify call to ReadFile.
+
+2006-08-14  Corinna Vinschen  <corinna@vinschen.de>
+
+       * security.cc (subauth): Initialize user_token to NULL.  Add comment.
+
+2006-08-11  Corinna Vinschen  <corinna@vinschen.de>
+
+       * shared.cc (open_shared): Desperately try to get shared memory, only
+       when DEBUGGING enabled for now.
+
+2006-08-10  Christopher Faylor  <cgf@timesys.com>
+
+       * pinfo.cc (_onreturn::~onreturn): Don't attempt to close a NULL
+       handle.
+
+2006-08-10  Christopher Faylor  <cgf@timesys.com>
+
+       * winsup.h: Turn on DEBUGGING by default for now.
+
+2006-08-10  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_disk_file.cc (fhandler_disk_file::lock): Handle
+       ERROR_NOT_LOCKED returned from UnlockFileEx.
+
+2006-08-09  Corinna Vinschen  <corinna@vinschen.de>
+
+       * path.h (SYMLINK_EA_NAME): Remove.
+       (SHORTCUT_HDR_SIZE): Ditto.
+
+2006-08-09  Christopher Faylor  <cgf@timesys.com>
+
+       * autoload.cc (GetHandleInformation): Declare new function.
+       (SetHandleInformation): Ditto.
+       * debug.cc (add_handle): Use SetHandleInformation to protect handle.
+       (close_handle): Use SetHandleInformation to unprotect handle.
+
+       * spawn.cc (spawn_guts): Move detached test outside of P_OVERLAY block.
+
+2006-08-07  Corinna Vinschen  <corinna@vinschen.de>
+
+       * autoload.cc (NtSetInformationFile): Define.
+       * cygwin.din: Export posix_fadvise and posix_fallocate.
+       * fhandler.cc (fhandler_base::fadvise): New method.
+       (fhandler_base::ftruncate): Add allow_truncate parameter.
+       * fhandler.h (class fhandler_base): Add fadvise method.  Accomodate
+       new parameter to ftruncate.
+       (class fhandler_pipe): Add fadvise and ftruncate methods.
+       (class fhandler_disk_file): Add fadvise method.  Accomodate new
+       parameter to ftruncate.
+       * fhandler_disk_file.cc (fhandler_disk_file::fadvise): New method.
+       (fhandler_disk_file::ftruncate): Accomodate new allow_truncate
+       parameter.  Set EOF using NtSetInformationFile on NT.
+       * ntdll.h (struct _FILE_END_OF_FILE_INFORMATION): Define.
+       (NtSetInformationFile): Declare.
+       * pipe.cc (fhandler_pipe::fadvise): New method.
+       (fhandler_pipe::ftruncate): Ditto.
+       * syscalls.cc (posix_fadvise): New function.
+       (posix_fallocate): Ditto.
+       (ftruncate64): Accomodate second parameter to fhandler's ftruncate
+       method.
+       * include/fcntl.h: Add POSIX_FADV_* flags.  Add declarations of
+       posix_fadvise and posix_fallocate.
+       * include/cygwin/version.h: Bump API minor number.
+
+2006-08-02  Christopher Faylor  <cgf@timesys.com>
+
+       * environ.cc (env_win32_to_posix_path_list): Declare.
+       (conv_envvars): Use env_win32_to_posix_path_list rather than
+       cygwin_win32_to_posix_path_list.
+       (posify): Translate back to win32 path if errno is EIDRM.
+       * environ.h: Update copyright.  Define ENV_CVT.
+       * path.cc (conv_path_list): If converting for the environment and
+       removed an element set errno to ENV_CVT.
+       (env_win32_to_posix_path_list): New function.
+
+2006-08-01  Christopher Faylor  <cgf@timesys.com>
+
+       * environ.cc (dos_file_warning): Declare.
+       (parse_thing): Add "dosfilewarning".  Alphabetize.
+       * path.cc (normalize_posix_path): Return -1 when MS-DOS path detected.
+       (warn_msdos): New function.
+       (path_conv::check): Call if !PC_NOWARN and MS-DOS path detected.
+       (cygwin_conv_to_win32_path): Set PC_NOWARN when calling path_conv.
+       (cygwin_conv_to_full_win32_path): Ditto.
+       * path.h (pathconv_arg::PC_NOWARN): Define.
+       * shared_info.h (user_info::warned_msdos): New field.
+       (CURR_USER_MAGIC): Reset.
+
+2006-07-31  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_socket.cc (fhandler_socket::recv_internal): Fix a problem
+       with poll(2) after shutdown(SHUT_RD) has been called on the local side.
+       * poll.cc (poll): Use POSIX type nfds_t for second parameter.  Drop
+       special socket handling for POLLIN.  Add comment to explain why.
+       * include/sys/poll.h: Declare nfds_t.  Use as type for second parameter
+       in poll(2) declaration.
+
+2006-07-31  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_socket.cc (fhandler_socket::evaluate_events): Circumvent
+       potential race condition.
+       (fhandler_socket::recv_internal): Fix MSG_PEEK bug on blocking sockets
+       and simplify recv loop.
+       (fhandler_socket::send_internal): Only lock when changing wsock_events.
+
+2006-07-31  Corinna Vinschen  <corinna@vinschen.de>
+
+       * autoload.cc: Drop LoadDLLprime for wsock32 since no wsock32 function
+       is used anymore.  Drop all unused ws2_32.dll functions.
+
+2006-07-28  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler.h (struct wsa_event): Define here.
+       (class fhandler_socket): Make wsock_evt private again.
+       (fhandler_socket::wsock_event): New read accessor for wsock_evt.
+       (fhandler_socket::serial_number): New read accessor to get the
+       socket's serial number.
+       (fhandler_socket::ready_for_read): Just return true.
+       * fhandler_socket.cc (struct wsa_event): Move definition to fhandler.h.
+       * select.cc (struct socketinf): Add serial number vector.
+       (start_thread_socket): Identify duplicate sockets by their serial
+       number, not (wrongly) by their wsock_evt.
+
 2006-07-27  Corinna Vinschen  <corinna@vinschen.de>
 
        * fhandler_socket.cc: Revert misguided attempt to handle FD_CLOSE error
        (cygwin_accept): Ditto.
        * poll.cc (poll): Don't call recvfrom on a listening socket.
        Remove special case for failing recvfrom.
-       * include/sys/socket.h: Declare recv* and send* functions ssize_t as 
+       * include/sys/socket.h: Declare recv* and send* functions ssize_t as
        requested by POSIX.
 
 2006-07-10  Corinna Vinschen  <corinna@vinschen.de>