5338 lines
		
	
	
		
			201 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			5338 lines
		
	
	
		
			201 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
2001-12-31  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* Makefile.in: Strip path when installing library.
 | 
						||
 | 
						||
2001-12-30  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* include/getopt.h: Fix define.
 | 
						||
 | 
						||
2001-12-30  Christopher Faylor  <cgf@redhat.com>
 | 
						||
	    Ralf Habacker  <Ralf.Habacker@freenet.de>
 | 
						||
 | 
						||
	* speclib: New file.
 | 
						||
	* Makefile.in: Create library versions of automode.o, textmode.o, and
 | 
						||
	binmode.o for easier use on command line.  Create libpthread.a, libm.a,
 | 
						||
	and libc.a with subsets of exports found in libcygwin.a.
 | 
						||
 | 
						||
2001-12-30  Ralf Habacker  <Ralf.Habacker@freenet.de>
 | 
						||
 | 
						||
	* cygmagic: Eliminate unneeded use of 'tr' and 'bc'.
 | 
						||
 | 
						||
2001-12-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (open_local_policy): Use POLICY_EXECUTE instead of
 | 
						||
	enumerating user rights.
 | 
						||
 | 
						||
2001-12-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (open_local_policy): Initialize lsa handle to NULL.
 | 
						||
	Request only needed access rights in call to LsaOpenPolicy().
 | 
						||
	(create_token): Check for NULL lsa pointer.
 | 
						||
 | 
						||
2001-12-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* cygwin.din: Add symbols for endutent(), getutent(), getutid(),
 | 
						||
	getutline(), setutent() and utmpname().
 | 
						||
	* syscalls.cc (setutent): New function.
 | 
						||
	(endutent): Ditto.
 | 
						||
	(utmpname): Ditto.
 | 
						||
	(getutent): Ditto.
 | 
						||
	(getutid): Ditto.
 | 
						||
	(getutline): Ditto.
 | 
						||
	* include/cygwin/version.h: Bump API minor version.
 | 
						||
 | 
						||
2001-12-26  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* cygmagic: Add define name to warning.
 | 
						||
	* dcrt0.cc (_dll_crt0): Check for changes in child_info size.
 | 
						||
	(multiple_cygwin_problem): Avoid "proc" errors when testing.  Just
 | 
						||
	assume new cygwin proc.
 | 
						||
	* shared_info.h (mount_info): Add 'cb' element for sanity checks.
 | 
						||
	(shared_info): Ditto.
 | 
						||
	* child_info.h (child_info): Add fhandler_union_size element for sanity
 | 
						||
	checking.
 | 
						||
	* shared.cc (open_shared): Detect shared region size mismatch between
 | 
						||
	parent and child.
 | 
						||
	(shared_info::initialize): Detect shared region size mismatch with
 | 
						||
	expectation.
 | 
						||
	(memory_Init): Ditto.
 | 
						||
	* sigproc.cc (init_child_info): Correctly set cb in passed structure.
 | 
						||
	* shared.cc (open_shared):
 | 
						||
 | 
						||
2001-12-26  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* include/getopt.h: Protect a declaratin.
 | 
						||
 | 
						||
2001-12-26  Robert Collins  <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (pthread_cond::Signal): Use a separate flag for signal
 | 
						||
	detection and broadcast semantics.
 | 
						||
	(__pthread_cond_dowait): Ditto.
 | 
						||
	* thread.h (pthread_cond): New flag for testing when a waiter has
 | 
						||
	woken.
 | 
						||
 | 
						||
2001-12-26  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* Makefile.in: Quote arguments to shell scripts.
 | 
						||
	(clean): Remove new *_magic.h autogenerated files.
 | 
						||
 | 
						||
2001-12-25  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* Makefile.in: Autogenerate some header files which provide magic
 | 
						||
	numbers.  Force dependencies for files which depend on autogenerated
 | 
						||
	headers to ensure that they are always built.
 | 
						||
	* child_info.h (child_info): Add new fields to accommodate new magic
 | 
						||
	number header stuff.
 | 
						||
	* dcrt0.cc: Rely on "child_info_magic.h" to ensure that correct
 | 
						||
	child_info magic numbers are used.
 | 
						||
	(dll_crt0_1): Temporarily remove _cygwin_testing_magic test.
 | 
						||
	(_dll_crt0): Do more testing on magic numbers from fork_info structure.
 | 
						||
	Call "multiple_cygwin_problem" where appropriate.
 | 
						||
	(multiple_cygwin_problem): Rename from multiple_cygwin_die.  Issue a
 | 
						||
	warning or die, as appropriate based on cygwin version/magic number
 | 
						||
	mismatch.
 | 
						||
	* pinfo.cc (pinfo::exit): Don't attempt to dereference `this' if it
 | 
						||
	doesn't exist.  This can happen when a fatal error occurs early in
 | 
						||
	process initialization.
 | 
						||
	* shared.cc: Rely on "shared_info_magic.h" to accommodate that new
 | 
						||
	magic number header stuff.
 | 
						||
	(shared_info::initialize): Use new magic number stuff, for shared
 | 
						||
	region.
 | 
						||
	(memory_init): Ditto, for mount table.
 | 
						||
	* shared_info.h: Accomodate new magic number stuff for shared region
 | 
						||
	and mount table.
 | 
						||
	* sigproc.cc: Rely on "child_info_magic.h" to accommodate new magic
 | 
						||
	number header stuff.
 | 
						||
	(init_child_info): Initialize new fields in child_info) to accomodate
 | 
						||
	magic numbers.
 | 
						||
	* winsup.h: Rename multiple_cygwin_die to multiple_cygwin_problem.
 | 
						||
	* include/cygwin/version.h: Define macros for manipulating version
 | 
						||
	magic.
 | 
						||
	* cygmagic: New shell script for generating magic numbers.
 | 
						||
 | 
						||
2001-12-20  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump API minor version for below changes.
 | 
						||
 | 
						||
2001-12-19  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* Makefile.in (VPATH): Add regex directory.
 | 
						||
	(NM): new variable.
 | 
						||
	(OBSOLETE_FUNCTIONS): Ditto.
 | 
						||
	(NEW_FUNCTIONS): Ditto.
 | 
						||
	(install-headers): Install regex.h.
 | 
						||
	(install-man): New target.
 | 
						||
	(install): Use new target.
 | 
						||
	(DLL_OFILES): Add v8_reg* stuff.
 | 
						||
	(new-cygwin1.dll): Eliminate stamp-cygwin-lib creation.
 | 
						||
	(libcygwin.a): Remove obsolete functions from import lib.  Add new functions.
 | 
						||
	* configure.in: Detect 'nm' tool.
 | 
						||
	* configure: Regenerate.
 | 
						||
	* cygwin.din: Export posix_reg* functions.  Eliminate export of v8 reg* functions.
 | 
						||
	This is now handled in object files themselves.
 | 
						||
	* regex/*: New files.
 | 
						||
	* regexp/v8_*.c: New files, renamed from non v8_ equivalents.
 | 
						||
 | 
						||
2001-12-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* include/getopt.h: Don't define getopt_long() and friends when
 | 
						||
	included through unistd.h.
 | 
						||
 | 
						||
2001-12-17  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* dtable.cc (dtable::init_std_file_from_handle): Avoid initializing
 | 
						||
	using an invalid handle.
 | 
						||
 | 
						||
2001-12-16  David Billinghurst <David.Billinghurst@riotinto.com>
 | 
						||
 | 
						||
	* include/limits.h: Define LLONG_MIN, LLONG_MAX, ULLONG_MAX.
 | 
						||
 | 
						||
2001-12-11  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* include/getopt.h: Add HAVE_DECL_GETOPT to save pain elsewhere.
 | 
						||
 | 
						||
2001-12-10  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_serial::ev): New class member.
 | 
						||
	* fhandler_serial.cc (fhandler_serial::raw_read): Use class member for
 | 
						||
	event status.
 | 
						||
	* select.cc (peek_serial): Ditto.
 | 
						||
 | 
						||
2001-12-07  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Use full path name for determining
 | 
						||
	attributes when /cygdrive/x/foo.
 | 
						||
 | 
						||
2001-12-06  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Reset FH_CYGDRIVE if iterating through
 | 
						||
	path.
 | 
						||
 | 
						||
2001-12-06  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Don't complain if /dev/x/foo when x
 | 
						||
	doesn't exist.
 | 
						||
	(mount_info::conv_to_win32_path): Keep translating when a /cygdrive is
 | 
						||
	found.  Don't attempt to translate to a device name when devn ==
 | 
						||
	FH_CYGDRIVE.
 | 
						||
	(cygwin_conv_to_win32_path): Set buffer to empty on error.
 | 
						||
	(cygwin_conv_to_full_win32_path): Ditto.
 | 
						||
 | 
						||
	* window.cc: Include unistd.h to verify definitions.
 | 
						||
 | 
						||
2001-12-05  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* dir.cc (opendir): Detect error return from build_fhandler_from_name.
 | 
						||
 | 
						||
2001-12-04  David Rothenberger  <daveroth@acm.org>
 | 
						||
 | 
						||
	* net.cc (cygwin_getsockopt): Dereference optlen pointer when passing
 | 
						||
	to __check_null_invalid_struct_errno.
 | 
						||
 | 
						||
2001-12-03  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* net.cc (cygwin_getsockopt): Allow NULL optval.
 | 
						||
	(cygwin_setsockopt): Ditto.
 | 
						||
	(cygwin_recvfrom): Allow NULL from.
 | 
						||
 | 
						||
	* path.cc (mount_info::read_cygdrive_info_from_registry): Don't write
 | 
						||
	cygdrive to registry if it doesn't exist.
 | 
						||
 | 
						||
2001-12-03  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* path.cc (mount_info::conv_to_win32_path): Avoid returning error if
 | 
						||
	cygdrive == '/'.
 | 
						||
	(mount_info::cygdrive_win32_path): Return 0 if invalid cygdrive path.
 | 
						||
 | 
						||
2001-11-30  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* debug.cc (makethread): Eliminate unneeded function call.
 | 
						||
	* miscfuncs.cc (tls_ix): Predefine.
 | 
						||
	* perthread.h (set_reent): Eliminate.
 | 
						||
	(get_reent): Ditto.
 | 
						||
	* winbase.h (my_tlsalloc): Use global stack base pointer.  Set newly
 | 
						||
	allocated location to NULL.
 | 
						||
	(my_tlssetvalue): Use global stack base pointer.
 | 
						||
	(my_tlsgetvalue): Ditto.
 | 
						||
 | 
						||
2001-11-27  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* winsup.h: Reorganize to avoid use of experimental stuff.
 | 
						||
	* shortcut.cc: Move winsup.h first in include order.
 | 
						||
 | 
						||
2001-11-27  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* cygwin.din (ualarm): New export.
 | 
						||
	* dcrt0.cc (_dll_crt0): Add experimental tls storage declaration.
 | 
						||
	(dll_crt0): Ditto.
 | 
						||
	* debug.cc (thread_stub): Ditto.
 | 
						||
	* thread.cc: Minor cleanup.
 | 
						||
	(__pthread_create): Add experimental tls storage declaration.
 | 
						||
	* miscfuncs.cc: Define tls index.
 | 
						||
	* winsup.h: Declare experimental tls storage.
 | 
						||
 | 
						||
	* window.cc (alarm): Use old timer return from setitimer.
 | 
						||
	(ualarm): New function.  From Alexandr V. Shutko.
 | 
						||
 | 
						||
2001-11-26  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* Makefile.in (libcygwin.a): Use ar commands to build libcygwin.a since
 | 
						||
	adding an archive doesn't work the way we want it to.
 | 
						||
 | 
						||
2001-11-24  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler_disk_file.cc (fhandler_cygdrive::readdir): Avoid reporting
 | 
						||
	inaccessible drives.
 | 
						||
 | 
						||
2001-11-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (cygwin_hstrerror): Allow s == NULL.
 | 
						||
	(cygwin_rcmd): Add parameter checking.
 | 
						||
	(cygwin_rexec): Ditto.
 | 
						||
 | 
						||
2001-11-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (cygwin_inet_ntoa): Add parameter checking.
 | 
						||
	(cygwin_inet_network): Return INADDR_NONE instead of 0 in case of
 | 
						||
	EFAULT.
 | 
						||
	(cygwin_hstrerror): Add parameter checking.
 | 
						||
	(cygwin_rresvport): Ditto.
 | 
						||
	(socketpair): Ditto.
 | 
						||
	* winsup.h (check_null_str): Add extern declaration.
 | 
						||
 | 
						||
2001-11-24  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Tighten FH_CYGDRIVE check to avoid
 | 
						||
	matching trailing component, like other devices.
 | 
						||
 | 
						||
2001-11-24  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* autoload.cc (IsDebuggerPresent): Make conditional load since it is
 | 
						||
	not available everywhere.
 | 
						||
 | 
						||
	* path.cc (mount_info::conv_to_win32_path): Only consider /cygdrive to
 | 
						||
	be FH_CYGDRIVE, not /cygdrive/x.
 | 
						||
 | 
						||
2001-11-24  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* net.cc (inet_makeaddr): Revert previous change.
 | 
						||
 | 
						||
2001-11-23  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* path.cc (chdir): Allow 'cd /cygdrive'.
 | 
						||
 | 
						||
2001-11-23  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* dtable.cc (dtable::vfork_parent_restore): Add debugging statement.
 | 
						||
 | 
						||
	* exceptions.cc (try_to_debug): Spin only as long as we don't have a
 | 
						||
	debugger attached.
 | 
						||
 | 
						||
	* fhandler.h (fhandler_base::set_nohandle): New method.
 | 
						||
	(fhandler_base::get_nohandle): New method.
 | 
						||
	* fhandler.cc (fhandler_base::dup): Avoid duplicating handle if there
 | 
						||
	is no handle.
 | 
						||
	* fhandler_disk_file.cc (fhandler_disk_file::opendir): Set nohandle
 | 
						||
	flag on dummy fd.
 | 
						||
 | 
						||
2001-11-23  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* Makefile.in: Make intermediate library for eventual inclusion in
 | 
						||
	libcygwin.a
 | 
						||
 | 
						||
	* fhandler.h (fhandler_pipe::fhandler_pipe): Remove default argument
 | 
						||
	setting since it is no longer used.
 | 
						||
 | 
						||
	* miscfuncs.cc (check_null_str): New function.
 | 
						||
	(check_null_str_errno): Ditto.
 | 
						||
	* net.cc: Add defensive buffer checking throughout.
 | 
						||
	(cygwin_sendto): Protect against invalid fd.
 | 
						||
	(cygwin_recvfrom): Ditto.
 | 
						||
	(cygwin_getpeername): Ditto.
 | 
						||
	(cygwin_recv): Ditto.
 | 
						||
	(cygwin_send): Ditto.
 | 
						||
	* winsup.h: Declare a new function.
 | 
						||
 | 
						||
2001-11-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* select.cc (set_bits): Fix conditional for setting fd in exceptfds.
 | 
						||
	* dtable.cc (dtable::build_fhandler): Create fhandler_pipe using
 | 
						||
	correct device type.
 | 
						||
	* path.cc (get_devn): Set correct pipe device type from device name.
 | 
						||
 | 
						||
2001-11-22  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* path.cc (conv_path_list): Fix wild indexing into path due to
 | 
						||
	conflicting methods for setting src pointer.
 | 
						||
 | 
						||
	* dir.cc (opendir): Only pass path_conv argument to opendir, since name
 | 
						||
	is already part of the fhandler.
 | 
						||
	* dtable.cc (dtable::build_fhandler): Accomodate new FH_CYGDRIVE type.
 | 
						||
	* fhandler.cc (fhandler_base::opendir): Nuke name argument.
 | 
						||
	* fhandler.h: Add FH_CYGDRIVE to "device" enum.
 | 
						||
	(fhandler_base::opendir): Nuke name argument.
 | 
						||
	(fhandler_disk_file::opendir): Ditto.
 | 
						||
	(fhandler_disk_file::fhandler_disk_file): Declare new method which
 | 
						||
	passes devtype through.
 | 
						||
	(fhandler_cygdrive): Add elements for tracking drives.
 | 
						||
	(fhandler_cygdrive::set_drives): Declare new method.
 | 
						||
	(fhandler_cygdrive::iscygdrive_root): Declare new method.
 | 
						||
	(fhandler_cygdrive::opendir): Declare new method.
 | 
						||
	(fhandler_cygdrive::readdir): Declare new method.
 | 
						||
	(fhandler_cygdrive::telldir): Declare new method.
 | 
						||
	(fhandler_cygdrive::seekdir): Declare new method.
 | 
						||
	(fhandler_cygdrive::rewinddir): Declare new method.
 | 
						||
	(fhandler_cygdrive::closedir): Declare new method.
 | 
						||
	(fhandler_cygdrive::fstat): Declare new method.
 | 
						||
	* fhandler_disk_file.cc (fhandler_disk_file::fhandler_disk_file):
 | 
						||
	Define new method which passes devtype through.
 | 
						||
	(fhandler_disk_file::open): Tweak debug output.
 | 
						||
	(fhandler_disk_file::opendir): Nuke first argument.  Use info from
 | 
						||
	path_conv and class rather than calling fstat.
 | 
						||
	(fhandler_cygdrive::set_drives): New method.
 | 
						||
	(fhandler_cygdrive::iscygdrive_root): New method.
 | 
						||
	(fhandler_cygdrive::opendir): New method.
 | 
						||
	(fhandler_cygdrive::readdir): New method.
 | 
						||
	(fhandler_cygdrive::telldir): New method.
 | 
						||
	(fhandler_cygdrive::seekdir): New method.
 | 
						||
	(fhandler_cygdrive::rewinddir): New method.
 | 
						||
	(fhandler_cygdrive::closedir): New method.
 | 
						||
	(fhandler_cygdrive::fstat): New method.
 | 
						||
	* path.cc (iscygdrive_device): Assume cygdriveness is already verified.
 | 
						||
	(path_conv::check): Treat FH_CYGDRIVE "method" as a special case,
 | 
						||
	setting file attributes as needed.
 | 
						||
	(mount_info::conv_to_win32_path): Allow stand-alone /cygdrive, meaning
 | 
						||
	"the directory which contains all of the drives on the system".
 | 
						||
	(fillout_mntent): Use cyg_tolower for conversions.
 | 
						||
	(mount_info::cygdrive_win32_path): Replace unused argument with unit
 | 
						||
	number.
 | 
						||
	* shared_info.h (mount_info::cygdrive_win32_path): Reflect argument
 | 
						||
	change.
 | 
						||
 | 
						||
2001-11-21  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* Makefile.in (DLL_OFILES): Add fhandler_disk_file.o.
 | 
						||
	* cygheap.h (cygheap_fdnew::operator =): New operator.
 | 
						||
	* dir.cc: Add invalid struct checking throughout.  Use methods for all
 | 
						||
	directory manipulation throughout.
 | 
						||
	* fhandler.cc: Move fhandler_disk_file stuff to own file.
 | 
						||
	(fhandler_base::opendir): New method.
 | 
						||
	(fhandler_base::readdir): New method.
 | 
						||
	(fhandler_base::telldir): New method.
 | 
						||
	(fhandler_base::seekdir): New method.
 | 
						||
	(fhandler_base::rewinddir): New method.
 | 
						||
	(fhandler_base::closedir): New method.
 | 
						||
	* fhandler_disk_file.cc: New file.
 | 
						||
	* fhandler.h (fhandler_base): Declare new virtual methods.
 | 
						||
	(fhandler_disk_file): Ditto.
 | 
						||
	(fhandler_cygdrive): New class.
 | 
						||
 | 
						||
	* path.cc (conv_path_list): Use strccpy to break apart path.
 | 
						||
 | 
						||
2001-11-17  Nick Duffek  <nick@duffek.com>
 | 
						||
 | 
						||
	* path.cc (conv_path_list): Copy source paths before modifying them.
 | 
						||
 | 
						||
2001-11-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_raw.cc (fhandler_dev_raw::clear): Don't reset unit.
 | 
						||
	* fhandler_tape.cc (fhandler_dev_tape::fhandler_dev_tape): Add debug
 | 
						||
	output.
 | 
						||
 | 
						||
2001-11-15  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* include/pthread.h (PTHREAD_COND_INITIALIZER): Define.
 | 
						||
	* thread.cc (__pthread_cond_destroy): Add support for
 | 
						||
	PTHREAD_COND_INITIALIZER.
 | 
						||
	(__pthread_cond_init): Ditto.
 | 
						||
	(__pthread_cond_broadcast): Ditto.
 | 
						||
	(__pthread_cond_signal): Ditto.
 | 
						||
	(__pthread_cond_dowait): Ditto.
 | 
						||
	(__pthread_mutex_init): Handle PTHREAD_MUTEX_INITIALIZER correctly,
 | 
						||
	don't return error when it's passed as parameter.
 | 
						||
	* winsup.h (check_null_invalid_struct): Call correct function.
 | 
						||
 | 
						||
2001-11-14  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* exceptions.cc: Add stdlib.h include for alloca declaration.
 | 
						||
	* poll.cc: Ditto.
 | 
						||
	* termios.cc: Ditto.
 | 
						||
 | 
						||
2001-11-14  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* syscalls.cc (_write): Only allow zero length when fd is valid.
 | 
						||
 | 
						||
2001-11-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::fstat): Add setting access time
 | 
						||
	and creation time to last modification time for files on filesystems
 | 
						||
	not supporting multiple timestamps.
 | 
						||
	(fhandler_disk_file::fstat_helper): Set access time and creation
 | 
						||
	time in incoming Windows structure instead of in stat buf to avoid
 | 
						||
	incorrectly overwriting Epoch timestamp.
 | 
						||
 | 
						||
2001-11-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* winsup.h: Remove alloca definition since it's now defined through
 | 
						||
	inclusion of stdlib.h.
 | 
						||
	* lib/cygwin_crt0.c: Ditto.
 | 
						||
 | 
						||
2001-11-13  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* syscalls.cc (_write): Allow zero length as per SUSv2.
 | 
						||
 | 
						||
2001-11-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dir.cc (mkdir): Add HIDDEN file attribute if file has leading dot
 | 
						||
	and HIDDEN_DOT_FILES is defined.
 | 
						||
	* fhandler.cc (fhandler_base::open): Ditto.
 | 
						||
	* path.cc (symlink): Ditto.
 | 
						||
	* syscalls.cc (_rename): Ditto and remove HIDDEN file attribute if
 | 
						||
	new filename does not begin with a dot.
 | 
						||
 | 
						||
2001-11-12  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler_console.cc (fhandler_console::read): Revert 2001-10-23
 | 
						||
	change to only honor keydown events.
 | 
						||
 | 
						||
2001-11-11  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump version to 1.3.6.
 | 
						||
 | 
						||
2001-11-10  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* dtable.cc (dtable::build_fhandler): Don't increment console fd count
 | 
						||
	if new operation fails.  Increment fork_fixup field here.
 | 
						||
	(dtable::dup2): Don't increment fork_fixup field here.
 | 
						||
	* net.cc (fdsock): Ditto.
 | 
						||
 | 
						||
2001-11-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* select.cc: Set errno using set_sig_errno() throughout.
 | 
						||
	* signal.cc (signal): Always set SA_RESTART flag.
 | 
						||
	* syscalls.cc (_read): Revert previous patch.
 | 
						||
 | 
						||
2001-11-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* select.cc (fhandler_tty_slave::ready_for_read):  Return 0 on EBADF.
 | 
						||
	* syscalls.cc (_read): If ready_for_read() failed, save errno from
 | 
						||
	being overwritten by signal handler call.
 | 
						||
 | 
						||
2001-11-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* lib/getopt.c (getopt_internal): Reset optind to 1 only if optreset
 | 
						||
	is not set.
 | 
						||
 | 
						||
2001-11-06  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* select.cc (fhandler_tty_slave::ready_for_read): Correct inverted
 | 
						||
	not_open test.
 | 
						||
 | 
						||
2001-11-05  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump version to 1.3.5.
 | 
						||
 | 
						||
2001-11-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap_record::find_empty): Add input parameter check.
 | 
						||
 | 
						||
2001-11-04  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* dtable.cc (dtable::build_fhandler): Fix debug_printf to avoid SEGV
 | 
						||
	due to incorrect parameter placement.
 | 
						||
 | 
						||
2001-11-04  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_pipe::broken_pipe): Renamed from saweof.
 | 
						||
	(fhandler_pipe::set_eof): Reflect above change.
 | 
						||
	* pipe.cc (fhandler_pipe::fhandler_pipe): Ditto.
 | 
						||
	(fhandler_pipe::read): Ditto.
 | 
						||
	(fhandler_pipe::hiteof): Ditto.
 | 
						||
 | 
						||
2001-11-04  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* pipe.cc (fhandler_pipe::read): Narrow eof return to just the "broken
 | 
						||
	pipe" test.
 | 
						||
 | 
						||
2001-11-04  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* select.cc: Add more comments throughout.  Use bool 'true' where
 | 
						||
	appropriate throughout.
 | 
						||
	(fhandler_socket::select_read): Remove duplicate setting for *_ready
 | 
						||
	which inadvertently overrode previous, correct setting.
 | 
						||
	(fhandler_socket::select_write): Ditto.
 | 
						||
 | 
						||
2001-11-03  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* select.cc (verify_console): New function.
 | 
						||
	(verify_windows): Ditto.
 | 
						||
	(fhandler_console::select_read): Really do need to verify that there is
 | 
						||
	something to read.
 | 
						||
	(fhandler_console::select_windows): Ditto.
 | 
						||
 | 
						||
2001-11-03  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_base::ready_for_read): Remove unused argument.
 | 
						||
	(fhandler_tty_slave::ready_for_read): Ditto.
 | 
						||
	(select_record): Remove poll, initialize peek.
 | 
						||
	* select.cc: Remove all poll functions, throughout.  Change second
 | 
						||
	argument of peek_* functions to 'bool' throughout.  Specifically
 | 
						||
	initialize *_ready variables throughout.
 | 
						||
	(select_stuff::poll): Subsume previous poll functionality.
 | 
						||
	(peek_pipe): Don't grab guard mutex when in select loop.
 | 
						||
	select()/read() is racy by design so there is no need to worry about a
 | 
						||
	race in select().
 | 
						||
	(fhandler_base::ready_for_read): Remove unused argument.
 | 
						||
	(fhandler_tty_slave::ready_for_read): Ditto.
 | 
						||
	* syscalls.cc (_read): Eliminate third argument in ready_for_read call.
 | 
						||
 | 
						||
2001-11-03  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (get_supplementary_group_sidlist): New function.
 | 
						||
	(get_group_sidlist): Call get_supplementary_group_sidlist() to
 | 
						||
	retrieve list of supplementary groups SIDs from /etc/group and
 | 
						||
	add them to the user's group list.
 | 
						||
 | 
						||
2001-11-03  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::read): Return just read ahead characters
 | 
						||
	if slow device.
 | 
						||
	* fhandler.h (fhandler_base::set_eof): New virtual method.
 | 
						||
	(fhandler_pipe::set_eof): New method.
 | 
						||
	* pipe.cc (fhandler_pipe::fhandler_pipe): Clear saweof flag.
 | 
						||
	(fhandler_pipe::read): Return immediately if hit eof.
 | 
						||
	(fhandler_pipe::hit_eof): Return true if saweof flag is set.
 | 
						||
	* select.cc (peek_pipe): Don't call PeekNamedPipe if we couldn't grab
 | 
						||
	the guard mutex.
 | 
						||
 | 
						||
2001-11-02  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* dll_init.h (class dll_list): Reorder functions to avoid compiler
 | 
						||
	"can't inline" warnings.
 | 
						||
	* security.h (class cygsid): Ditto.
 | 
						||
	* sigproc.cc (get_proc_lock): Ditto.
 | 
						||
	* sigproc.h (class sigframe): Ditto.
 | 
						||
	* sync.h (class muto): Ditto.
 | 
						||
 | 
						||
2001-11-02  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_base::get_guard): Actually MAKE virtual as
 | 
						||
	previously indicated.
 | 
						||
	* pipe.cc (make_pipe): Remove extraneous set_errno.
 | 
						||
	* syscalls.cc (_open): Ditto.
 | 
						||
	* select.cc (peek_pipe): Need to check that there is still something to
 | 
						||
	read from the pipe after acquiring the mutex since another
 | 
						||
	process/thread could have eaten the input before we got to acquiring
 | 
						||
	the lock.  (Thanks to Nick Duffek for this inspiration.)
 | 
						||
 | 
						||
2001-11-01  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler.h: Change Windows 'BOOL's to c++ 'bool's for all variables.
 | 
						||
	* select.cc (fhandler_base::ready_for_read): Set read_ready to zero
 | 
						||
	prior to testing it or it will be uninitialized.
 | 
						||
 | 
						||
	* Makefile.in (CFLAGS): Move setting to Makefile.common.
 | 
						||
 | 
						||
2001-11-01  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* cygheap.h (cygheap_fdmanip::isopen): Set appropriate errno if fd not
 | 
						||
	open.
 | 
						||
	* select.cc (fhandler_base::ready_for_read): Release an open guard
 | 
						||
	mutex when exiting with an error condition.
 | 
						||
	* syscalls.cc (_read): Check frequently for closed fd as a kludge until
 | 
						||
	something better is invented.
 | 
						||
 | 
						||
2001-11-01  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* dtable.cc (dtable::build_fhandler): Issue internal error on unknown
 | 
						||
	device.
 | 
						||
	* fhandler.cc (fhandler_base::close): Show both name and handle in
 | 
						||
	debugging output.
 | 
						||
 | 
						||
	* fhandler.h (fhandler_base::get_guard): New virtual method.
 | 
						||
	(fhandler_pipe::get_guard): New method.
 | 
						||
	(fhandler_socket::ready_for_read): Delete declaration.
 | 
						||
	(fhandler_pipe::ready_for_read): Ditto.
 | 
						||
	(fhandler_serial::ready_for_read): Ditto.
 | 
						||
	(fhandler_console::ready_for_read): Ditto.
 | 
						||
	(fhandler_tty_common::ready_for_read): Ditto.
 | 
						||
	(fhandler_windows::ready_for_read): Ditto.
 | 
						||
	(struct select_record::peek): Declare new method.
 | 
						||
	* select.cc (MAKEready): Delete.
 | 
						||
	(peek_pipe): Use get_guard method to retrieve potential guard mutex
 | 
						||
	handle.
 | 
						||
	(fhandler_base::ready_for_read): Rewrite as generic ready-for-read
 | 
						||
	handler.  Should only be called for "slow" devices.
 | 
						||
	(fhandler_socket::ready_for_read): Delete definition.
 | 
						||
	(fhandler_pipe::ready_for_read): Ditto.
 | 
						||
	(fhandler_serial::ready_for_read): Ditto.
 | 
						||
	(fhandler_console::ready_for_read): Ditto.
 | 
						||
	(fhandler_tty_common::ready_for_read): Ditto.
 | 
						||
	(fhandler_windows::ready_for_read): Ditto.
 | 
						||
	(fhandler_pipe::select_read): Fill in new peek record in select_record
 | 
						||
	structure.
 | 
						||
	(fhandler_console::select_read): Ditto.
 | 
						||
	(fhandler_tty_common::select_read): Ditto.
 | 
						||
	(fhandler_serial::select_read): Ditto.
 | 
						||
	(fhandler_socket::select_read): Ditto.
 | 
						||
	(fhandler_socket::select_read): Ditto.
 | 
						||
	(fhandler_tty_slave::ready_for_read): Check for tty not open.  Set
 | 
						||
	errnos appropriately.
 | 
						||
	* syscalls.cc (_read): Allow ready_for_read to set errno.
 | 
						||
 | 
						||
	* pinfo.cc (pinfo::init): Return spawn/NO_WAIT process as valid if it
 | 
						||
	is initializing.
 | 
						||
	* sigproc.cc (getsem): Adjust wait for process to initialize downward
 | 
						||
	to avoid huge waits.
 | 
						||
 | 
						||
2001-10-31  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* environ.cc: Set reset_com to false to mimic linux behavior more
 | 
						||
	closely.
 | 
						||
 | 
						||
2001-10-31  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dtable.cc (dtable::vfork_child_dup): Revert impersonation
 | 
						||
	before duplicating fhandler.
 | 
						||
 | 
						||
2001-10-30  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* exceptions.cc (signal_exit): Weight the odds against the main thread
 | 
						||
	running when signal thread is exiting.
 | 
						||
 | 
						||
2001-10-30  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* sigproc.cc (sigproc_terminate): Don't signal main thread when exiting.
 | 
						||
	* sigproc.h (sigframe): Decorate some methods with `inline'.
 | 
						||
	(new_muto): Coerce pointer to new to void *.
 | 
						||
 | 
						||
2001-10-30  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::fork_fixup): Pass old handle to
 | 
						||
	setclexec_pid.
 | 
						||
 | 
						||
2001-10-30  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* cygheap.h (cygheap_fdmanip::cygheap_fdmanip): Clear fh.
 | 
						||
	(cygheap_fdmanip::isopen): New method.
 | 
						||
	* syscalls.cc (_read): Avoid accessing closed fd.
 | 
						||
 | 
						||
	* path.h (fe_types): New enum.
 | 
						||
	(path_conv::set_path): New method.
 | 
						||
	(find_exec): Change null_if_not_found argument to something more
 | 
						||
	generic.
 | 
						||
	* spawn.cc (find_exec): Default to returning the POSIX path rather than
 | 
						||
	the windows path, unless instructed otherwise.
 | 
						||
	(spawn_guts): Force call to find_exec to use native paths.
 | 
						||
	* dlfcn.cc (check_path_access): Accommodate new find_exec arguments.
 | 
						||
	* environ.h (win_env::get_posix): New method.
 | 
						||
 | 
						||
2001-10-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_socket.cc (fhandler_socket::close): Add error handling.
 | 
						||
 | 
						||
2001-10-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_socket.cc (fhandler_socket::dup): Revert previous change.
 | 
						||
 | 
						||
2001-10-30  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* dtable.cc (dtable::dup2): Add some debugging.  Use methods from
 | 
						||
	passed in class rather than cygheap->fdtab.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::fixup_before_fork_exec): Add
 | 
						||
	more debugging output.
 | 
						||
	(fhandler_socket::dup): Allocate new space for prot_info_ptr for
 | 
						||
	duplicated entry.
 | 
						||
	(fhandler_socket::close): Loop closesocket() as long as WSAEWOULDBLOCK
 | 
						||
	is returned.
 | 
						||
	* syscalls.cc (stat_worker): Always delete fh if it has been created.
 | 
						||
 | 
						||
2001-10-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (is_group_member): Call NetLocalGroupGetMembers() for
 | 
						||
	local machine only.
 | 
						||
	(get_user_local_groups): Ditto for NetLocalGroupEnum().
 | 
						||
 | 
						||
2001-10-29  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::set_name): Set namehash here to catch
 | 
						||
	name changes.
 | 
						||
	(fhandler_base::open): Remove namehash setting.
 | 
						||
	(fhandler_base::fstat): Subtract 1 from arbitrary time setting to avoid
 | 
						||
	strange ls -l granularity problem.
 | 
						||
 | 
						||
2001-10-29  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* select.cc (MAKEready): Remove extraneous select_read.
 | 
						||
 | 
						||
2001-10-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* uinfo.cc (internal_getlogin): Set environment variable $HOME
 | 
						||
	from either /etc/passwd or $HOMEDRIVE/$HOMEPATH if necessary.
 | 
						||
 | 
						||
2001-10-29  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_serial::fhandler_serial): Change to only accept
 | 
						||
	unit argument.
 | 
						||
	* fhandler_serial.cc (fhandler_serial::fhandler_serial): Ditto.
 | 
						||
	(fhandler_serial::open): Avoid else when previous clause is a return().
 | 
						||
	* path.cc (get_devn): Alias /dev/ttyS0 -> /dev/com1, etc.
 | 
						||
	(get_device_number): Reallow standalone "com1" as a valid name for
 | 
						||
	/dev/com1.
 | 
						||
 | 
						||
2001-10-26  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* select.cc (MAKEready): Check for read_ready in loop since select_read
 | 
						||
	could set it.
 | 
						||
	(peek_socket): Check ready/write/except specifically since they could
 | 
						||
	have been set even prior to peek_socket call.
 | 
						||
 | 
						||
2001-10-24  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* shared_info.h (MOUNT_VERSION): Change to a smaller, still arbitrary
 | 
						||
	number.
 | 
						||
	* shared.cc (open_shared): Accept a number to denote the shared memory
 | 
						||
	region.
 | 
						||
	(memory_init): Use shared memory version as part of the object name of
 | 
						||
	the shared region.  Ditto for the mount table.
 | 
						||
	* path.cc (CYGWIN_REGNAME): New define used in place of
 | 
						||
	CYGWIN_INFO_CYGWIN_REGISTRY_NAME throughout.
 | 
						||
	* external.cc (cygwin_internal): Implement CW_[GS]ET_CYGWIN_REGISTRY_NAME.
 | 
						||
	* cygheap.h (init_cygheap::cygwin_regname): New element.
 | 
						||
 | 
						||
2001-10-23  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	Ensure that all fhandler_*::read definitions are __stdcall throughout.
 | 
						||
	* fhandler.cc (fhandler_base::set_inheritance): Be more defensive in
 | 
						||
	debugging code.
 | 
						||
	* fhandler.h: Adjust regparms throughout to reflect passing 'this'
 | 
						||
	parameter.
 | 
						||
	* fhandler_console.cc (fhandler_console::read): Remove unneeded test.
 | 
						||
	Only honor "key down" events.
 | 
						||
	* miscfuncs.cc (strcasestr): Reorganize for efficient code use.
 | 
						||
	(check_null_empty_str_errno): Ditto.
 | 
						||
	(__check_null_invalid_struct_errno): Ditto.
 | 
						||
	(__check_invalid_read_ptr_errno): Ditto.
 | 
						||
	* syscalls.cc (_read): Return 0 when length == 0, as per Single UNIX
 | 
						||
	Specification.
 | 
						||
 | 
						||
2001-10-22  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* debug.cc (set_errno): Return value of errno that was set, just like
 | 
						||
	the macro.
 | 
						||
	(setclexec_pid): Replace old handle with new handle.
 | 
						||
	* debug.h: Reflect change in arguments for setclexec_pid.
 | 
						||
	* fhandler.cc (fhandler_base::set_inheritance): Ditto.
 | 
						||
	(fhandler_base::fork_fixup): Ditto.
 | 
						||
	* cygerrno.h: Reflect return value change for set_errno.
 | 
						||
 | 
						||
2001-10-22  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	Remove 'cb' parameter and modify fhandler_* constructors throughout.
 | 
						||
	* dtable.cc (dtable::build_fhandler): Remove debugging output which
 | 
						||
	uses 'cb'.
 | 
						||
	* exec.cc (execvp): New function.
 | 
						||
	(execvpe): Ditto.
 | 
						||
	* fhandler.cc (fhandler_base::fhandler_base): Use constructor
 | 
						||
	initialization.
 | 
						||
	* fhandler.h (fhandler_tty_common::fhandler_tty_common): Ditto.
 | 
						||
	* fhandler_clipboard.cc (fhandler_dev_clipboard::fhandler_dev_clipboard):
 | 
						||
	Ditto.
 | 
						||
	* fhandler_console.cc (fhandler_console::fhandler_console): Ditto.
 | 
						||
	* fhandler_raw.cc (fhandler_dev_raw::fhandler_dev_raw): Ditto.
 | 
						||
	* fhandler_serial.cc (fhandler_serial::fhandler_serial): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_master::fhandler_tty_master): Ditto.
 | 
						||
	(fhandler_tty_slave::fhandler_tty_slave): Ditto.
 | 
						||
	(fhandler_pty_master::fhandler_pty_master): Ditto.
 | 
						||
	* fhandler_windows.cc (fhandler_windows::fhandler_windows): Ditto.
 | 
						||
 | 
						||
2001-10-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	Patch suggested by Ian Ray <ian.ray@nokia.com>:
 | 
						||
	* syscalls.cc (seteuid): Unset environment variables HOMEDRIVE and
 | 
						||
	HOMEPATH before calling internal_getlogin().
 | 
						||
	* uinfo.cc (internal_getlogin): Use default HOMEPATH and HOMEDRIVE
 | 
						||
	from environment if both are present, else query NetUserGetInfo().
 | 
						||
 | 
						||
2001-10-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (get_2k_ifconf): Change multiple IP address naming scheme
 | 
						||
	to Linux style.
 | 
						||
 | 
						||
Sun Oct 21 19:04:37 2001 Alexander Gottwald <ago@informatik.tu-chemnitz.de>
 | 
						||
 | 
						||
	* net.cc (get_2k_ifconf): Added support for multiple IP addresses on
 | 
						||
	one interface.
 | 
						||
 | 
						||
2001-10-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* miscfuncs.cc (__check_invalid_read_ptr_errno): Return error, if any.
 | 
						||
 | 
						||
2001-10-21  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* resource.cc (fill_rusage): Perform paranoid zero structure passed to
 | 
						||
	GetProcessMemoryInfo.
 | 
						||
 | 
						||
2001-10-22  Robert Collins  <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* autoload.cc: Autoload GetProcessMemoryInfo.
 | 
						||
	* resource.cc (fill_rusage): Calculate ru_maxrss and ru_majflt entries.
 | 
						||
	(Bug report on this from Guido Serassio in the squid project).
 | 
						||
	This requires including psapi.h.
 | 
						||
 | 
						||
2001-10-20  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* dll_init.cc (dll_list::alloc): Increase retry count to 1000.
 | 
						||
 | 
						||
2001-10-20  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* miscfuncs.cc (__check_invalid_read_ptr_errno): New function.
 | 
						||
	* syscalls.c (_write): Validate that write buffer is accessible for
 | 
						||
	reading, not writing.
 | 
						||
	* winsup.h: Declare new function, increase regparmization of check_*
 | 
						||
	functions.
 | 
						||
 | 
						||
2001-10-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (getcwd): Allow len == 0 when buf == NULL.
 | 
						||
 | 
						||
2001-10-18  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* syscalls.cc (_read): Validate input pointer.
 | 
						||
	(_write): Ditto.
 | 
						||
	(system): Ditto.
 | 
						||
 | 
						||
2001-10-16  Frederic Devernay  <Frederic.Devernay@sophia.inria.fr>
 | 
						||
 | 
						||
	* poll.cc (poll): Call cygwin_select() if any fd is valid.
 | 
						||
 | 
						||
2001-10-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_raw.cc (fhandler_dev_raw::open): Eliminate compatibility
 | 
						||
	code since no Win32 device names are used anymore.
 | 
						||
	* fhandler_tape.cc (fhandler_dev_tape::tape_set_blocksize): Allow
 | 
						||
	0 as blocksize to indicate variable blocksize.
 | 
						||
	* path.cc (win32_device_name): Generate NT internal device names
 | 
						||
	using upper/lower case names for readability.
 | 
						||
	Generate \DosDevices\<letter>: device name for mount table
 | 
						||
	compatibility devices.
 | 
						||
 | 
						||
2001-10-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_tape.cc (fhandler_dev_tape::tape_status): Report
 | 
						||
	EOTWarningZoneSize in get->mt_eotwarningzonesize.
 | 
						||
	* include/cygwin/mtio.h: Define DEFTAPE.
 | 
						||
	(struct mtget): Add member `mt_eotwarningzonesize'. Add a comment.
 | 
						||
	* include/cygwin/version.h: Bump API minor version to 47.
 | 
						||
 | 
						||
2001-10-16  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::fork_fixup): Guard against compiler
 | 
						||
	warning.
 | 
						||
 | 
						||
2001-10-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add load statement for `NtOpenFile'.
 | 
						||
	* fhandler.h (fhandler_dev_raw::get_unit): New method.
 | 
						||
	(fhandler_dev_tape::norewind): Eliminate.
 | 
						||
	(fhandler_dev_tape::is_rewind_device): New method.
 | 
						||
	* fhandler_raw.cc (fhandler_dev_raw::open): Open new
 | 
						||
	fixed device name devices using NT internal method.
 | 
						||
	Keep calling fhandler_base::open() for old mount table
 | 
						||
	device mapping compatibility devices.
 | 
						||
	(fhandler_dev_raw::fstat): Eliminate.  Settings are done
 | 
						||
	by fhandler_base::fstat() already.
 | 
						||
	* fhandler_tape.cc: Remove `norewind' usage throughout.
 | 
						||
	* ntdll.h: Define FILE_SYNCHRONOUS_IO_NONALERT.
 | 
						||
	Define struct _IO_STATUS_BLOCK.
 | 
						||
	Declare NtOpenFile().
 | 
						||
	* path.cc (get_raw_device_number): Add new approach for
 | 
						||
	using fixed device names.
 | 
						||
	(win32_device_name): Ditto.
 | 
						||
	(get_device_number): Ditto.  Require POSIX path to begin
 | 
						||
	with "/dev/".
 | 
						||
	(mount_info::conv_to_win32_path): Call win32_device_name()
 | 
						||
	instead of get_device_number() after evaluating mount points
 | 
						||
	to allow changing the win32 destination path again.
 | 
						||
	* security.cc (str2buf2uni): Remove `static' to be able to
 | 
						||
	call function from fhandler_dev_raw::open().
 | 
						||
	* wincap.cc: Set flag has_raw_devices appropriately.
 | 
						||
	* wincap.h: Add flag has_raw_devices.
 | 
						||
 | 
						||
2001-10-16  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* cygheap.h (cygheap_fdget::cygheap_fdget): Remove debugging operation
 | 
						||
	from set_errno.
 | 
						||
 | 
						||
2001-10-16  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Assign 'fh' from cygheap_fdget.  Use 'fh' everywhere.
 | 
						||
 | 
						||
2001-10-15  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* cygerrno.h (set_errno): Define more informative version of this
 | 
						||
	function for debugging.
 | 
						||
	(__set_errno): Declare when DEBUGGING.
 | 
						||
	* cygheap.h (cygheap_fdget::cygheap_fdget): Add a flag to control when
 | 
						||
	errno is set.
 | 
						||
	* debug.cc (__set_errno): New function.
 | 
						||
	* fcntl.cc (_fcntl): Fix so that correct fd is used for second argument
 | 
						||
	to dup2.
 | 
						||
	* syscalls.cc (_cygwin_istext_for_stdio): Don't set errno here when
 | 
						||
	using cygheap_fdget.
 | 
						||
 | 
						||
2001-10-15  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::fork_fixup): Don't protect handle.
 | 
						||
 | 
						||
	* dlfcn.cc: Fix to confirm to coding standards.
 | 
						||
 | 
						||
	Reorganize includes throughout to accommodate new cygheap.h usage.
 | 
						||
	* cygheap.h (cygheap_fdmanip): New class: simplifies locking and
 | 
						||
	retrieval of fds from cygheap->fdtab.
 | 
						||
	(cygheap_fdget): Ditto.
 | 
						||
	(cygheap_fdnew): Ditto.
 | 
						||
	* fcntl.cc (_fcntl): Use new method to lock fdtab and retrieve info.
 | 
						||
	* ioctl.cc (ioctl): Ditto.
 | 
						||
	* mmap.cc (mmap): Ditto.
 | 
						||
	* net.cc: Ditto, throughout.
 | 
						||
	* passwd.cc (getpass): Ditto.
 | 
						||
	* path.cc (fchdir): Ditto.
 | 
						||
	* pipe.cc (make_pipe): Ditto.
 | 
						||
	* sec_acl.cc (facl): Ditto.
 | 
						||
	* syscalls.cc: Ditto, throughout.
 | 
						||
	* termios.cc: Ditto, throughout.
 | 
						||
 | 
						||
2001-10-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						||
 | 
						||
	* uname.cc (uname):  Use `wProcessorLevel' unless OS sets it wrong.
 | 
						||
	Use `dwProcessorType' then instead.
 | 
						||
	* wincap.cc: Set flag has_valid_processorlevel appropriately.
 | 
						||
	* wincap.h: Add flag has_valid_processorlevel.
 | 
						||
 | 
						||
2001-10-14  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* dtable.cc (dtable::build_fhandler_from_name): Use PC_FULL to
 | 
						||
	determine path name.
 | 
						||
	* path.cc (fchdir): Remove rel -> abs path conversion.
 | 
						||
 | 
						||
Sun Oct 14 08:10:12 2001  Gary R. Van Sickle
 | 
						||
 | 
						||
	* fork.cc (fork_parent): Correct the "unable to allocate
 | 
						||
	forker_finished event" error message.  It named the wrong event before.
 | 
						||
 | 
						||
2001-10-13  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* autoload.cc (load_wsock32): Declare dummy function to force loading
 | 
						||
	of winsock.
 | 
						||
	* fhandler.cc (fhandler_base::set_inheritance): Make debugging output
 | 
						||
	more verbose.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::fixup_after_fork): Force loading
 | 
						||
	of winsock32 if winsock2 not available.
 | 
						||
	* net.cc (set_socket_inheritance): Use DuplicateHandle in all cases to
 | 
						||
	set inheritance correctly.
 | 
						||
	(fdsock): Use winsock2_active macro to determine when to set socket
 | 
						||
	inheritance.  Remove fdtab resource locking since this function should
 | 
						||
	already be protected.
 | 
						||
	(cygwin_accept): Simplify logic.  Ensure that fdtab unlock is not
 | 
						||
	called inappropriately.
 | 
						||
	(cygwin_rcmd): Use fdtab locking.
 | 
						||
	(cygwin_rresvport): Ditto.
 | 
						||
	(cygwin_rexec): Ditto.
 | 
						||
	* select.cc (peek_socket): Set errno appropriately if winsock select
 | 
						||
	fails.
 | 
						||
 | 
						||
2001-10-13  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* winsup.h: Declare check_pty_fds.
 | 
						||
	* syscalls.cc (check_pty_fds): Rename from check_ttys_fds.  Also check
 | 
						||
	pty master.
 | 
						||
	(setsid): Use check_pty_fds.
 | 
						||
	* dtable.cc (dtable::dec_console_fds): Add check on pty fds.
 | 
						||
 | 
						||
2001-10-13  Ralf Habacker  <Ralf.Habacker@freenet.de>
 | 
						||
 | 
						||
	* fhandler_dsp.cc (fhandler_dsp::ioctl): Return 0 for successful
 | 
						||
	SNDCTL_DSP_GETBLKSIZE operation.
 | 
						||
 | 
						||
2001-10-13  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	Remove obsolete 'name' arg from fhandler_* constructors throughout.
 | 
						||
	* winsup.h (winsock_active): New macro.
 | 
						||
	(winsock2_active): Ditto.
 | 
						||
	* autoload.cc (wsock_init): Use new macros to decide if winsock or
 | 
						||
	winsock2 is loaded.
 | 
						||
	(nonexist_wsock32): Dummy function to force winsock load.
 | 
						||
	(nonexist_ws2_32): Dummy function to force winsock2 load.
 | 
						||
	* fhandler.h (fhandler_socket::fstat): Declare new method.  Currently
 | 
						||
	unused.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::fixup_before_fork_exec): Check
 | 
						||
	that winsock2 is active before trying WSADuplicateSocketA.
 | 
						||
	(fhandler_socket::fixup_after_fork): Add extra check for
 | 
						||
	winsock2_active.  Otherwise use iffy procedures for Windows 95.
 | 
						||
	(fhandler_socket::fixup_after_exec): Add debugging.
 | 
						||
	(fhandler_socket::dup): Add debugging.
 | 
						||
	(fhandler_socket::fstat): New method.
 | 
						||
	(fhandler_socket::set_close_on_exec): Attempt to perform iffy stuff on
 | 
						||
	Windows 95.
 | 
						||
 | 
						||
	* errno.cc (_sys_nerr): Work around compiler strangeness.
 | 
						||
 | 
						||
	* pinfo.cc (winpids::add): Add extra element at end of allocated array
 | 
						||
	for setting to NULL.
 | 
						||
	(winpids::enumNT): Ditto.
 | 
						||
	(winpids::init): Don't modify pidlist if it hasn't been allocated
 | 
						||
	(possibly due to malloc problem).
 | 
						||
 | 
						||
2001-10-12  Christopher Faylor  <cgf@redhat.com>
 | 
						||
 | 
						||
	* autoload.cc (wsock_init): Reorganize slightly to accommodate a new
 | 
						||
	compiler.
 | 
						||
 | 
						||
2001-10-11  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* net.cc (cygwin_sendto): Use correct socket address when sending
 | 
						||
	data to AF_UNIX socket.
 | 
						||
 | 
						||
Wed Oct 10 16:10:41 2001  Alexander Gottwald <ago@informatik.tu-chemnitz.de>
 | 
						||
 | 
						||
	* net.cc (get_95_ifconf): Using other registry values pointing to
 | 
						||
	correct networkdevice identification for Windows95.
 | 
						||
 | 
						||
Tue Oct  9 22:22:45 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Throughout, rename PROC_FORK1 to PROC_FORK.
 | 
						||
	* child_info.h: Rename PROC_* to _PROC_*.  Define PROC_* with
 | 
						||
	additional testing magic.  Eliminate old PROC_FORK and rename
 | 
						||
	PROC_FORK1 to PROC_FORK.
 | 
						||
	* dcrt0.cc (_cygwin_testing_magic): New variable.  Added to magic
 | 
						||
	number in proc_info.
 | 
						||
	(alloc_stack): Eliminate old PROC_FORK test.
 | 
						||
	(dll_crt0_1): Ditto.  Use _PROC_* enums for test.  Subtract
 | 
						||
	_cygwin_testing_magic from child_proc_info->type so that normal cygwin
 | 
						||
	programs invoked by test suite programs do not consider themselves to
 | 
						||
	be in a cygwin environment.
 | 
						||
	(_dll_crt0): Ditto.  Move environment checks to initial_env function to
 | 
						||
	conserve on stack space.
 | 
						||
	(initial_env): New function.  Checks for testing and debugging
 | 
						||
	environment variables.
 | 
						||
	* init.cc (cygwin_hmodule): Move declaration.
 | 
						||
	* winsup.h: Declare variables used for cygwin testing.
 | 
						||
 | 
						||
Tue Oct  9 19:17:53 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* uinfo.cc (internal_getlogin): Reorganize slightly to minimize work in
 | 
						||
	default condition.
 | 
						||
 | 
						||
Tue Oct  9 18:53:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Add missing case clash check.
 | 
						||
 | 
						||
Mon Oct  8 01:47:27 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dtable.cc (dtable::build_fhandler): Allocate correct amount for given
 | 
						||
	fhandler class.
 | 
						||
	* fhandler.h (fhandler_union): Properly define rather than relying on
 | 
						||
	fhandler_console being "big enough".
 | 
						||
 | 
						||
Mon Oct  8 00:25:18 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* external.cc (fillout_pinfo): Reset counter whenever we initialize the
 | 
						||
	pid list.
 | 
						||
 | 
						||
Sun Oct  7 17:16:05 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (normalize_posix_path): Don't eat a '.' after a '\\' since it
 | 
						||
	has special meaning on NT.
 | 
						||
 | 
						||
	* syscalls.cc (access): Use stat_worker.
 | 
						||
 | 
						||
Fri Oct  5 21:01:14 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::fork_fixup): Protect dup'ed handle and
 | 
						||
	record it as non-inheritable for debugging purposes in case there is a
 | 
						||
	subsequent fork or exec.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Allow
 | 
						||
	fork_fixup to call ProtectHandle.
 | 
						||
 | 
						||
Fri Oct  5 14:22:47 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (get_raw_device_number): Correct length arguments for
 | 
						||
	wdeveqn.
 | 
						||
 | 
						||
Fri Oct  5 11:05:32 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (getcwd): Allow NULL first argument.
 | 
						||
 | 
						||
Fri Oct  5 00:31:35 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* heap.h (inheap): Check for NULL.
 | 
						||
 | 
						||
Thu Oct  4 23:17:49 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Add second path_conv * argument to fstat()s throughout.
 | 
						||
	* fhandler.h: Change read and fstat to regparm/stdcall throughout.
 | 
						||
	(fhandler_base::fstat): Just declare.  Don't define.
 | 
						||
	(fhandler_disk_file::fstat_helper): Declare.
 | 
						||
	* fhandler.cc (fhandler_base::fstat): Move here from fhandler.h, adapt
 | 
						||
	from former stat_dev().
 | 
						||
	(fhandler_disk_file::fstat): Move most of the disk-file-specific logic
 | 
						||
	from stat_worker to here.  Use fstat_helper to derive final fstat
 | 
						||
	output.
 | 
						||
	(fhandler_disk_file::fstat_helper): New method, renamed from former
 | 
						||
	fstat method.
 | 
						||
	(num_entries): Moved here from syscalls.cc.
 | 
						||
	* fhandler_mem.cc (fhandler_dev_mem::fstat): Use base class to
 | 
						||
	initialize most stuff.  Invert has_physical_mem_access test for
 | 
						||
	establishing permissions.
 | 
						||
	* fhandler_raw.cc (fhandler_dev_raw::fstat): Eliminate unneed test and
 | 
						||
	memory clearing.  Use base class to initialize most stuff.
 | 
						||
	* syscalls.cc (stat_dev): Eliminate.
 | 
						||
	(stat_worker): Simply call fstat method to generate fstat output.  Move
 | 
						||
	all device specific code to appropriate fstats.
 | 
						||
 | 
						||
	* dir.cc (opendir): Pass correct arg to stat_worker to allow following
 | 
						||
	symlinks.
 | 
						||
 | 
						||
Thu Oct  4 21:37:57 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* spawn.cc (perhaps_suffix): Return NULL on non-existence of file as
 | 
						||
	well as "directoryness".  Previous code modified on 2001/09/30 actually
 | 
						||
	had an arguable bug which was unmasked by the change on that day.
 | 
						||
 | 
						||
Thu Oct  4 20:52:42 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Return ENOTDIR when leading device and
 | 
						||
	trailing component.
 | 
						||
 | 
						||
Thu Oct  4 18:49:23 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (stat_worker): Make global.  Accept path_conv parameter
 | 
						||
	for passing information back to caller.
 | 
						||
	* winsup.h: Declare stat_worker.
 | 
						||
	* dir.cc (opendir): Use stat_worker rather than stat and pass path_conv
 | 
						||
	parameter to stat_worker for later inspection.
 | 
						||
 | 
						||
2001-10-04 Karellen (karellen@boreworms.com)
 | 
						||
 | 
						||
	* syslog.cc (syslog): Teach syslog about syslog priorities other than
 | 
						||
	LOG_ERR, LOG_WARNING and LOG_INFO
 | 
						||
 | 
						||
Thu Oct  4 15:50:03 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Don't perform file system or rootdir
 | 
						||
	checks on devices.
 | 
						||
 | 
						||
Wed Oct  3 19:40:36 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dcrt0.cc (dll_crt0_1): Don't close hexec_proc if it is NULL.
 | 
						||
 | 
						||
	* fork.cc (vfork): Add debugging statements.
 | 
						||
 | 
						||
	* path.cc (get_device_number): Make static.  Rewrite to inspect both unix
 | 
						||
	and windows paths.
 | 
						||
	(get_raw_device_number): Just check for parts of raw device that we
 | 
						||
	care about.
 | 
						||
	(get_devn): New function, pulled from get_device_number.
 | 
						||
	(win32_device_name): Accommodate arg changes to get_device_number.
 | 
						||
	(mount_info::get_device_number): Call get_device_number on translated
 | 
						||
	Windows path.
 | 
						||
 | 
						||
	* spawn.cc (spawn_guts): Don't treat P_VFORK differently from P_NOWAIT.
 | 
						||
	Add handle to child's shared region to child so that it will be
 | 
						||
	preserved if the parent goes away.
 | 
						||
	* fhandler.h: Throughout, simplify to one open method for all fhandler
 | 
						||
	classes, requiring a path_conv first element.
 | 
						||
	* fhandler.cc (fhandler_base::open): Remove obsolete method.
 | 
						||
	Generalize to require path_conv * as first argument.
 | 
						||
	(fhandler_disk_file::open): Remove obsolete method.
 | 
						||
	(fhandler_disk_file::open): Use path_conv pointer rather than
 | 
						||
	reference.
 | 
						||
	* fhandler_clipboard.cc (fhandler_dev_clipboard::dup): Use new open
 | 
						||
	method.
 | 
						||
	(fhandler_dev_clipboard::open): Accommodate new argument for open
 | 
						||
	methods.
 | 
						||
	* fhandler_console.cc (fhandler_console::open): Ditto.
 | 
						||
	(fhandler_console::dup): Use new open method.
 | 
						||
	(fhandler_console::fixup_after_fork): Ditto.
 | 
						||
	(fhandler_console::fixup_after_exec): Ditto.
 | 
						||
	* fhandler_dsp.cc (fhandler_dev_dsp::open): Accommodate new argument for
 | 
						||
	open methods.
 | 
						||
	* fhandler_floppy.cc (fhandler_dev_floppy::open): Ditto.
 | 
						||
	* fhandler_mem.cc (fhandler_dev_mem::open): Ditto.
 | 
						||
	* fhandler_random (fhandler_dev_random::open): Ditto.
 | 
						||
	* fhandler_raw.cc (fhandler_dev_raw::open): Ditto.
 | 
						||
	* fhandler_serial.cc (fhandler_serial::open): Ditto.
 | 
						||
	* fhandler_tape.cc (fhandler_dev_tape::open): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
 | 
						||
	(fhandler_pty_master::open): Ditto.
 | 
						||
	* fhandler_windows.cc (fhandler_windows::open): Ditto.
 | 
						||
	* fhandler_zero.cc (fhandler_dev_zero::open): Ditto.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::set_connect_secret): Accommodate
 | 
						||
	new argument for open methods.
 | 
						||
	* syscalls.cc (_open): Ditto.
 | 
						||
	(stat_worker): Ditto.
 | 
						||
 | 
						||
Tue Oct  2 23:49:18 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (cfree): Remove malloc debugging probe.
 | 
						||
	* dlmalloc.c (errprint): Remove abort() call which causes interesting
 | 
						||
	error message printing to abort prematurely.
 | 
						||
	* environ.cc: Sprinkle MALLOC_CHECKs liberally throughout.
 | 
						||
	(_addenv): Allocate two empty elements at end of environ to
 | 
						||
	(apparently) work around problems with some buggy applications.
 | 
						||
	(winenv): Avoid calling alloca if no forced environment variable is
 | 
						||
	present.
 | 
						||
 | 
						||
	* exceptions.cc (open_stackdumpfile): Don't print "Dumping stack trace
 | 
						||
	to..." when running in a cygwin environment (i.e., the parent is a
 | 
						||
	cygwin process).
 | 
						||
 | 
						||
	* dtable.cc (dtable::init_std_file_from_handle): Move device type
 | 
						||
	detection code from build_fhandler here since it is only used by this
 | 
						||
	function.
 | 
						||
	(dtable::build_fhandler_from_name): New method.  Renamed from
 | 
						||
	dtable::build_fhandler.
 | 
						||
	(dtable::build_fhandler): Use build_fhandler_from_name.
 | 
						||
	(cygwin_attach_handle_to_fd): Ditto.
 | 
						||
	* syscalls.cc (_open): Ditto.
 | 
						||
	(stat_worker): Ditto.
 | 
						||
	* dtable.h (dtable::build_fhandler_from_name): Rename declaration from
 | 
						||
	dtable::build_fhandler.
 | 
						||
 | 
						||
Mon Oct  1 16:52:23 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dtable.h (dtable::build_fhandler): Make path_conv parameter
 | 
						||
	non-optional.
 | 
						||
	(dtable::init_std_file_from_handle): Eliminate name parameter.
 | 
						||
	* dtable.cc (stdio_init): Don't pass bogus name to
 | 
						||
	init_std_file_from_handle.  The function will figure out the name
 | 
						||
	itself.
 | 
						||
	(dtable::init_std_file_from_handle): Eliminate name parameter.  Assume
 | 
						||
	that we're always called with an appropriate fd.  Pass name as NULL if
 | 
						||
	we can't simply figure it out from context.
 | 
						||
	(cygwin_attach_handle_to_fd): Pass path_conv argument to
 | 
						||
	build_fhandler.
 | 
						||
	(dtable::build_fhandler): Make path_conv argument mandatory.  Eliminate
 | 
						||
	specific call to get_device_number.  With unknown device names, set
 | 
						||
	name from handle context for parsing by path_conv.
 | 
						||
	(dtable::build_fhandler): Pass path_conv argument to build_fhandler.
 | 
						||
	* path.h (path_conv::set_isdisk): Set disk device type.
 | 
						||
	(path_conv::is_device): Don't consider FH_DISK a "device".
 | 
						||
	* syscalls.cc (_open): Pass path_conv argument by reference.
 | 
						||
	(stat_worker): Ditto.
 | 
						||
	(_rename): Use path_conv operators.  Add bounds to DeleteFile/MoveFile
 | 
						||
	for loop.
 | 
						||
 | 
						||
Mon Oct 1 14:25:00 2001  Charles Wilson  <cwilson@ece.gatech.edu>
 | 
						||
 | 
						||
	* cygwin.din: export strtoll and strtoull
 | 
						||
 | 
						||
Sun Sep 30 22:51:41 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Add "path.h" include throughout, where needed.  Use new path_conv
 | 
						||
	methods and operators to simplify testing for directory and attributes,
 | 
						||
	throughout.
 | 
						||
	* path.h (path_conv::exists): New method.
 | 
						||
	(path_conv::has_attribute): Ditto.
 | 
						||
	(path_conv::isdir): Ditto.
 | 
						||
	(path_conv::DWORD &): New operator.
 | 
						||
	(path_conv::int &): Ditto.
 | 
						||
	* dir.cc (rmdir): Eliminate a goto.
 | 
						||
	* dtable.cc (dtable::build_fhandler): Accept opt and suffix info for
 | 
						||
	path_conv.check.  Return fh == NULL on path_conv error.  Pass unit to
 | 
						||
	set_name as appropriate.
 | 
						||
	(dtable::reset_unix_path_name): New method.
 | 
						||
	* dtable.h (dtable): Declare new method.  Reflect arg changes to
 | 
						||
	build_fhandler.
 | 
						||
	* fhandler.cc (fhandler_disk_dummy_name): Eliminate.
 | 
						||
	(fhandler_base::set_name): Expect paths to be NULL.  Build
 | 
						||
	unix_path_name from win32_path_name when it is a device.
 | 
						||
	(fhandler_base::reset_unix_path_name): New method.
 | 
						||
	(fhandler_base::raw_read): Report EISDIR when ERROR_INVALID_FUNCTION
 | 
						||
	or ERROR_INVALID_PARAMETER and reading a directory.
 | 
						||
	(fhandler_disk_file::fstat): Don't call stat_dev since we should now
 | 
						||
	never be calling fhandler_disk_file methods with devices.
 | 
						||
	(fhandler_base::fhandler_base): Clear {unix,win32}_path_name.
 | 
						||
	(fhandler_base::~fhandler_base): Always free {unix,win32}_path_name.
 | 
						||
	(fhandler_disk_file::fhandler_disk_file): Remove set_no_free_names
 | 
						||
	kludge.
 | 
						||
	(fhandler_disk_file::open): Ditto.
 | 
						||
	* fhandler.h (fhandler_base::no_free_names): Eliminate.
 | 
						||
	(fhandler_base::set_no_free_names): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::fhandler_tty_slave): Don't set
 | 
						||
	unix_path_name here.
 | 
						||
	* path.cc (fchdir): Lock fd table throughout.  Use new
 | 
						||
	dtable::reset_unix_path_name method to reset path.
 | 
						||
	* syscalls.cc (stat_worker): Reorganize to always call fstat method.
 | 
						||
	Pass path_conv method to fhandler_*::open.
 | 
						||
	(chroot): Elminate a goto.
 | 
						||
 | 
						||
Sun Sep 30 17:37:43 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* environ.cc (winenv): Allocate exact amount of space needed for forced
 | 
						||
	windows environment variable rather than just using MAX_PATH.
 | 
						||
 | 
						||
Sun Sep 30 17:10:18 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* Makefile.in: Depend on stamp to ensure rebuilding.  Remove stamp file
 | 
						||
	when we've just built the DLL.
 | 
						||
 | 
						||
Mon Oct  1 00:34:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (pthread_cond_dowait): Hopefully eliminate a race on multiple thread
 | 
						||
	wakeups.
 | 
						||
 | 
						||
Sat Sep 29 18:26:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* pthread.cc (pthread_cond_timedwait): Deleted - exported from thread.cc.
 | 
						||
	(pthread_cond_wait): Deleted - exported from thread.cc.
 | 
						||
	* thread.cc (pthread_cond::BroadCast): Update to use the new syntax for
 | 
						||
	verifyable_object_isvalid ().
 | 
						||
	(pthread_cond::Signal): Ditto. Also attempt to fix the lost signal race
 | 
						||
	with pthread_cond::TimedWait().
 | 
						||
	(check_valid_pointer): Change definiton to void const *.
 | 
						||
	(verifyable_object_isvalid): Add new parameter to allow identification of
 | 
						||
	static initializers, and return a enum rather than magic numbers.
 | 
						||
	(__pthread_create): Ditto.
 | 
						||
	(__pthread_cleanup): Ditto.
 | 
						||
	(__pthread_attr_init): Ditto.
 | 
						||
	(__pthread_attr_getinheritsched): Ditto.
 | 
						||
	(__pthread_attr_getschedparam): Ditto.
 | 
						||
	(__pthread_attr_getschedpolicy): Ditto.
 | 
						||
	(__pthread_attr_getscope): Ditto.
 | 
						||
	(__pthread_attr_setdetachstate): Ditto.
 | 
						||
	(__pthread_attr_getdetachstate): Ditto.
 | 
						||
	(__pthread_attr_setinheritsched): Ditto.
 | 
						||
	(__pthread_attr_setschedparam): Ditto.
 | 
						||
	(__pthread_attr_setschedpolicy): Ditto.
 | 
						||
	(__pthread_attr_setscope): Ditto.
 | 
						||
	(__pthread_attr_setstacksize): Ditto.
 | 
						||
	(__pthread_attr_getstacksize): Ditto.
 | 
						||
	(__pthread_attr_destroy): Ditto.
 | 
						||
	(__pthread_join): Ditto.
 | 
						||
	(__pthread_detach): Ditto.
 | 
						||
	(__pthread_suspend): Ditto.
 | 
						||
	(__pthread_continue): Ditto.
 | 
						||
	(__pthread_getschedparam): Ditto.
 | 
						||
	(__pthread_getsequence_np): Ditto.
 | 
						||
	(__pthread_key_create): Ditto.
 | 
						||
	(__pthread_key_delete): Ditto.
 | 
						||
	(__pthread_setschedparam): Ditto.
 | 
						||
	(__pthread_setspecific): Ditto.
 | 
						||
	(__pthread_getspecific): Ditto.
 | 
						||
	(__pthread_cond_destroy): Ditto.
 | 
						||
	(__pthread_cond_init): Ditto.
 | 
						||
	(__pthread_cond_broadcast): Ditto.
 | 
						||
	(__pthread_cond_signal): Ditto.
 | 
						||
	(__pthread_condattr_init): Ditto.
 | 
						||
	(__pthread_condattr_getpshared): Ditto.
 | 
						||
	(__pthread_condattr_setpshared): Ditto.
 | 
						||
	(__pthread_condattr_destroy): Ditto.
 | 
						||
	(__pthread_kill): Ditto.
 | 
						||
	(__pthread_mutex_init): Ditto.
 | 
						||
	(__pthread_mutex_getprioceiling): Ditto.
 | 
						||
	(__pthread_mutex_lock): Ditto.
 | 
						||
	(__pthread_mutex_trylock): Ditto.
 | 
						||
	(__pthread_mutex_unlock): Ditto.
 | 
						||
	(__pthread_mutex_destroy): Ditto.
 | 
						||
	(__pthread_mutex_setprioceiling): Ditto.
 | 
						||
	(__pthread_mutexattr_getprotocol): Ditto.
 | 
						||
	(__pthread_mutexattr_getpshared): Ditto.
 | 
						||
	(__pthread_mutexattr_gettype): Ditto.
 | 
						||
	(__pthread_mutexattr_init): Ditto.
 | 
						||
	(__pthread_mutexattr_destroy): Ditto.
 | 
						||
	(__pthread_mutexattr_setprotocol): Ditto.
 | 
						||
	(__pthread_mutexattr_setprioceiling): Ditto.
 | 
						||
	(__pthread_mutexattr_getprioceiling): Ditto.
 | 
						||
	(__pthread_mutexattr_setpshared): Ditto.
 | 
						||
	(__pthread_mutexattr_settype): Ditto.
 | 
						||
	(__sem_init): Ditto.
 | 
						||
	(__sem_destroy): Ditto.
 | 
						||
	(__sem_wait): Ditto.
 | 
						||
	(__sem_trywait): Ditto.
 | 
						||
	(__sem_post): Ditto.
 | 
						||
	(__pthread_cond_dowait): New function, contains core logic from
 | 
						||
	__pthread_cond_wait and __pthread_cond_timedwait. Decrement (*cond)->waiting
 | 
						||
	before reentering the cond access mutex to allow detection of lost signals.
 | 
						||
	(__pthread_cond_timedwait): Rename to pthread_cond_timedwait, and call
 | 
						||
	__pthread_cond_dowait after calculating the wait length.
 | 
						||
	(__pthread_cond_wait): Rename to pthread_cond_wait, and call
 | 
						||
	__pthread_cond_dowait.
 | 
						||
	* thread.h: New enum for use with verifyable_object_isvalid.
 | 
						||
	Remove the extern exporting of __pthread_cond_timedwait and __pthread_cond_wait.
 | 
						||
 | 
						||
Fri Sep 28 21:18:50 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* pipe.cc (fhandler_pipe::fixup_after_fork): New method.
 | 
						||
	* fhandler.h (fhandler_pipe::fixup_after_fork): Declare new method.
 | 
						||
 | 
						||
Fri Sep 28 03:23:04 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* passwd.cc (read_etc_passwd): Bother with unlocking when not
 | 
						||
	in cygwin initialization.
 | 
						||
	* grp.cc (read_etc_group): Ditto.
 | 
						||
 | 
						||
Fri Sep 28 02:57:03 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* passwd.cc (read_etc_passwd): Don't bother with locking when
 | 
						||
	in cygwin initialization since there is only one thread.
 | 
						||
	* grp.cc (read_etc_group): Ditto.
 | 
						||
 | 
						||
Fri Sep 28 01:50:09 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* pipe.cc (fhandler_pipe::hit_eof): Return correct value when there is
 | 
						||
	no EOF event available.
 | 
						||
 | 
						||
Sat Sep 28 00:34:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Move setting the access after evaluating fd.
 | 
						||
	Remove useless comment.  Explain copy-on-write problem of 9x
 | 
						||
	more detailed.  Don't set access to FILE_MAP_COPY on 9x only
 | 
						||
	when anonymous mapping is requested.
 | 
						||
	(fhandler_disk_file::mmap): Remove useless device check.
 | 
						||
	Add debug output.
 | 
						||
 | 
						||
Fri Sep 27 07:35:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* Makefile.in: Only stamp winver_stamp on success.
 | 
						||
 | 
						||
Wed Sep 26 16:02:35 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* select.cc (peek_pipe): REALLY only grab mutex when we actually got
 | 
						||
	something from the pipe.
 | 
						||
 | 
						||
Tue Sep 25 21:25:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (pthread_cond::BroadCast): Use address with verifyable_object_isvalid().
 | 
						||
	(pthread_cond::Signal): Ditto.
 | 
						||
	(__pthread_create): Ditto.
 | 
						||
	(__pthread_cleanup): Ditto.
 | 
						||
	(__pthread_attr_init): Ditto.
 | 
						||
	(__pthread_attr_getinheritsched): Ditto.
 | 
						||
	(__pthread_attr_getschedparam): Ditto.
 | 
						||
	(__pthread_attr_getschedpolicy): Ditto.
 | 
						||
	(__pthread_attr_getscope): Ditto.
 | 
						||
	(__pthread_attr_setdetachstate): Ditto.
 | 
						||
	(__pthread_attr_getdetachstate): Ditto.
 | 
						||
	(__pthread_attr_setinheritsched): Ditto.
 | 
						||
	(__pthread_attr_setschedparam): Ditto.
 | 
						||
	(__pthread_attr_setschedpolicy): Ditto.
 | 
						||
	(__pthread_attr_setscope): Ditto.
 | 
						||
	(__pthread_attr_setstacksize): Ditto.
 | 
						||
	(__pthread_attr_getstacksize): Ditto.
 | 
						||
	(__pthread_attr_destroy): Ditto.
 | 
						||
	(__pthread_join): Ditto.
 | 
						||
	(__pthread_detach): Ditto.
 | 
						||
	(__pthread_suspend): Ditto.
 | 
						||
	(__pthread_continue): Ditto.
 | 
						||
	(__pthread_getschedparam): Ditto.
 | 
						||
	(__pthread_getsequence_np): Ditto.
 | 
						||
	(__pthread_key_create): Ditto.
 | 
						||
	(__pthread_key_delete): Ditto.
 | 
						||
	(__pthread_setschedparam): Ditto.
 | 
						||
	(__pthread_setspecific): Ditto.
 | 
						||
	(__pthread_getspecific): Ditto.
 | 
						||
	(__pthread_cond_destroy): Ditto.
 | 
						||
	(__pthread_cond_init): Ditto.
 | 
						||
	(__pthread_cond_broadcast): Ditto.
 | 
						||
	(__pthread_cond_signal): Ditto.
 | 
						||
	(__pthread_cond_timedwait): Ditto.
 | 
						||
	(__pthread_cond_wait): Ditto.
 | 
						||
	(__pthread_condattr_init): Ditto.
 | 
						||
	(__pthread_condattr_getpshared): Ditto.
 | 
						||
	(__pthread_condattr_setpshared): Ditto.
 | 
						||
	(__pthread_condattr_destroy): Ditto.
 | 
						||
	(__pthread_kill): Ditto.
 | 
						||
	(__pthread_mutex_init): Ditto.
 | 
						||
	(__pthread_mutex_getprioceiling): Ditto.
 | 
						||
	(__pthread_mutex_lock): Ditto.
 | 
						||
	(__pthread_mutex_trylock): Ditto.
 | 
						||
	(__pthread_mutex_unlock): Ditto.
 | 
						||
	(__pthread_mutex_destroy): Ditto.
 | 
						||
	(__pthread_mutex_setprioceiling): Ditto.
 | 
						||
	(__pthread_mutexattr_getprotocol): Ditto.
 | 
						||
	(__pthread_mutexattr_getpshared): Ditto.
 | 
						||
	(__pthread_mutexattr_gettype): Ditto.
 | 
						||
	(__pthread_mutexattr_init): Ditto.
 | 
						||
	(__pthread_mutexattr_destroy): Ditto.
 | 
						||
	(__pthread_mutexattr_setprotocol): Ditto.
 | 
						||
	(__pthread_mutexattr_setprioceiling): Ditto.
 | 
						||
	(__pthread_mutexattr_getprioceiling): Ditto.
 | 
						||
	(__pthread_mutexattr_setpshared): Ditto.
 | 
						||
	(__pthread_mutexattr_settype): Ditto.
 | 
						||
	(__sem_init): Ditto.
 | 
						||
	(__sem_destroy): Ditto.
 | 
						||
	(__sem_wait): Ditto.
 | 
						||
	(__sem_trywait): Ditto.
 | 
						||
	(__sem_post): Ditto.
 | 
						||
	(verifyable_object_isvalid): Recieve a pointer to a pointer for verification.
 | 
						||
	(__pthread_mutexattr_getprotocol): Fix typo in magic number.
 | 
						||
	(__pthread_mutexattr_getpshared): Ditto.
 | 
						||
	(__pthread_mutexattr_gettype): Ditto.
 | 
						||
	* thread.h (verifyable_object_isvalid): Change prototype to recieve a pointer to a
 | 
						||
	pointer for verification.
 | 
						||
	* include/pthread.h: Fix typo for __cleanup_routine_type typedef. (Contrib from Net).
 | 
						||
 | 
						||
Tue Sep 25 02:09:42 2001  Christopher Faylor <cgf@redhat.com>
 | 
						||
 | 
						||
	* select.cc (fhandler_tty_common::ready_for_read): Rewrite to correctly
 | 
						||
	call peek_pipe.
 | 
						||
 | 
						||
Mon Sep 24 18:46:39 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* select.cc (peek_pipe): Only grab mutex when we actually got something
 | 
						||
	from the pipe.
 | 
						||
 | 
						||
Mon Sep 24 17:41:03 2001  Christopher Faylor <cgf@redhat.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_pipe::hit_eof): New method.
 | 
						||
	(writepipe_exists): New class element.
 | 
						||
	(orig_pid): Ditto.
 | 
						||
	(id): Ditto.
 | 
						||
	(is_slow): Eliminate.
 | 
						||
	* pipe.cc (fhandler_pipe::set_close_on_exec): Set inheritance on
 | 
						||
	writepipe_exists, if it exists.
 | 
						||
	(fhandler_pipe::hit_eof): New method, modelled after tty.
 | 
						||
	(fhandler_pipe::dup): Duplicate writepipe_exists, if it exists.
 | 
						||
	(make_pipe): Set up a dummy event for pipes on windows 9x.  The
 | 
						||
	nonexistence of this event means that the write side of the
 | 
						||
	pipe has closed.
 | 
						||
	(_dup): Move to syscalls.cc
 | 
						||
	(_dup2): Ditto.
 | 
						||
 | 
						||
	* dtable.cc (dtable::build_fhandler): Fill out set_names here, if
 | 
						||
	appropriate.
 | 
						||
	* syscalls.cc (_open): Call set_names in build_fhandler.
 | 
						||
 | 
						||
Sun Sep 23 16:55:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (_open): Set name in fhandler object after successful
 | 
						||
	creation.
 | 
						||
	(stat_dev): Set device type to block device in FH_FLOPPY case.
 | 
						||
 | 
						||
Sun Sep 23 11:15:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dtable.cc (dtable::build_fhandler): Initialize unit when using
 | 
						||
	optional path_conv argument.
 | 
						||
 | 
						||
Sat Sep 22 17:33:45 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
			  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dtable.cc (dtable::build_fhandler): Accept an optional path_conv
 | 
						||
	argument.  If available, use this to calculate path name and device
 | 
						||
	number.
 | 
						||
	* dtable.h (dtable): Reflect above change.
 | 
						||
	* fhandler.h (fhandler_base): Declare virtual method which accepts
 | 
						||
	path_conv rather than path string as first argument.
 | 
						||
	* fhandler.cc (fhandler_base::open): Define above new method.
 | 
						||
	* syscalls.cc (_open): Set aside a path_conv variable for use in
 | 
						||
	build_fhandler and subsequent call to open.
 | 
						||
 | 
						||
Sat Sep 22 12:44:57 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (setup_handler): Always relinquish lock after we've
 | 
						||
	interrupted.
 | 
						||
	* fhandler.cc: Move pipe methods to pipe.cc.
 | 
						||
	* fhandler.h (fhandler_pipe): Add new methods.
 | 
						||
	* fork.cc (sync_with_parent): Make error messages more informative.
 | 
						||
	* pipe.cc (fhandler_pipe::fhandler_pipe): Move here from fhandler.cc.
 | 
						||
	(fhandler_pipe::lseek): Ditto.
 | 
						||
	(fhandler_pipe::set_close_on_exec): New method.
 | 
						||
	(fhandler_pipe::read): Ditto.
 | 
						||
	(fhandler_pipe::close): Ditto.
 | 
						||
	(fhandler_pipe::dup): Ditto.
 | 
						||
	(make_pipe): Create the guard mutex on the read side of the pipe.
 | 
						||
	* select.cc (peek_pipe): Use guard_mutex to discover if we have the
 | 
						||
	right to read on this pipe.
 | 
						||
	(fhandler_pipe::readh_for_read): Pass the read pipe guard mutex to
 | 
						||
	peek_pipe.
 | 
						||
	* syscalls.cc (_read): Always detect signal catchers, for now.
 | 
						||
 | 
						||
	* debug.cc (makethread): Eliminate hack to make thread inheritable.
 | 
						||
	* sigproc.cc (subproc_init): Don't use hack to make thread inheritable.
 | 
						||
 | 
						||
Thu Sep 20 16:48:44 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::set_inheritance): Just use
 | 
						||
	DUPLICATE_CLOSE_SOURCE to change inheritance.  Eliminate all other
 | 
						||
	logic dealing with closed handles.
 | 
						||
	* fhandler.h (fhandler_base::set_inheritance): Reflect above change.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::set_close_on_exec): Ditto.
 | 
						||
 | 
						||
Thu Sep 20 13:34:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_socket.cc (fhandler_socket::fixup_after_exec): Close
 | 
						||
	socket only when not using Winsock2.
 | 
						||
 | 
						||
Thu Sep 20 13:20:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_socket::fixup_after_exec): Remove inline
 | 
						||
	implementation.
 | 
						||
	(fhandler_dev_raw::fixup_after_exec): Ditto.
 | 
						||
	* fhandler_raw.cc (fhandler_dev_raw::fixup_after_fork): Don't
 | 
						||
	duplicate buffer on fork to avoid memory leak.
 | 
						||
	(fhandler_dev_raw::fixup_after_exec): New implementation equal to
 | 
						||
	former fixup_after_fork() implementation.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::fixup_after_fork): Do
 | 
						||
	nothing when not using Winsock2.
 | 
						||
	(fhandler_socket::fixup_after_exec): New implementation.
 | 
						||
	(fhandler_socket::set_close_on_exec): Never call set_inheritance().
 | 
						||
 | 
						||
Thu Sep 20  9:55:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::set_inheritance): If available,
 | 
						||
	use SetHandleInformation() to set inheritance.
 | 
						||
	* wincap.cc: Set flag has_set_handle_information_on_console_handles
 | 
						||
	appropriately.
 | 
						||
	* wincap.h: Add flag has_set_handle_information_on_console_handles.
 | 
						||
 | 
						||
Wed Sep 19 12:24:09 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* lib/getopt.c (__progname): Don't declare if not compiling for cygwin.
 | 
						||
 | 
						||
Wed Sep 19 18:07:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* lib/getopt.c (getopt_long): Avoid compiler warning.
 | 
						||
 | 
						||
Wed Sep 19 11:52:42 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* lib/getopt.c: Use __progname==__argv[0] when not compiling for cygwin.
 | 
						||
 | 
						||
	* scandir.cc (scandir): Use correct default when compar == NULL.
 | 
						||
 | 
						||
Wed Sep 19 17:49:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_socket.cc (fhandler_socket::fhandler_socket): Revert
 | 
						||
	memory allocation to use cmalloc again.
 | 
						||
 | 
						||
Tue Sep 18 21:04:26 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygwin.din (__argv): Export.
 | 
						||
	(__argc): Ditto.
 | 
						||
	(__progname): Ditto.
 | 
						||
	* include/getopt.h (getopt_long): constify arguments.
 | 
						||
	* lib/getopt.c: Import new file from NetBSD.
 | 
						||
 | 
						||
Tue Sep 18 18:21:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Don't reuse anonymous memory in MAP_FIXED case.
 | 
						||
 | 
						||
Mon Sep 17 17:29:25 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/io.h: Add access declaration.
 | 
						||
 | 
						||
Mon Sep 17 14:04:27 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (rmdir): Set cwd to some other location if attempting to
 | 
						||
	rmdir current working directory.
 | 
						||
 | 
						||
Sun Sep 16 23:04:31 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dtable.h (not_open): Assure inline.
 | 
						||
	* fhandler.h (operator []): Make const.
 | 
						||
 | 
						||
Sun Sep 16 23:02:57 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* sync.cc (muto::~muto): Fix typo which stopped muto event handle from
 | 
						||
	ever being closed.
 | 
						||
 | 
						||
2001-09-16  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* path.cc (symlink): Check arguments for validity.
 | 
						||
	(getcwd): Ditto.
 | 
						||
	* syscalls.cc (ftruncate): Ditto.
 | 
						||
	* times.cc (times): Ditto.
 | 
						||
	* uname.cc (uname): Ditto.
 | 
						||
 | 
						||
Sat Sep 15 22:54:49 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* net.cc (dup_servent_ptr): Detect old Windows 95 misaligned structure
 | 
						||
	and realign appropriately.
 | 
						||
 | 
						||
Sat Sep 15 00:28:40 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* Makefile.in: Generate libcygwin.a during the link pass rather than as
 | 
						||
	a separate dlltool step.
 | 
						||
	* dcrt0.cc (_dll_crt0): pppid_handle could be NULL.  Don't close it if
 | 
						||
	so.
 | 
						||
 | 
						||
Fri Sep 14 20:48:18 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dcrt0.cc (dll_crt0_1): Create vfork main storage here so that it can
 | 
						||
	be queried in waitsig later.
 | 
						||
	* sigproc.cc (wait_sig): Don't deliver a signal if in a vfork.
 | 
						||
	* sigproc.h (sigframe::init): New method.
 | 
						||
	(sigframe): Use init.
 | 
						||
	* perthread.h: Declare main_vfork.
 | 
						||
	* fork.cc (vfork): Deliver all signals on parent return from vfork.
 | 
						||
 | 
						||
Fri Sep 14 10:21:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dcrt0.cc (_dll_crt0()): Don't call wincap.init() here.
 | 
						||
 | 
						||
Fri Sep 14 00:37:54 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fork.cc (vfork): Avoid recursive vforks.
 | 
						||
 | 
						||
Fri Sep 14 00:18:52 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_pipe::is_slow): Return true only if pipes are
 | 
						||
	reliable (i.e., not Win9x).
 | 
						||
	* wincap.cc: Make statics NO_COPY to avoid fork overhead.
 | 
						||
 | 
						||
Thu Sep 13 23:01:00 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* grp.cc (read_etc_group): Just reuse group_buf storage for subsequent
 | 
						||
	reread of /etc/group.
 | 
						||
	* passwd.cc (read_etc_passwd): Just reuse passwd_buf storage for
 | 
						||
	subsequent reread of /etc/passwd.
 | 
						||
 | 
						||
Thu Sep 13 20:46:05 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (dup_now): New function.
 | 
						||
	(cygheap_setup_for_child): Accept new argument controlling whether to
 | 
						||
	delay copying of cygheap to shared memory region.
 | 
						||
	(cygheap_setup_for_child_cleanup): Accept new arguments controlling
 | 
						||
	whether to copy cygheap at this point.
 | 
						||
	* cygheap.h: Reflect above changes.
 | 
						||
	* fork.cc (fork_parent): Break copying of cygheap into two parts when
 | 
						||
	fork_fixup is required so that the child can see the parent's changes.
 | 
						||
	(vfork): Do stack cleanup prior to forcing a fork error.
 | 
						||
	* spawn.cc (spawn_guts): Ditto.
 | 
						||
 | 
						||
Thu Sep 13 17:14:59 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (ccalloc): Pass correct length to creturn so that
 | 
						||
	cygheap_max is correctly calculated.
 | 
						||
 | 
						||
Wed Sep 12 21:06:38 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* sync.cc (muto::acquire): Fix while/if typo.
 | 
						||
 | 
						||
Wed Sep 12 23:06:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* wincap.cc (wincapc::init): Simplify W2K/XP case.
 | 
						||
 | 
						||
Wed Sep 12 23:02:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* wincap.cc (wincapc::init): Set os name to "NT" on XP, too.
 | 
						||
 | 
						||
Wed Sep 12 19:00:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* Makefile.in: Build wincap.o.
 | 
						||
	* wincap.cc: New file.
 | 
						||
	* wincap.h: Ditto.
 | 
						||
	* autoload.cc: Add dynamic load statement for `CreateHardLinkA'.
 | 
						||
	* dcrt0.cc (os_being_run): Eliminated.
 | 
						||
	(osname): Ditto.
 | 
						||
	(iswinnt): Ditto.
 | 
						||
	(set_os_type): Ditto.
 | 
						||
	(dll_crt0_1): Call wincap.init() instead of set_os_type().
 | 
						||
	(_dll_crt0): Ditto.
 | 
						||
	* environ.cc (set_chunksize): New function.
 | 
						||
	(parse_thing): `forkchunk' setting now invokes function `set_chunksize'.
 | 
						||
	* fork.cc (chunksize): Eliminated. Moved to be member of wincap.
 | 
						||
	* host_dependent.h: Removed.
 | 
						||
	* syscalls.cc (_link): Try using `CreateHardLinkA' first, if available.
 | 
						||
	* cygheap.cc, dcrt0.cc, delqueue.cc, dir.cc,
 | 
						||
	environ.cc, fhandler.cc, fhandler.h, fhandler_console.cc,
 | 
						||
	fhandler_mem.cc, fork.cc, mmap.cc, net.cc, pinfo.cc, pinfo.h,
 | 
						||
	security.cc, syscalls.cc, sysconf.cc, syslog.cc, thread.cc,
 | 
						||
	times.cc, tty.cc, uinfo.cc, uname.cc, winsup.h: Use new wincap
 | 
						||
	capability check throughout.
 | 
						||
	* winsup.h: Include wincap.h. Eliminate extern declarations of
 | 
						||
	`os_being_run' and `iswinnt'. Eliminate `os_type" definition.
 | 
						||
	* include/cygwin/version.h: Bump version to 1.3.4.
 | 
						||
 | 
						||
Wed Sep 12 01:03:36 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (call_signal_handler_now): Add additional guard against
 | 
						||
	inappropriately calling signal handler.
 | 
						||
	* syscalls.cc (_read): Reset errno if not exiting due to signal.
 | 
						||
 | 
						||
Wed Sep 12 13:03:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* autoload.cc (LoadDLLfuncEx): Auto load TryEnterCriticalSection - it's
 | 
						||
	an NT only call.
 | 
						||
	* thread.cc (pthread_cond::TimedWait): Use critical sections for NT.
 | 
						||
	(pthread_cond::fixup_after_fork): Don't detect bad apps.
 | 
						||
	(pthread_mutex::pthread_mutex): Use critical sections for NT.
 | 
						||
	(pthread_mutex::~pthread_mutex): Ditto.
 | 
						||
	(pthread_mutex::Lock): Ditto.
 | 
						||
	(pthread_mutex::TryLock): Ditto.
 | 
						||
	(pthread_mutex::UnLock): Ditto.
 | 
						||
	(pthread_mutex::fixup_after_fork): Ditto.  Also do not detect bad apps.
 | 
						||
	(__pthread_mutex_trylock): Move WIN32 specific test into the class
 | 
						||
	method.
 | 
						||
	(__pthread_mutex_destroy): Prevent dereferencing passed pointer without
 | 
						||
	valid address.
 | 
						||
	* thread.h (pthread_mutex): Use critical sections for NT.
 | 
						||
 | 
						||
Tue Sep 11 21:55:37 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* sigproc.h (sigframe::unregister): Return true/false whether this
 | 
						||
	frame is capable of responding to signals.
 | 
						||
	* exceptions.cc (sigframe::call_signal_handler): Don't call signal
 | 
						||
	handler if it is not armed for this thread.
 | 
						||
 | 
						||
Tue Sep 11 11:23:10 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygwin.din: Remove cygwin_getshared.
 | 
						||
	* shared.cc: Ditto.
 | 
						||
	* include/cygwin/version.h: Bump API minor number.
 | 
						||
 | 
						||
Tue Sep 11 11:14:11 2001  Dmitry Timoshkov  <dmitry@baikal.ru>
 | 
						||
 | 
						||
	* dtable.cc (dtable::build_fhandler): Fix incorrect test for socket.
 | 
						||
 | 
						||
Tue Sep 11 21:22:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (pthread_cond::~pthread_cond): Fix incorrect use of
 | 
						||
	InterlockExchangePointer.
 | 
						||
	(pthread_mutex::~pthread_mutex): Ditto.
 | 
						||
	(semaphore::~semaphore): Ditto.
 | 
						||
 | 
						||
Tue Sep 11 18:15:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* dcrt0.cc (cygwin_finished_initializing): Copy _mtinterf on fork.
 | 
						||
	* fork.cc (fork_child): Fixup thread-related structures after fork.
 | 
						||
	* thread.cc (MTinterface::Init): Initialise the new mutex, condition
 | 
						||
	and semaphore lists.
 | 
						||
	(MTinterface::fixup_after_fork): Iterate through each list and fixup
 | 
						||
	the objects.
 | 
						||
	(pthread_cond::pthread_cond): Add this to the condition list.
 | 
						||
	(pthread_cond::~pthread_cond): Remove this from the condition list.
 | 
						||
	(pthread_cond::fixup_after_fork): Recreate as best we can the pre-fork
 | 
						||
	state.
 | 
						||
	(pthread_mutex::pthread_mutex): Add this to the mutex list.
 | 
						||
	(pthread_mutex::~pthread_mutex): Remove this from the mutex list.
 | 
						||
	(pthread_mutex::fixup_after_fork): Recreate as best we can the pre-fork
 | 
						||
	state.
 | 
						||
	(semaphore::semaphore): Store the initial value, and add this to the
 | 
						||
	semaphore list.
 | 
						||
	(semaphore::~semaphore): Remove this from the semaphore list.
 | 
						||
	(semaphore::Post): Increment the current semaphore value.
 | 
						||
	(semaphore::TryWait): Decrement the current semaphore value.
 | 
						||
	(semaphore::Wait): Ditto.
 | 
						||
	(semaphore::fixup_after_fork): Recreate the pre-fork state as best we
 | 
						||
	can.
 | 
						||
	* thread.h (pthread_mutex): New members to allow fixup_after_fork.
 | 
						||
	(pthread_cond): Ditto.
 | 
						||
	(semaphore): Ditto.
 | 
						||
	(MTinterface): New list heads for tracking conds and semaphores.
 | 
						||
 | 
						||
Sun Sep  9 22:11:27 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dtable.cc (dtable::fixup_after_fork): Use SetStdHandle appropriately
 | 
						||
	on inherited fds.
 | 
						||
 | 
						||
Sun Sep  9 20:09:11 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* sigproc.cc (NZOMBIES): Reduce substantially to minimize memory use.
 | 
						||
 | 
						||
Mon Sep 10 08:28:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.h (MT_Interface): Remove pshared mutex array.  Add a
 | 
						||
	threadsafe list for mutex tracking (for fixup after fork).
 | 
						||
	* thread.cc (MTInterface::Init): Remove pshared mutex array.
 | 
						||
	(pthread_mutex::pthread_mutex): Remove pshared mutex functionality.
 | 
						||
	Fail with EINVAL on attempts to use pshared functionality.
 | 
						||
	(__pthread_mutex_getpshared): Remove.
 | 
						||
	(__pthread_cond_timedwait): Remove pshared mutex functionality.
 | 
						||
	(__pthread_cond_wait): Ditto.
 | 
						||
	(__pthread_mutex_init): Ditto.
 | 
						||
	(__pthread_mutex_getprioceiling): Ditto.
 | 
						||
	(__pthread_mutex_lock): Ditto.
 | 
						||
	(__pthread_mutex_trylock): Ditto.
 | 
						||
	(__pthread_mutex_unlock): Ditto.
 | 
						||
	(__pthread_mutex_destroy): Ditto.
 | 
						||
	(__pthread_mutex_setprioceiling): Ditto.
 | 
						||
	(__pthread_mutexattr_setpshared): Ditto.
 | 
						||
 | 
						||
Sun Sep 9 23:09:00 2001 Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* pwdgrp.h (pwdgrp_check::set_last_modified): Call GetFileTime()
 | 
						||
	instead of GetFileInformationByHandle().
 | 
						||
 | 
						||
Sun Sep  9 15:59:53 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* heap.h (inheap): Rewrite macro to accommodate removal of brk macros
 | 
						||
	below.
 | 
						||
 | 
						||
Sun Sep  9 15:02:44 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (cygheap_fixup_in_child): Clear cygheap->base so that heap
 | 
						||
	is not forced to start at the same place in execed process.
 | 
						||
	* heap.cc: Remove brk* macros for clarity throughout.
 | 
						||
	* heap.h: Ditto.
 | 
						||
	* shared.cc (shared_info::initialize): Move heap_chunk test into
 | 
						||
	heap_chunk_size().
 | 
						||
	(heap_chunk_size): Check for chunk size here.  Don't go to registry if
 | 
						||
	heap_chunk_in_mb is already set.
 | 
						||
 | 
						||
	* smallprint.c (console_printf): Add Windows 95 concessions.
 | 
						||
 | 
						||
Sun Sep  9 13:01:06 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* child_info.h (PROC_MAGIC): Bump magic number.
 | 
						||
 | 
						||
Sun Sep  9 18:36:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
			  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (init_cygheap::etc_changed): New method to signal
 | 
						||
	a change in /etc.
 | 
						||
	* cygheap.h (struct init_cygheap): Add member `etc_changed_h'
 | 
						||
	and method `etc_changed'.
 | 
						||
	* grp.cc (enum grp_state): Eliminate.
 | 
						||
	(class grp_check): Ditto.
 | 
						||
	(group_state): Define as `class pwdgrp_check'.
 | 
						||
	(parse_grp): Remeber path and modification time of /etc/group file.
 | 
						||
	* passwd.cc (enum_pwd_state): Eliminate.
 | 
						||
	(class pwd_check): Ditto.
 | 
						||
	(passwd_state): Define as `class pwdgrp_check'.
 | 
						||
	(read_etc_passwd): Remember path and modification time of /etc/passwd
 | 
						||
	file.
 | 
						||
	* pwdgrp.h: New file.
 | 
						||
	(enum pwdgrp_state): Substitutes `pwd_state' and `grp_state'.
 | 
						||
	(class pwdgrp_check): Substitutes `pwd_check' and `grp_check'.
 | 
						||
 | 
						||
Sun Sep  9 14:31:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump API minor version to 45 according
 | 
						||
	to adding the gamm*_r functions.
 | 
						||
 | 
						||
Sat Sep  8 23:32:18 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fork.cc (fork_parent): Stop malloc activity while fork is in control
 | 
						||
	of the heap.
 | 
						||
	* sigproc.cc (NZOMBIES): Rename from ZOMBIEMAX for clarity.
 | 
						||
	(zombies): Revert to original behavior.  Allocating zombie array
 | 
						||
	resulted in performance hit.
 | 
						||
	* winsup.h: Declare malloc lock routines.
 | 
						||
 | 
						||
Fri Sep  7 21:35:35 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygwin.din: Add gamm*_r function exports.
 | 
						||
 | 
						||
Fri Sep  7 17:11:11 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.h (init_cygheap): Move heap pointers here.
 | 
						||
	* include/sys/cygwin.h (perprocess): Remove heap pointers.
 | 
						||
	* dcrt0.cc (__cygwin_user_data): Reflect obsolete perprocess stuff.
 | 
						||
	(_dll_crt0): Don't initialize heap pointers.
 | 
						||
	(cygwin_dll_init): Ditto.
 | 
						||
	(release_upto): Use heap pointers from cygheap.
 | 
						||
	* heap.h: Ditto.
 | 
						||
	* fork.cc (fork_parent): Ditto.  Don't set heap pointers in ch.
 | 
						||
	(fork_child): Remove obsolete sigproc_fixup_after_fork.
 | 
						||
	* shared.cc (memory_init): Reorganize so that cygheap initialization is
 | 
						||
	called prior to regular heap since regular heap uses cygheap now.
 | 
						||
	* sigproc.cc (proc_subproc): Eliminate zombies allocation.
 | 
						||
	(sigproc_init): Move zombies alloation here.  Don't free up array on
 | 
						||
	fork, just reuse it.
 | 
						||
	(sigproc_fixup_after_fork): Eliminate.
 | 
						||
	* sigproc.h: Ditto.
 | 
						||
	* include/cygwin/version.h: Reflect change to perprocess structure.
 | 
						||
 | 
						||
Fri Sep  7 10:53:34 2001  Jason Tishler <jason@tishler.net>
 | 
						||
 | 
						||
	* poll.cc (poll): Change implementation to only call select() when no
 | 
						||
	invalid file descriptors are specified.
 | 
						||
 | 
						||
Fri Sep  7 10:27:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* include/limits.h: Define PIPE_BUF.
 | 
						||
	* syscalls.cc (fpathconf): Use PIPE_BUF instead of numerical constant.
 | 
						||
	(pathconf): Ditto.
 | 
						||
 | 
						||
Thu Sep  6 20:04:05 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_socket.cc (fhandler_socket::fhandler_socket): Ensure that
 | 
						||
	prot_info_ptr is zeroed for later use.
 | 
						||
 | 
						||
Thu Sep  6 14:03:49 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (cygheap_fixup_in_child): Don't consider a NULL bucket as
 | 
						||
	a candidate for deletion.  It is actually the end of a linked list
 | 
						||
	chain.
 | 
						||
 | 
						||
	* exceptions.cc (open_stackdumpfile): Default to "unknown" program name
 | 
						||
	if myself->progname hasn't been filled out yet.
 | 
						||
 | 
						||
Thu Sep  6 01:16:44 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Move appropriate variables to NO_COPY segment, throughout.
 | 
						||
 | 
						||
Thu Sep  6 00:40:35 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Remove initialization of static or global values to zero, throughout.
 | 
						||
	This just needlessly grows the size of the DLL.
 | 
						||
	* tty.cc (tty::alive): Make inuse handle non-inheriting on open, just
 | 
						||
	for thread safety.
 | 
						||
 | 
						||
Wed Sep  5 23:36:03 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.h (init_cygheap): Move bucket array here from cygheap.cc.
 | 
						||
	* cygheap.cc: Throughout use bucket array from cygheap.
 | 
						||
 | 
						||
	* sigproc.cc (proc_subproc): Dynamically allocate zombie buffer to save
 | 
						||
	DLL space.
 | 
						||
	(sigproc_fixup_after_fork): Free zombie array after a fork.
 | 
						||
	* sigproc.h (sigproc_fixup_after_fork): Declare.
 | 
						||
 | 
						||
2001-09-06  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* dir.cc (mkdir): Expand buffer for security descriptor to 4K to avoid
 | 
						||
	stack corruption.
 | 
						||
	* fhandler.cc (fhandler_base::open): Ditto.
 | 
						||
	* path.cc (symlink): Ditto.
 | 
						||
 | 
						||
Wed Sep  5 21:35:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* winver.rc: Change copyright to include 2001.
 | 
						||
 | 
						||
Wed Sep  5 12:12:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_floppy.cc (fhandler_floppy::lseek): Remove iswinnt check.
 | 
						||
 | 
						||
Wed Sep  5 11:34:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_socket.cc (fhandler_socket::close): Change 2MSL value
 | 
						||
	according to MSDN.
 | 
						||
 | 
						||
Wed Sep  5 10:14:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (cygwin_connect): Add WSAEALREADY and WSAEINVAL handling
 | 
						||
	for non-blocking sockets.
 | 
						||
 | 
						||
Tue Sep  4 22:42:13 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (ctrl_c_handler): Only send SIGINT when we have a
 | 
						||
	controlling terminal and we are the head of the process group.
 | 
						||
 | 
						||
Tue Sep  4 16:48:14 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* thread.cc (InterlockedExchangePointer): Don't define if it already
 | 
						||
	exists.
 | 
						||
 | 
						||
Tue Sep  4 22:14:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* uname.cc (uname): Eliminate os specific retrieving of x86
 | 
						||
	processor type.
 | 
						||
 | 
						||
2001-09-04  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* fhandler_console.cc (fhandler_console::char_command): Save the cursor
 | 
						||
	position relative to the top of the window.
 | 
						||
	* fhandler_cc (fhandler_console::write): Ditto.
 | 
						||
 | 
						||
Mon Sep  3 21:06:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dir.cc (opendir): Write version information to __d_dirent->d_version.
 | 
						||
 | 
						||
Mon Sep  3 18:34:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* cygwin.din: Add `dirfd'.
 | 
						||
	* dir.cc (dirfd): New function.
 | 
						||
	(opendir): Open a directory file descriptor and save it in
 | 
						||
	__d_dirent->d_fd.
 | 
						||
	(closedir): Close directory file descriptor.
 | 
						||
	* include/cygwin/version.h: Bump API minor version to 44.
 | 
						||
 | 
						||
Sun Sep  2 22:09:31 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* child_info.h: Modify magic number.
 | 
						||
	* dcrt0.cc (_cygwin_testing): Define.
 | 
						||
	(_dll_crt0): Set _cygwin_testing if CYGWIN_TESTING environment variable
 | 
						||
	exists.  Don't issue "conflicting versions" error if _cygwin_testing is
 | 
						||
	true.
 | 
						||
	* shared.cc (shared_name): Use _cygwin_testing global rather than
 | 
						||
	testing the environment.
 | 
						||
	* syscalls.cc (_write): Remove debugging info.
 | 
						||
 | 
						||
Sat Sep  1 01:37:13 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* tty.cc (tty::create_inuse): Eliminate unneeded argument.
 | 
						||
	* tty.h: Reflect above change.
 | 
						||
	* fhandler_tty.cc: Reflect argument reduction in tty::create_inuse,
 | 
						||
	throughout.  Always make inuse inheritable.
 | 
						||
 | 
						||
Sat Sep  1 01:10:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* debug.cc (mark_closed): Rename from debug_mark_closed and make
 | 
						||
	static.
 | 
						||
	(setclexec_pid): New function for marking saved handle as
 | 
						||
	close-on-exec.
 | 
						||
	(delete_handle): New function.
 | 
						||
	(debug_fixup_after_fork): New function.
 | 
						||
	* debug.h: Declare new functions, remove obsolete ones.
 | 
						||
	* fork.cc (debug_fixup_after_fork): Call to cleanup close-on-exec
 | 
						||
	handles.
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::close): Minor reorg.
 | 
						||
	(fhandler_base::set_inheritance): Set flag appropriately for debugging
 | 
						||
	when close-on-exec so forked process can delete closed handles.
 | 
						||
	* tty.h (open_output_mutex): Eliminate unneeded argument.
 | 
						||
	(open_input_mutex): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::open): reflect open_*_mutex
 | 
						||
	argument changes.
 | 
						||
	* fhandler.h (fhandler_socket): Make saw_shutdown_* functions type
 | 
						||
	bool.
 | 
						||
	* tty.cc (tty::get_event): Eliminate unneeded argument.
 | 
						||
	(tty::common_init): Reflect change to get_event.  Events should always
 | 
						||
	be inherited.
 | 
						||
 | 
						||
Fri Aug 31 21:39:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (create_token): Change initialization of `exp' to comply
 | 
						||
	with new LARGE_INTEGER definition in winnt.h.
 | 
						||
 | 
						||
Fri Aug 31 13:58:51 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygwin.sc: Revert to previous NO_COPY behavior.
 | 
						||
	* winsup.h: Ditto.
 | 
						||
	* sigproc.cc: Ditto.
 | 
						||
	* autoload.cc: Ditto.
 | 
						||
 | 
						||
Fri Aug 31 00:56:26 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygwin.sc: New file -- linker script for building cygwin DLL.
 | 
						||
	* Makefile.in: Use linker script to control location of cygheap.
 | 
						||
	* cygheap.cc (buckets): Make static.
 | 
						||
	(init_cheap): Remove special iswinnt handling.  Allocate cygheap at a
 | 
						||
	fixed location.  Display more info when allocation fails.
 | 
						||
	(cygheap_fixup_in_child): Try harder to move cygheap to correct
 | 
						||
	location.  Display more info when allocation fails.
 | 
						||
	* fhandler.h (fhandler_socket): Add macros for tracking socket shutdown
 | 
						||
	state.
 | 
						||
	* net.cc (cygwin_shutdown): Set appropriate shutdown value for future
 | 
						||
	use.
 | 
						||
	* select.cc (select_stuff::cleanup): New method.
 | 
						||
	(cygwin_select): Call cleanup explicitly to avoid a race.
 | 
						||
	(select_stuff:~select_stuff): Call cleanup chain via cleanup method.
 | 
						||
	(fhandler_socket::select_read): Set *_ready when shutdown has been
 | 
						||
	called on the socket.
 | 
						||
	(fhandler_socket::select_write): Ditto.
 | 
						||
	(fhandler_socket::select_except): Ditto.
 | 
						||
 | 
						||
	* winsup.h: Move NO_COPY to "COMMON" section.
 | 
						||
	* autoload.cc (wsock_started): Avoid initializing NO_COPY value.
 | 
						||
	* sigproc.cc: Remove initialization from NO_COPY variables.
 | 
						||
	(sigproc_init): Initialize sig_loop_wait here, rather than via
 | 
						||
	initialization.
 | 
						||
	(subproc_init): Initialize proc_loop_wait here, rather than via
 | 
						||
	initialization.
 | 
						||
 | 
						||
Thu Aug 30 10:19:00 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* select.cc (select_read): Add setting read_ready flag.
 | 
						||
	(select_write): Add setting write_ready flag.
 | 
						||
 | 
						||
Wed Aug 29 00:40:42 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Avoid splitting off leading '/' in path
 | 
						||
	component when building a symlink.
 | 
						||
 | 
						||
Wed Aug 29  0:45:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* resource.cc (getrlimit): Return actual values on RLIMIT_STACK.
 | 
						||
 | 
						||
Tue Aug 28 16:37:17 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dir.cc (rmdir): Report ENOENT when file doesn't exist rather than
 | 
						||
	ENOTDIR.
 | 
						||
 | 
						||
Mon Aug 27 11:58:19 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* select.cc (cygwin_select): Ensure that arguments are zeroed on
 | 
						||
	timeout.
 | 
						||
	(select_stuff::wait): Ditto.
 | 
						||
 | 
						||
2001-08-24  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* syscalls.cc (check_tty_fds): New function.  Check whether there is a
 | 
						||
	fd referring to pty slave.
 | 
						||
	(setsid): Don't detach console if the process has a pty slave.
 | 
						||
 | 
						||
Fri Aug 24  8:54:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (free_addr_list): Add define for symmetry.
 | 
						||
	(free_hostent_ptr): Use free_addr_list to free h_addr_list element.
 | 
						||
 | 
						||
Thu Aug 23 16:00:09 2001  Jason Tishler <jason@tishler.net>
 | 
						||
 | 
						||
	* net.cc (dup_addr_list): New static function.
 | 
						||
	(dup_hostent_ptr): Use dup_addr_list instead of dup_char_list in order
 | 
						||
	to handle embedded null characters.
 | 
						||
 | 
						||
Wed Aug 22 22:23:14 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dtable.cc (dtable::dup2): Allow extension of fd table by dup2.
 | 
						||
	* syscalls.cc: Minor code cleanup.
 | 
						||
	(fpathconf): Check for bad fd before doing anything else.
 | 
						||
	* termios.cc (tcsetattr): Don't convert to new termios if bad fd.
 | 
						||
	(tcgetattr): Minor debugging tweak.
 | 
						||
 | 
						||
Wed Aug 22 23:41:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (cygwin_inet_ntoa): Rearrange previous patch to use
 | 
						||
	thread local buffer space when compiled thread safe.
 | 
						||
	(cygwin_getprotobyname): Ditto.
 | 
						||
	(cygwin_getprotobynumber): Ditto.
 | 
						||
	(cygwin_getservbyname): Ditto.
 | 
						||
	(cygwin_getservbyport): Ditto.
 | 
						||
	(cygwin_gethostbyname): Ditto.
 | 
						||
	(cygwin_gethostbyaddr): Ditto. Move near to cygwin_gethostbyname.
 | 
						||
	* thread.h (struct _winsup_t): Add pointers for above used buffer space.
 | 
						||
	* passwd.cc (getpwduid): Remove initializing passwd.
 | 
						||
	(setpwent): Ditto.
 | 
						||
	(endpwent): Ditto.
 | 
						||
	(setpassent): Ditto.
 | 
						||
 | 
						||
Wed Aug 22 13:41:09 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* smallprint.c (console_printf): New function.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Use console_printf for debugging output.
 | 
						||
	* debug.cc (debug_mark_closed): New function.
 | 
						||
	(close_handle): Use debug_mark_closed.
 | 
						||
	* debug.h: Declare new functions.
 | 
						||
	* dtable.cc (dtable::build_fhandler): Remove unneeded extern.
 | 
						||
	* spawn.cc: Cosmetic changes.
 | 
						||
	* winsup.h: Define NO_COPY for C files, too.  Declare a global.
 | 
						||
 | 
						||
Wed Aug 22 17:31:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (free_char_list): New static function.
 | 
						||
	(dup_char_list): Ditto.
 | 
						||
	(free_protoent_ptr): Ditto.
 | 
						||
	(dup_protoent_ptr): Ditto.
 | 
						||
	(free_servent_ptr): Ditto.
 | 
						||
	(dup_servent_ptr): Ditto.
 | 
						||
	(free_hostent_ptr): Ditto.
 | 
						||
	(dup_hostent_ptr): Ditto.
 | 
						||
	(cygwin_inet_ntoa): Use local static buffer to allow propagating of
 | 
						||
	the result to child processes.
 | 
						||
	(cygwin_getprotobyname): Ditto.
 | 
						||
	(cygwin_getprotobynumber): Ditto.
 | 
						||
	(cygwin_getservbyname): Ditto.
 | 
						||
	(cygwin_getservbyport): Ditto.
 | 
						||
	(cygwin_gethostbyname): Ditto.
 | 
						||
	(cygwin_gethostbyaddr): Ditto.
 | 
						||
 | 
						||
Mon Aug 20 11:56:19 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (init_cheap): Allocate cygheap in shared memory for Windows NT.
 | 
						||
 | 
						||
Thu Aug 16 09:38:59 2001  Jason Tishler <jason@tishler.net>
 | 
						||
 | 
						||
	* fhandler_socket.cc (fhandler_socket::create_secret_event): Relax
 | 
						||
	security of secret_event so AF_UNIX socket clients can connect to
 | 
						||
	servers even if running under a different user account.
 | 
						||
	(fhandler_socket::check_peer_secret_event): Ditto.
 | 
						||
 | 
						||
Thu Aug 16 16:26:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* resource.cc (getrlimit): Return getdtablesize () as current limit
 | 
						||
	on RLIMIT_NOFILE.
 | 
						||
	* syscalls.cc (getdtablesize): Return OPEN_MAX if current dtable size
 | 
						||
	is less than OPEN_MAX, the current dtable size otherwise.
 | 
						||
	* sysconf.cc (sysconf): Return getdtablesize () on _SC_OPEN_MAX.
 | 
						||
 | 
						||
Thu Aug 16 16:17:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* resource.cc (getrlimit): Return OPEN_MAX as current limit
 | 
						||
	on RLIMIT_NOFILE.
 | 
						||
	* syscalls.cc (getdtablesize): Return OPEN_MAX.
 | 
						||
	* sysconf.cc (sysconf): Return OPEN_MAX on _SC_OPEN_MAX.
 | 
						||
	* include/limits.h (OPEN_MAX): Define as 256.
 | 
						||
 | 
						||
Wed Aug 15 12:43:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* times.cc (utimes): Revert previous change. Just open the
 | 
						||
	file using FILE_WRITE_ATTRIBUTES instead of GENERIC_WRITE
 | 
						||
	on NT/W2K.
 | 
						||
 | 
						||
Wed Aug 15 12:18:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (set_nt_attribute): Return always -1 in case of
 | 
						||
	a failure.
 | 
						||
	* times.cc (utimes): On NTFS with ntsec ON, change the file's
 | 
						||
	security descriptor temporarily to acquire write access if
 | 
						||
	opening the file failed.
 | 
						||
 | 
						||
Wed Aug 15  9:42:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::is_nonblocking): New method.
 | 
						||
	(fhandler_base::set_nonblocking): Ditto.
 | 
						||
	* fhandler.h (fhandler_base): Declare new methods `is_nonblocking' and
 | 
						||
	`set_nonblocking'.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::ioctl): Use `set_nonblocking'.
 | 
						||
	* fhandler_tty.cc (fhandler_pty_master::process_slave_output):
 | 
						||
	Use `is_nonblocking'.
 | 
						||
	(fhandler_tty_slave::read): Ditto.
 | 
						||
	(fhandler_tty_slave::ioctl): Use `set_nonblocking'.
 | 
						||
	(fhandler_pty_master::ioctl): Ditto.
 | 
						||
	* net.cc (cygwin_sendto): Fallback to winsock 1 functionality
 | 
						||
	in case of nonblocking IO.
 | 
						||
	(cygwin_recvfrom): Ditto.
 | 
						||
	(cygwin_recv): Ditto.
 | 
						||
	(cygwin_send): Ditto.
 | 
						||
	* syscalls.cc (_read): Use `is_nonblocking'.
 | 
						||
 | 
						||
Tue Aug 14 11:05:26 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump API version.
 | 
						||
 | 
						||
2001-08-14  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* spawn.cc (spawn_guts): Enable appropriate privilege before
 | 
						||
	loading user's registry hive.
 | 
						||
 | 
						||
Mon Aug 13 22:34:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::fcntl): Use new O_NONBLOCK_MASK define.
 | 
						||
	* fhandler.h: Move definitions of O_NOSYMLINK, O_DIROPEN and
 | 
						||
	OLD_O_NDELAY from winsup.h to here. Add O_NONBLOCK_MASK define.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::close): Add hack to allow
 | 
						||
	a graceful shutdown even if shutdown() hasn't been called by the
 | 
						||
	application. Add debug output.
 | 
						||
	(fhandler_socket::ioctl): Set fhandler's NONBLOCK flag according
 | 
						||
	to FIONBIO setting.
 | 
						||
	(fhandler_socket::fcntl): Use new O_NONBLOCK_MASK define. Actually
 | 
						||
	set `request' before using it.
 | 
						||
	* fhandler_tty.cc: Use new O_NONBLOCK_MASK define throughout.
 | 
						||
	(fhandler_tty_slave::ioctl): Set fhandler's NONBLOCK flag according
 | 
						||
	to FIONBIO setting.
 | 
						||
	(fhandler_pty_master::ioctl): Ditto.
 | 
						||
	* net.cc (wsock_event::prepare): Compare WSACreateEvent return code
 | 
						||
	with `WSA_INVALID_EVENT' according to MSDN.
 | 
						||
	* syscalls.cc (_read): Use new O_NONBLOCK_MASK define.
 | 
						||
 | 
						||
Wed Aug  8 15:24:59 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/wchar.h: Define __need_wint_t.
 | 
						||
 | 
						||
Wed Aug  8 11:46:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (alloc_sd): Revert to setting inheritance attribute for
 | 
						||
	permissions given to directories. Never set inheritance on NULL ACE.
 | 
						||
 | 
						||
Tue Aug  7 18:11:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (alloc_sd): Don't set FILE_DELETE_CHILD for group
 | 
						||
	if S_ISVTX attribute is given.
 | 
						||
	* dir.cc (mkdir): Allow immediate setting of S_ISUID, S_ISGID and
 | 
						||
	S_ISVTX attribute.
 | 
						||
	* syscalls.cc (_open): Ditto.
 | 
						||
 | 
						||
Tue Aug  7 16:24:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dir.cc (mkdir): Set security attributes correctly for
 | 
						||
	CreateDirectoryA () call if ntsec is on. Don't call
 | 
						||
	set_file_attributes () then.
 | 
						||
	* fhandler.cc (fhandler_base::open): Ditto for CreateFileA () call.
 | 
						||
	* path.cc (symlink): Ditto.
 | 
						||
	* security.cc (set_security_attribute): New function.
 | 
						||
	* security.h: Add declaration for `allow_ntea' and
 | 
						||
	`set_security_attribute'.
 | 
						||
 | 
						||
Tue Aug  7 10:54:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* grp.cc (class grp_check): New class. Make `group_state'
 | 
						||
	a member of class grp_check.
 | 
						||
	(read_etc_group): Free former allocated memory on reread.
 | 
						||
	* passwd.cc (class pwd_check): New class Make `passwd_state'
 | 
						||
	a member of class pwd_check.
 | 
						||
	(read_etc_passwd): Free former allocated memory on reread.
 | 
						||
 | 
						||
Tue Aug  7 01:13:58 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_console.cc (get_tty_stuff): Don't initialize shared memory
 | 
						||
	console area if it is already initialized.
 | 
						||
 | 
						||
	* fhandler_termios.cc (fhandler_termios::tcsetpgrp): Augment debugging
 | 
						||
	info.
 | 
						||
 | 
						||
Mon Aug  6 19:58:43 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (cygheap_root::set): Avoid treating '/' specially.
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::fcntl): Only set specific O_NDELAY style
 | 
						||
	flag passed in from application.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::fcntl): Ditto.
 | 
						||
	* fhandler.h: Set constant for future use.
 | 
						||
	* winsup.h: Define OLD_O_NDELAY only for old programs.
 | 
						||
	* include/cygwin/version.h: Define
 | 
						||
	CYGWIN_VERSION_CHECK_FOR_OLD_O_NONBLOCK.
 | 
						||
 | 
						||
Sat Aug  4 16:52:03 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Throughout, change check for running under Windows NT to 'iswinnt'.
 | 
						||
	* dcrt0.cc (set_os_type): Set 'iswinnt' appropriately.
 | 
						||
	* cygheap.cc (init_cheap): Revert to using VirtualAlloc for allocating
 | 
						||
	cygheap.
 | 
						||
	(cygheap_setup_for_child_cleanup): New function.  Standard function to
 | 
						||
	call after calling CreateProcess to cleanup cygheap info passed to
 | 
						||
	child.
 | 
						||
	(cygheap_fixup_in_child): Copy cygheap from shared memory into
 | 
						||
	allocated space under Windows 9x or if can't relocate shared space
 | 
						||
	under NT.
 | 
						||
	* cygheap.h: Declare new function.
 | 
						||
	* spawn.cc (spawn_guts): Use cygheap_fixup_in_child.
 | 
						||
	* fork.cc (fork_parent): Ditto.
 | 
						||
	* winsup.h: Declare iswinnt.
 | 
						||
 | 
						||
2001-08-04  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* dtable.cc (dtable::release): Avoid messing with console when
 | 
						||
	closing socket.
 | 
						||
 | 
						||
Fri Aug  3 14:02:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (cygwin_accept): Allow NULL peer and len parameters.
 | 
						||
	* include/cygwin/socket.h: Define socklen_t as int.
 | 
						||
 | 
						||
Fri Aug  3 13:04:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (fchdir): Set the fhandler's path to absolute value to ensure
 | 
						||
	changing to the correct directory even if the fhandler originally
 | 
						||
	points to a relative path.
 | 
						||
 | 
						||
Thu Aug  2 17:59:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (set_file_attribute): Clean up. Don't call
 | 
						||
	`set_nt_attribute' when ntsec isn't set.
 | 
						||
 | 
						||
Sat Jul 28 22:30:55 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dcrt0.cc (alloc_stack_hard_way): Make half-hearted attempt to deal
 | 
						||
	with growing stack under Windows 95.
 | 
						||
 | 
						||
Fri Jul 27 12:36:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* Makefile.in: Add install-lib and install-headers.
 | 
						||
 | 
						||
Fri Jul 27 12:28:12 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygwin.din: Export sys_errlist, sys_nerr.
 | 
						||
	* include/cygwin/version.h: Bump minor version number.
 | 
						||
 | 
						||
Fri 27 Jul 2001 10:29:00  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (get_user_primary_group): Fix compiler warning.
 | 
						||
	(alloc_sd): Add DELETE permission for user when S_IWUSR is given.
 | 
						||
 | 
						||
Thu Jul 26 16:43:39 2001  Pieter de Visser <pieterdv@knoware.nl>
 | 
						||
 | 
						||
	* thread.cc (__pthread_equal): Invert return value so that true is
 | 
						||
	returned when threads are equal.
 | 
						||
 | 
						||
Thu Jul 26 15:50:38 2001  Charles Wilson <cwilson@ece.gatech.edu>
 | 
						||
			  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygwin.din: Export __signgam.
 | 
						||
	* include/cygwin/version.h: Bump minor version number.
 | 
						||
 | 
						||
Thu Jul 26 15:19:50 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Throughout, reorganize header file inclusion to put security.h prior to
 | 
						||
	fhandler.h.
 | 
						||
	* fhandler.h (fhandler_base::get_inheritance): New method.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::create_secret_event): Use proper
 | 
						||
	close-on-exec inheritance when creating.
 | 
						||
	(fhandler_socket::check_peer_secret_event): Create handle as
 | 
						||
	non-inheritable.
 | 
						||
 | 
						||
2001-07-25  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* syscalls.cc (setsid): Detach process from its console if the current
 | 
						||
	controlling tty is the console and already closed.
 | 
						||
	* dtable.h (class dtable): Add members to count descriptors referring
 | 
						||
	to the console.
 | 
						||
	* dtable.cc (dtable::dec_console_fds): New function to detach process
 | 
						||
	from its console.
 | 
						||
	(dtable::release): Decrement the counter of console descriptors.
 | 
						||
	(dtable::build_fhandler): Increment it.
 | 
						||
	* exception.cc (ctrl_c_handler): Send SIGTERM to myself when catch
 | 
						||
	CTRL_SHUTDOWN_EVENT.
 | 
						||
 | 
						||
Tue 24 Jul 2001 02:28:00 PM  Trevor Forbes <t4bs@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (verifyable_object_isvalid): Don't validate
 | 
						||
	PTHREAD_MUTEX_INITIALIZER pointer as it will cause an exception
 | 
						||
	in IsBadWritePtr() when running GDB.
 | 
						||
 | 
						||
Wed 25 Jul 2001 23:46:00  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* localtime.c: Changed whole file to become C++ clean. Rename to
 | 
						||
	localtime.cc.
 | 
						||
	* localtime.cc (tzload): Preserve errno.
 | 
						||
 | 
						||
Fri 20 Jul 2001 11:15:50 PM EDT  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (cygheap_fixup_in_child): Attempt Win95 workaround.
 | 
						||
	* dtable.cc (dtable::dup_worker): Add debugging output.
 | 
						||
	(dtable::vfork_child_dup): Correctly set close_on_exec.
 | 
						||
	* fhandler.cc (fhandler_base::fork_fixup): Don't mess with handle if
 | 
						||
	there is no need to get it from the parent.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::close): Add debugging output.
 | 
						||
 | 
						||
Fri 20 Jul 2001 09:15:00  Mark Bradshaw <bradshaw@staff.crosswalk.com>
 | 
						||
 | 
						||
	* dir.cc (readdir): Protect FindNextFileA against INVALID_HANDLE_VALUE.
 | 
						||
 | 
						||
Wed 18 Jul 2001 01:00:47 PM EDT  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (_cmalloc): Use correct constants for size calculation.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Move uid initialization earlier.
 | 
						||
	* fork.cc (fork_parent): Move cygheap_setup_in_child to just prior to
 | 
						||
	CreateProcess so that all contents of cygheap are copied.
 | 
						||
	* spawn.cc (spawn_guts): Ditto.
 | 
						||
 | 
						||
Wed 18 Jul 2001 12:54:17  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (get_user_groups): Call Net function with NULL server
 | 
						||
	name under specific error conditions.
 | 
						||
	(is_group_member): Ditto.
 | 
						||
	(get_user_local_groups): Ditto.
 | 
						||
	(get_user_primary_group): Ditto.
 | 
						||
 | 
						||
Wed 18 Jul 2001 11:56:00  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (_unlink): Explicitly check for non-existant file.
 | 
						||
 | 
						||
Tue 17 Jul 2001 10:19:00  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* delqueue.h: Remove obsolete file.
 | 
						||
 | 
						||
Mon 16 Jul 2001 10:47:17 PM EDT  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* child_info.h: Bump magic number.
 | 
						||
	(class child_info): Add an element.
 | 
						||
	* cygheap.cc (init_cheap): Allocate cygwin heap in shared memory area.
 | 
						||
	(cygheap_fixup_in_child): Map cygwin heap, passed from parent via
 | 
						||
	shared memory into correct address.
 | 
						||
	(cygheap_setup_for_child): New function.
 | 
						||
	* cygheap.h: Declare new functions.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Accommodate new cygheap_fixup_in_child
 | 
						||
	arguments.  Avoid protecting subproc_ready unless it is spawn/nowait.
 | 
						||
	* fork.cc (fork_parent): Use new cygheap_setup_for_child function to
 | 
						||
	setup cygwin heap info.  Close passed cygheap shared memory handle.
 | 
						||
	* spawn.cc (spawn_guts): Ditto.  Also, reorganize to avoid
 | 
						||
	synchronization between parent and child in non-P_OVERLAY case.
 | 
						||
	* sigproc.cc (wait_sig): Only signal subproc_ready when execing.
 | 
						||
 | 
						||
Mon 16 Jul 2001 15:21:00  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* grp.cc: Add missing Copyright date 2001.
 | 
						||
 | 
						||
Mon 16 Jul 2001 00:11:00  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	Change well_known_admin_sid to well_known_admins_sid throughout.
 | 
						||
	* sec_acl.cc (setacl): Never set DELETE permission. Set
 | 
						||
	FILE_DELETE_CHILD only on readable and executable directories.
 | 
						||
	* sec_helper.cc: Add constructor for `well_known_null_sid'.
 | 
						||
	* security.cc (get_nt_attribute): Set S_ISVTX for directories if
 | 
						||
	FILE_WRITE_DATA and FILE_EXECUTE but not FILE_DELETE_CHILD is set.
 | 
						||
	Add evaluation of S_ISVTX, S_ISGID and S_ISUID from NULL ACE.
 | 
						||
	(alloc_sd): Never set DELETE permission. Set FILE_DELETE_CHILD
 | 
						||
	only on readable and executable directories.
 | 
						||
	Add creation of NULL ACE for S_ISVTX, S_ISGID and S_ISUID permissions.
 | 
						||
	* security.h: Add extern declaration for `well_known_null_sid'.
 | 
						||
 | 
						||
Fri 13 Jul 2001 08:08:49 PM EDT  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (stat_worker): Simplify previous change.
 | 
						||
 | 
						||
Fri Jul 13 13:13:09 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (_unlink): Correct (?) logic which determines when
 | 
						||
	to report an access violation and when to queue file for eventual
 | 
						||
	deletion.
 | 
						||
	(stat_worker): Check for invalid buf argument.
 | 
						||
 | 
						||
Tue Jul 10 23:01:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (fhandler_disk_file::mmap): Try to open file mappings
 | 
						||
	by a unified name when running under 9x/ME. If that failes, create
 | 
						||
	the file mapping using the unified name.
 | 
						||
 | 
						||
Mon Jul  9 10:43:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* uinfo.cc (internal_getlogin): Add pointer check.
 | 
						||
 | 
						||
Mon Jul  9 10:05:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (alloc_sd): Don't set inheritance attribute for
 | 
						||
	permissions given to directories.
 | 
						||
 | 
						||
Thu Jun 28 22:19:08 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_dsp.cc (fhandler_dev_dsp::ioctl): Return 0 for success.
 | 
						||
 | 
						||
Wed Jun 27 22:19:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Add signal protection here since
 | 
						||
	retrieving info about remote shares can take some time.
 | 
						||
 | 
						||
Wed Jun 27 23:30:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
			  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Change check_null_empty_path* to check_null_empty_str* throughout.
 | 
						||
	* path.h (check_null_empty_str_errno): Convert to a function prototype.
 | 
						||
	* path.cc (check_null_empty_str): Move to miscfuncs.cc.
 | 
						||
	* miscfuncs.cc (check_null_empty_str_errno): New function.
 | 
						||
	(__check_null_invalid_struct): Ditto.
 | 
						||
	(__check_null_invalid_struct_errno): Ditto.
 | 
						||
	(check_null_empty_str): Change from VirtualQuery to IsBadWritePtr.
 | 
						||
	* thread.cc (check_valid_pointer): Ditto.
 | 
						||
	* resource.cc (getrlimit): Use check_null_invalid_struct macro for
 | 
						||
	checking validity of pointer.
 | 
						||
	(setrlimit): Ditto.
 | 
						||
 | 
						||
Tue Jun 26 16:59:16 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::fstat): Don't rely on exactly 3
 | 
						||
	characters being read for executable test since we could be checking
 | 
						||
	for less than that.
 | 
						||
	* syscalls.cc (stat_worker): Try opening the file the "correct" way
 | 
						||
	first so that #! processing can potentially happen.  If that fails,
 | 
						||
	then use "query open" method.
 | 
						||
 | 
						||
	* spawn.cc (spawn_guts): Delay processing of signal until after we've
 | 
						||
	notified parent about reparenting.
 | 
						||
 | 
						||
Tue Jun 26 10:47:24 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* mmap.cc: Clean up *ResourceLock calls throughout.
 | 
						||
 | 
						||
Tue Jun 26 22:10:00 2001  Robert Collins rbtcollins@hotmail.com
 | 
						||
 | 
						||
	* thread.cc (pthread_cond::TimedWait): Check for WAIT_TIMEOUT as well
 | 
						||
	as WAIT_ABANDONED.
 | 
						||
	(__pthread_cond_timedwait): Calculate a relative wait from the abstime
 | 
						||
	parameter.
 | 
						||
 | 
						||
Sun Jun 24 17:38:19 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (interrupt_setup): Move actions from setup_handler to
 | 
						||
	here.
 | 
						||
	(setup_handler): Move actions after a successful interrupt to
 | 
						||
	interrupt_setup.
 | 
						||
	* fork.cc (vfork): Augment debugging output.
 | 
						||
	* sigproc.cc (proc_subproc): Ditto.
 | 
						||
	* spawn.cc (spawn_guts): Ditto.  Correctly fill out progname when spawn
 | 
						||
	NO_WAIT.  Call signal handler when a signal arrives.
 | 
						||
	* sigproc.h: Declare a function.
 | 
						||
 | 
						||
Fri Jun 22 16:50:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.h class fhandler_socket): Declare new method
 | 
						||
	`set_close_on_exec'.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::set_close_on_exec):
 | 
						||
	New method.
 | 
						||
 | 
						||
Fri Jun 22 16:12:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_tape.cc (fhandler_dev_tape::tape_erase): Set size
 | 
						||
	parameter to value expected by GetTapeParameters().
 | 
						||
 | 
						||
Thu Jun 21 22:01:39 2001  Marius Gedminas <mgedmin@delfi.lt>
 | 
						||
 | 
						||
	* fhandler_console.cc (fhandler_console::read): Detect AltGr more
 | 
						||
	robustly on WinNT.
 | 
						||
 | 
						||
2001-06-22  Robert Collins  <rbbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (__pthread_cond_timedwait): Lock the waiting mutex before
 | 
						||
	the condition protect mutex to avoid deadlocking. (Found by Greg Smith).
 | 
						||
	(__pthread_cond_wait): Ditto.
 | 
						||
 | 
						||
2001-06-30  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::open): Work around windows bug when
 | 
						||
	CreateFile() with dwDesiredAccess == 0 called on remote share returns
 | 
						||
	valid handle even if file doesn't exist.
 | 
						||
 | 
						||
2001-06-20  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler_socket.cc (fhandler_socket::signal_secret_event): New
 | 
						||
	function.
 | 
						||
	* fhandler.h: Declare it.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::create_secret_event): Don't
 | 
						||
	signal secret event immediately.
 | 
						||
	(fhandler_socket::check_peer_secret_event): Do it after peer event
 | 
						||
	was opened.
 | 
						||
	* net.cc (cygwin_connect): Or if socket is non-blocking.
 | 
						||
	(cygwin_accept): Ditto.
 | 
						||
 | 
						||
Mon Jun 18 17:09:25 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::init): Revert 2001-06-16 change.
 | 
						||
 | 
						||
	* fork.cc (fork_copy): Print more debugging info.
 | 
						||
	(fork_parent): Change order of arguments to accomdate buggy gcc.
 | 
						||
	(fork): Ditto.
 | 
						||
 | 
						||
Sun Jun 17 18:54:46 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (_unlink): Reorganize to try harder to delete file with
 | 
						||
	DeleteFile and to recover more gracefully if FILE_FLAG_DELETE_ON_CLOSE
 | 
						||
	doesn't work properly.
 | 
						||
 | 
						||
Sat Jun 16 13:06:49 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (sig_handle_tty_stop): Reset PID_STOPPED if not
 | 
						||
	actually stopping.
 | 
						||
	* fhandler_console.cc (fhandler_console::fixup_after_fork): Don't set
 | 
						||
	controlling terminal if just inheriting a handle.
 | 
						||
	(fhandler_console::fixup_after_exec): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::init): Ditto.
 | 
						||
	* signal.cc (kill_worker): Set appropriate errno if proc_exists
 | 
						||
	determines that process does not really exist.
 | 
						||
 | 
						||
Fri Jun 15 14:34:19 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Deal more robustly with foo/ behavior.
 | 
						||
 | 
						||
Fri Jun 15 11:15:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_tape.cc (fhandler_dev_tape::tape_status): Set size
 | 
						||
	parameter to value expected by GetTapeParameters().
 | 
						||
 | 
						||
Thu Jun 14 20:19:46 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::fstat): Properly set executable bits
 | 
						||
	for directory when !ntsec && !ntea.  Also move common code prior to
 | 
						||
	call to get_attributes.
 | 
						||
 | 
						||
Fri June 15 09:25:00  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (pthread_cond::Signal): Release the condition access
 | 
						||
	variable correctly.
 | 
						||
 | 
						||
2001-06-14  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::open): Set win32 access flags to 0, when
 | 
						||
	requested.
 | 
						||
	* fhandler.h: New status flag FH_QUERYOPEN.
 | 
						||
	(fhandler::get_query_open): New function.
 | 
						||
	(fhandler::set_query_open): Ditto.
 | 
						||
	* syscalls.cc (stat_worker): Request query-only open mode.
 | 
						||
 | 
						||
2001-06-12  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* environ.cc (set_file_api_mode): New function. Move setting
 | 
						||
	of file APIs mode (OEM/ANSI) here.
 | 
						||
	(codepage_init): From here.
 | 
						||
	* winsup.h (set_file_api_mode): Declare it.
 | 
						||
	* fork.cc (fork_child): Set file APIs mode in forkee.
 | 
						||
 | 
						||
Mon Jun 11 14:19:49 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* pinfo.cc: Use autoloaded ToolHelp functions throughout for Win9x.
 | 
						||
	* autoload.cc: Autoload ToolHelp functions.
 | 
						||
 | 
						||
	* sigproc.cc (proc_subproc): Incorporate SIGCHLD == SIG_IGN special
 | 
						||
	handling of zombie processes.  Ensure that zombie processes which are
 | 
						||
	at the end of the zombie array are properly cleaned up.
 | 
						||
 | 
						||
Mon Jun 11 11:18:56 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (chdir): Fix call to path_conv constructor so that it REALLY
 | 
						||
	doesn't check for the null/non-empty path.
 | 
						||
 | 
						||
Sun Jun 10 23:34:09 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::update_fs_info): Don't consider remote drives to
 | 
						||
	be NTFS.  Set root_dir before invoking GetDriveType (from Kazuhiro
 | 
						||
	Fujieda <fujieda@jaist.ac.jp>).  Eliminate extra checks for rootdir.
 | 
						||
 | 
						||
Sun Jun 10 20:19:47 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (chdir): Pre-check path for validity before eating trailing
 | 
						||
	space.  Then, ensure that path_conv doesn't check the path for validity
 | 
						||
	again.
 | 
						||
 | 
						||
Sun Jun 10 12:56:00 2001  Christopher Faylor <cgf@redhat.com>
 | 
						||
 | 
						||
	* exceptions.cc (sigdelayed): Ensure that signal is cleared as
 | 
						||
	the last operation or suffer races.
 | 
						||
	* sigproc.cc (proc_subproc): Deal with zombie array overflow.
 | 
						||
 | 
						||
Sun Jun 10 11:56:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	 * cygwin.din: Add fchdir symbols.
 | 
						||
	 * path.cc (chdir): Guard against invalid parameter.
 | 
						||
	 (fchdir): New function.
 | 
						||
	 * include/cygwin/version.h: Bump API minor version to 40.
 | 
						||
	 * uinfo.cc (internal_getlogin): Remove unused variable.
 | 
						||
 | 
						||
Sat Jun  9 23:20:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (seteuid): Set environment variables USERNAME and
 | 
						||
	USERDOMAIN before impersonation to workaround a LookupAccountSid()
 | 
						||
	misbehaviour.
 | 
						||
	* uinfo.cc (internal_getlogin): Revert most of the previous change.
 | 
						||
	Don't set environment variables USERNAME and USERDOMAIN. That's
 | 
						||
	the job of seteuid() now. Try to get logon server from Lsa
 | 
						||
	only if logon server isn't already known.
 | 
						||
 | 
						||
Thu Jun  7 15:54:32 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (pthread_cond::Broadcast): Don't print error messages on
 | 
						||
	invalid mutexs - user programs are allowed to call
 | 
						||
	pthread_cond_broadcast like that.
 | 
						||
	(__pthread_cond_timedwait): Initialise themutex properly.
 | 
						||
	(__pthread_cond_wait): Initialise themutex properly.
 | 
						||
 | 
						||
Tue Jun  5 19:56:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_console.cc (fhandler_console::dup): Allocate space for
 | 
						||
	savebuf on Cygwin heap.
 | 
						||
	(fhandler_console::char_command): Ditto. Use correct values for size.
 | 
						||
 | 
						||
2001-06-05  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* security.h (NTWriteEA): Change prototype.
 | 
						||
	* ntea.cc (NTReadEA): Don't check for global ntea setting, now
 | 
						||
	it's caller responsibility.
 | 
						||
	(NTWriteEA): Ditto.
 | 
						||
	* security.cc (get_file_attribute): Read attribute from EA only
 | 
						||
	if 'ntea' is enabled.
 | 
						||
	(set_file_attribute): Ditto.
 | 
						||
	* path.h: (class path_conv): Add members to store file system
 | 
						||
	information.
 | 
						||
	(path_conv::get_drive_type): New function.
 | 
						||
	* syscalls.cc (stat_worker): Use it.
 | 
						||
	* path.cc (path_conv::update_fs_info): New functions.
 | 
						||
	(path_conv::check): Get file system information from device where
 | 
						||
	file resides. On NTFS, try to read symlink contents from EA.
 | 
						||
	(get_symlink_ea): New function.
 | 
						||
	(set_symlink_ea): Ditto.
 | 
						||
	(symlink): Store symlink in extended attribute, if possible.
 | 
						||
 | 
						||
Tue Jun  5 11:18:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::fstat): Always reset file position
 | 
						||
	to original value after checking for executable magic.
 | 
						||
 | 
						||
Mon Jun  4 16:21:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* cygheap.h (cygheap_user::cygheap_user): Initialize token to
 | 
						||
	INVALID_HANDLE_VALUE.
 | 
						||
	* uinfo.cc (uinfo_init): Close token handle if needed.
 | 
						||
 | 
						||
Sun Jun  3 20:52:13 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (normalize_posix_path): Revert ..  check removed by previous
 | 
						||
	changes.
 | 
						||
	* cygheap.h: Temporarily declare path_prefix_p here.
 | 
						||
 | 
						||
Mon Jun  4  0:14:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (wsock_event): Add destructor.
 | 
						||
 | 
						||
Sun Jun  3 09:49:55 2001  Robert Collins  <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* dlfcn.cc (dlclose): Do not call FreeLibrary if the symbol to close
 | 
						||
	was obtained by dlopen(NULL,...).
 | 
						||
 | 
						||
Sat Jun  2 23:11:52 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (sleep): Try to be a little more accomodating of signal
 | 
						||
	arrival.  Ensure that the signal handler is called.
 | 
						||
 | 
						||
Sat Jun  2 14:07:28 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (cygheap_root::cygheap_root): Remove constructor.
 | 
						||
	(cygheap_root::~cygheap_root): Remove destructor.
 | 
						||
	(cygheap_root::operator =): Remove.
 | 
						||
	(cygheap_root::set): New method.
 | 
						||
	* cygheap.h (cygheap_root): Reflect above changes.  Store root info in
 | 
						||
	mount-like structure.
 | 
						||
	(cygheap_root:posix_ok): New method.
 | 
						||
	(cygheap_root::ischroot_native): Ditto.
 | 
						||
	(cygheap_root::unchroot): Ditto.
 | 
						||
	(cygheap_root::exists): Ditto.
 | 
						||
	(cygheap_root::posix_length): Ditto.
 | 
						||
	(cygheap_root::posix_path): Ditto.
 | 
						||
	(cygheap_root::native_length): Ditto.
 | 
						||
	(cygheap_root::native_path): Ditto.
 | 
						||
	* dir.cc (opendir): Remove special chroot test.
 | 
						||
	* path.cc (path_prefix_p): Remove front end.
 | 
						||
	(normalize_posix_path): Reorganize chroot tests to accommodate new
 | 
						||
	convention of allowing paths using posix chroot prefix.
 | 
						||
	(path_conv::check): Pass a "already ran normalize" option to
 | 
						||
	conv_to_win32_path.  Return if there is an error from this function.
 | 
						||
	(mount_info::conv_to_win32_path): Add extra argument.  Don't call
 | 
						||
	normalize_posix_path if caller has already done so.  Substitute chroot
 | 
						||
	setting, if any, for root translation.  Add chroot checking to final
 | 
						||
	output step.
 | 
						||
	* shared_info (mount_info): Accommodate additional argument to
 | 
						||
	conv_to_win32_path.
 | 
						||
	* syscalls.cc (chroot): Store both normalized posix path and native
 | 
						||
	path in chroot.
 | 
						||
 | 
						||
Fri Jun  1 10:57:19 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (chdir): Really make sure that isspace gets only an unsigned
 | 
						||
	char.
 | 
						||
 | 
						||
Fri Jun  1 13:45:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (_rename): Handle the case that `foo' is renamed to
 | 
						||
	`bar' while `bar.lnk' is an existing shortcut-symlink.
 | 
						||
 | 
						||
Thu May 31 15:57:57 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::fstat): Avoid clearing S_IFMT bits
 | 
						||
	since we've already pre-cleared everything anyway.
 | 
						||
 | 
						||
Wed May 30 23:51:32 2001  Earnie Boyd  <earnie_boyd@yahoo.com>
 | 
						||
 | 
						||
	* path.cc (chdir): Always send unsigned chars to isspace since newlib's
 | 
						||
	isspace doesn't deal well with "negative" chars.
 | 
						||
 | 
						||
Wed May 30 23:51:32 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Propagate remote status of
 | 
						||
	file garnered from path_conv.  Move #! checking to fstat.
 | 
						||
	(fhandler_disk_file::fstat): Reorganize st_mode setting to eliminate
 | 
						||
	duplication.  Move check for #! here from fhandler::open.
 | 
						||
 | 
						||
	* fhandler.h (fhandler_base::isremote): New method.
 | 
						||
	(fhandler_base::set_isremote): Ditto.
 | 
						||
	(fhandler_base::set_execable_p): Also record "don't care if executable
 | 
						||
	state".
 | 
						||
	(fhandler_base::dont_care_if_execable): New method.
 | 
						||
	* path.cc (path_conv::check): Clear new flags.  Appropriately set
 | 
						||
	vol_flags, drive_type, and is_remote_drive.
 | 
						||
	* path.h: Add new flags and methods for manipulating them.
 | 
						||
	* syscalls.cc (_unlink): Use isremote() to determine if a path is
 | 
						||
	remote rather than calling GetDriveType.
 | 
						||
	(stat_worker): Ditto.
 | 
						||
	* security.cc (get_file_attribute): Or attribute with result of
 | 
						||
	NTReadEA to be consistent with get_nt_attribute.
 | 
						||
 | 
						||
Tue May 29 19:02:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* sec_helper.cc (cygsid::getfrompw): Change parameter to `const'.
 | 
						||
	(cygsid::getfromgr): Ditto.
 | 
						||
	* security.cc: Use `sys_mbstowcs' and `sys_wcstombs' throughout.
 | 
						||
	(extract_nt_dom_user): Try to get user and domain from SID in
 | 
						||
	pw->pw_gecos first.
 | 
						||
	* security.h (class cygsid): Change parameter of getfrompw() and
 | 
						||
	getfromgr() to `const'.
 | 
						||
	* uinfo.cc (internal_getlogin): Change order for evaluating user
 | 
						||
	information in winNT case. Drop usage of NetWkstaUserGetInfo().
 | 
						||
 | 
						||
Mon May 28 21:34:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* shortcut.c (check_shortcut): Treat only Cygwin shortcuts as symlinks.
 | 
						||
 | 
						||
Fri May 25 11:07:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (symlink_info::check): Correctly set 'ext_tacked_on'.  Use
 | 
						||
	this to determine if user specified 'foo.lnk' explicitly.  Reorganize
 | 
						||
	slightly to get rid of one goto.
 | 
						||
 | 
						||
Fri May 25 10:15:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (symlink_info::check): Add a check to return correctly
 | 
						||
	if incoming `*.lnk' file is not a symlink.
 | 
						||
 | 
						||
Thu May 24 15:46:50 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (slash_drive_prefix_p): Remove.
 | 
						||
	(mount_info::slash_drive_to_win32_path): Ditto.
 | 
						||
	(mount_info::conv_to_win32_path): Remove slash drive prefix check.
 | 
						||
	(mount_info::add_item): Ditto.
 | 
						||
	(mount_info::del_item): Ditto.
 | 
						||
	* shared_info.h (mount_info): Remove slash_drive_to_win32_path
 | 
						||
	declaration.
 | 
						||
 | 
						||
Thu May 24 01:17:33 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (handle_exceptions): Bump repeat count for debugging
 | 
						||
	kick out.
 | 
						||
 | 
						||
	* fhandler.h (fhandler_dev_dsp): Add a fixup_after_exec.
 | 
						||
	* fhandler_dsp.cc (class Audio): Add TOT_BLOCK_SIZE to enum.
 | 
						||
	(operator new): New.
 | 
						||
	(bigwavebuffer): Declare using TOT_BLOCK_SIZE to avoid buffer overruns.
 | 
						||
	(Audio::Audio): Optimize slightly.
 | 
						||
	(fhandler_dev_dsp::open): Allocate s_audio using static buffer.
 | 
						||
	(fhandler_dev_dsp::fixup_after_exec): New function.  Ditto.
 | 
						||
 | 
						||
Wed May 23 17:45:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (seteuid): Restrict overriding external provided
 | 
						||
	user tokens to ntsec. Don't test external tokens for primary
 | 
						||
	group to evaluate if it should be overridden. Restrict creating
 | 
						||
	internal tokens to ntsec.
 | 
						||
 | 
						||
Wed May 23 10:11:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (chown_worker): Don't check for ENOSYS.
 | 
						||
 | 
						||
Tue May 22 12:20:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* signal.cc (sleep): Protect with sigframe.
 | 
						||
 | 
						||
Tue May 22 17:58:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (get_file_attribute): Don't set errno.
 | 
						||
 | 
						||
Mon May 21 15:08:00 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* configure.in: Allow --enable-newvfork to turn NEWVFORK on and off.
 | 
						||
	* configure: Regenerate.
 | 
						||
 | 
						||
Mon May 21 11:46:01 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump minor version number.
 | 
						||
 | 
						||
Sun May 20 13:26:25 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_dsp.cc: Reformat to GNU standards.
 | 
						||
	(s_audio): Change to a pointer throughout.
 | 
						||
	(fhandler_dev_dsp::open): Initialize s_audio, if required.
 | 
						||
 | 
						||
Sat May 19 23:40:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add load statements for `LookupAccountNameW',
 | 
						||
	`LsaClose', `LsaEnumerateAccountRights', `LsaFreeMemory',
 | 
						||
	`LsaOpenPolicy', `LsaQueryInformationPolicy', `NetLocalGroupEnum',
 | 
						||
	`NetLocalGroupGetMembers', `NetServerEnum', `NetUserGetGroups' and
 | 
						||
	`NtCreateToken'.
 | 
						||
	* ntdll.h: Add declaration for `NtCreateToken'.
 | 
						||
	* sec_helper.cc: Add `well_known_local_sid', `well_known_dialup_sid',
 | 
						||
	`well_known_network_sid', `well_known_batch_sid',
 | 
						||
	`well_known_interactive_sid', `well_known_service_sid' and
 | 
						||
	`well_known_authenticated_users_sid'.
 | 
						||
	(cygsid::string): Define as const method.
 | 
						||
	(cygsid::get_sid): Set psid to NO_SID on error.
 | 
						||
	(cygsid::getfromstr): Ditto.
 | 
						||
	(cygsid::getfrompw): Simplify.
 | 
						||
	(cygsid::getfromgr): Check for gr == NULL.
 | 
						||
	(legal_sid_type): Move to security.h.
 | 
						||
	(set_process_privilege): Return -1 on error, otherwise 0 or 1 related
 | 
						||
	to previous privilege setting.
 | 
						||
	* security.cc (extract_nt_dom_user): Remove `static'.
 | 
						||
	(lsa2wchar): New function.
 | 
						||
	(open_local_policy): Ditto.
 | 
						||
	(close_local_policy): Ditto.
 | 
						||
	(get_lsa_srv_inf): Ditto.
 | 
						||
	(get_logon_server): Ditto.
 | 
						||
	(get_logon_server_and_user_domain): Ditto.
 | 
						||
	(get_user_groups): Ditto.
 | 
						||
	(is_group_member): Ditto.
 | 
						||
	(get_user_local_groups): Ditto.
 | 
						||
	(sid_in_token_groups): Ditto.
 | 
						||
	(get_user_primary_group): Ditto.
 | 
						||
	(get_group_sidlist): Ditto.
 | 
						||
	(get_system_priv_list): Ditto.
 | 
						||
	(get_priv_list): Ditto.
 | 
						||
	(get_dacl): Ditto.
 | 
						||
	(create_token): Ditto.
 | 
						||
	(subauth): Return immediately if SE_TCB_NAME can't be assigned.
 | 
						||
	Change all return statements in case of error to jumps to `out'
 | 
						||
	label. Add `out' label to support cleanup.
 | 
						||
	* security.h: Add extern declarations for `well_known_local_sid',
 | 
						||
	`well_known_dialup_sid', `well_known_network_sid',
 | 
						||
	`well_known_batch_sid', `well_known_interactive_sid',
 | 
						||
	`well_known_service_sid' and `well_known_authenticated_users_sid'.
 | 
						||
	Add extern declarations for functions `create_token',
 | 
						||
	`extract_nt_dom_user' and `get_logon_server_and_user_domain'.
 | 
						||
	(class cygsid): Add method `assign'. Change operator= to call new
 | 
						||
	`assign' method. Add `debug_print' method.
 | 
						||
	(class cygsidlist): New class.
 | 
						||
	(legal_sid_type): Moved from sec_helper.cc to here.
 | 
						||
	* spawn.cc (spawn_guts) Revert reversion of previous patch.
 | 
						||
	Call `RevertToSelf' and `ImpersonateLoggedOnUser' instead of `seteuid'
 | 
						||
	again.
 | 
						||
	* syscalls.cc (seteuid): Rearranged. Call `create_token' now when
 | 
						||
	needed. Call `subauth' if `create_token' fails. Try setting token
 | 
						||
	owner and primary group only if token was not explicitely created
 | 
						||
	by `create_token'.
 | 
						||
	* uinfo.cc (internal_getlogin): Try harder to generate correct user
 | 
						||
	information. Especially don't trust return value of `GetUserName'.
 | 
						||
 | 
						||
Sat May 19 21:16:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fork.cc (fork_parent): Move atforkprepare call here.
 | 
						||
	(fork): From here.
 | 
						||
 | 
						||
Sat May 19 18:35:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add missing load statement for `CancelIo'.
 | 
						||
 | 
						||
Sat May 19 01:22:43 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* grp.cc (read_etc_group): Don't copy mutex on fork.
 | 
						||
	* pwd.cc (read_etc_passwd): Ditto.
 | 
						||
	* autoload.cc (LoadDLLfuncEx): Use LoadDLLprime to initialize DLL
 | 
						||
	specific area.
 | 
						||
 | 
						||
Fri May 18 10:31:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (wsock_event::wait): Explicitely cancel IO when a signal
 | 
						||
	arrived to avoid data loss. Fallback to blocking IO when canceling
 | 
						||
	fails.
 | 
						||
 | 
						||
Thu May 17 15:29:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (cygwin_set_impersonation_token): Never destroy
 | 
						||
	previous token object.
 | 
						||
	(subauth): Create token source with well defined identifier.
 | 
						||
 | 
						||
Wed May 16 23:27:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* uinfo.cc (uinfo_init): Just set user token to INVALID_HANDLE_VALUE.
 | 
						||
	Token value is already invalid at that point.
 | 
						||
 | 
						||
Wed May 16 21:34:00 2001  Fred Yankowski <fred@ontosys.com>
 | 
						||
 | 
						||
	* net.cc (errmap): Add missing mapping from WSAEINTR to EINTR.
 | 
						||
 | 
						||
Wed May 16 09:20:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* sec_helper.cc (legal_sid_type): Fix conditional. Change to
 | 
						||
	inline function.
 | 
						||
 | 
						||
Wed May 16 01:01:48 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* autoload.h: Eliminate.
 | 
						||
	* autoload.cc: Pull in autoload.h.  Eliminate many macros.  Rewrite to
 | 
						||
	avoid necessity of initialization routines.  Just use a standard one.
 | 
						||
	(wsock_init): New function.  Moved from net.cc.
 | 
						||
	* net.cc (wsock_init): Move to autoload.cc.
 | 
						||
	(wsadata): Make global.
 | 
						||
	* dtable.cc (dtable::build_fhandler): Use more reliable method for
 | 
						||
	checking if net stuff has been loaded.
 | 
						||
 | 
						||
Tue May 15 19:52:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fork.cc (fork): Eliminate superfluous call to getuid().
 | 
						||
	* security.h: New define `NO_SID'. Remove declarations of functions
 | 
						||
	moved to methods into class cygsid.
 | 
						||
	(class cygsid): Declare new methods `getfromstr', `get_sid',
 | 
						||
	`getfrompw', `getfromgr', `get_rid', `get_uid', `get_gid', `string'
 | 
						||
	and new constructors and operators =, == and !=.
 | 
						||
	Declare new global cygsids `well_known_XXX_sid' substituting the
 | 
						||
	corresponding `get_XXX_sid' functions. Remove declarations of
 | 
						||
	these functions.
 | 
						||
	* sec_helper.cc (well_known_admin_sid): New global variable.
 | 
						||
	(well_known_system_sid): Ditto
 | 
						||
	(well_known_creator_owner_sid): Ditto
 | 
						||
	(well_known_world_sid): Ditto
 | 
						||
	(cygsid::string): New method, substituting `convert_sid_to_string_sid'.
 | 
						||
	(cygsid::get_sid): New method, substituting `get_sid'.
 | 
						||
	(cygsid::getfromstr): New method, substituting
 | 
						||
	`convert_string_sid_to_sid'.
 | 
						||
	(cygsid::getfrompw): New method, substituting `get_pw_sid'.
 | 
						||
	(cygsid::getfromgr): New method, substituting `get_gr_sid'.
 | 
						||
	(cygsid::get_id): New method, substituting `get_id_from_sid'.
 | 
						||
	(get_admin_sid): Eliminated.
 | 
						||
	(get_system_sid): Ditto.
 | 
						||
	(get_creator_owner_sid): Ditto.
 | 
						||
	(get_world_sid): Ditto.
 | 
						||
	* grp.cc: Use new cygsid methods and well known sids throughout.
 | 
						||
	* registry.cc: Ditto.
 | 
						||
	* sec_acl.cc: Ditto.
 | 
						||
	* security.cc: Ditto.
 | 
						||
	* shared.cc: Ditto.
 | 
						||
	* syscalls.cc (seteuid): Ditto. Eliminate redundant conditional.
 | 
						||
	* uinfo.cc (internal_getlogin): Ditto.
 | 
						||
	* spawn.cc (spawn_guts) Revert previous patch.
 | 
						||
 | 
						||
Tue May 15 10:20:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_socket.cc (fhandler_socket::ioctl): Convert s_addr
 | 
						||
	field to host byte order before comparing with INADDR_LOOPBACK.
 | 
						||
 | 
						||
Tue May 15  9:03:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add autoload statements for ws2_32 functions
 | 
						||
	`WSACloseEvent', `WSACreateEvent', `WSAGetOverlappedResult',
 | 
						||
	`WSARecv', `WSARecvFrom', `WSASend', `WSASendTo' and `WSASetEvent',
 | 
						||
	`WSAWaitForMultipleEvents'.
 | 
						||
	* net.cc: Define wsock_evt.
 | 
						||
	(wsock_event): New class.
 | 
						||
	(cygwin_sendto): Use overlapped socket io if available.
 | 
						||
	(cygwin_recvfrom): Ditto.
 | 
						||
	(cygwin_recv): Ditto.
 | 
						||
	(cygwin_send): Ditto.
 | 
						||
	* security.cc (subauth): Set Win32 error to 0 to safely ask for the
 | 
						||
	error code of dynamically loaded function `LsaRegisterLogonProcess'.
 | 
						||
 | 
						||
Mon May 14 15:37:29 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* errno.cc (_sys_errlist): Add missing commas.
 | 
						||
 | 
						||
Mon May 14 16:13:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (subauth): Check if Secur32.dll could be loaded.
 | 
						||
 | 
						||
Sun May 13 22:49:04 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Revert allow_ntsec check so that volume
 | 
						||
	info is always retrieved and isdisk setting is properly set.
 | 
						||
 | 
						||
Sun May 13 14:02:36 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::dup): Preserve O_NOCTTY when
 | 
						||
	duping a filehandle.
 | 
						||
 | 
						||
Sat May 12 18:19:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dir.cc (rmdir): Rearrange slightly to allow removing directories
 | 
						||
	even when R/O attribute is set.
 | 
						||
 | 
						||
Fri May 11 16:53:38 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* external.cc (fillout_pinfo): Use correct pids.
 | 
						||
	* path.cc (mount_info::conv_to_win32_path): Correct test for whether to
 | 
						||
	include a slash.
 | 
						||
 | 
						||
Fri May 11 01:04:17 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (handle_exceptions): Don't print message when executing
 | 
						||
	from a cygwin program.
 | 
						||
 | 
						||
2001-05-10  Egor Duda  <deo@logos-m.ru>
 | 
						||
	    Christopher Faylor <cgf@redhat.com>
 | 
						||
 | 
						||
	* environ.cc (winenv): Always add SYSTEMDRIVE and SYSYEMROOT to
 | 
						||
	win32-style environment if they don't already exist.
 | 
						||
 | 
						||
2001-05-10  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* path.cc (mount_info::conv_to_win32_path): Treat UNC paths the same as
 | 
						||
	paths including `:' or `\'.
 | 
						||
 | 
						||
Wed May  9 14:46:32 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_termios::echo_erase): Declare new method.
 | 
						||
	* fhandler_termios.cc (fhandler_termios::echo_erase): New method for
 | 
						||
	echoing erase characters.
 | 
						||
	(fhandler_termios::line_edit): Check the echo flag before echoing
 | 
						||
	control characters (from Kazuhiro Fujieda <fujieda@jaist.ac.jp>).
 | 
						||
 | 
						||
Wed May  9 10:43:30 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/pthread.h: Remove C++ comment.
 | 
						||
 | 
						||
Tue May  8 11:09:59 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (_cfree): Add regparm attribute.
 | 
						||
	(_crealloc): Ditto.
 | 
						||
 | 
						||
	* dcrt0.cc (dll_crt0_1): Default to always checking for executable for now.
 | 
						||
 | 
						||
	* dtable.cc (dtable::not_open): Move method.
 | 
						||
	* dtable.h (dtable): Here.
 | 
						||
 | 
						||
	* exceptions.cc (ctrl_c_handler): Don't expect process group leader to
 | 
						||
	handle a signal if it doesn't exist.
 | 
						||
 | 
						||
	* fhandler.h (fhandler_base): Make openflags protected.
 | 
						||
 | 
						||
	* localtime.c (tzsetwall): Check for __CYGWIN__ as well as __WIN32__.
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Add some comments. Change strcat to assignment.
 | 
						||
 | 
						||
	* lib/_cygwin_S_IEXEC.cc (_cygwin_bob__): Eliminate.
 | 
						||
 | 
						||
	* fhandler_tty.cc (fhandler_console::dup): Set controlling terminal if necessary.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::dup): Ditto.
 | 
						||
 | 
						||
Mon May  7 21:33:17 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/sys/file.h: Revert special X_OK usage.  Just make it a
 | 
						||
	constant.
 | 
						||
 | 
						||
Sun May  6 17:05:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.h (pthread_cond): New element cond_access to allow atomic
 | 
						||
	broadcasts.
 | 
						||
	* thread.cc (pthread_cond::pthread_cond): Initialise cond_access.
 | 
						||
	(pthread_cond::~pthread_cond): Destroy cond_access.
 | 
						||
	(pthread_cond::Broadcast): Use cond_access.
 | 
						||
	(pthread_cond::Signal): Use cond_access.
 | 
						||
	(pthread_cond_wait): Use cond_access.
 | 
						||
	(pthread_cond_timedwait): Use cond_access.
 | 
						||
 | 
						||
Sun May  6 11:55:40 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* string.h (cygwin_strchr): Make 'static inline' so that things will
 | 
						||
	still work when optimized.
 | 
						||
 | 
						||
Sat May  5 01:04:11 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (handle_exceptions): Vastly increase test for exception
 | 
						||
	loop guard variable.
 | 
						||
 | 
						||
Fri May  4 22:23:33 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (stack_info): Add some controls.
 | 
						||
	(stack_info::init): Add extra arguments to control method of
 | 
						||
	initialization..  If we have a known good frame, set things up so that
 | 
						||
	this frame is not skipped the first time through.  Record whether
 | 
						||
	caller cares about arguments or not.
 | 
						||
	(stack_info::walk): Don't store arguments if they're unwanted.
 | 
						||
	(stackdump): Add isexception parameter for use when called by exception
 | 
						||
	handler.
 | 
						||
	(cygwin_stackdump): Accommodate extra argument to stackdump.
 | 
						||
	(handle_exceptions): Ditto.
 | 
						||
	(sig_handle): Ditto.
 | 
						||
	(interrupt_on_return): Accommodate extra arguments to stack walk
 | 
						||
	initialization.
 | 
						||
 | 
						||
Fri May  4 21:05:20 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* localtime.c: Revert exclusion of windows.h.
 | 
						||
 | 
						||
Fri May  4 17:03:16 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* string.h: Fix last-minute typo.
 | 
						||
 | 
						||
Fri May  4 16:49:34 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* pinfo.h: Correctly set __SIGOFFSET.
 | 
						||
 | 
						||
	* path.cc (hash_path_name): Avoid calling library functions for simple
 | 
						||
	copying of characters.
 | 
						||
 | 
						||
	* shortcut.c: Use WIN32_LEAN_AND_MEAN.
 | 
						||
	* smallprint.c: Ditto.
 | 
						||
 | 
						||
	* environ.cc (getwinenv): Minor clarity fix.
 | 
						||
 | 
						||
	* localtime.c: No need to include windows.h
 | 
						||
 | 
						||
	* string.h: New file.
 | 
						||
 | 
						||
Fri May  4 16:37:30 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (ctrl_c_handler): Always send signal to process if it
 | 
						||
	has no tty.
 | 
						||
 | 
						||
2001-05-04  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler_socket.cc (set_connect_secret): Use /dev/urandom to
 | 
						||
	generate secret cookie.
 | 
						||
 | 
						||
Thu May  3 16:37:55 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/pthread.h (pthread_cleanup_push): Eliminate space preceding
 | 
						||
	arguments.
 | 
						||
	(pthread_cleanup_pop): Ditto.
 | 
						||
 | 
						||
Thu May  3 18:16:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (wsock_init): Rename `was_in_progress' to `wsock_started'
 | 
						||
	for clearness.
 | 
						||
 | 
						||
Thu May  3 10:44:16 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (handle_exceptions): Break out of "loop" if the
 | 
						||
	debugger doesn't seem to be attaching to our process.
 | 
						||
 | 
						||
Wed May  2 20:18:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Use new definition of LoadDLLinitfunc throughout.
 | 
						||
	Redefine wrapper for wsock32.dll and ws2_32.dll.
 | 
						||
	(std_dll_init): New function.
 | 
						||
	* autoload.h: Rename LoadDLLinitfunc to LoadDLLinitfuncdef.
 | 
						||
	Add new defines LoadDLLinitfunc and LoadDLLstdfunc.
 | 
						||
	* net.cc (wsock_init): Add guard variable handling. Take care
 | 
						||
	to call WSAStartup only once. Load WSAStartup without using
 | 
						||
	autoload wrapper to eliminate recursion.  Eliminate FIONBIO
 | 
						||
	and srandom stuff.
 | 
						||
 | 
						||
Tue May  1 01:26:15 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (mount_info::conv_to_win32_path): More path tweaking.
 | 
						||
 | 
						||
Tue May  1 00:34:46 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (mount_info::conv_to_win32_path): Fix debugging output to
 | 
						||
	avoid a SIGSEGV.  Avoid double backslashes in middle of filename.
 | 
						||
 | 
						||
Mon Apr 30 21:51:14 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (mkrelpath): New function.
 | 
						||
	(mount_info::conv_to_win32_path): Eliminate now-unneeded relative path
 | 
						||
	name arg and processing.
 | 
						||
	(path_conv::check): Accommodate relative path names again.  Accommodate
 | 
						||
	one extra argument in mount_info::conv_to_win32_path.  Tack trailing
 | 
						||
	slash on end of relative path as a side effect, like before.
 | 
						||
	* shared_info.h (mount_info::conv_to_win32_path): Reflect new argument
 | 
						||
	ordering.
 | 
						||
 | 
						||
Mon Apr 30 22:09:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add LoadDLLinitfunc for secur32.dll.
 | 
						||
	Add LoadDLLfuncEx statements for AllocateLocallyUniqueId@4,
 | 
						||
	DuplicateTokenEx@24, LsaNtStatusToWinError@4,
 | 
						||
	LsaDeregisterLogonProcess@4, LsaFreeReturnBuffer@4,
 | 
						||
	LsaLogonUser@56, LsaLookupAuthenticationPackage@12,
 | 
						||
	LsaRegisterLogonProcess@12,
 | 
						||
	* environ.cc: Add extern declaration for `subauth_id'.
 | 
						||
	(subauth_id_init): New function for setting `subauth_id'.
 | 
						||
	(struct parse_thing): Add entry for `subauth_id'.
 | 
						||
	* fork.cc (fork_parent): Call `RevertToSelf' and
 | 
						||
	`ImpersonateLoggedOnUser' instead of `seteuid'.
 | 
						||
	* security.cc: Define global variable `subauth_id'.
 | 
						||
	(extract_nt_dom_user): New function.
 | 
						||
	(cygwin_logon_user): Call `extract_nt_dom_user' now.
 | 
						||
	(str2lsa): New static function.
 | 
						||
	(str2buf2lsa): Ditto.
 | 
						||
	(str2buf2uni): Ditto.
 | 
						||
	(subauth): Ditto.
 | 
						||
	* security.h: Add prototype for `subauth'.
 | 
						||
	* spawn.cc (spawn_guts): Use cygheap->user.token only if impersonated.
 | 
						||
	Use `cygsid' type. Remove impersonation before allowing access to
 | 
						||
	workstation/desktop to everyone. Call `RevertToSelf' and
 | 
						||
	`ImpersonateLoggedOnUser' instead of `seteuid'.
 | 
						||
	* syscalls.cc (seteuid): Rearranged to allow using subauthentication
 | 
						||
	to retrieve user tokens when needed.
 | 
						||
 | 
						||
Mon Apr 30 20:26:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* uinfo.cc (internal_getlogin): Formatting change.
 | 
						||
 | 
						||
Mon Apr 30 19:58:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* grp.cc: Eliminate MAX_DOMAIN_NAME define.
 | 
						||
	(read_etc_group): Substitute MAX_DOMAIN_NAME by
 | 
						||
	INTERNET_MAX_HOST_NAME_LENGTH.
 | 
						||
	* passwd.cc (parse_pwd): Don't force pw_name to be lower case.
 | 
						||
	* sec_helper.cc: Substitute MAX_USER_NAME by UNLEN,
 | 
						||
	MAX_COMPUTERNAME_LENGTH by INTERNET_MAX_HOST_NAME_LENGTH throughout.
 | 
						||
	(lookup_name): Slight cleanup.
 | 
						||
	* security.cc (alloc_sd): Substitute MAX_USER_NAME by UNLEN.
 | 
						||
	* security.h: Define DEFAULT_UID as DOMAIN_USER_RID_ADMIN and
 | 
						||
	DEFAULT_GID as DOMAIN_ALIAS_RID_ADMINS.
 | 
						||
	* shared.cc (memory_init): Substitute MAX_USER_NAME by UNLEN.
 | 
						||
	* thread.h: Ditto.
 | 
						||
	* uinfo.cc (internal_getlogin): Substitute MAX_USER_NAME by UNLEN.
 | 
						||
	Substitute MAX_COMPUTERNAME_LENGTH and MAX_HOST_NAME by
 | 
						||
	INTERNET_MAX_HOST_NAME_LENGTH.
 | 
						||
	* winsup.h: Include lmcons.h. Eliminate MAX_USER_NAME and
 | 
						||
	MAX_HOST_NAME. Move DEFAULT_UID and DEFAULT_GID to security.h.
 | 
						||
 | 
						||
Mon Apr 30 12:35:40 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Don't use path_flags when converting to
 | 
						||
	MS-DOS syntax unless parsing tail of path component.  Stop parsing path
 | 
						||
	when we reach the 'root' of the path.  Correctly copy tail to path
 | 
						||
	component.
 | 
						||
 | 
						||
Sun Apr 29 22:28:06 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (INIT_EXCEPTION_HANDLER): Eliminate.
 | 
						||
	(init_exceptions): Just use init_exception_handler.
 | 
						||
	(open_stackdumpfile): New function.
 | 
						||
	(stack_info::first_time): Eliminate.
 | 
						||
	(stack_info::init): Set up fields to avoid "first_time" consideration.
 | 
						||
	(stack_info::walk): Remove "first_time" consideration.
 | 
						||
	(stackdump): Change arguments to accept initial frame pointer and open
 | 
						||
	stack file flag.
 | 
						||
	(stack): Eliminate.
 | 
						||
	(cygwin_stackdump): Use stackdump() rather than stack().
 | 
						||
	(try_to_debug): Remove all synchronization logic.  Just keep looping in
 | 
						||
	exception handler until debugger notices us.  Return 1 if successfully
 | 
						||
	started debugger.
 | 
						||
	(handle_exceptions): Just return if we know that we're debugging.
 | 
						||
	Reorganize to avoid creating a stackdump file if we are starting a
 | 
						||
	debugger.  Return from exception handler if debugger started
 | 
						||
	successfully.
 | 
						||
	(sig_handle): Create a stackdump only if debugger wasn't started.
 | 
						||
	* winsup.h (try_to_debug): Add an argument.
 | 
						||
 | 
						||
Sun Apr 29 21:41:25 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (symlink_info::check): Remove extra arguments, move
 | 
						||
	functionality back to path_conv::check.  Clear symlink bit from pflags
 | 
						||
	argument before detecting if this is a symlink.
 | 
						||
	(path_conv::check): Convert posix path here instead of
 | 
						||
	symlink_info::check.  Only grab volflags when using ntsec.
 | 
						||
	(symlink_info::check_case): Just replace appropriate part of input
 | 
						||
	path.
 | 
						||
 | 
						||
Sat Apr 28 19:36:13 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Throughout, change 'tty_attached' to 'real_tty_attached', for clarity.
 | 
						||
	Throughout, change 'OutputStopped' to 'output_stopped', for
 | 
						||
	consistency.
 | 
						||
	* dtable.cc (stdio_init): Set controlling tty if not set by stdio
 | 
						||
	opens.
 | 
						||
	* exceptions.cc (ctrl_c_handler): Avoid special pgid checking if no tty
 | 
						||
	is associated with the process.
 | 
						||
	(Suggested by Tim Baker <dbaker@direct.ca>)
 | 
						||
	* external.cc (fillout_pinfo): Return actual tty number for ctty.
 | 
						||
	* fhandler_console.cc (get_tty_stuff): Set ctty when shared memory is
 | 
						||
	allocated.  Accept flags input from open().
 | 
						||
	(set_console_ctty): New function.
 | 
						||
	(fhandler_console::open): Pass flags to get_tty_stuff and rely on this
 | 
						||
	function to set the ctty, if appropriate.
 | 
						||
	* fhandler_termios.cc (fhandler_termios::set_ctty): Move to tty_min
 | 
						||
	class.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::open): Use tc field to access
 | 
						||
	set_ctty().
 | 
						||
	* tty.h (TTY_CONSOLE): Move to include/sys/cygwin.h.
 | 
						||
	(tty_min): Add set_ctty class here.
 | 
						||
	* include/sys/cygwin.h (TTY_CONSOLE): New home here.
 | 
						||
 | 
						||
	* path.cc (symlink_info): Make contents an actual buffer.  Pass more
 | 
						||
	flags to case_check.
 | 
						||
	(path_conv::check): Reorganize to do parsing based on posix path rather
 | 
						||
	than native path.
 | 
						||
	(symlink_info::check): Expect posix path as input.  Translate to native
 | 
						||
	path here.  Accept path_conv flags.  Stop parsing if not a symlink
 | 
						||
	regardless of whether previous path was a symlink.
 | 
						||
 | 
						||
2001-04-27  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* thread.cc (thread_init_wrapper): Use _REENT_INIT to initialize the
 | 
						||
	reent structure of newlib.
 | 
						||
 | 
						||
Fri Apr 27 14:02:24 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* sigproc.h (sig_send): Add exception parameter to sig_send.
 | 
						||
	* sigproc.cc (sig_send): Ditto.  Use it when setting frame info.
 | 
						||
	* exceptions.cc (handle_exceptions): Use exception flag when calling
 | 
						||
	sig_send.
 | 
						||
 | 
						||
2001-04-27  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* tty.cc (tty::make_pipes): Set to_slave pipe mode to nonblocking.
 | 
						||
	* fhandler_tty.cc (fhandler_pty_master::accept_input): If pipe buffer
 | 
						||
	is full, give slave a chance to read data.
 | 
						||
 | 
						||
2001-04-26  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* security.cc (alloc_sd): Add unrelated ACCESS_ALLOWED_ACE behind
 | 
						||
	the `everyone' ACE.
 | 
						||
 | 
						||
Wed Apr 25 15:07:37 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* sigproc.h [sigthread]: Add exception field.
 | 
						||
	[sigframe::~sigframe]: Clear exception field.
 | 
						||
	[sigframe::set]: Set exception field from caller.
 | 
						||
	* sigproc.cc (sig_send): Set exception field when frame pointer is
 | 
						||
	passed in.
 | 
						||
	* exceptions.cc (interrupt_on_return): Always treat exception as
 | 
						||
	interruptible.
 | 
						||
 | 
						||
2001-04-25  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* cygwin.din: Export asctime_r, ctime_r, gmtime_r, localtime_r
 | 
						||
	* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 39
 | 
						||
 | 
						||
Wed Apr 25 10:57:36 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump minor version number.
 | 
						||
	* childinfo.h: Bump child structure magic number.
 | 
						||
 | 
						||
2001-04-25  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* uinfo.cc (internal_getlogin): Return pointer to struct passwd.
 | 
						||
	(uinfo_init): Accommodate the above change.
 | 
						||
	* syscalls.cc (seteuid): Ditto.
 | 
						||
 | 
						||
Tue Apr 25 11:08:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add LoadDLLfunc statements for SetTokenInformation@16.
 | 
						||
	* cygheap.cc: Include security.h.
 | 
						||
	* grp.cc (internal_getgrent): New function.
 | 
						||
	(getgroups): Rearranged using `internal_getgrent' and the new
 | 
						||
	`cygsid' class.
 | 
						||
	* passwd.cc (internal_getpwent): New function.
 | 
						||
	* sec_acl.cc: Use new `cygsid' class throughout.
 | 
						||
	(acl_access): Use `internal_getgrent' instead of `getgrent'.
 | 
						||
	* sec_helper.cc: Use new `cygsid' class throughout.
 | 
						||
	(get_id_from_sid): Use `internal_getgrent' instead of `getgrent'.
 | 
						||
	Use `internal_getpwent' instead of `getpwent'.
 | 
						||
	* security.cc: Use new `cygsid' class throughout.
 | 
						||
	* security.h: Move `MAX_SID_LEN' from winsup.h to here.
 | 
						||
	Add extern declarations for `internal_getgrent' and `internal_getpwent'.
 | 
						||
	(class cygsid): New class.
 | 
						||
	* shared.cc (sec_user): Use new `cygsid' class.
 | 
						||
	* syscalls.cc (seteuid): Try to set owner to user and primary group to
 | 
						||
	current group in impersonation token before performing impersonation.
 | 
						||
	(setegid): Try to set primary group in process token to the new group
 | 
						||
	if ntsec is on.
 | 
						||
	* uinfo.cc (internal_getlogin): Use new `cygsid' class.
 | 
						||
	Try to set owner to user and primary group to current group in process
 | 
						||
	token if the process has been started from a non cygwin process.
 | 
						||
	(uinfo_init): Set primary group only if the process has been started
 | 
						||
	from a non cygwin process.
 | 
						||
	* winsup.h: Move define for `MAX_SID_LEN' to security.h.
 | 
						||
 | 
						||
Mon Apr 16 23:20:00 2001  Andy Younger <andylyounger@hotmail.com>
 | 
						||
 | 
						||
	* fhandler_dsp.cc: Improved handling of 8 bit playback modes.
 | 
						||
	Put in mock support for SNDCTL_DSP_SETFRAGMENT.
 | 
						||
 | 
						||
Tue Apr 24 23:51:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* passwd.cc (getpwnam_r): Add pw_passwd handling as well.
 | 
						||
	(getpwuid_r): Ditto.
 | 
						||
 | 
						||
Tue Apr 24 23:43:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* passwd.cc (getpwnam_r): Use correct offsets into buffer.
 | 
						||
	Copy pw_gecos field as well.
 | 
						||
	(getpwuid_r): Ditto.
 | 
						||
 | 
						||
2001-04-24  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* dlmalloc.c: New file. Port of Doug Lea's malloc
 | 
						||
	* dlmalloc.h: Ditto.
 | 
						||
	* Makefile.in: Add support for MALLOC_DEBUG
 | 
						||
	* config.h.in: Ditto.
 | 
						||
	* winsup.h: Ditto.
 | 
						||
	* configure.in: Add --enable-malloc-debugging option.
 | 
						||
	* configure: Regenerate.
 | 
						||
	* debug.h: Include declarations for debugging malloc.
 | 
						||
	* tty.cc (grantpt): Fix definition.
 | 
						||
	(unlockpt): Ditto.
 | 
						||
 | 
						||
Mon Apr 23 22:00:29 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Remove trailing underscore from fhandler_base and friends, throughout.
 | 
						||
	* fhandler.h (fhandler_base::set_open_status): New method.  Stores
 | 
						||
	original open status.
 | 
						||
	(fhandler_base::get_open_status): New method.  Retrieves original open
 | 
						||
	status.
 | 
						||
	(fhandler_base::reset_to_open_binmode): New method.
 | 
						||
	* fhandler.cc (fhandler_base::open): Save open status.
 | 
						||
	(fhandler_base::init): Ditto.
 | 
						||
	* fhandler_clipboard.cc (fhandler_clipboard::open): Ditto.
 | 
						||
	* fhandler_console.cc (fhandler_console::open): Ditto.
 | 
						||
	* fhandler_dsp.cc (fhandler_dsp::open): Ditto.
 | 
						||
	* fhandler_dev_mem.cc (fhandler_dev_mem::open): Ditto.
 | 
						||
	* fhandler_dev_random.cc (fhandler_dev_random::open): Ditto.
 | 
						||
	* fhandler_serial.cc (fhandler_serial::open): Ditto.
 | 
						||
	* fhandler_tty_slave.cc (fhandler_tty_slave::open): Ditto.
 | 
						||
	* fhandler_tty_master.cc (fhandler_tty_master::open): Ditto.
 | 
						||
	* fhandler_dev_zero.cc (fhandler_dev_zero::open): Ditto.
 | 
						||
	* syscalls.cc (setmode): Rework so that 0 mode value causes reversion
 | 
						||
	to open state.
 | 
						||
 | 
						||
	* fhandler_tty_slave.cc (fhandler_tty_slave::read): Use correct
 | 
						||
	multiplier when converting from deciseconds to milliseconds.
 | 
						||
 | 
						||
Mon Apr 23 13:28:35 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_base::clear_r_binary): New method.
 | 
						||
	(fhandler_base::clear_w_binary): New method.
 | 
						||
	* syscalls.cc (setmode): Accept 0 as mode value.  Resets text/binary
 | 
						||
	behavior for fd to default.
 | 
						||
 | 
						||
Mon Apr 23 12:46:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* net.cc [errmap]: Add '0' condition.
 | 
						||
	(find_winsock_errno): Don't translate no error to EPERM.
 | 
						||
 | 
						||
Sun Apr 22 20:48:24 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump Cygwin version and API version.
 | 
						||
 | 
						||
Mon Apr 23  9:27:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (MTinterface::Init): Always initialise per process variables.
 | 
						||
 | 
						||
Sun Apr 22 19:18:18 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* features.h: Reinstate as wrapper for sys/features.h.
 | 
						||
 | 
						||
Mon Apr 23  0:10:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (alloc_sd): Reformat comment.
 | 
						||
	* shared.cc: Drop function declarations already in security.h.
 | 
						||
 | 
						||
Sun Apr 22 12:17:57 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* shortcut.c (check_shortcut): Close input file handle before
 | 
						||
	returning.
 | 
						||
	* path.cc (check_sysfile): Ditto.
 | 
						||
	(symlink_info::check): Rely on opened file handle being closed by
 | 
						||
	symlink checking routines.  Set ext_tacked_on when .lnk is detected.
 | 
						||
 | 
						||
Sat Apr 21 19:26:05 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* thread.cc (MTinterface::Init): Remove accidentally checked in code.
 | 
						||
 | 
						||
Sun Apr 22 00:22:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* passwd.cc (getpwuid): Check for thread cancellation.
 | 
						||
	(getpwuid_r): Ditto.
 | 
						||
	(getpwname): Ditto.
 | 
						||
	(getpwnam_r): Ditto.
 | 
						||
	* thread.h (pthread_mutex): New constructors for pshared operation.
 | 
						||
	(MTinterface): Associative array for pshared mutex's.
 | 
						||
	* thread.cc (MTinterface::Init): Initailize pshared mutex array.
 | 
						||
	(pthread_cond::BroadCast): Implementation notes.
 | 
						||
	(pthread_cond::TimedWait): Remove use of SignalObjectAndWait on non-NT systems.
 | 
						||
	(pthread_mutex::pthread_mutex(unsigned short)): New function.
 | 
						||
	(pthread_mutex::pthread_mutex (pthread_mutex_t *, pthread_mutexattr *)):New function.
 | 
						||
	(pthread_mutex::pthread_mutex(pthread_mutexattr *)): Fail on pshared mutex's.
 | 
						||
	(__pthread_mutex_getpshared): New function.
 | 
						||
	(__pthread_join): Check for thread cancellation.
 | 
						||
	(__pthread_cond_timedwait): Support pshared mutex's.
 | 
						||
	(__pthread_cond_wait): Ditto.
 | 
						||
	(__pthread_condattr_setpshared): Error on PROCESS_SHARED requests.
 | 
						||
	(__pthread_mutex_init): Support pshared mutex's.
 | 
						||
	(__pthread_mutex_getprioceiling): Ditto.
 | 
						||
	(__pthread_mutex_lock): Ditto.
 | 
						||
	(__pthread_mutex_trylock): Ditto.
 | 
						||
	(__pthread_mutex_unlock): Ditto.
 | 
						||
	(__pthread_mutex_destroy): Ditto.
 | 
						||
	(__pthread_mutex_setprioceiling): Ditto.
 | 
						||
	(__pthread_mutexattr_setpshared): Support PTHREAD_PROCESS_PSHARED requests.
 | 
						||
 | 
						||
Fri Apr 20 19:38:29 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygwin.din: Add *scanf and *scan_r functions.
 | 
						||
 | 
						||
Fri Apr 20 22:25:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (set_process_privileges): Swap out.
 | 
						||
	* sec_helper.cc (set_process_privilege): Rename from
 | 
						||
	`set_process_privileges'. Takes the privilege to enable or disable
 | 
						||
	as parameter now.
 | 
						||
	* security.h: Add prototype for `set_process_privileges'.
 | 
						||
 | 
						||
2001-04-19  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Always initialize member variables.
 | 
						||
 | 
						||
Fri Apr 20 12:27:49 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/sys/file.h: More cleanup for X_OK.
 | 
						||
 | 
						||
Fri Apr 20 11:48:45 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/sys/file.h: Move X_OK protection earlier.
 | 
						||
 | 
						||
	* dtable.cc (dtable::vfork_child_fixup): Avoid closing already closed
 | 
						||
	handles.
 | 
						||
 | 
						||
Fri Apr 20 16:29:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* grp.cc (getgroups): Change so that SIDs get compared instead
 | 
						||
	of strings to SIDs.
 | 
						||
 | 
						||
Fri Apr 20 14:50:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* Makefile.in: Add object files `sec_helper.cc' and `sec_acl.cc'.
 | 
						||
	* security.cc: Swap out several functions.
 | 
						||
	* sec_acl.cc: New file. Move Sun compatibel ACL functions from
 | 
						||
	`security.cc' to here.
 | 
						||
	* sec_helper.cc: New file. Move security helper functions from
 | 
						||
	`security.cc' to here.
 | 
						||
	* security.h: Changed to accommodate the above changes.
 | 
						||
 | 
						||
Fri Apr 20 14:12:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* grp.cc: Replace `group_in_memory_p' by `group_state'.
 | 
						||
	Eliminate group_sem throughout.
 | 
						||
	(enum grp_state): New enumeration type.
 | 
						||
	(read_etc_group): Make race safe.
 | 
						||
	* security.cc: Eliminate group_sem throughout.
 | 
						||
 | 
						||
Thu Apr 19  9:40:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Drop usage of the same memory area if the same
 | 
						||
	region of the same file is mapped twice.
 | 
						||
 | 
						||
Wed Apr 18 16:53:54 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Throughout, change fdtab references to cygheap->fdtab.
 | 
						||
	* child_info.h (cygheap_exec_info): Eliminate special fdtab stuff.
 | 
						||
	* spawn.cc (spawn_guts): Ditto.
 | 
						||
	* cygheap.cc (cygheap_init): Initialize fdtab, if appropriate.
 | 
						||
	* cygheap.h (CYGHEAPSIZE): Include size of init_cygheap.
 | 
						||
	(_cmalloc_entry): Include fdtab here.
 | 
						||
	* dtable.h (dtable): Declare/define new methods.
 | 
						||
	* dtable.cc (dtable::vfork_child_fixup): New method.
 | 
						||
	(dtable::fixup_after_exec): Remove unneeded extra arguments.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Ditto.
 | 
						||
 | 
						||
	* environ.cc (getwinenv): Use case sensitive comparison.
 | 
						||
	(winenv): Make a copy of environment cache to avoid realloc problems
 | 
						||
	when duplicate environment variables exist in the environment.  (From
 | 
						||
	Egor Duda)
 | 
						||
 | 
						||
	* net.cc (cygwin_socket): Revert Apr 14 change.
 | 
						||
 | 
						||
	* include/sys/file.h: Protect against previous X_OK definition.
 | 
						||
 | 
						||
Tue Apr 17 12:18:28 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* passwd.cc: Eliminate passwd_sem throughout.
 | 
						||
	* security.cc: Ditto.
 | 
						||
 | 
						||
Tue Apr 17 12:18:28 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* cygwin.din: Export New functions.
 | 
						||
	* passwd.cc (read_etc_passwd): Make race safe.
 | 
						||
	(getpwuid_r): New function.
 | 
						||
	(getpwnam_r): New function.
 | 
						||
 | 
						||
2001-04-18  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* grp.cc (getgroups): Avoid crash if passwd field if /etc/group is
 | 
						||
	empty.
 | 
						||
 | 
						||
Tue Apr 17 19:05:44 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.h (path_conv::add_ext_from_sym): Declare.
 | 
						||
	* path.cc (path_conv::add_ext_from_sym): Convert to pure inline method.
 | 
						||
 | 
						||
Tue Apr 17 18:50:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (windows_device_names): Add missing NULL element.
 | 
						||
 | 
						||
Tue Apr 17 12:14:54 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (windows_device_names): Move dsp to proper location.
 | 
						||
 | 
						||
Tue Apr 17 13:44:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Set case_clash even if pcheck_case
 | 
						||
	is set to PCHECK_ADJUST when a case clash is given for the last
 | 
						||
	component in path.
 | 
						||
	(symlink_info::case_check): Ditto.
 | 
						||
	* syscalls.cc (_rename): Avoid overwriting an already existing file
 | 
						||
	if a case clash is given even if pcheck_case is set to PCHECK_ADJUST.
 | 
						||
 | 
						||
Tue Apr 17  2:07:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* config.h.in: Turn off VFORK again.
 | 
						||
 | 
						||
Mon Apr 16 23:45:24 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.h (cwdstuff): Move class.
 | 
						||
	* cygheap.h (cwdstuff): To here.
 | 
						||
	(init_cygheap): Add cwd field.
 | 
						||
	* child_info.h (cygheap_exec_info): Eliminate cwd stuff.
 | 
						||
	(child_info_spawn): Ditto.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Remove cygcwd.fixup_after_exec call.  Convert
 | 
						||
	cygcwd reference to cygheap->cwd.
 | 
						||
	* path.cc: Ditto, throughout.
 | 
						||
	(cwdstuff::copy): Eliminate.
 | 
						||
	(cwdstuff::fixup_after_exec): Ditto.
 | 
						||
	* spawn.cc (spawn_guts): Eliminate call to cygcwd.copy.
 | 
						||
 | 
						||
	* fhandler.h (FH_OSS_DSP): Move into "fast" device category.
 | 
						||
 | 
						||
Mon Apr 16 19:19:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc: Move fh_paging_file from some functions to be
 | 
						||
	a global static variable.
 | 
						||
	(class mmap_record): Add `devtype_' member to remember
 | 
						||
	the device type of the file. Add declaration for methods
 | 
						||
	`get_device', `alloc_fh' and `free_fh'.
 | 
						||
	(mmap_record::mmap_record): Initialize `devtype_' correctly.
 | 
						||
	(mmap_record::alloc_fh): New method.
 | 
						||
	(mmap_record::free_fh): Ditto.
 | 
						||
	(munmap): Use new mmap_record::alloc_fh and mmap_record::free_fh
 | 
						||
	methods to create a correct fhandler.
 | 
						||
	(msync): Ditto.
 | 
						||
	(fixup_mmaps_after_fork): Ditto.
 | 
						||
 | 
						||
Mon Apr 16 16:01:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* grp.cc (getgroups): If `allow_ntsec' is set, use the process token
 | 
						||
	information to evaluate the groups list.
 | 
						||
 | 
						||
Mon Apr 16 00:08:02 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* features.h: Remove this file as it is now being supplied by newlib.
 | 
						||
 | 
						||
Sun Apr 15 23:23:29 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* autoload.cc: Add winmm functions needed by fhandler_dsp.cc.
 | 
						||
 | 
						||
Sun Apr 15 22:53:52 2001  Andy Younger <andylyounger@hotmail.com>
 | 
						||
 | 
						||
	* fhandler_dsp.cc: New file.  Implements OSS like /dev/dsp.
 | 
						||
	* include/sys/soundcard.h: New file.  User land includes for OSS
 | 
						||
	/dev/dsp.
 | 
						||
	* fhandler.h: Add new class fhandler_dev_dsp and a FH_OSS_DSP
 | 
						||
	definition.
 | 
						||
	* dtable.cc (dtable::build_fhandler): Allow creation of the /dev/dsp
 | 
						||
	device.
 | 
						||
	* path.cc (windows_device_names): Add /dev/dsp into list of device
 | 
						||
	names.
 | 
						||
	* Makefile.in (DLL_OFILES): Add fhandler_dsp.o.
 | 
						||
 | 
						||
Sun Apr 15 16:36:27 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* uname.c (uname): Default n in in86 to 6 if Windows returns > 6.
 | 
						||
 | 
						||
Sun Apr 15 15:56:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (add_ext_from_sym): Redefine to call `add_ext_from_sym_'.
 | 
						||
	(add_ext_from_sym_): New inline function.
 | 
						||
 | 
						||
Sat Apr 14 19:23:52 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* config.h.in: Turn on VFORK by default.
 | 
						||
 | 
						||
Sat Apr 14 18:04:35 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* net.cc (cygwin_socket): Set SO_LINGER to small value so closed UNIX
 | 
						||
	domain sockets will not stay around.
 | 
						||
 | 
						||
Sat Apr 14 18:01:43 2001  Pierre A. Humblet  <Pierre.Humblet@ieee.org>
 | 
						||
 | 
						||
	* select.cc (socket_cleanup): Set SO_LINGER to small value so closed
 | 
						||
	dummy sockets do not stay around.  Use correct value for second argument
 | 
						||
	to shutdown.
 | 
						||
 | 
						||
Sat Apr 14 17:04:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.h (MTinterface): Add threadcount.
 | 
						||
	* thread.cc (MTinterface::Init): Set threadcount to 1.
 | 
						||
	(__pthread_create): Increment threadcount.
 | 
						||
	(__pthread_exit): Decrement threadcount and call exit() from the last thread.
 | 
						||
 | 
						||
Fri Apr 13 11:34:24 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* fork.cc (fork_child): Call the __pthread_atforkchild function.
 | 
						||
	(fork_parent): Call the __pthread_atforkparent function.
 | 
						||
	* cygwin.din: Export pthread_atfork.
 | 
						||
	* thread.h (callback): New class.
 | 
						||
	(MTinterface): Use it.
 | 
						||
	* thread.cc (__pthread_atforkprepare): New function.
 | 
						||
	(__pthread_atforkparent): New function.
 | 
						||
	(__pthread_atforkchild): New function.
 | 
						||
	(__pthread_atfork): New function.
 | 
						||
	* pthread.cc (pthread_atfork): New function.
 | 
						||
 | 
						||
Fri Apr 13  9:52:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (add_ext_from_sym): New define evaluating `known'suffix'.
 | 
						||
	(path_conv::check): Use add_ext_from_sym throughout.
 | 
						||
 | 
						||
Thu Apr 12 23:19:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dir.cc (mkdir): Check for case clash.
 | 
						||
	* environ.cc: Add extern declaration for `pcheck_case'.
 | 
						||
	(check_case_init): New function.
 | 
						||
	(struct parse_thing): Add "check_case" option.
 | 
						||
	* errno.cc (_sys_nerrlist): Add text for ECASECLASH.
 | 
						||
	(strerror): Add case branch for ECASECLASH.
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Check for case clash.
 | 
						||
	* path.cc: Add global variable `pcheck_case'.
 | 
						||
	(struct symlink_info): Add member `case_clash' and method `case_check'.
 | 
						||
	(path_prefix_p_): Call `pathnmatch' instead of `strncasematch'.
 | 
						||
	(pathnmatch): New funtion.
 | 
						||
	(pathmatch): Ditto.
 | 
						||
	(path_conv::check): Add handling for case checking.
 | 
						||
	(symlink): Check for case clash.
 | 
						||
	(symlink_info::check): Add parameter for case checking.
 | 
						||
	Handle case checking.
 | 
						||
	(symlink_info::case_check): New method.
 | 
						||
	(chdir): Don't use unconverted path if pcheck_case==PCHECK_STRICT.
 | 
						||
	* path.h: Add extern declarations for `pathmatch' and
 | 
						||
	`pathnmatch'.
 | 
						||
	(enum case_checking): New enumeration type describing
 | 
						||
	the case checking behaviour of path conversion routines.
 | 
						||
	(class path_conv): Add member `case_clash'.
 | 
						||
	* syscalls.cc (_link): Check for case clash.
 | 
						||
 | 
						||
Thu Apr 12 12:49:53 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (mkfifo): New function stub.
 | 
						||
 | 
						||
2001-04-12   Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* configure.in: Remove PTH_ALLOW.
 | 
						||
	* cygwin.din: Remove @PTH_ALLOW@ prefixes to pthread functions.  Add
 | 
						||
	new pthread exports.
 | 
						||
	* pthread.cc: New wrapper functions for the above new exports.
 | 
						||
	* sched.cc (valid_sched_parameters): New function.
 | 
						||
	(sched_setparam): Use it.
 | 
						||
	(sched_set_thread_priority): New function.  Used by pthread_sched*.
 | 
						||
	* thread.cc (pthread_key_destructor::InsertAfter): New function.
 | 
						||
	(pthread_key_destructor::UnlinkNext): New function.
 | 
						||
	(pthread_key_destructor::Next): New function.
 | 
						||
	(pthread_key_destructor_list::Insert): New function.
 | 
						||
	(pthread_key_destructor_list::Remove): New function.
 | 
						||
	(pthread_key_destructor_list::Pop): New function.
 | 
						||
	(pthread_key_destructor::pthread_key_destructor): New function.
 | 
						||
	(pthread_key_destructor_list::IterateNull): New function.
 | 
						||
	(MTinterface::Init): Initialise new member.
 | 
						||
	(pthread::pthread): Initialise new members.
 | 
						||
	(pthread::create): Copy new attributes.  Set the new thread priority.
 | 
						||
	(pthread_attr::pthread_attr): Initialise new members.
 | 
						||
	(pthread_key::pthread_key): Setup destructor function.
 | 
						||
	(pthread_key::~pthread_key): Remove destructor function.
 | 
						||
	(pthread_mutexattr::pthread_mutexattr): New function.
 | 
						||
	(pthread_mutexattr::~pthread_mutexattr): New function.
 | 
						||
	(__pthread_once): New function.
 | 
						||
	(__pthread_cleanup): New function.
 | 
						||
	(__pthread_cancel): New function.
 | 
						||
	(__pthread_setcancelstate): New function.
 | 
						||
	(__pthread_setcanceltype): New function.
 | 
						||
	(__pthread_testcancel): New function.
 | 
						||
	(__pthread_attr_getinheritsched): New function.
 | 
						||
	(__pthread_attr_getschedparam): New function.
 | 
						||
	(__pthread_attr_getschedpolicy): New function.
 | 
						||
	(__pthread_attr_getscope): New function.
 | 
						||
	(__pthread_attr_setinheritsched): New function.
 | 
						||
	(__pthread_attr_setschedparam): New function.
 | 
						||
	(__pthread_attr_setschedpolicy): New function.
 | 
						||
	(__pthread_attr_setscope): New function.
 | 
						||
	(__pthread_exit): Call any key destructors on thread exit.
 | 
						||
	(__pthread_join): Use the embedded attr values.
 | 
						||
	(__pthread_detach): Use the embedded attr values.
 | 
						||
	(__pthread_getconcurrency): New function.
 | 
						||
	(__pthread_getschedparam): New function.
 | 
						||
	(__pthread_key_create): Pass the destructor on object creation.
 | 
						||
	(__pthread_key_delete): Correct incorrect prototype.
 | 
						||
	(__pthread_setconcurrency): New function.
 | 
						||
	(__pthread_setschedparam): New function.
 | 
						||
	(__pthread_cond_timedwait): Support static mutex initialisers.
 | 
						||
	(__pthread_cond_wait): Ditto.
 | 
						||
	(__pthread_mutex_getprioceiling): New function.
 | 
						||
	(__pthread_mutex_lock): Support static mutex initialisers.
 | 
						||
	(__pthread_mutex_trylock): Ditto.
 | 
						||
	(__pthread_mutex_unlock): Ditto.
 | 
						||
	(__pthread_mutex_destroy): Ditto.
 | 
						||
	(__pthread_mutex_setprioceiling): New function.
 | 
						||
	(__pthread_mutexattr_getprotocol): New function.
 | 
						||
	(__pthread_mutexattr_getpshared): New function.
 | 
						||
	(__pthread_mutexattr_gettype): New function.
 | 
						||
	(__pthread_mutexattr_init): New function.
 | 
						||
	(__pthread_mutexattr_destroy): New function.
 | 
						||
	(__pthread_mutexattr_setprotocol): New function.
 | 
						||
	(__pthread_mutexattr_setprioceiling): New function.
 | 
						||
	(__pthread_mutexattr_getprioceiling): New function.
 | 
						||
	(__pthread_mutexattr_setpshared): New function.
 | 
						||
	(__pthread_mutexattr_settype): New function.  Remove stubs for non
 | 
						||
	MT_SAFE compilation.
 | 
						||
	* thread.h: Remove duplicate #defines.  Add prototypes for new
 | 
						||
	functions in thread.cc.
 | 
						||
	(pthread_key_destructor): New class.
 | 
						||
	(pthread_key_destructor_list): New class.
 | 
						||
	(pthread_attr): Add new members.
 | 
						||
	(pthread): Remove members that are duplicated in the pthread_attr
 | 
						||
	class.
 | 
						||
	(pthread_mutex_attr): Add new members.
 | 
						||
	(pthread_once): New class.
 | 
						||
	* include/pthread.h: Add prototypes for new functions exported from
 | 
						||
	cygwin1.dll.  Remove typedefs.
 | 
						||
	* include/sched.h: Add prototypes for new functions in sched.cc.
 | 
						||
	* include/cygwin/types.h: Add typedefs from pthread.h
 | 
						||
 | 
						||
Tue Apr 10 22:02:53 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (struct symlink_info): Add extn and ext_tacked_on fields.
 | 
						||
	(path_conv::check): Only tack on extension if a known one didn't
 | 
						||
	already exist.
 | 
						||
	(suffix_scan::has): Return pointer to known extension.
 | 
						||
	(symlink_info::check): Record location of extension, if any.
 | 
						||
 | 
						||
2001-04-09  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.h (class fhandler_socket): Add members and methods to
 | 
						||
	support secure connections on AF_UNIX sockets.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::set_connect_secret): New method.
 | 
						||
	(fhandler_socket::get_connect_secret): Ditto.
 | 
						||
	(fhandler_socket::create_secret_event): Ditto.
 | 
						||
	(fhandler_socket::close_secret_event): Ditto.
 | 
						||
	(fhandler_socket::check_peer_secret_event): Ditto.
 | 
						||
	(fhandler_socket::fixup_after_fork): Duplicate secret event to child.
 | 
						||
	(fhandler_socket::dup): Copy address family.
 | 
						||
	(fhandler_socket::close): Close secret event.
 | 
						||
	* net.cc (get_inet_addr): Read secret cookie.
 | 
						||
	(cygwin_connect): Check if peer knows secret cookie value.
 | 
						||
	(cygwin_accept): Ditto. Copy address family to newly created socket.
 | 
						||
	(cygwin_bind): Generate and write secret cookie.
 | 
						||
	(wsock_init): Initialize random number generator.
 | 
						||
 | 
						||
Sun Apr  8 20:40:58 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* Makefile.in: Put -lgcc last in list of libraries, since stdc++
 | 
						||
	library needs it.
 | 
						||
	* cygwin.din: Remove obsolete "__empty" export.
 | 
						||
	* exceptions.cc (call_signal_handler_now): Force inclusion of function
 | 
						||
	even when -finline-functions is specified.
 | 
						||
	* sigproc.h: Remove obsolete call_signal_handler declaration.
 | 
						||
 | 
						||
Sun Apr  8 20:36:55 2001  Benjamin Riefenstahl  <Benjamin.Riefenstahl@epost.de>
 | 
						||
 | 
						||
	* fhandler_console.cc (cp_get_internal): New function.
 | 
						||
	(cp_convert): New function.
 | 
						||
	(con_to_str): New function.
 | 
						||
	(str_to_con): New function.
 | 
						||
	(fhandler_console::read): Replace OemToCharBuff with con_to_str.
 | 
						||
	(fhandler_console::write_normal): Replace CharToOemBuff with str_to_con.
 | 
						||
 | 
						||
Thu Apr  5 22:41:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (stat_worker): Fix conditional which still allowed
 | 
						||
	successful stat'ing of non-existant files.
 | 
						||
 | 
						||
Wed Apr  4 10:37:44 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* child_info.h: Bump magic number for fork/exec/spawn.
 | 
						||
 | 
						||
Tue Apr  3 20:06:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* errno.cc (errmap): Map ERROR_FILE_INVALID to ENXIO.
 | 
						||
 | 
						||
Mon Apr  2 22:48:58 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygrun.c (main): Fix compiler warning.
 | 
						||
	* gmon.c (_mcleanup): Ditto.
 | 
						||
	* profil.c (profile_off): Ditto.
 | 
						||
 | 
						||
	* net.cc (find_winsock_errno): New function.
 | 
						||
	(__set_winsock_errno): Use find_winsock_errno.
 | 
						||
	(cygwin_setsockopt): Detect SO_ERROR for debugging.
 | 
						||
	(cygwin_getsockopt): Ditto.  Translate error when getsockopt returns
 | 
						||
	SO_ERROR.
 | 
						||
	* winsup.h: regparmize __set_winsock_errno.
 | 
						||
	* include/sys/strace.h: Document that strace functions can't use
 | 
						||
	regparm.
 | 
						||
 | 
						||
2001-04-02  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Avoid checking a magic
 | 
						||
	number of a directory.
 | 
						||
 | 
						||
Mon Apr  2 00:24:08 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* shared_info.h (mount_info): Remove mnt_ elements.
 | 
						||
	* thread.h (struct _winsup_t): Add mnt_ elements.
 | 
						||
	* path.cc (fillout_mntent): Use mnt_ elements from reent_winsup ().
 | 
						||
 | 
						||
Sun Apr  1 20:10:34 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (sigframe::call_signal_handler): Return value of
 | 
						||
	call_signal_handler_now.
 | 
						||
	* sigproc.h (sigframe): Use constructor.
 | 
						||
	* syscalls.cc (_read): Correct errno test prior to calling signal
 | 
						||
	handler.
 | 
						||
 | 
						||
Sun Apr  1 00:38:06 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (sigframe::call_signal_handler): Move outside of "C"
 | 
						||
	block or some compilers will complain.
 | 
						||
 | 
						||
Sun Apr  1 00:24:14 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (call_signal_handler_now): Rename from
 | 
						||
	call_signal_handler to avoid C++ confusion.
 | 
						||
 | 
						||
Sun Apr  1 00:08:15 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (fillout_mntent): Always remove drive root directories from
 | 
						||
	future consideration by "/cygdrive" reporting.
 | 
						||
	(cygdrive_getmnt): Avoid reporting removable drives or drives with no
 | 
						||
	media mounted.
 | 
						||
 | 
						||
Sat Mar 31 21:56:19 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* thread.h (struct _winsup_t): Remove obsolete elements.  Add
 | 
						||
	available_drives element.
 | 
						||
	* path.cc (mount_info::getmntent): Report "/cygdrive" drives when
 | 
						||
	mounted drives are exhausted.
 | 
						||
	(fillout_mntent): New function.
 | 
						||
	(mount_item::getmntent): Use fillout_mntent.
 | 
						||
	(cygdrives_mntent): New function.  Returns next available "/cygdrive".
 | 
						||
	(setmntent): Initialize available "/cygdrives".
 | 
						||
	* syscalls.cc: Remove some if 0'ed code.
 | 
						||
	* times.cc (timezone): Use more descriptive variable name.
 | 
						||
 | 
						||
Sat Mar 31 18:59:52 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* sigproc.h (class sigframe): Implement 'unregister()' method.
 | 
						||
	(sigframe::~sigframe): Use unregister method.
 | 
						||
	(sigframe::call_signal_handler): Declare new method.
 | 
						||
	* exceptions.cc (sigframe::call_signal_handler): New method.
 | 
						||
	Unregisters current sigframe before calling signal handler.
 | 
						||
	(setup_handler): Clear waiting threads prior to arming signal_arrived.
 | 
						||
	* syscalls.cc (_read): Change goto to loop.  Recalculate sigframe
 | 
						||
	inside of loop so that constructor is called when appropriate.
 | 
						||
	* wait.cc (wait4): Ditto.
 | 
						||
 | 
						||
	* signal.cc: Change "sig" to "signal" in debugging messages throughout.
 | 
						||
	* sigproc.cc: Ditto.
 | 
						||
 | 
						||
Sat Mar 31 17:12:08 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_serial.cc (fhandler_serial::raw_write): Close protected
 | 
						||
	handles with ForceCloseHandle or suffer spurious warnings.
 | 
						||
 | 
						||
Sat Mar 31 16:23:32 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::read): Remove special handling of CTRL-Z.
 | 
						||
 | 
						||
Sat Mar 31 11:09:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.h (class fhandler_console): Add members `insert_mode'.
 | 
						||
	* fhandler_console.cc (fhandler_console::dup): Duplicate `insert_mode'.
 | 
						||
	(fhandler_console::fhandler_console): Initialize `insert_mode'.
 | 
						||
	(fhandler_console::char_command): Add terminal capabilities
 | 
						||
	"enter insert mode" = \E[4h and "exit insert mode" = \E[4l.
 | 
						||
	Care for insert mode on terminal capability "repeat char" = \E[x;yb.
 | 
						||
	(fhandler_console::write_normal): Care for insert mode before writing
 | 
						||
	to the console.
 | 
						||
	(array keytable): Add keymapping for modified cursor and control
 | 
						||
	block keys (xterm like).
 | 
						||
 | 
						||
Fri Mar 30 13:02:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.h (class fhandler_console): Add members `savebufsiz' and
 | 
						||
	`savebuf' to allow save/restore of screen.
 | 
						||
	* fhandler_console.cc (fhandler_console::dup): Duplicate `savebufsiz'
 | 
						||
	and `savebuf'.
 | 
						||
	(fhandler_console::fhandler_console): Initialize `savebufsiz' and
 | 
						||
	`savebuf'.
 | 
						||
	(fhandler_console::char_command): Add terminal capabilities
 | 
						||
	"save screen content" = \E[?47h and "restore screen content" = \E[?47l.
 | 
						||
 | 
						||
Wed Mar 28 19:28:50 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (chdir): Eat trailing whitespace on input path.
 | 
						||
 | 
						||
Tue Mar 27 22:38:42 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* lib/_cygwin_S_IEXEC.c: Remove "const" from globals or they never seem
 | 
						||
	to be defined.  Wrap definitions in extern "C".  Include winsup.h to
 | 
						||
	assure proper definitions.
 | 
						||
 | 
						||
	* dcrt0.cc (dll_crt0_1): Call stdio_init after premain run so that
 | 
						||
	binmode.o, etc., will control default stdio settings.
 | 
						||
	* dtable.cc (dtable::init_std_file_from_handle): Allow __fmode to force
 | 
						||
	binmode/textmode settings.  Default pipes to binmode.
 | 
						||
 | 
						||
Tue Mar 27 11:31:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Fix conditional for previous patch.
 | 
						||
 | 
						||
Mon Mar 26 18:48:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Outflank copy-on-write problem on 9x by
 | 
						||
	setting access mode to FILE_MAP_READ when read access is requested.
 | 
						||
 | 
						||
Sun Mar 25 20:12:21 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dlfcn.cc (check_access): Eliminate.
 | 
						||
	(check_path_access): Use passed in path_conv buf.
 | 
						||
	(get_full_path_of_dll): Use passed in name buf to avoid a static.  Rip
 | 
						||
	out most of the path checking since LoadLibrary will do all of this
 | 
						||
	automatically.
 | 
						||
	(dlopen): Set errno when appropriate (may not be compliant?).
 | 
						||
	* environ.cc (posify): Don't pass in "native" path if it seems to
 | 
						||
	actually be posix.
 | 
						||
 | 
						||
Thursday Mar 22 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_dev_clipboard): Extend to support writing.
 | 
						||
	* fhandler_clipboard.cc (fhandler_dev_clipboard::fhandler_dev_clipboard):
 | 
						||
	Initialize new fields.  Open clipboard here.
 | 
						||
	(fhandler_dev_clipboard::dup): New method.
 | 
						||
	(fhandler_dev_clipboard::open): Accommodate new fields.  Register
 | 
						||
	clipboard here, if appropriate.
 | 
						||
	(set_clipboard): New function.  Moves buffer to clipboard.
 | 
						||
	(fhandler_dev_clipboard::write): Truly implement clipboard writing.
 | 
						||
	(fhandler_dev_clipboard::read): Reimplement to allow successive reads.
 | 
						||
	(fhandler_dev_clipboard::lseek): Truly implement seeks in clipboard.
 | 
						||
	(fhandler_dev_clipboard::close): Clear out new fields.  Support
 | 
						||
	sequential reads and sequential writes.  Support for binary data via a
 | 
						||
	native clipboard format.
 | 
						||
 | 
						||
2001-03-22  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler_console.cc (fhandler_console::set_default_attr): Update
 | 
						||
	console color attributes on tty reset.
 | 
						||
 | 
						||
Wed Mar 21 22:12:36 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* autoload.cc (kernel32_init): New function for kernel32 autoload
 | 
						||
	initialization.
 | 
						||
	(SignalObjectAndWait): Add conditional load of this function when it is
 | 
						||
	available.
 | 
						||
 | 
						||
2001-03-21 Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* sched.cc: New file.  Implement sched*.
 | 
						||
	* include/sched.h: New file.  User land includes for sched*.
 | 
						||
	* Makefile.in: Add sched.o
 | 
						||
	* cygwin.din: Add exports for sched*.
 | 
						||
 | 
						||
Tue Mar 20 14:48:46 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dtable.cc: Guard against new winsock.h/winsock2.h warnings when
 | 
						||
	mixing winsock*.h and sys/types.h.
 | 
						||
	* fhandler_socket.cc: Ditto.
 | 
						||
	* net.cc: Ditto.
 | 
						||
	* select.cc: Ditto.
 | 
						||
	* exceptions.cc: Remove unneeded define.
 | 
						||
 | 
						||
Mon Mar 19 17:43:29 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (interruptible): Update debugging output.
 | 
						||
	(setup_handler): Ensure that wait_sig loop wakes up when we punt on
 | 
						||
	sending a signal.
 | 
						||
	* poll.cc (poll): Add signal guard here.
 | 
						||
 | 
						||
2001-03-19  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* tty.h (tty::create_inuse): Add new parameter to allow non-
 | 
						||
	inheritable 'inuse' events.
 | 
						||
	* tty.cc (tty::create_inuse): Use new parameter.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_master::init): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_pty_master::open): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_master::init): Create master_alive
 | 
						||
	event.
 | 
						||
	* tty.cc (tty_list::terminate): Close master_alive event.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::close): Send EOF to slaves
 | 
						||
	when master side is closed.
 | 
						||
 | 
						||
Mon Mar 19 14:32:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (map::get_list_by_fd): Avoid calling `get_namehash' when
 | 
						||
	file descriptor is -1.
 | 
						||
 | 
						||
Sat Mar 17 18:30:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (check_posix_perm): New static function.
 | 
						||
	(fpathconf): Add _PC_POSIX_PERMISSIONS and _PC_POSIX_SECURITY
 | 
						||
	support.
 | 
						||
	(pathconf): Ditto.
 | 
						||
	* include/cygwin/version.h: Bump API minor number to 37.
 | 
						||
 | 
						||
2001-03-18  Egor Duda <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_tty_slave): Declare new methods.
 | 
						||
	* select.cc (fhandler_tty_slave::select_read): New method.
 | 
						||
	* select.cc (fhandler_tty_slave::ready_for_read): Ditto.
 | 
						||
	* select.cc (verify_tty_slave): New function.
 | 
						||
	* fhandler_termios.cc (fhandler_termios::line_edit): Empty input
 | 
						||
	buffer on signal.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::read): Check for input data
 | 
						||
	after reading from pipe. Reset event if input pipe is empty.
 | 
						||
	* tty.h (class tty): Allow creating events with manual reset.
 | 
						||
	* tty.cc (tty::get_event): Use manual_reset flag.
 | 
						||
	* tty.cc (tty::common_init): Create input_available_event with
 | 
						||
	manual reset.
 | 
						||
 | 
						||
Sat Mar 17 21:48:03 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* external.cc (fillout_pinfo): Match windows pid, as well as cygwin pid
 | 
						||
	when passed in pid.  Don't prematurely break when searching for a pid.
 | 
						||
 | 
						||
	* thread.h (_winsup_t): Eliminate unneeded field.
 | 
						||
 | 
						||
Sat Mar 17 20:46:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (get_95_ifconf): Use strcasematch instead of strcasecmp.
 | 
						||
	* syscalls.cc (_unlink): Ditto.
 | 
						||
	(_rename): Ditto.
 | 
						||
 | 
						||
Sat Mar 17 12:43:15 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (suffix_scan::next): Avoid searching for foo.lnk twice when
 | 
						||
	input is "foo".
 | 
						||
 | 
						||
Sat Mar 17 18:10:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (cygwin_socket): Set protocol to 0 when address family is
 | 
						||
	AF_UNIX to avoid WSAEPROTONOSUPPORT error.
 | 
						||
 | 
						||
Sat Mar 17 09:51:32 2001  Mathew Brozowski <brozow@tavve.com>
 | 
						||
 | 
						||
	* net.cc (cygwin_socket): Pass protocol parameter to socket call.
 | 
						||
 | 
						||
Sat Mar 17 02:05:38 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dir.cc (readdir): Use strcasematch for consistency.
 | 
						||
	* path.cc (symlink_info): Eliminate known_suffix.
 | 
						||
	(path_conv::check): Always copy ext_here to end of buffer, if found.
 | 
						||
	(suffix_scan): Eliminate ext_here, add suffixes_start.
 | 
						||
	(suffix_scan::has): Eliminate an argument.  Reorganize.  Always return
 | 
						||
	pointer to end of input path.
 | 
						||
	(suffix_scan::next): Take a second pass through the suffix list looking
 | 
						||
	for .lnk.
 | 
						||
	(symlink_info::check): Eliminate known_suffix usage.
 | 
						||
 | 
						||
Sat Mar 17 00:10:52 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (stat_dev): Give devices full read/write by default.
 | 
						||
 | 
						||
Saturday Mar 17 3:45 2001 Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (MTinterface::CreateCond): Check for null attr pointer.
 | 
						||
 | 
						||
Fri Mar 16 21:13:23 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_termios.cc (fhandler_termios::line_edit): Don't accept input
 | 
						||
	when a signal is sent or we'll end up in an EOF/signal race.
 | 
						||
 | 
						||
Fri Mar 16 20:25:40 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc: Translate scan states from defines to enums.
 | 
						||
	(suffix_scan): Rename state to nextstate for clarity.
 | 
						||
	(lnk_match): Change to allow multiple states to indicate that a .lnk
 | 
						||
	has been matched.
 | 
						||
	(suffix_scan::has): Eliminate a goto.  Handle .lnk as a special case,
 | 
						||
	since a .lnk may also need to be tacked on the end of a .lnk.
 | 
						||
	(suffix_scan::next): Don't increment next state.  Set it specifically.
 | 
						||
	Recognize new .lnk states.
 | 
						||
 | 
						||
Saturday Mar 17 01:19 2001 Robert Collins rbtcollins@hotmail.com
 | 
						||
 | 
						||
	* cygwin.din: Export the new functions.
 | 
						||
	* pthread.cc (pthread_cond_*): Add wrapper functions that call
 | 
						||
	__pthread_cond* functions.
 | 
						||
	* thread.cc (__pthread_cond_*): Implement the pthread_cond* functions.
 | 
						||
	* thread.h: Add new class entries and prototypes for __pthread_cond*
 | 
						||
	functions.
 | 
						||
	* include/pthread.h: user land header prototypes for pthread_cond*
 | 
						||
	functions and related defines.
 | 
						||
 | 
						||
Wed Mar 14 16:30:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* environ.cc (parse_options): Use strtok_r instead of strtok.
 | 
						||
	* security.cc (convert_string_sid_to_sid): Ditto.
 | 
						||
	(aclfromtext): Ditto. Fix buffer usage.
 | 
						||
 | 
						||
Wed Mar 14 10:11:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (lnk_suffixes): Remove.
 | 
						||
	(class suffix_scan): Add `lnk_state' flag.
 | 
						||
	(suffix_scan::lnk_match): Return state of `lnk_state' now.
 | 
						||
	(suffix_scan::has): Changed behaviour if file has `.lnk' suffix.
 | 
						||
	(suffix_scan::next): Set `lnk_state' where appropriate.
 | 
						||
	(symlink_info::check): Fix a wrong `break'.
 | 
						||
	* syscalls.cc (chown_worker): Change debug statement to reflect
 | 
						||
	lchown fix.
 | 
						||
	(lchown): Call chown_worker with `PC_SYM_NOFOLLOW' instead of
 | 
						||
	`PC_SYM_IGNORE'.
 | 
						||
 | 
						||
Tue Mar 13 13:52:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::fstat): Add correct modes to
 | 
						||
	symlinks when stat'ing on FAT or FAT32 file systems.
 | 
						||
 | 
						||
2001-03-12  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_termios::fixup_after_exec): New function.
 | 
						||
	* fhandler_termios.cc (fhandler_termios::fixup_after_fork): New
 | 
						||
	function. Fixup output handle.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Output
 | 
						||
	handle is now fixed up in fhandler_termios::fixup_after_fork().
 | 
						||
 | 
						||
2001-03-12  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_termios::fhandler_termios): Enable fixup
 | 
						||
	after fork.
 | 
						||
	* fhandler_console.cc (fhandler_console::fhandler_console): Fixup
 | 
						||
	after fork is now enabled in the base class constructor.
 | 
						||
 | 
						||
Mon Mar 12 11:19:41 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* mkvers.sh: Include config.h so that DEBUGGING is correctly defined.
 | 
						||
 | 
						||
Mon Mar 12 09:47:55 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* spawn.cc (spawn_guts): Don't set EXIT_REPARENTING if parent process
 | 
						||
	is not a cygwin process (suggested by Jason Gouger
 | 
						||
	<cygwin@jason-gouger.com>).
 | 
						||
 | 
						||
Sun Mar 11 16:00:58 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* child_info.h: Bump magic number for fork/exec/spawn.
 | 
						||
 | 
						||
Sat Mar 10 20:54:47 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* autoload.cc (noload): Use proper method for multiline strings or
 | 
						||
	newer gcc's complain.
 | 
						||
	* exceptions.cc (unused_sig_wrapper): Ditto.
 | 
						||
	* fhandler.h (fhandler_base): Make get_io_handle and friends return
 | 
						||
	self.
 | 
						||
	* fhandler_tty.cc (fhandler_pty_common::close_on_exec): Accommodate
 | 
						||
	DEBUGGING flag to avoid spurious warnings when inheritance is set.
 | 
						||
 | 
						||
Sat Mar 10 16:52:12 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* shortcut.c (PATH_ALL_EXEC): Add parentheses to avoid a compiler
 | 
						||
	warning.
 | 
						||
 | 
						||
	* exceptions.cc (setup_handler): Clarify debugging message.
 | 
						||
	* sigproc.cc (proc_subproc): Remove PROC_CHILDSTOPPED test.  It is
 | 
						||
	handled by normal PROC_CLEARWAIT case.
 | 
						||
	(wait_sig): Eliminate "dispatched" tracking.  Remove __SIGCHILDSTOPPED
 | 
						||
	test.  Decrement counter again before jumping out of
 | 
						||
	InterlockedDecrement loop so that subsequent InterlockedIncrement will
 | 
						||
	keep the counter at the correctly decremented value and also detect
 | 
						||
	when there are pending signals.
 | 
						||
	* sigproc.h: Remove __SIGCHILDSTOPPED element.
 | 
						||
	(procstuff): Remove PROC_CHILDSTOPPED element.
 | 
						||
 | 
						||
Sat Mar 10 15:22:44 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (_rename): Set errno to ENOENT when an old path doesn't
 | 
						||
	exist (from Kazuhiro Fujieda <fujieda@jaist.ac.jp>).  Also set EACCES
 | 
						||
	when directory is not writable.
 | 
						||
 | 
						||
Wed Mar  7 15:49:47 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (_read): Change definition to return ssize_t to be
 | 
						||
	consistent with read.
 | 
						||
	(_write): Change definition to return ssize_t to be consistent with
 | 
						||
	write.
 | 
						||
 | 
						||
Wed Mar  7 01:08:21 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* sigproc.h (sigthread): Declare new methods.  Create new winapi_lock
 | 
						||
	field.
 | 
						||
	(sigframe:;set): Call get_winapi_lock after frame is set so that signal
 | 
						||
	handler thread knows not to call SuspendThread.
 | 
						||
	(sigframe::~sigframe): Release winapi_lock.
 | 
						||
	* exceptions.cc (sigthread::get_winapi_lock): New method.
 | 
						||
	(sigthread::release_winapi_lock): New method.
 | 
						||
	(setup_handler): Use get_winapi_lock to ensure that signalled thread is
 | 
						||
	not blocked in a Windows API.
 | 
						||
 | 
						||
	* path.h (path_types): Avoid broken GCC warning.
 | 
						||
 | 
						||
Tue Mar  6 14:02:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (suffix_scan::has): Change order of conditionals
 | 
						||
	to allow checking for .lnk suffixes even if in_suffixes is empty.
 | 
						||
 | 
						||
Tue Mar  6 13:02:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.c (cygwin_premain0): Add missing parameter.
 | 
						||
	* binmode.c (cygwin_premain0): Ditto.
 | 
						||
	* textmode.c (cygwin_premain0): Ditto.
 | 
						||
 | 
						||
Tue Mar  6 12:04:00 2001  Jason Tiller <jtiller@sjm.com>
 | 
						||
 | 
						||
	* auto_load.cc: Add "GetKeyboardLayout" entry in the list of
 | 
						||
	Win32 User32.DLL exports to provide.
 | 
						||
	* fhandler.h (class fhandler_console): Add meta_mask private
 | 
						||
	member to remember which keystroke modifiers should generate
 | 
						||
	META.
 | 
						||
	* fhandler_console.cc (fhandler_console::read): Modify code that
 | 
						||
	tests a keystroke for a META-escaped key to use the 'meta_mask'
 | 
						||
	variable.
 | 
						||
	(fhandler_console::fhandler_console): Add definition for
 | 
						||
	variable "meta_mask" used to determine if a keystroke should be
 | 
						||
	preceded by META in the client console stream.  Set meta_mask
 | 
						||
	based on whether or not user's keyboard language is English -
 | 
						||
	non-English keyboards pass AltGr (right <ALT>) unmolested,
 | 
						||
	whereas English keyboards now interpret left- and right-<ALT>
 | 
						||
	as META.
 | 
						||
 | 
						||
Mon Mar  5 20:15:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* include/a.out.h: Add copyright hint.
 | 
						||
	* include/fcntl.h: Ditto.
 | 
						||
	* include/lastlog.h: Ditto.
 | 
						||
	* include/memory.h: Ditto.
 | 
						||
	* include/mntent.h: Ditto.
 | 
						||
	* include/paths.h: Ditto.
 | 
						||
	* include/poll.h: Ditto.
 | 
						||
	* include/syslog.h: Ditto.
 | 
						||
	* include/termio.h: Ditto.
 | 
						||
	* include/tzfile.h: Ditto.
 | 
						||
	* include/arpa/inet.h: Ditto.
 | 
						||
	* include/asm/byteorder.h: Ditto.
 | 
						||
	* include/asm/socket.h: Ditto.
 | 
						||
	* include/asm/types.h: Ditto.
 | 
						||
	* include/cygwin/if.h: Ditto.
 | 
						||
	* include/cygwin/mtio.h: Ditto.
 | 
						||
	* include/cygwin/rdevio.h: Ditto.
 | 
						||
	* include/cygwin/socket.h: Ditto.
 | 
						||
	* include/net/if.h: Ditto.
 | 
						||
	* include/netinet/in.h: Ditto.
 | 
						||
	* include/netinet/in_systm.h: Ditto.
 | 
						||
	* include/netinet/ip.h: Ditto.
 | 
						||
	* include/netinet/ip_icmp.h: Ditto.
 | 
						||
	* include/netinet/tcp.h: Ditto.
 | 
						||
	* include/sys/cdefs.h: Ditto.
 | 
						||
	* include/sys/cygwin.h: Ditto.
 | 
						||
	* include/sys/ioctl.h: Ditto.
 | 
						||
	* include/sys/mman.h: Ditto.
 | 
						||
	* include/sys/mount.h: Ditto.
 | 
						||
	* include/sys/mtio.h: Ditto.
 | 
						||
	* include/sys/procfs.h: Ditto.
 | 
						||
	* include/sys/resource.h: Ditto.
 | 
						||
	* include/sys/smallprint.h: Ditto.
 | 
						||
	* include/sys/socket.h: Ditto.
 | 
						||
	* include/sys/strace.h: Ditto.
 | 
						||
	* include/sys/syslog.h: Ditto.
 | 
						||
	* include/sys/sysmacros.h: Ditto.
 | 
						||
	* include/sys/termio.h: Ditto.
 | 
						||
	* include/sys/termios.h: Ditto.
 | 
						||
	* include/sys/uio.h: Ditto.
 | 
						||
	* include/sys/un.h: Ditto.
 | 
						||
	* include/sys/utsname.h: Ditto.
 | 
						||
	* include/sys/vfs.h: Ditto.
 | 
						||
	* include/sys/wait.h: Ditto.
 | 
						||
	* regexp/regerror.c: Ditto.
 | 
						||
	* regexp/regexp.h: Ditto.
 | 
						||
	* regexp/regmagic.h: Ditto.
 | 
						||
 | 
						||
Mon Mar  5 01:25:03 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dlopen.c (dlopen): Return NULL when name is NULL (suggested by
 | 
						||
	chrisiasci@aol.com).
 | 
						||
 | 
						||
	* cygwin.din: Add a new, internally used export -
 | 
						||
	_check_for_executable.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Set _check_for_executable for older binaries.
 | 
						||
	Pass user_data to premain functions.
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Only check for executable if
 | 
						||
	the linked program is interested in the executable bit.
 | 
						||
	(fhandler_disk_file::check_execable_p): Delete.
 | 
						||
	* fhandler.h (executable_states): New enumeration of various states of
 | 
						||
	executable bit caring.
 | 
						||
	(fhandler_base::set_execable_p): New method.
 | 
						||
 | 
						||
	* fhandler_termios.cc (fhandler_termios::line_edit): Flag when a signal
 | 
						||
	has been sent to the tty.  Return -1 when this is so.
 | 
						||
	* fhandler_console.cc (fhandler_console::read): Return -1 when signal
 | 
						||
	sending character encountered.
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Record when path refers to a disk device.
 | 
						||
	Move executable extension check here.
 | 
						||
	(check_sysfile): Accommodate new EXEC path states.
 | 
						||
	(has_suffix): Remove.
 | 
						||
	(next_suffix): Remove.
 | 
						||
	(class suffix_scan): New clas.
 | 
						||
	(suffix_scan::has): New method.
 | 
						||
	(suffix_scan:next): New method.
 | 
						||
	(symlink_info::check): Use suffix_scan method to control for scanning
 | 
						||
	for suffixes.
 | 
						||
	* path.h (path_conv::exec_state): New method.
 | 
						||
	* perprocess.h: Make "C" friendly.
 | 
						||
	* include/cygwin/version.h: Define CYGWIN_VERSION_CHECK_FOR_S_IEXEC.
 | 
						||
	Bump CYGWIN_VERSION_API_MINOR.
 | 
						||
	* include/sys/cygwin.h: Change premain declarations.
 | 
						||
 | 
						||
	* winsup.h: Move __cplusplus test to after builtin defines.
 | 
						||
 | 
						||
2001-03-04  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.h (class fhandler_tty_common): New mutex and event to
 | 
						||
	syncronize input on master tty with slave tty.
 | 
						||
	* fhandler_tty.cc (fhandler_pty_master::accept_input): Use them to
 | 
						||
	syncronize with slave.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::read): Use input mutex and
 | 
						||
	event to syncronize with master. Do not limit amount of data read
 | 
						||
	from master to vmin value. Interrupt on signal and return already
 | 
						||
	read data, if any.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::open): Handle input mutex and
 | 
						||
	event.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::close): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::set_close_on_exec): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::dup): Ditto.
 | 
						||
	* tty.h (tty::open_input_mutex): New function.
 | 
						||
	* tty.cc (tty::common_init): Create input mutex and event.
 | 
						||
 | 
						||
Fri Mar  2 13:32:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dir.cc (readdir): Fix creating path in symlink check.
 | 
						||
 | 
						||
Fri Mar  2 12:33:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dir.cc (readdir): Fix shortcut==symlink condition.
 | 
						||
	* environ.cc: Add extern decl for `allow_winsymlinks'.
 | 
						||
	(struct parse_thing): Add entry for `[no]winsymlinks'.
 | 
						||
	* path.cc (symlink): Change to be able to create both,
 | 
						||
	symlink==shortcut and symlink==systemfile, dependent of
 | 
						||
	the setting of `allow_winsymlinks'.
 | 
						||
	* security.cc (cygwin_logon_user): Add debug output.
 | 
						||
	* shortcut.c: Add defines from path.h.
 | 
						||
	(has_exec_chars): Copy from path.h.
 | 
						||
	(check_shortcut): Check for executable file condition if not a
 | 
						||
	shortcut.
 | 
						||
 | 
						||
Thu Mar  1 21:06:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (sig_handle_tty_stop): Ignore attempts to suspend a
 | 
						||
	process if started by non-cygwin parent.
 | 
						||
 | 
						||
Thu Mar  1 20:48:11 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* select.cc (peek_console): Don't report read_ready on mouse events
 | 
						||
	unless we are looking for mouse events.
 | 
						||
	* fhandler.h (fhandler_console::mouse_aware): New method.
 | 
						||
 | 
						||
Wed Feb 28 15:10:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* uinfo.cc: Eliminate `#include <wchar.h>'.
 | 
						||
 | 
						||
2001-02-28  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler_floppy.cc (fhandler_dev_floppy::lseek): Determine
 | 
						||
	drive geometry or partition size to allow seeking from the end of
 | 
						||
	raw floppy device. Don't allow positioning past the end of media or
 | 
						||
	to offsets bigger then max off_t.
 | 
						||
 | 
						||
2001-02-27  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.h (class fhandler_console): Make all variables that
 | 
						||
	describe "state" of console to be members of fhandler_console.
 | 
						||
	default_color is now the color which is set when console recieves
 | 
						||
	reset command.
 | 
						||
	* fhandler_console.cc (fhandler_console::fhandler_console): Turn
 | 
						||
	mouse handling and raw keyboard mode off by default. Initialize
 | 
						||
	state information.
 | 
						||
	* fhandler.cc (fhandler_console::set_raw_win32_keyboard_mode): New
 | 
						||
	function.
 | 
						||
	* fhandler_console.cc (fhandler_console::set_default_attr): New
 | 
						||
	function. Reset console attributes to default values.
 | 
						||
	* fhandler_console.cc (fhandler_console::open): Reset attributes.
 | 
						||
	* fhandler_console.cc (fhandler_console::get_win32_attr): New function.
 | 
						||
	Calculate win32-style console attribute based on terminal attributes.
 | 
						||
	* fhandler_console.cc (fhandler_console::set_cursor_maybe): Use
 | 
						||
	member variable.
 | 
						||
	* fhandler_console.cc (fhandler_console::read): If in raw-win32
 | 
						||
	keyboard mode, encode win32 keyboard events in \033{x;y;z;t;u;wK
 | 
						||
	sequences.
 | 
						||
	* fhandler_console.cc (fhandler_console::dup): Copy all state
 | 
						||
	information to the dup()ed handle.
 | 
						||
	* fhandler_console.cc (fhandler_console::scroll_screen): Use current
 | 
						||
	fill-in	attribute.
 | 
						||
	* fhandler_console.cc (fhandler_console::clear_screen): Ditto.
 | 
						||
	* fhandler_console.cc (fhandler_console::char_command): Check if we
 | 
						||
	saw '?' symbol by member variable. Set terminal	attributes on \033[Xm
 | 
						||
	commands. \033[24m - turn off underline mode, \033[27m - turn off
 | 
						||
	reverse mode, \033[39m - restore default foreground color.
 | 
						||
	\033[49m - restore default background color. \033[2000h - turn on raw
 | 
						||
	keyboard mode, \033[2000l - turn off raw keyboard mode.
 | 
						||
	* fhandler_console.cc (fhandler_console::write): Set attribues to
 | 
						||
	default values on reset command.
 | 
						||
 | 
						||
2001-02-26  Mike Simons  <msimons@moria.simons-clan.com>
 | 
						||
 | 
						||
	* times.cc (settimeofday): Replace function stub with working code.
 | 
						||
 | 
						||
Mon Feb 26 10:42:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* strace.cc (strace::vprntf): Move prntf functionality to this function
 | 
						||
	adding an va_list interface to strace.
 | 
						||
	(strace::printf): Calls strace::vprntf now.
 | 
						||
	(strace_printf): New function providing an extern "C" interface to
 | 
						||
	trace output.
 | 
						||
	* include/sys/strace.h: Make plain C clean.
 | 
						||
	(class strace): Add `vprntf' method.
 | 
						||
 | 
						||
Mon Feb 26  0:10:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* shortcut.c: Remove #include <sys/strace.h>.
 | 
						||
 | 
						||
Sun Feb 25 10:32:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (symlink): Add a ".lnk" suffix regardless. Add a comment.
 | 
						||
 | 
						||
Sun Feb 25 10:18:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* shortcut.c (check_shortcut): Change symlink condition.
 | 
						||
 | 
						||
Fri Feb 23 10:42:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (fhandler_disk_file::mmap): Use `addr' correctly.
 | 
						||
	* fhandler_mem.cc (fhandler_dev_mem::mmap): Ditto.
 | 
						||
 | 
						||
Thu Feb 22 17:09:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (symlink): Keep relative paths relative in the DOS
 | 
						||
	path inside of a shortcut. If that's impossible or the target
 | 
						||
	path is already absolute save an absolute path.
 | 
						||
 | 
						||
Thu Feb 22 15:33:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* cygerrno.h: Revert previous patch.
 | 
						||
	* errno.cc: Ditto.
 | 
						||
	* dir.cc: Eliminate `dir_suffixes'.
 | 
						||
	(opendir): Remove usage of `dir_suffixes'.
 | 
						||
	(rmdir): Ditto.
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Remove usage of
 | 
						||
	`inner_suffixes'.
 | 
						||
	* path.cc: Rename `inner_suffixes' to `lnk_suffixes'.
 | 
						||
	(path_conv::check): Remove usage of `inner_suffixes'.
 | 
						||
	(symlink): Ditto.
 | 
						||
	(symlink_info::check): Handle checking for `.lnk' in path_conv
 | 
						||
	exclusively here.
 | 
						||
	(chdir): Remove usage of `dir_suffixes'.
 | 
						||
	* shortcut.c: Eliminate debug_printf lines.
 | 
						||
	(check_shortcut): Don't set error except on failing ReadFile.
 | 
						||
	* spawn.cc: Remove ".lnk" from `std_suffixes'.
 | 
						||
	* syscalls.cc (_unlink): Remove usage of `inner_suffixes'.
 | 
						||
	Remove ".lnk" from `stat_suffixes'.
 | 
						||
	(_rename): Add check for renaming a symlink to keep the ".lnk"
 | 
						||
	suffix after renaming.
 | 
						||
 | 
						||
Thu Feb 22 13:38:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* shortcut.c: New file. Provides a C interface to reading of
 | 
						||
	Windows shortcuts to avoid compiler flag `-fvtable-thunks'.
 | 
						||
	* shortcut.h: Ditto.
 | 
						||
	* Makefile.in: Add shortcut.o to DLL_OFILES.
 | 
						||
	* cygerrno.h: Provide a C interface to `geterrno_from_win_error' for
 | 
						||
	using in shortcut.c.
 | 
						||
	* errno.cc (geterrno_from_win_error): Define as extern "C".
 | 
						||
	* path.cc (struct symlink_info): Remove methods `check_shortcut' and
 | 
						||
	`check_sysfile'.
 | 
						||
	(shortcut_header): Move to shortcut.c.
 | 
						||
	(shortcut_initalized): Ditto.
 | 
						||
	(create_shortcut_header): Ditto.
 | 
						||
	(cmp_shortcut_header): Ditto.
 | 
						||
	(symlink_info::check_shortcut): Ditto. Reorganize as a plain C function.
 | 
						||
	(symlink_info::check_sysfile): Redefine as a global function using the
 | 
						||
	same parameter list as `check_shortcut' for clearness.
 | 
						||
	(symlink_info::check): Change parameter list for calls to
 | 
						||
	`check_shortcut' and `check_sysfile'.
 | 
						||
 | 
						||
Thu Feb 22 12:04:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Use `inner_suffixes' when
 | 
						||
	resolving real_path.
 | 
						||
	* path.cc (symlink): Ditto for win32_topath.
 | 
						||
 | 
						||
Wed Feb 21 22:41:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* Makefile.in: Add `-lshell32 -luuid' to link pass for new-cygwin1.dll.
 | 
						||
	* autoload.cc: Add LoadDLLinitfunc for ole32.dll.
 | 
						||
	Add LoadDLLfuncEx statements for CoInitialize@4, CoUninitialize@0
 | 
						||
	and CoCreateInstance@20.
 | 
						||
	* dir.cc (dir_suffixes): New datastructure.
 | 
						||
	(readdir): Check for R/O *.lnk files to hide the suffix.
 | 
						||
	(opendir): Use `dir_suffixes' in path conversion.
 | 
						||
	(rmdir): Ditto.
 | 
						||
	* fhandler.cc (fhandler_disk_file::fstat): Add S_IFLNK flag
 | 
						||
	before calling `get_file_attribute'. Take FILE_ATTRIBUTE_READONLY
 | 
						||
	into account only if the file is no symlink.
 | 
						||
	* path.cc (inner_suffixes): New datastructure.
 | 
						||
	(SYMLINKATTR): Eliminated.
 | 
						||
	(path_conv::check): Use `inner_suffixes' on inner path components.
 | 
						||
	(shortcut_header): New global static variable.
 | 
						||
	(shortcut_initalized): Ditto.
 | 
						||
	(create_shortcut_header): New function.
 | 
						||
	(cmp_shortcut_header): Ditto.
 | 
						||
	(symlink): Create symlinks by creating windows shortcuts. Preserve
 | 
						||
	the old code.
 | 
						||
	(symlink_info::check_shortcut): New method.
 | 
						||
	(symlink_info::check_sysfile): Ditto.
 | 
						||
	(symlink_info::check): Check for shortcuts. Move code reading
 | 
						||
	old system attribute symlinks into symlink_info::check_sysfile().
 | 
						||
	(chdir): Use `dir_suffixes' in path conversion.
 | 
						||
	* security.cc (get_file_attribute): Check for S_IFLNK flag.
 | 
						||
	Force 0777 permissions then.
 | 
						||
	* spawn.cc (std_suffixes): Add ".lnk" suffix.
 | 
						||
	* syscalls.cc (_unlink): Use `inner_suffixes' in path conversion.
 | 
						||
	Check for shortcut symlinks to eliminate R/O attribute before
 | 
						||
	calling DeleteFile().
 | 
						||
	(stat_suffixes): Add ".lnk" suffix.
 | 
						||
	(stat_worker): Force 0777 permissions if file is a symlink.
 | 
						||
 | 
						||
2001-02-21  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* sigproc.cc (getsem): Make semaphore always non-inheritable.
 | 
						||
 | 
						||
Mon Feb 19 22:25:53 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dcrt0.cc (locale_init): Remove.
 | 
						||
 | 
						||
2001-02-15  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* cygwin.din: Export rand48 functions.
 | 
						||
	* thread.cc (MTinterface::Init): Remove the initialization of
 | 
						||
	`reent_data'.
 | 
						||
	* dcrt0.cc: Add the initalizer to the declaration of `reent_data'.
 | 
						||
	* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 35.
 | 
						||
 | 
						||
2001-02-16  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* signal.cc (signal): Prohibit setting handlers for SIGKILL and
 | 
						||
	SIGSTOP
 | 
						||
	* signal.cc (sigaction): Ditto
 | 
						||
	* syscalls.cc (_lseek): Return EINVAL on invalid input
 | 
						||
 | 
						||
Wed Feb 14 14:54:40 2001 Christophe Iasci <chrisiasci@aol.com>
 | 
						||
 | 
						||
	* dlfcn.cc (dlopen): Do not call LoadLibrary with a NULL pointer, when
 | 
						||
	the library is not found
 | 
						||
 | 
						||
2001-02-14  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler_console.cc (fhandler_console::char_command): Ignore unknown
 | 
						||
	rendition codes in \033[xx;yym control sequences
 | 
						||
 | 
						||
Fri Feb  9 23:19:01 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fork.cc (fork_parent): Return EAGAIN when can't record pid.
 | 
						||
	* pinfo.h (pinfo::remember): Return value of call to proc_subproc.
 | 
						||
	* sigproc.cc (proc_subproc): Return error if can't record pid.
 | 
						||
 | 
						||
Fri Feb  9 12:17:27 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (mknod): Add valid parameters.
 | 
						||
 | 
						||
Thu Feb  8 22:09:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Check for reusing a mapping only on MAP_SHARED
 | 
						||
	and on MAP_PRIVATE|MAP_ANON in the special case of offset 0.
 | 
						||
 | 
						||
Thu Feb  8 21:57:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (class list): Add member `hash'.
 | 
						||
	(list::list): Initialize `hash'.
 | 
						||
	(list::get_list_by_fd): Use filepath hash value to get the correct
 | 
						||
	mapping list if it's not an anonymous mapping.
 | 
						||
	(map::add_list): Initialize `hash' with filepath hash value.
 | 
						||
	(mmap): Check for reusing a mapping only on MAP_SHARED.
 | 
						||
 | 
						||
Wed Feb  7 18:47:36 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* signal.cc (killpg): Correct first argument.
 | 
						||
 | 
						||
Wed Feb  7 22:22:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add LoadDLLinitfunc for iphlpapi.dll.
 | 
						||
	Add LoadDLLfuncEx statements for GetIfTable@12 and GetIpAddrTable@12.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::ioctl): Move variable
 | 
						||
	definitions to the beginning of the function to allow better debugging.
 | 
						||
	Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU.
 | 
						||
	* net.cc: Include iphlpapi.h.
 | 
						||
	(get_2k_ifconf): Rewritten. Uses IP Helper API now.
 | 
						||
	(get_nt_ifconf): Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC
 | 
						||
	and SIOCGIFMTU.
 | 
						||
	(get_95_ifconf): Ditto. Renamed from `get_9x_ifconf'.
 | 
						||
	(get_ifconf): Name loopback `lo' instead of `lo0' as in Linux.
 | 
						||
	Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU.
 | 
						||
	Call `get_95_ifconf' only on Windows 95, `get_nt_ifconf' only
 | 
						||
	on Windows NT < Service Pack 3, `get_2k_ifconf otherwise.
 | 
						||
	* include/asm/socket.h: Add defines for SIOCGIFHWADDR, SIOCGIFMETRIC
 | 
						||
	and SIOCGIFMTU.
 | 
						||
	* include/cygwin/if.h: Add `ifr_hwaddr', `ifr_metric' and `ifr_mtu'.
 | 
						||
	(struct ifreq): Add `ifru_hwaddr'.
 | 
						||
 | 
						||
Tue Feb  6 15:04:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (stat_worker): Add a check for the special case when
 | 
						||
	a process creates a file using mode 000 using ntsec.
 | 
						||
 | 
						||
Mon Feb  5 17:00:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::open): Always add GENERIC_READ access
 | 
						||
	when opening raw disk devices.
 | 
						||
	* fhandler_floppy.cc (fhandler_dev_floppy::lseek): Implement bytewise
 | 
						||
	access.
 | 
						||
	* fhandler_raw.cc (fhandler_dev_raw::open): Always open raw disk device
 | 
						||
	binary.
 | 
						||
	(fhandler_dev_raw::raw_write): Don't drop read buffer content when
 | 
						||
	writing after read.
 | 
						||
 | 
						||
Mon Feb  5 13:30:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap_record::fixup_map): New method to duplicate
 | 
						||
	the memory protection in a just forked child.
 | 
						||
	(mmap): Realign gran_len to page boundary only on anonymous
 | 
						||
	mapping before saving in the mmap_record.
 | 
						||
	(munmap): Cleanup code.
 | 
						||
	(msync): Ditto.
 | 
						||
	(fixup_mmaps_after_fork): Ditto. Call mmap_record::fixup_map now.
 | 
						||
 | 
						||
Thu Feb  1 23:08:29 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (creturn): Correctly calculate cygheap_max.
 | 
						||
 | 
						||
Wed Jan 31 10:04:58 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* shared.cc (shared_info::initialize): Reduce size of heap.
 | 
						||
 | 
						||
Wed Jan 31 13:22:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* include/sys/resource.h: Fix typo.
 | 
						||
 | 
						||
Wed Jan 31 13:20:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* include/sys/resource.h: Add RLIMIT_NLIMITS and RLIM_NLIMITS.
 | 
						||
 | 
						||
Tue Jan 30 18:15:23 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump version to 1.3.0.
 | 
						||
 | 
						||
Tue Jan 30  8:55:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* pinfo.cc (pinfo::init): Use INVALID_HANDLE_VALUE instead of
 | 
						||
	explicit cast (HANDLE) 0xffffffff.
 | 
						||
	* shared.cc (open_shared): Ditto.
 | 
						||
 | 
						||
Mon Jan 29 17:15:22 2001  Bill Hegardt <bill@troyxcd.com>
 | 
						||
 | 
						||
	* fhandler_serial.cc (raw_write): Use local copy of OVERLAPPED
 | 
						||
	structure instead of shared structure to fix a race condition between
 | 
						||
	read/write.
 | 
						||
 | 
						||
Mon Jan 29 14:30:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Remove obsolete check for MAP_SHARED|MAP_ANON as
 | 
						||
	being invalid.
 | 
						||
 | 
						||
Mon Jan 29 10:23:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap_record::find_empty): Fix loop condition.
 | 
						||
 | 
						||
Sun Jan 28 19:40:40 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (_link): Make sure that newpath does not exist.  Set
 | 
						||
	errno if it does.
 | 
						||
 | 
						||
Sun Jan 28 19:29:08 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (init_cheap): Don't specify a load address for the heap.
 | 
						||
	It doesn't work on #!*& Windows 9x.
 | 
						||
	(cygheap_init): Move GetUserName to memory_init.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Call new memory_init functin, eliminate call
 | 
						||
	to heap_init.
 | 
						||
	* heap.cc (heap_init): Improve error output.
 | 
						||
	* heap.h: Correct some declarations.
 | 
						||
	* shared.cc (mount_table_init): Remove.
 | 
						||
	(memory_init): Renamed from shared_init.  Reorganize to accommodate
 | 
						||
	strange Windows 9x problems with cygheap/heap interaction.
 | 
						||
	* shared_info.h: Rename shared_init to memory_init.
 | 
						||
 | 
						||
Sun Jan 28 01:25:33 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump API version.
 | 
						||
 | 
						||
Sun Jan 28 01:18:22 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (init_cheap): Move username initialization.
 | 
						||
	(cygheap_init): Here.
 | 
						||
	* shared_info.h (mount_info): Add a sys_mount_table_counter field.
 | 
						||
	(shared_info): Ditto.
 | 
						||
	* path.cc (mount_info::conv_to_win32_path): Check that our mount table
 | 
						||
	is in sync with the system mount table and reinitialize it if not.
 | 
						||
	(mount_info::add_reg_mount): Bump sys_mount_table counters if the
 | 
						||
	system mount table changes.
 | 
						||
	(mount_info::del_reg_mount): Ditto.
 | 
						||
	(mount_info::write_cygdrive_info_to_registry): Ditto.
 | 
						||
	(mount_info::remove_cygdrive_info_from_registry): Ditto.
 | 
						||
 | 
						||
Sun Jan 28 00:28:30 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Throughout, change 'cygwin_shared.mount' to 'mount_table'.
 | 
						||
	* child_info.h (child_info): Move shared_h, console_h to cygheap.  Add
 | 
						||
	mount_h.
 | 
						||
	* cygheap.h (init_cygheap): Add shared_h, console_h.
 | 
						||
	* cygheap.cc (init_cheap): Initialize heap at a fixed location after
 | 
						||
	the shared memory regions.  Initialize cygheap->user name here.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Call getpagesize () to initialize constants.
 | 
						||
	Remove cygheap_init since it is done in shared_init now.
 | 
						||
	(_dll_crt0): Initialize mount_h, remove shared_h and console_h
 | 
						||
	initialization.
 | 
						||
	* fhandler_console.cc (console_shared_h): Eliminate.
 | 
						||
	(get_tty_stuff): Use cygheap->console_h rather than console_shared_h.
 | 
						||
	* heap.cc (heap_init): Use page size constant calculated earlier in
 | 
						||
	initialization.
 | 
						||
	* shared.cc: Eliminate cygwin_shared_h.  Add cygwin_mount_h.
 | 
						||
	(mount_table_init): New function for initializing a user mount table.
 | 
						||
	(open_shared_file_map): Use constant for shared memory region.
 | 
						||
	Initialize cygheap and mount table here.
 | 
						||
	(open_shared): Improve debugging output.
 | 
						||
	(shared_info::initialize): Eliminate call to mount.init.
 | 
						||
	(shared_terminate): Use cygheap->shared_h.  Close cygwin_mount_h.
 | 
						||
	(open_shared_file_map): Eliminate.
 | 
						||
	* shared_info.h (mount_info): Add a version field.
 | 
						||
	(shared_align_past): New macro for calculating location for shared
 | 
						||
	memory regions.
 | 
						||
	* sigproc.cc (init_child_info): Eliminate shared_h, console_h.
 | 
						||
	* spawn.cc (spawn_guts): Pass on cygwin_mount_h iff not a different
 | 
						||
	user.
 | 
						||
	* syscalls.cc (system_info): New global holding system memory defaults.
 | 
						||
	(getpagesize): Use system_info.
 | 
						||
	* uinfo.cc (internal_getlogin): Only fill in user name if nonexistent.
 | 
						||
	* winsup.h: Declare system_info.
 | 
						||
 | 
						||
	* passwd.cc (read_etc_passwd): Use cygheap->user.name () rather than
 | 
						||
	retrieving the name again.
 | 
						||
 | 
						||
Sat Jan 27 10:18:02 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Detect when path has symlinks.
 | 
						||
	(symlink_info::check): Remove debugging stuff.
 | 
						||
	(chdir): Use posix'ized win32 path if cd'ed to a path using symlinks.
 | 
						||
 | 
						||
Fri Jan 26 21:20:28 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (sigreturn): Call any pending signals prior to
 | 
						||
	resetting the signal mask so that stacked signals behave correctly.
 | 
						||
	(sigdelayed): Avoid a race where a signal could end up calling an
 | 
						||
	incorrect signal handler if two signals come in close together.
 | 
						||
 | 
						||
Tue Jan 23 21:56:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (fhandler_disk_file::mmap): Call CreateFileMapping with
 | 
						||
	len != 0 only when performing an anonymous mapping.
 | 
						||
 | 
						||
Mon Jan 22 15:35:28 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.h: Add a new constant.
 | 
						||
	* syscalls.cc (_read): Oscillate errno check.
 | 
						||
 | 
						||
Mon Jan 22 15:27:12 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump API to reflect setlogmask.
 | 
						||
 | 
						||
Sun Jan 21 22:40:25 2001  Jason Tishler <jt@dothill.com>
 | 
						||
 | 
						||
	* cygwin.din: Add export for setlogmask().
 | 
						||
	* syslog.cc (setlogmask): New function.
 | 
						||
 | 
						||
Thu Jan 18 10:27:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* resource.cc (setrlimit): Support RLIMIT_NOFILE.
 | 
						||
 | 
						||
Wed Jan 17 23:23:12 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (setdtablesize): Call with amount to increment not total
 | 
						||
	amount.  Return success or failure error code.
 | 
						||
 | 
						||
Wed Jan 17 09:47:13 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* autoload.cc (LoadDLLinitfunc): Remove debugging statement.
 | 
						||
 | 
						||
	* exceptions.cc (sig_handle_tty_stop): Move setting of PID_STOPPED to
 | 
						||
	earlier in interrupt.
 | 
						||
	(interrupt_setup): i.e., here.
 | 
						||
	(sig_handle): Don't queue multiple SIGSTOPS.
 | 
						||
	* fhandler.h (bg_check_types): Enumerate return value of bg_check for
 | 
						||
	clarity.
 | 
						||
	* signal.cc (kill_pgrp): Minor cleanup.
 | 
						||
	* fhandler_termios.cc (fhandler_termios::bg_check): Use enumerated type
 | 
						||
	for function return.  Don't raise signal if a signal is already queued.
 | 
						||
	* fhandler_console.cc (fhandler_console::read): Use enumerated return
 | 
						||
	type for bg_check.
 | 
						||
	* select.cc: Ditto, throughout.
 | 
						||
	* read.cc: Ditto, throughout.
 | 
						||
	* termios.cc: Ditto, throughout.
 | 
						||
	(_read): YA interrupt detect simplification.
 | 
						||
	* wait.cc (wait4): Ditto.
 | 
						||
 | 
						||
Wed Jan 17 10:56:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* cygheap.cc (cygheap_user::~cygheap_user): Temporarily
 | 
						||
	disable free'ing memory.
 | 
						||
 | 
						||
Tue Jan 16 18:01:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Initialize fh to avoid compiler warnings.
 | 
						||
 | 
						||
Mon Jan 15 21:07:00 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* wait.cc (wait4): Rename variable for consistency.  Allow restartable
 | 
						||
	signal behavior.
 | 
						||
 | 
						||
Mon Jan 15 23:15:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Add more parameter checking. Change error output
 | 
						||
	in case of EINVAL. Treat mmapping /dev/zero like MAP_ANONYMOUS.
 | 
						||
 | 
						||
Mon Jan 15 20:34:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc: include <unistd.h>. Define some bit operations for
 | 
						||
	the new page map.
 | 
						||
	(mmap_record): Change type of base_address_ to caddr_t.
 | 
						||
	Add map_map_ member. Add several methods to manipulate map_map_.
 | 
						||
	(mmap_record::alloc_map): New method.
 | 
						||
	(mmap_record::free_map): Ditto.
 | 
						||
	(mmap_record::find_empty): Ditto.
 | 
						||
	(mmap_record::map_map): Ditto.
 | 
						||
	(mmap_record::unmap_map): Ditto.
 | 
						||
	(list::add_record): Change return type to `mmap_record *'.
 | 
						||
	Allocate page map.
 | 
						||
	(list::match): New method.
 | 
						||
	(mmap): Partly rewritten to take care for the new page map. Add some
 | 
						||
	parameter checking.
 | 
						||
	(munmap): Ditto.
 | 
						||
 | 
						||
Mon Jan 15 13:50:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* heap.cc (heap_init): Fix extern declaration of getpagesize.
 | 
						||
	* syscalls.cc (getpagesize): Fix another typo.
 | 
						||
 | 
						||
Mon Jan 15 12:48:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (getpagesize): Save pagesize in global variable to
 | 
						||
	avoid calling GetSystemInfo too often.
 | 
						||
	* heap.cc (getpagesize): Eliminate.
 | 
						||
	(heap_init): Use getpagesize function from syscalls.cc.
 | 
						||
 | 
						||
Mon Jan 15 11:56:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* sysconf.cc (sysconf): return `getpagesize ()' on _SC_PAGESIZE
 | 
						||
	request to avoid implementing the same twice.
 | 
						||
 | 
						||
Sun Jan 14 14:07:50 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (_read): Use more lightweight method for determining if
 | 
						||
	read has been interrupted by a signal.
 | 
						||
 | 
						||
Fri Jan 12 00:35:15 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* debug.h: Add regparm attributes to some functions.
 | 
						||
 | 
						||
	* signal.cc (sigaction): Don't treat SIGCONT specially.
 | 
						||
 | 
						||
	* exceptions.cc (interrupt_setup): Save sa_flags of interrupted signal
 | 
						||
	for later use.
 | 
						||
	(sig_handler): Default any stopping signal to SIGSTOP.
 | 
						||
	(call_signal_handler): New function.
 | 
						||
	(sigdelayed0): New function.
 | 
						||
	* sigproc.cc (sigproc_init): Initialize SIGSTOP sigaction for special
 | 
						||
	behavior.
 | 
						||
	* sigproc.h: Define call_signal_handler.
 | 
						||
	* syscalls.cc (_read): Allow restartable signal behavior.
 | 
						||
 | 
						||
Thu Jan 11 13:17:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_base): New method `fixup_mmap_after_fork'.
 | 
						||
	(fhandler_disk_file: Ditto.
 | 
						||
	(fhandler_dev_mem): Ditto.
 | 
						||
	* fhandler_mem.cc (fhandler_dev_mem::open): Set OBJ_INHERIT attribute
 | 
						||
	for device\physicalmemory handle.
 | 
						||
	(fhandler_dev_mem::mmap): Ditto.
 | 
						||
	* fhandler_mem.cc (fhandler_dev_mem::fixup_mmap_after_fork): New
 | 
						||
	method.
 | 
						||
	* mmap.cc (mmap_record): Add private `fdesc_' member.  Change
 | 
						||
	constructor accordingly.
 | 
						||
	(get_fd): New method.
 | 
						||
	(mmap): Use new mmap_record constructor.
 | 
						||
	(fhandler_base::fixup_mmap_after_fork): New method.
 | 
						||
	(fhandler_disk_file::fixup_mmap_after_fork): Ditto.
 | 
						||
	(fixup_mmaps_after_fork): Call `fixup_mmap_after_fork' of appropriate
 | 
						||
	fhandler class.
 | 
						||
 | 
						||
Wed Jan 10 22:08:30 2001  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* sigproc.cc (wait_sig): Allow SIGCONT when stopped.
 | 
						||
 | 
						||
Tue Jan  9 16:55:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	Patch suggested by Ren<65> M<>ller Fonseca <fonseca@mip.sdu.dk>
 | 
						||
	* include/sys/socket.h: Change prototype to have 2nd parameter `const'.
 | 
						||
	* net.cc (cygwin_bind): Change 2nd parameter to `const'.
 | 
						||
 | 
						||
Sun Jan  7 22:59:37 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* pinfo.cc (codepage_init): Move function.
 | 
						||
	* environ.cc (codepage_init): To here.
 | 
						||
	* exceptoins.cc (SIG_NONMASKABLE): Remove SIGCONT from consideration
 | 
						||
	since it is supposed to be maskable.
 | 
						||
	* signal.cc (sigaction): Ditto.
 | 
						||
	* sigproc.cc (wait_sig): Ditto.
 | 
						||
	* winsup.h: Eliminate global declaration of codepage_init.
 | 
						||
 | 
						||
Thu Jan  5  9:33:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* resource.cc (getrlimit): Set errno on EFAULT instead of returning
 | 
						||
	it.
 | 
						||
	(setrlimit): Ditto.
 | 
						||
 | 
						||
Thu Jan  5  3:38:00  2001  David Sainty <David.Sainty@optimation.co.nz>
 | 
						||
 | 
						||
	* resource.cc (setrlimit): Prevent failing with an error when the
 | 
						||
	operation would not have changed anything.
 | 
						||
 | 
						||
Thu Jan  4 10:29:54  2001  Earnie Boyd  <earnie_boyd@yahoo.com>
 | 
						||
 | 
						||
	* thread.cc: Need LONG_MAX definition.
 | 
						||
 | 
						||
Wed Jan  3 13:47:23 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* thread.cc (MTinterface::CreateSemaphore): Correctly set semaphore
 | 
						||
	max.
 | 
						||
 | 
						||
Wed Jan  3 09:44:51 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_console.cc (fhandler_console::read): Restore missing test
 | 
						||
	for code page before doing OemToCharBuff.
 | 
						||
 | 
						||
Wed Jan  3 09:20:20 2001  Jason Tishler <jt@dothill.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Fix typo in CYGWIN_VERSION_DLL_COMBINED
 | 
						||
	macro.
 |