3563 lines
		
	
	
		
			140 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			3563 lines
		
	
	
		
			140 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Sat Dec 25 12:46:25 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dlfcn.cc (dlsym): Use correct HANDLE type for GetProcAddress.
 | |
| 	(dlclose): Ditto for FreeLibrary.
 | |
| 	* fhandler_windows.cc (fhandler_windows::set_close_on_exec): Properly
 | |
| 	coerce arguments to set_inheritance.
 | |
| 	(fhandler_windows::fixup_after_fork): Ditto for fork_fixup.
 | |
| 	* libcmain.cc (main): Simplify.
 | |
| 	* select.cc (peek_windows): Properly coerce argument to PeekMessage.
 | |
| 
 | |
| Sat Dec 25 12:30:25 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Eliminate unneeded .y SUFFIX.
 | |
| 	* dcrt0.cc (__api_fatal): Make "C".
 | |
| 	(do_global_ctors): Make __stdcall.
 | |
| 	(getprogname): Ditto.
 | |
| 	(insert_file): Ditto.
 | |
| 	(globify): Ditto.
 | |
| 	(build_argv): Ditto.
 | |
| 	(do_exit): Ditto.
 | |
| 	* debug.cc (regthread): Ditto.
 | |
| 	(makethread): Ditto.
 | |
| 	(threadname): Ditto.
 | |
| 	(find_handle): Ditto.
 | |
| 	(handle_list): Ditto.
 | |
| 	(add_handle): Ditto.
 | |
| 	* debug.h: Reflect changes to __stdcall.
 | |
| 	* shared.h: Ditto.
 | |
| 	* winsup.h: Ditto.
 | |
| 
 | |
| Sat Dec 25 12:09:10 1999  Kazuhiro Fujieda <fujieda@jaist.ac.jp>
 | |
| 
 | |
| 	* path.cc (symlink): Don't return error if target is a symlink to a
 | |
| 	nonexistent file.
 | |
| 
 | |
| 1999-12-23  DJ Delorie  <dj@cygnus.com
 | |
| 
 | |
| 	* Makefile.in: add support for "make check"
 | |
| 	* shared.cc: if $CYGWIN_TESTING is set, use a private shared area
 | |
| 	* cygrun.c: new, used to isolate dll-in-test
 | |
| 	* testsuite/*: new, rudimentary testsuite framework
 | |
| 
 | |
| Wed Dec 22 01:05:44 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (globify): Properly handle embedded tildes in variable
 | |
| 	names.  Treat a c:\foo style path spec as "special", i.e., don't
 | |
| 	interpret the backslashes as quoting characters.
 | |
| 
 | |
| Fri Dec 17 10:49:13 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (symlink): Return error if the target exists.
 | |
| 
 | |
| Thu Dec 16 22:36:45 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc: Change method for accessing com in windows_device_names to
 | |
| 	allow > 2 com ports.
 | |
| 
 | |
| Thu Dec 16 00:49:30 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Only build winver.o and version.o when required.
 | |
| 
 | |
| Sat Dec 11 11:06:45 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* path.cc (path_conv::path_conv): Ensure that a trailing slash is added
 | |
| 	to "x:" specifications.
 | |
| 
 | |
| Fri Dec 10 20:22:41 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* debug.cc (WFSO): Make __stdcall.
 | |
| 	(WFMO): Ditto.
 | |
| 	* debug.h: Reflect above changes.
 | |
| 	* exceptions.cc (sig_set_errno): Set errno to be in effect after a
 | |
| 	signal handler.
 | |
| 	(handle_sigsuspend): Use set_sig_errno to ensure that the correct errno
 | |
| 	is set after a signal handler.
 | |
| 	(interrupt_now): Accommodate default errno field in stack.
 | |
| 	(intterupt_on_return): Ditto.
 | |
| 	(sigreturn): Pop, test, and possibly restore saved errno on return from
 | |
| 	signal handler.
 | |
| 	* fhandler_console.cc (fhandler_console::read): Set errno to be in
 | |
| 	effect after a signal handler.
 | |
| 	* fhandler_serial.cc (fhandler_serial::raw_read): Ditto.
 | |
| 	* select.cc (cygwin_select): Ditto.
 | |
| 	(select_stuff:wait): Ditto.
 | |
| 	(peek_serial): Ditto.
 | |
| 	* syscalls.cc (_read): Ditto.
 | |
| 	* wait.cc (wait4): Ditto.
 | |
| 	* winsup.h (signal_dispatch): Add "saved_errno" field.
 | |
| 
 | |
| Thu Dec  9 23:35:45 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* debug.cc (threadname_init): Use new_muto macro to set up a static
 | |
| 	buffer for a muto.
 | |
| 	(debug_init): Ditto.
 | |
| 	(WFSO): Reinstate wrapper for WaitForSingleObject.
 | |
| 	(WFMO): Reinstate wrapper for WaitForMultipleObject.
 | |
| 	* debug.h: Declare the above two wrappers.
 | |
| 	* exceptions.cc (events_init): Use new_muto macro to set up a static
 | |
| 	buffer for a muto.
 | |
| 	* sigproc.cc (sigproc_init): Ditto.
 | |
| 	* sync.cc (muto::acquire): Don't bump waiters if we already own the
 | |
| 	muto.
 | |
| 	* sync.h (new): New operator.
 | |
| 	(delete): Ditto.
 | |
| 	(new_muto): New macro.
 | |
| 
 | |
| Dec 08 23:50:00 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc (get_nt_attribute): Add debug output.  Correct behaviour
 | |
| 	in case of NULL ACL.
 | |
| 	* syscalls.cc (stat_worker): Allow remote drives to get stat info from
 | |
| 	fh.fstat().
 | |
| 	* include/winnt.h: Add defines for W2K ACL control flags.
 | |
| 	* include/cygwin/socket.h: Add missing PF_NETBIOS.
 | |
| 
 | |
| Wed Dec  8 23:06:07 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Ensure that winver.o is a dependency for building the
 | |
| 	dll.
 | |
| 	* mkvers.sh: Attempt to call windres in a fashion that accommodates
 | |
| 	older and newer versions.
 | |
| 	* winver.c: Reorganize slightly to accommodate older versions of
 | |
| 	windres.
 | |
| 	* fhandler.cc (fhandler_disk_file::fstat): Avoid using Windows "inodes"
 | |
| 	on disks which do not support them.
 | |
| 
 | |
| Tue Dec  7 21:15:11 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dll_init.cc (DllList::forkeeLoadDlls): Reverse order of Free/Load
 | |
| 	Library calls to ensure that references are resolved.
 | |
| 	* path.cc (mount_info::conv_to_win32_path): Ensure that returned
 | |
| 	windows paths are always normalized regardless of whether they were in
 | |
| 	windows format to begin with.
 | |
| 
 | |
| Tue Dec  7 08:48:22 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* environ.cc (parse_options): Properly detect end of known array.
 | |
| 
 | |
| Mon Dec  6 22:32:04 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* mkvers.sh: Generate winver.o from winver.rc and various other things
 | |
| 	from include/cygwin/version.h
 | |
| 	* winver.rc: New file (adapted from donation by Mumit Khan
 | |
| 	<khan@xraylith.wisc.edu>).
 | |
| 	* configure.in: Find windres.
 | |
| 	* configure: Regenerate.
 | |
| 	* Makefile.in: Link winver.o into cygwin1.dll.
 | |
| 
 | |
| Mon Dec  6 13:04:47 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 | |
| 
 | |
| 	* init.cc (dynamically_loaded): New global variable.
 | |
| 	(dll_entry): Use.
 | |
| 	* winsup.h (dynamically_loaded): Declare.
 | |
| 	* dcrt0.cc (do_global_ctors): Likewise.
 | |
| 	(set_os_type): Make static again.
 | |
| 	(dll_crt0_1): Handle dynamically_loaded case.
 | |
| 	* dll_init.cc (dll_dllcrt0_1): Delete.
 | |
| 	(dll_dllcrt0): Handle dynamically_loaded case.
 | |
| 	(dll_noncygwin_dllcrt0): Mark obsolescent.
 | |
| 	* libccrt0.cc (cygwin_attach_noncygwin_dll): Delete.
 | |
| 	* pinfo.cc (pinfo_init): Don't inherit parent fds if dynamically
 | |
| 	loaded.
 | |
| 	* include/cygwin/cygwin_dll.h (cygwin_attach_noncygwin_dll): Delete
 | |
| 	prototype.
 | |
| 	(_cygwin_noncygwin_dll_entry): Mark obsolescent.
 | |
| 
 | |
| Mon Dec  6 11:09:41 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* configure.in: Make threadsafe the default.
 | |
| 	* configure: regenerate.
 | |
| 	* utils/strace.cc: Fix a compiler warning.
 | |
| 
 | |
| Sun Dec  5 15:49:43 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* environ.cc (parse_options): Reinstate unions in parse_things, to
 | |
| 	save space.
 | |
| 
 | |
| Fri Dec  3 22:52:05 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Implement new signal-handling scheme which ensures that a program will
 | |
| 	not be interrupted while in a system or cygwin DLL.
 | |
| 	* Makefile.in: Add sync.o and dll_ofiles target.
 | |
| 	* dcrt0.cc (alloc_stack_hard_way): Add more defensive code to ensure
 | |
| 	that the stack is really grown.
 | |
| 	(alloc_stack): Ditto.
 | |
| 	(dll_crt0_1): Reorganize some initialization routines to ensure that
 | |
| 	they occur after the heap has been initialized.
 | |
| 	* debug.cc: Use muto for locks.  Eliminate attempts to avoid being
 | |
| 	interrupted by signals.
 | |
| 	(threadname_init): New function.
 | |
| 	(debug_init): Ditto.
 | |
| 	* debug.h: Declare debug_init and threadname_init.
 | |
| 	* exceptions.cc (stack_info::stack_info): Don't check for previous use
 | |
| 	of get().
 | |
| 	(handle_sigsuspend): Simply using new signal-handling scheme.
 | |
| 	(interruptible): New function.  Determines if PC should be interrupted.
 | |
| 	(interrupt_now): New function.  Causes immediate signal dispatch.
 | |
| 	(interrupt_on_return): New function.  Causes signal dispatch on return
 | |
| 	from cygwin or system routine.
 | |
| 	(call_handler): Simplify to use new signal-handling scheme.
 | |
| 	(set_process_mask): Use mask_sync muto to synchronize setting of
 | |
| 	process signal mask.
 | |
| 	(sig_handle_tty_stop): New function.  Called when have to stop process
 | |
| 	now.
 | |
| 	(sig_handle): Simplify to use new signal-handling scheme.
 | |
| 	(set_process_mask): Ditto.
 | |
| 	(events_init): Allocate mask_sync muto.
 | |
| 	(unused_sig_wrapper): New function.  Encapsulates assembly language
 | |
| 	signal handling support.
 | |
| 	* fhandler.h (class select_stuff): Accommodate new signal-handling
 | |
| 	scheme.
 | |
| 	* fhandler_console.cc (fhandler_console): Simplify to use new
 | |
| 	signal-handling scheme.
 | |
| 	* fhandler_serial.cc (fhandler_serial::raw_read): Ditto.
 | |
| 	* fhandler_termios.cc (bg_check): Ditto.
 | |
| 	* fhandler_tty.cc (process_input): Ditto.
 | |
| 	(fhandler_tty_slave::open): Ditto.
 | |
| 	(fhandler_tty_slave::send_ioctl_request): Ditto.
 | |
| 	* fork.cc: Ditto.
 | |
| 	* path.cc (chdir): Ditto.
 | |
| 	* select.cc: Ditto, throughout.
 | |
| 	* shared.h: Eliminate unneeded signal enum.
 | |
| 	* signal.cc (signal): Simplify to use new signal-handling scheme.
 | |
| 	(sleep): Ditto.
 | |
| 	(usleep): Ditto.
 | |
| 	(sigprocmask): Ditto.
 | |
| 	(sigaction): Ditto.
 | |
| 	(pause): Use handle_sigsuspend to pause for signal.
 | |
| 	* sigproc.cc: Change signal_arrived handle to global_signal_arrived
 | |
| 	class.  Change various mutex handles to mutos.
 | |
| 	(proc_subproc): Simplify to use new signal-handling scheme.  Use muto
 | |
| 	for locking.
 | |
| 	(get_proc_lock): Ditto.
 | |
| 	(proc_terminate): Ditto.
 | |
| 	(sig_dispatch_pending): Make a "C" function.  Return status of pending
 | |
| 	signals.
 | |
| 	(sigproc_init): Initialize global_signal_arrived.  Simplify to use new
 | |
| 	signal-handling scheme.  Initialize sync_proc_subproc muto.
 | |
| 	(sig_send): Eliminate __SIGSUSPEND considerations.  Simplify to use new
 | |
| 	signal-handling scheme.
 | |
| 	(__allow_sig_dispatch): Delete.
 | |
| 	(__block_sig_dispatch): Delete.
 | |
| 	(__get_signal_mutex): Delete.
 | |
| 	(__release_signal_mutex): Delete.
 | |
| 	(__have_signal_mutex): Delete.
 | |
| 	(wait_sig): Simplify to use new signal-handling scheme.
 | |
| 	* sigproc.h: Implement signal_arrived classes.
 | |
| 	* smallprint.c (__small_vsprintf): Avoid printing a leading '*' in
 | |
| 	function name with %F format.
 | |
| 	* spawn.cc (spawn_guts): Simplify to use new signal-handling scheme.
 | |
| 	(iscmd): Don't consider a filename to be a "command" unless it contains
 | |
| 	a ':'.
 | |
| 	* syscalls.cc (_read): Ditto.
 | |
| 	(_open): Ditto.
 | |
| 	(_close): Ditto.
 | |
| 	* termios.cc (tcsendbreak): Ditto.
 | |
| 	(tcdrain): Ditto.
 | |
| 	(tcflush): Ditto.
 | |
| 	(tcflow): Ditto.
 | |
| 	(tcsetattr): Ditto.
 | |
| 	(tcgetattr): Ditto.
 | |
| 	* winsup.h: Reorganize include files.  Add preliminary __sig_protect
 | |
| 	implementation.
 | |
| 	* cygwin/version.h: Bump current version to 1.1.0.
 | |
| 
 | |
| Thu Dec  2 22:19:40 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* sync.cc (muto::muto): Use an event rather than a semaphore for wait
 | |
| 	synchronization.
 | |
| 	(muto::acquire): Rewrite to use an event and try to remove races.
 | |
| 	(muto::release): Ditto.
 | |
| 
 | |
| 1999-12-02  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* environ.cc (parse_options): switch to a static initializer;
 | |
| 	templates are sensitive to g++ bugs.
 | |
| 
 | |
| Fri Nov 26 12:04:23 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* net.cc (cygwin_bind): Ensure that non-Unix domain socket operations
 | |
| 	return success correctly.
 | |
| 
 | |
| Wed Nov 24 21:37:58 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* net.cc (cygwin_bind): Guard against incorrectly setting res to zero
 | |
| 	when there is an error condition.
 | |
| 
 | |
| Tue Nov 23 17:49:55 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_base::fhandler_base): Use better initialization
 | |
| 	scheme.
 | |
| 	* fork.cc (stack_base): Eliminate unneeded asm stuff.
 | |
| 	* select.cc: Sprinkle in some comments.
 | |
| 	* include/winnt.h: Add more CONTEXT.
 | |
| 
 | |
| Nov 23 20:51:00 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* net.cc (cygwin_bind): Use struct sockaddr_un in AF_UNIX code.  Set
 | |
| 	errno to ENAMETOOLONG if length of pathname exceeds limit in AF_UNIX
 | |
| 	code.  Sets errno to EADDRINUSE in AF_UNIX code if file system socket
 | |
| 	object already exists.
 | |
| 	* syscalls.cc (setsid): Set errno to EPERM if current process is
 | |
| 	already process group leader.
 | |
| 	* uinfo.cc (internal_getlogin): Rearrange for better debug output.  Set
 | |
| 	pi->psid to NULL if SID can't be determined.
 | |
| 	* include/cygwin/socket.h: Add AF_LOCAL and PF_LOCAL
 | |
| 	(same as AF_UNIX) for POSIX compatibility.
 | |
| 	* include/sys/un.h: Add UNIX_PATH_LEN define.  Added SUN_LEN macro for
 | |
| 	POSIX compatibility.
 | |
| 
 | |
| Sun Nov 21 22:55:04 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* environ.cc (parse_options): Return immediately after dealing with
 | |
| 	NULL argument.  Don't try to process it.
 | |
| 
 | |
| Tue Nov 16 23:29:17 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* signal.cc (kill_worker): Guard against NULL dereference when thread
 | |
| 	safe.
 | |
| 
 | |
| Sat Oct 30 00:59:38 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Some general cleanup.
 | |
| 	* smallprint.c (__small_vsprintf): Accommodate new format for
 | |
| 	__PRETTY_FUNCTION__.
 | |
| 
 | |
| Wed Oct 27 16:13:36 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (mount_info::from_registry): Don't allow the same posix path
 | |
| 	into the mount table more than once.
 | |
| 	* utils/mount.cc (main): Add some orthogonality to the options.
 | |
| 
 | |
| Tue Oct 26 21:55:49 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* environ.cc (environ_init): Turn off ntsec by default.
 | |
| 
 | |
| Wed Oct 27 00:14:11 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_base::lseek): Take readahead into account.
 | |
| 
 | |
| Tue Oct 26 16:46:54 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* syscalls.cc (_unlink): Return EISDIR when attempting to unlink a
 | |
| 	directory.
 | |
| 
 | |
| Mon Oct 25 18:05:23 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_base::read): Fix previous fix.
 | |
| 
 | |
| Mon Oct 25 13:46:44 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dll_init.cc (add): Avoid allocating name for "LINK"ed DLLs.
 | |
| 	(DllList::forkeeLoadDlls): Only reload DLLs if they have been
 | |
| 	dlopen'ed.
 | |
| 	* grp.cc (parse_grp): Assign gr_mem when it is determined.
 | |
| 
 | |
| Sun Oct 24 21:55:48 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dll_init.cc (struct dll): Add module name.
 | |
| 	(add): Add additional 'name' parameter for recording in dll structure.
 | |
| 	(reserve_upto): New function.
 | |
| 	(release_upto): Ditto.
 | |
| 	(DllList::forkeeLoadedDlls): Ditto.
 | |
| 	(DllList::forkeeStartLoadDlls): Remove.
 | |
| 	(DllList::forkeeEndLoadedDlls): Ditto.
 | |
| 	(DllNameIterator::*): Eliminate class.
 | |
| 	(LinkedDllNameIterator::*): Ditto.
 | |
| 	* dll_init.h: Reflect above changes.
 | |
| 	* fork.cc (fork): Don't generate a list of dlls to load in the parent.
 | |
| 	Let the child do it.  Use new DllList::forkeeLoadDlls to load DLLs.
 | |
| 	* smallprint.c (__small_vsprintf): No need for a sign on a Win32 error.
 | |
| 	(small_printf): Move function here from strace().
 | |
| 	* strace.cc (small_printf): Move to smallprint.c
 | |
| 	* include/sys/strace.h: Always declare small_printf.
 | |
| 
 | |
| Sun Oct 24 02:22:13 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_base::read): Work around C bug.
 | |
| 
 | |
| Tue Oct 19 22:10:21 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dll_init.cc: Add some external symbols to allow thread-safe
 | |
| 	compilation.
 | |
| 
 | |
| Tue Oct 19 21:09:42 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Make minor changes throughout to accommodate new gcc merge.
 | |
| 	* Makefile.in: Remvoe -fpermissive option when compiling using g++.
 | |
| 	* dcrt0.cc (noload): Mark as "unused" to avoid a compiler warning.
 | |
| 	* exceptions.cc (sigreturn): Make this "extern" since it essentially
 | |
| 	*is* extern.
 | |
| 	* fork.cc (sync_with_parent): Modify to cause the macro to be
 | |
| 	considered void.
 | |
| 	* heap.cc (sbrk): Remove debugging code.
 | |
| 	* passwd.cc (getpass): Don't use fprintf to print the prompt.
 | |
| 	* path.cc (mount_info::conv_to_win32_path): Accommodate compiler
 | |
| 	warning.
 | |
| 	* select.cc (cygwin_select): Experimental version of select which
 | |
| 	handles fd_sets with non-standard FD_SETSIZE.
 | |
| 	(select_stuff::wait): Ditto.
 | |
| 	* termios.cc (tcgetattr): Avoid a compiler warning.
 | |
| 	(cftospeed): Ditto.
 | |
| 	(cftispeed): Ditto.
 | |
| 	* uinfo.cc (netapi32_init): Ditto.
 | |
| 	* winsup.h (api_fatal): Simplify and avoid a compiler warning.
 | |
| 	* include/sys/strace.h (system_printf): Ditto.
 | |
| 	(strace_printf_wrap): Modify to cause the macro to be considered void.
 | |
| 	(strace_printf_wrap1): Ditto.
 | |
| 
 | |
| 1999-10-19  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in (.cc.o): add -fpermissive to avoid g++'s conformance
 | |
| 	madness.
 | |
| 	* environ.cc (_findenv): rename to my_findenv to avoid newlib
 | |
| 	prototype.
 | |
| 	* syscalls.cc (logout): remove braces around _PATH_UTMP
 | |
| 
 | |
| Sat Oct 16 22:53:02 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (mount_info::cygdrive_posix_path): Properly terminate string
 | |
| 	after Oct 11 change below.
 | |
| 
 | |
| Fri Oct 15 23:02:39 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc (stack_info): Reimplement stack handling routines in
 | |
| 	new stack_info class.
 | |
| 	(stack_info::brute_force): Just fill out the same structure as
 | |
| 	StackWalk.
 | |
| 	(stack_info::walk): Just fill out stack info.
 | |
| 	(stack): Use stack_info class stuff to iterate over and display the
 | |
| 	stack.
 | |
| 
 | |
| Fri Oct 15 00:32:13 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* include/cygwin/version.h: Bump some versions.
 | |
| 
 | |
| Oct 5 11:45:00 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* dcrt0.cc (dll_crt0_1): Delete calls to get_WHOEVER_sid.  Move call to
 | |
| 	uinfo_init() to the end of the function.
 | |
| 	* fhandler.cc (get_file_owner): Substitute call to get_id_from_sid()
 | |
| 	with call to get_uid_from_sid().
 | |
| 	(get_file_group): Substitute call to get_id_from_sid() with call to
 | |
| 	get_gid_from_sid().
 | |
| 	* fork.cc (fork): Copy new pinfo members to child.
 | |
| 	* grp.cc (parse_grp): Rewritten.  Saves gr_passwd and all user names in
 | |
| 	gr_mem.
 | |
| 	(read_etc_group): Variable `group_sem' avoids endless loop.
 | |
| 	* passwd.cc (read_etc_passwd): Variable `passwd_sem' avoids endless
 | |
| 	loop.
 | |
| 	* security.cc (get_sid): New function to generate SID from int values.
 | |
| 	(get_ssid): New function to generate SID from string.
 | |
| 	(get_pw_sid): New function to generate SID from pw_gecos entry.
 | |
| 	(get_gr_sid): New function to generate SID from gr_passwd entry.
 | |
| 	(get_admin_sid): Rewritten to avoid using heap space.
 | |
| 	(get_system_sid): Ditto.
 | |
| 	(get_creator_owner_sid): Ditto.
 | |
| 	(get_world_sid): Ditto.
 | |
| 	(get_id_from_sid): Try to read SIDs from /etc/passwd or /etc/group
 | |
| 	files before using RID or Lookup...  function.
 | |
| 	(legal_sid_type): New function.
 | |
| 	(lookup_name): Rewritten to use the logon server info, if any.
 | |
| 	(alloc_sd): Try to use SID from /etc/passwd and /etc/group files before
 | |
| 	call to lookup_name().
 | |
| 	(alloc_sd): New parameter for logon server.
 | |
| 	(set_nt_attribute): Ditto.
 | |
| 	(set_file_attribute): Ditto.
 | |
| 	* shared.cc (sec_user): If SID is saved in myself, use it instead of
 | |
| 	calling lookup_name().
 | |
| 	* shared.h: struct pinfo got extended user information.
 | |
| 	* spawn.cc (spawn_guts): method for forcing reread /etc files changed.
 | |
| 	(_spawnve): Copy new pinfo members to child.
 | |
| 	* syscalls.cc (chown): Change call to set_file_attribute().
 | |
| 	(chmod): Ditto.
 | |
| 	* uinfo.cc (internal_getlogin): New function.
 | |
| 	(uinfo_init): Calls internal_getlogin() now.
 | |
| 	(getlogin): Uses myself->username now.
 | |
| 	* winsup.h: extern HANDLE netapi32_handle; Change prototypes for
 | |
| 	set_file_attribute(), lookup_name(), get_id_from_sid().  New inline
 | |
| 	functions get_uid_from_sid() and get_gid_from_sid().
 | |
| 	* utils/mkgroup.c: Adapt to the new ntsec features.
 | |
| 	* utils/mkpasswd.c: Ditto.
 | |
| 
 | |
| Thu Oct 14 23:46:03 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Replace calls to GetCurrentProcess() with hMainProc throughout.
 | |
| 	* autoload.h: Implement LoadDLLinitnow() function to force the loading
 | |
| 	of a DLL.
 | |
| 	* cygwin.din: Export cygwin_stackdump.
 | |
| 	* dcrt0.cc (dll_crt0): Set up hMainProc and hMainThread here.
 | |
| 	* dll_init.cc (dll_dllcrt0_1): Ditto.
 | |
| 	* environ.cc (parse_options): New "oldstack" option for forcing the use
 | |
| 	of the old stack walking code.
 | |
| 	* exceptions.cc (signals_init): Remove.
 | |
| 	(err_printf): Remove.  Use small_printf throughout.
 | |
| 	(sfta): New helper function for StackWalk.
 | |
| 	(sgmb): Ditto.
 | |
| 	(stack_brute_force): Renamed from old stack walk function.  Now uses
 | |
| 	frame pointer from context handler.
 | |
| 	(stack_walk): New function.  Uses Windows API to walk the stack.
 | |
| 	(stack): Reimplement to attempt to load imagehlp.dll.  If this succeeds
 | |
| 	use stack_walk() to display stack info, otherwise use
 | |
| 	stack_brute_force.
 | |
| 	(cygwin_stackdump): Temporary (?) function for displaying a stack dump
 | |
| 	from the called location.
 | |
| 	(stackdump): Accept new parameters for passing to stack().
 | |
| 	(handle_exceptions): Call stackdump with new parameters needed to walk
 | |
| 	the stack.
 | |
| 	* fhandler.cc (fhandler_base::read): Fix potential buffer overrun.  Fix
 | |
| 	end of buffer problems when \r is not followed by a \n.
 | |
| 	(fhandler_base::lseek): Avoid flushing read ahead when not moving the
 | |
| 	file pointer.
 | |
| 	* fhandler_termios.cc (fhandler_termios::set_ctty): Add a debugging
 | |
| 	statement.
 | |
| 	* sigproc.cc (sigproc_init): Eliminate obsolete signals_init function.
 | |
| 	* winsup.h: Add some declarations.
 | |
| 
 | |
| Wed Oct 13 09:02:32 1999  Kazuhiro Fujieda <fujieda@jaist.ac.jp>
 | |
| 
 | |
| 	* path.cc (readlink): Return errno correctly when it can't find the
 | |
| 	target symlink.
 | |
| 
 | |
| Tue Oct 12 13:02:08 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* syscalls.cc (setsid): Only reset sid/pgid when NOT process group
 | |
| 	leader.
 | |
| 	* tty.cc (tty_list::allocate_tty): Don't set sid to myself.  The first
 | |
| 	tty open should do that.
 | |
| 
 | |
| Mon Oct 11 23:13:29 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (noload): Issue appropriate Windows error.
 | |
| 	* fhandler_termios.cc (fhandler_termios::ctty): Don't automatically set
 | |
| 	sid, etc., unless the current pid associated with the tty's sid does
 | |
| 	not exist.
 | |
| 	* path.cc (mount_info::cygdrive_posix_path): Avoid copying beyond the
 | |
| 	end of buffer or suffer garbage.
 | |
| 	* pinfo.cc (pinfo_init): Restore sid behavior of a year ago.  The sid
 | |
| 	should be the same as the pid to be equivalent to UNIX.
 | |
| 	(pinfo_list::operator []): Add more bounds checking.
 | |
| 
 | |
| Sun Oct 10 14:08:30 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* select.cc (select): Return error if n > FD_SETSIZE.  This is a
 | |
| 	temporary fix.
 | |
| 
 | |
| Sun Oct 10 13:56:14 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (iscygdrive_device): Be more precise in detecting when a
 | |
| 	"cygdrive" device.  This should allow 'mkdir -p' to work correctly.
 | |
| 
 | |
| Fri Oct 08 08:55:31 1999  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | |
| 
 | |
| 	* path.cc (symlink_check_one): set errno to EINVAL on socket files
 | |
| 	same as normal files.
 | |
| 
 | |
| 1999-10-06  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* include/oaidl.h (IDispatch.GetIDsOfNames): Use DISPID* not DISPID
 | |
| 
 | |
| 1999-10-06  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc (err_printf): new function; print to stderr
 | |
| 	without strace's clutter.  The stacktrace functions use this, so
 | |
| 	the stacktrace files should be cleaner.
 | |
| 	(exception): Print segment registers also
 | |
| 	(stack): include a peek at the function's arguments
 | |
| 
 | |
| Tue Oct  5 16:33:17 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* hinfo.cc (hinfo::extend): Eliminate inappropriate test for boundary
 | |
| 	condition.
 | |
| 
 | |
| 1999-10-04  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* config/i386/longjmp.c: don't restore %fs (Paul Sokolovsky
 | |
| 	<paul-ml@is.lg.ua>)
 | |
| 
 | |
| 1999-10-04  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* localtime.c (tzsetwall): Handle Asian Windows strings correctly
 | |
| 	(from Kazuhiro Fujieda <fujieda@jaist.ac.jp>).
 | |
| 
 | |
| Sat Oct 2 23:00:00 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* include/lm*.h:  Correct multiple problems in lan manager
 | |
| 	header files.
 | |
| 
 | |
| Sun Oct  3 14:29:53 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* sysdef/imagehlp.def: New file. Definitions for imagehlp.dll.
 | |
| 	* include/imagehlp.h: Ditto.
 | |
| 	* include/winbase.h: YA missing structure.
 | |
| 
 | |
| Fri Oct 1 11:16:00  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc (alloc_sd): Correct setting of FILE_DELETE_CHILD.
 | |
| 	(get_file_attribute): Read ntea attributes only if ntsec is disabled.
 | |
| 	* syscalls.cc (_unlink): Don't queue file into delqueue if DeleteFile
 | |
| 	returns ERROR_ACCESS_DENIED.
 | |
| 
 | |
| 1999-09-30  Mumit Khan  <khan@xraylith.wisc.edu>
 | |
| 
 | |
| 	* init.cc (dll_entry): Remove static_load case.
 | |
| 	* dcrt0.c (set_os_type): Make it externally visible.
 | |
| 	* dll_init.cc (dll_dllcrt0_1): Update noncygwin initialization for
 | |
| 	post-b20.1 code.
 | |
| 
 | |
| 1999-09-30  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* times.cc: declare _timezone and _daylight properly
 | |
| 
 | |
| Wed Sep 29 23:57:40 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (do_exit): Remove EXIT_SIGNAL mask when exiting.  It is not
 | |
| 	correct given changes to really_exit.
 | |
| 	* select.cc (peek_serial): Work around apparent Windows bug.
 | |
| 
 | |
| 1999-09-29  Norbert Schulze  <Norbert.Schulze@rhein-neckar.de>
 | |
| 
 | |
| 	* times.cc (timezone): revert 'return TZ if set' patch.
 | |
| 	* times.cc (timezone): uses now tzset() and _timezone.
 | |
| 	* times.cc (gettimeofday): ditto.
 | |
| 	* localtime.c (tzsetwall): no negative minutes if offset is negativ.
 | |
| 	* localtime.c (tzsetwall): minutes place holder was missing if
 | |
| 	minutes == 0 and seconds !=0 (h:0:s).
 | |
| 	* localtime.c (tzsetwall): if timezone has no daylight saving
 | |
| 	(tz.StandardDate.wMonth==0) generate no daylight saving parameters.
 | |
| 
 | |
| Sat Sep 25 15:11:04 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_termios.cc (fhandler_termios::bg_check): Accept a new
 | |
| 	argument to control whether we should worry about blocking signals.
 | |
| 	* fhandler.h: Ditto.
 | |
| 	* syscalls.cc (read_handler): Accept a new argument for passing to
 | |
| 	bg_check.
 | |
| 	(read): Inform read_handler if signals are blocked or not.
 | |
| 	* termios.cc: Throughout, reorganize to always block signals before
 | |
| 	calling bg_check.
 | |
| 
 | |
| Sat Sep 25 13:36:06 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.h (fhandler_termios::line_edit): Add an extra argument.
 | |
| 	* fhandler_serial.cc (fhandler_serial::open): Maintain consisten
 | |
| 	fAbortOnError state.
 | |
| 	* fhandler_termios.cc (fhandler_termios::line_edit): Use new
 | |
| 	"always_accept" argument to control whether input_done is set
 | |
| 	regardless of canonical state.
 | |
| 	* fork.cc (vfork): Duplicate "parent's" fd table.
 | |
| 	* hinfo.cc (hinfo::dup_worker): New method.
 | |
| 	(dup2): Use new dup_worker method.
 | |
| 	(hinfo::fixup_after_fork): Lock dtable prior to operating on it.
 | |
| 	(hinfo::vfork_child_dup): New method.  Duplicates dtable for vfork.
 | |
| 	(hinfo::vfork_parent_restore): New method.  Restores dtable when vfork
 | |
| 	exits.
 | |
| 	* net.cc (set_winsock_errno): Make global.
 | |
| 	* pipe.cc (pipe): Default mode to binary unless *explicitly* set to
 | |
| 	text.
 | |
| 	* select.cc (set_bits): Test that {read,write,except}_selected are
 | |
| 	active before setting a bit.
 | |
| 	(peek_pipe): Short circuit tests if we're not checking for readable
 | |
| 	or "except"able handles.
 | |
| 	(thread_socket): Use read check for exitsock as old method relied on
 | |
| 	undocumented, unreliable behavior.
 | |
| 	(start_thread_socket): Perform more setup on exitsock to improve thread
 | |
| 	exit signalling.
 | |
| 	(socket_cleanup): Connect to the exitsock to force thread_socket thread
 | |
| 	exit.
 | |
| 	* winsup.h (hinfo): Add preliminary vfork stuff.
 | |
| 	* include/winsock.h: Add shutdown() how types.
 | |
| 	* include/sys/socket.h: Add socketpair declaration.
 | |
| 
 | |
| 1999-09-22  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* syscalls.cc (chown): never return ENOSYS - just pretend it
 | |
| 	works.
 | |
| 
 | |
| Wed Sep 22 00:47:56 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* select.cc (MAKEready): Need to initialize 'fd' or open tests in
 | |
| 	peek fail.
 | |
| 
 | |
| Mon Sep 20 17:07:37 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* smallprint.c (__small_vsprintf): Fix '%+' handling.
 | |
| 
 | |
| Thu Sep 16 21:48:13 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* utils/cygcheck.cc (dump_sysinfo): Deal with a new compiler error.
 | |
| 	* utils/strace.cc (make_command_line): Change to a void * argument, as
 | |
| 	is required for SetConsoleCtrlHandler.
 | |
| 
 | |
| Thu Sep 16 20:47:12 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (__api_fatal): Rearrange slightly.
 | |
| 	* fhandler.h (set_ctty): Change to void.
 | |
| 	* fhandler_termios.cc (fhandler_termios::set_ctty): Ditto.
 | |
| 	* select.cc (thread_pipe): Change to a void * argument, as is required
 | |
| 	for thread functions.
 | |
| 	(thread_socket): Ditto.
 | |
| 	(thread_serial): Ditto.
 | |
| 	* include/winbase.h: Mark ExitProcess as noexit.
 | |
| 
 | |
| Thu Sep 16 18:32:12 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc (ctrl_c_handler): Make WINAPI, as required by
 | |
| 	SetConsoleCtrlHandler.
 | |
| 
 | |
| Thu Sep 16 17:48:05 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* debug.cc (thread_stub): Make WINAPI, as required by CreateThread.
 | |
| 	* fhandler_tty.cc (process_input): Ditto.
 | |
| 	(process_output): Ditto.
 | |
| 	(process_ioctl): Ditto.
 | |
| 	* select.cc (thread_pipe): Ditto.
 | |
| 	(thread_serial): Ditto.
 | |
| 	(thread_socket): Ditto.
 | |
| 	* sigproc.cc (wait_proc): Ditto.
 | |
| 	(wait_sig): Ditto.
 | |
| 	* window.cc (winMain): Ditto.
 | |
| 
 | |
| Wed Sep 15 20:58:37 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc (call_handler): Let fatal signals through regardless of
 | |
| 	signal_mutex.
 | |
| 	* fhandler.h (fhandler_base): Make bg_check virtual.
 | |
| 	(fhandler_termios::bg_check): Eliminate the second argument.
 | |
| 	* fhandler_console.cc (fhandler_console::ioctl): Check for background
 | |
| 	operation.
 | |
| 	* fhandler_termios.cc (fhandler_termios::bg_check): Eliminate the
 | |
| 	second argument.  A negative arg 1 means the same thing.
 | |
| 	* ioctl.cc (ioctl): Add debugging output.
 | |
| 	* syscalls.cc (_write): Eliminate second argument to bg_check.
 | |
| 	* termios.cc (tcsendbreak): Check for background operation.
 | |
| 	(tcdrain): Ditto.
 | |
| 	(tcflush): Ditto.
 | |
| 	(tcflow): Ditto.
 | |
| 	(tcsetattr): Reorganize on similar lines to above routine.
 | |
| 
 | |
| Wed Sep 15 15:25:04 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* select.cc (peek_pipe): Only set read_ready if bg_check returns <= 0.
 | |
| 	(peek_console): Ditto.  Correct PeekConsole conditional so that the for
 | |
| 	loop breaks eventually.
 | |
| 
 | |
| Wed Sep 15 00:21:40 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc (set_console_handler): Allocate security stuff here
 | |
| 	since it is needed earlier in the process now.  Allocate a shared event
 | |
| 	for use in synchronizing CTRL-C events that happen while the process is
 | |
| 	still initializing.
 | |
| 	(ctrl_c_handler): Use the above event to synchronize with the cygwin
 | |
| 	startup process, waiting for the signal thread to come alive before
 | |
| 	trying to send a signal.
 | |
| 	(signals_init): Don't call set_console_handler() here, since it is now
 | |
| 	handled much earlier in cygwin initialization.
 | |
| 	* shared.cc (shared_init): Move out security setup.
 | |
| 	* sigproc.cc (wait_sig): Activate the console_handler_thread_waiter so
 | |
| 	that any waiting thread which is handling ctrl-c's will wake up and
 | |
| 	send a signal, if appropriate.
 | |
| 
 | |
| Tue Sep 14 23:49:39 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc (ctrl_c_handler): Handle ctrl-c events ourself, using
 | |
| 	the "UNIX way".
 | |
| 	* fhandler_console (tty_list::get_tty): New function.
 | |
| 	* shared.h: Add some additional things to tty_min class for handling
 | |
| 	ctrl-c.
 | |
| 
 | |
| 1999-09-14  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* dir.cc (rmdir): return ENOTDIR for regular files on 9x
 | |
| 
 | |
| Tue Sep 14 00:01:59 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* debug.h (ForceCloseHandle2): New macro.
 | |
| 	* fhandler.cc (set_inheritance): Accept name of handle as optional
 | |
| 	third argument.  Use this in ForceCloseHandle2/ProtecHandle2.
 | |
| 	* fhandler.h: Implement bg_check() method.
 | |
| 	* fhandler_console.cc (get_tty_stuff): Initialize more tty stuff.
 | |
| 	(fhandler_console::read): Check for background read.
 | |
| 	* fhandler_termios.cc (fhandler_termios::bg_check): New function.
 | |
| 	Performs appropriate action given background read or write.
 | |
| 	* fhandler_tty.cc (fhandler_tty_slave::write): Replace background check
 | |
| 	code with new method.
 | |
| 	(fhandler_tty_slave::read): Ditto.
 | |
| 	(fhandler_tty_common::set_close_on_exec): Pass output_mutex name to
 | |
| 	set_inheritance.
 | |
| 	* select.cc: Throughout check that the fd is still open before polling.
 | |
| 	(peek_pipe): Check for background read.
 | |
| 	(peek_console): Ditto.
 | |
| 	* shared.h: Move ntty from tty into tty_min.
 | |
| 	* syscalls.cc (read_handler): Check for background read.
 | |
| 	(_write): Check for background write.
 | |
| 
 | |
| Sat Sep 11 16:24:21 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (iscygdrive_device): New macro.
 | |
| 	(mount_info::conv_to_win32_path): Only attempt "cygdrive" translation
 | |
| 	when passed /cygdrive/something.
 | |
| 	(mount_info::write_cygdrive_info_to_registry): Store in-memory copy of
 | |
| 	cygdrive prefix automatically.
 | |
| 	(mount_info::read_cygdrive_info_from_registry): Reorganize for new
 | |
| 	write_cygdrive_info_to_registry functionality.
 | |
| 	(mount): Ditto.
 | |
| 
 | |
| Fri Sep 10 15:44:11 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* syscalls.cc (pathconf): Make first arg 'const'.
 | |
| 
 | |
| 1999-09-10  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* exec.cc (_execve): check for an empty environment
 | |
| 
 | |
| Wed Sep  8 10:24:12 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (dll_crt0_1): Generalize test for initial zeroes in
 | |
| 	exec/fork block.
 | |
| 	* fhandler.cc (fhandler_disk_file::open): Don't attempt #! detection on
 | |
| 	non-disk files.
 | |
| 	* fhandler.h: Use generic status bit set/clear macros.  Use bitmask for
 | |
| 	fhandler_termios state.
 | |
| 	* fhandler_console.cc: Rename "tty_stuff" to more descriptive
 | |
| 	"shared_console_info".
 | |
| 	(fhandler_console::read): Reset console state before a read if
 | |
| 	appropriate.
 | |
| 	(fhandler_console::open): Improve check for setting console state.
 | |
| 	(fhandler_console::fixup_after_fork): Ditto.
 | |
| 	(set_console_state_for_spawn): New function.
 | |
| 	* fhandler_termios.cc (fhandler_termios::tcinit): Use new method for
 | |
| 	determining if initialized.
 | |
| 	* fhandler_tty.cc (fhandler_tty::init_console): Avoid sending handle to
 | |
| 	init or it will be closed.
 | |
| 	* fork.cc (per_thread::set): Make this method non-inline, temporarily.
 | |
| 	* select.cc (peek_console): Call set_input_state to ensure that the
 | |
| 	console is in the correct state.
 | |
| 	* shared.h (child_info): Make zero element an array for future
 | |
| 	tweaking.
 | |
| 	(tty_min): Change initialized element to a bit field.  Define bit field
 | |
| 	macros for manipulating it.
 | |
| 	* sigproc.cc (wait_sig): Wake up every half second in a (vain?) attempt
 | |
| 	to work around Windows 98 hanging problem.
 | |
| 	(wait_subproc): Ditto.
 | |
| 	* spawn.cc (spawn_guts): Use new "set_console_state_for_spawn" prior to
 | |
| 	starting a process.
 | |
| 	* winsup.h: Define generic macros for manipulating a method's status
 | |
| 	field.
 | |
| 	(per_thread): Move inline method to fork.
 | |
| 
 | |
| Mon Sep  6 13:36:34 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_tty.cc (fhandler_tty_master::init_console): Remove retrieval
 | |
| 	of stderr handle since it is not required for correct init operation.
 | |
| 	* hinfo.cc (hinfo_init): Reorganize to accommodate potential closing of
 | |
| 	console handles by fhandler_console::init.
 | |
| 	(init_std_file_from_handle): Set standard handle as appropriate.
 | |
| 	(hinfo::de_linearize_fd_arry): Ditto.
 | |
| 	* fhandler_console.cc (fhandler_console::init): Conditionally close
 | |
| 	handle only if it is valid.
 | |
| 
 | |
| Sun Sep  5 22:43:21 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* utils/cygcheck.cc: Make sure that GetDiskFreeSpaceExA is defined as a
 | |
| 	__stdcall function or the stack will suffer.  For now, don't sort mount
 | |
| 	output as more work copying the individual mntent elements is required.
 | |
| 
 | |
| Sat Sep  4 19:01:00 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* include/glob.h: Ensure that glob*() functions can be properly accessed by
 | |
| 	programs using the DLL.
 | |
| 
 | |
| Sat Sep  4 18:49:04 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* heap.cc (heap_init): Tweak debugging output.
 | |
| 	* sigproc.cc (sig_send): Catch obvious impossible values from
 | |
| 	GetLastError.
 | |
| 
 | |
| Sat Sep  4 18:43:49 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_tty.cc (fhandler_tty_slave::open): Protect against signal
 | |
| 	dispatch.
 | |
| 	(fhandler_tty_slave::write): Only wait a fixed amount of time to
 | |
| 	receive a an output_done_event.
 | |
| 	(fhandler_tty_slave::tcflush): Protect against signal dispatch.
 | |
| 
 | |
| Sat Sep  4 18:30:42 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc (handle_sig): Temporarily remove OutputDebugString.  It
 | |
| 	seemed to be causing sporadic hangs.
 | |
| 	(call_handler): Save and restore di and si.
 | |
| 	(sigreturn): Ditto.
 | |
| 
 | |
| Fri Sep  3 23:07:44 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_termios.cc (fhandler_termios::line_edit): Properly deal with
 | |
| 	sending characters to slave when !iscanon.
 | |
| 
 | |
| Fri Sep 3 18:15:00 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* fhandler_raw.cc (fhandler_dev_raw::fstat): Add S_ISCHR to mode bits.
 | |
| 	* fhandler_tape.cc (fhandler_dev_tape::fstat): Erase setting of S_ISCHR
 | |
| 	since it's set in fhandler_dev_raw::fstat now.
 | |
| 
 | |
| Thu Sep  2 22:11:03 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (mount_info::conv_to_win32_path): Fix problem with
 | |
| 	calculating relative path at root.
 | |
| 
 | |
| Wed Sep  1 23:24:43 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_base::fhandler_base): Don't use default binmode
 | |
| 	for console.
 | |
| 
 | |
| Wed Sep  1 20:51:05 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* smallprint.c (__small_vsprintf): Allow field width argument with 'l'
 | |
| 	modifier.  Consolidate processing of field width.
 | |
| 	* uname.cc (uname): Eliminate space in "release" field.
 | |
| 
 | |
| Tue Aug 24 10:46:24 1999  Kazuhiro Fujieda <fujieda@jaist.ac.jp>
 | |
| 
 | |
| 	* fhandler_console.cc (write_normal):  Write '\n' corresponding to
 | |
| 	DWN if the cursor is out of the window.
 | |
| 
 | |
| Wed Aug 25 22:16:46 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* smallprint.c (rn): Deal with positive as well as negative signs.
 | |
| 	(__small_vprintf): Handle '+', 'l', and '%' format types.
 | |
| 
 | |
| Wed Aug 25 00:38:49 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (dll_crt0_1): Zero heap information in user_data to
 | |
| 	work around mutant startup code.
 | |
| 
 | |
| Tue Aug 24 00:03:22 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* sigproc.cc (sig_send): One more end-of-process race detection.
 | |
| 
 | |
| Mon Aug 23 21:37:07 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Throughout, remove malloc.h.
 | |
| 	* debug.cc: Initialize handle list so that it will not be copied on
 | |
| 	fork.
 | |
| 	* exceptions.cc (_sigreturn): Zero windows error on exit.  It's
 | |
| 	meaningless after a signal dispatch.
 | |
| 	* fhandler_console.cc (fhandler_console::de_linearize): Improve error
 | |
| 	messages.
 | |
| 	* shared.h: Increment fork magic number.
 | |
| 	* sigproc.cc (sigproc_terminate): Close all handles prior to calling
 | |
| 	proc_terminate if running in signal thread.
 | |
| 	(sig_send): Eliminate bogus ResetEvent on a semaphore.  Add code for
 | |
| 	potentially dealing with problems when this code is interrupted via a
 | |
| 	signal dispatch.
 | |
| 	* times.cc (timezone): Use __small_sprintf.
 | |
| 	* uname.cc (uname): Ditto.  Also use strcpy instead of sprintf where
 | |
| 	appropriate.
 | |
| 
 | |
| 1999-08-23  DJ Delorie  <dj@envy.delorie.com>
 | |
| 
 | |
| 	* localtime.c: export timezone, daylight, tzname as _*
 | |
| 	* times.cc: don't export timezone, daylight, tzname
 | |
| 	(timezone): return TZ if set.
 | |
| 	(cygwin_tzset): not needed.
 | |
| 
 | |
| Thu Aug 19 13:46:47 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fork.cc (fork): Remove pinfo lock.  It is in allocate_pid, now.
 | |
| 	* spawn.cc (_spawnve): Ditto.
 | |
| 	* pinfo.cc (pinfo_init): Ditto.
 | |
| 	(lock_pinfo_for_update): Impreove debug output.
 | |
| 	(pinfo_list::allocate_pid): Lock pinfo mutex here.
 | |
| 
 | |
| 1999-08-19  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in (tooldir): If we're building natively, drop the
 | |
| 	$(target_alias) on include and lib's install (i.e. /usr/include
 | |
| 	instead of /usr/include/i686-cygwin).
 | |
| 
 | |
| Thu Aug 19 01:11:25 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* sigproc.cc (sig_send): Avoid a race with proc thread when executing
 | |
| 	due to a signal.
 | |
| 
 | |
| Wed Aug 18 16:37:59 1999  Kazuhiro Fujieda <fujieda@jaist.ac.jp>
 | |
| 
 | |
| 	* fhandler_console (fhandler_console::fillin_info): Avoid setting
 | |
| 	scroll_region.Bottom when it is not known.
 | |
| 	(fhandler_console::write_normal): Add various fixes for console
 | |
| 	scrolling.
 | |
| 
 | |
| Wed Aug 18 16:18:22 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* sigproc.cc: Add more precise end-of-process detection.
 | |
| 
 | |
| Wed Aug 18 00:03:47 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* sigproc.cc (sig_send): Work around apparent Windows bug which
 | |
| 	occasionally results in bogus error messages when a signal is
 | |
| 	dispatched.
 | |
| 
 | |
| 1999-08-17  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* localtime.c (tzsetwall): Deduce TZ more accurately.
 | |
| 
 | |
| Tue Aug 17 18:00:03 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* select.cc (peek_pipe): Correct detection of process group for
 | |
| 	backgrounded processes.
 | |
| 
 | |
| Tue Aug 17 10:24:49 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* include/winnt.h: Fix typo in IMAGE_FIRST_SECTION definition.
 | |
| 
 | |
| Sun Aug 15 19:11:49 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 | |
| 
 | |
| 	* gcrt0.c (__eprol): Avoid namespace pollution.
 | |
| 	(_monstartup): Turn into a constructor function and prevent multiple
 | |
| 	invocations.
 | |
| 
 | |
| Mon Aug 16 10:03:00  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* utils/mkgroup.c: Correct call to LookupAccountSid for retrieval of
 | |
| 	'None'.
 | |
| 
 | |
| Mon Aug 16 00:24:29 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* debug.cc (locker): Improve signal mutex locking.
 | |
| 	* exceptions.cc (sig_handle): Pass STOP signals to call_handler to
 | |
| 	ensure honoring of signal_mutex.
 | |
| 	(call_handler): Move STOP code here after acquistion of signal_mutex.
 | |
| 	* fhandler_tty.cc (fhandler_tty_common::__acquire_output_mutex): Track
 | |
| 	lockers for debugging.
 | |
| 	(fhandler_tty_common::__release_output_mutex): Ditto.
 | |
| 	(fhandler_slave::write): Fix faulty signal blocking code.
 | |
| 	* fork.cc (fork_copy): Remove ancient if 0.
 | |
| 	(fork): Conditionalize "FORKDEBUG" under DEBUGGING.
 | |
| 	* sigproc.cc (proc_terminate): Reduce pinfo lock time.
 | |
| 	(sigproc_terminate): Set sig_loop_wait after getting signal_mutex.
 | |
| 	(__get_signal_mutex): Reorganize for less strace output when not
 | |
| 	DEBUGGING.
 | |
| 	(__release_signal_mutex): Ditto.  Reorganize case where !sig_loop_wait.
 | |
| 	(have_signal_mutex): Returns true if current thread has the mutex.
 | |
| 	* wait.cc (wait4): Change debugging message.
 | |
| 
 | |
| Sat Aug 14 0:10:00  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_base::raw_read): Set correct errno from Win32
 | |
| 	error when ReadFile fails.
 | |
| 	(fhandler_base::raw_write): In case of ERROR_DISK_FULL, return
 | |
| 	bytes_written only if bytes_written > 0.
 | |
| 	* errno.cc: Map ERROR_DISK_FULL to ENOSPC.
 | |
| 
 | |
| Fri Aug 13 14:22:12 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* select.cc (peek_pipe): Honor ignra argument.
 | |
| 
 | |
| Fri Aug 13 00:45:00 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* spawn.cc (spawn_guts): Ensure that hExeced is set to proper state
 | |
| 	when parent has exited.
 | |
| 
 | |
| Thu Aug 12 14:09:30 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* sigproc.cc (getsem): Fix typo which prevented sending signals to
 | |
| 	other processes.
 | |
| 
 | |
| Wed Aug 11 22:06:33 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* cygwin.din: Export glob and globfree.
 | |
| 	* glob.h: Move to include.
 | |
| 	* Makefile.in: Correct glob.h dependencies.
 | |
| 
 | |
| Wed Aug 11 19:41:04 1999  Sergey Okhapkin  <sos@prospect.com.ru>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_disk_file::fstat): Check if the file is unix
 | |
| 	domain socket.
 | |
| 	(fhandler_disk_file::open): Call set_socket_p().
 | |
| 	* fhandler.h: Add new fhandler type flags (FH_LOCAL, FH_FIFO).
 | |
| 	(fhandler_base): get/set_socket_p - new member functions.
 | |
| 	(fhandler_socket::addr_family): Add new member, currently unused.
 | |
| 	(fhandler_socket::get/set_addr_family): Add new functions to access
 | |
| 	addr_family.
 | |
| 	* include/sys/un.h: New file.
 | |
| 	* net.cc: Include <sys/un.h>
 | |
| 	(cygwin_socket): Always create socket of AF_INET family, store
 | |
| 	argument's family.
 | |
| 	(get_inet_addr): New static function.  Converts AF_UNIX requests into
 | |
| 	corresponding AF_INET requests.
 | |
| 	(cygwin_sendto): Use get_inet_addr().
 | |
| 	(cygwin_connect): Likewise.
 | |
| 	(cygwin_accept): Check for sockaddr length.
 | |
| 	(cygwin_bind): Implement AF_UNIX.
 | |
| 	* path.h (PATH_SOCKET): Add new enum value.
 | |
| 	(path_conv::issocket): Add new member function.
 | |
| 	(SOCKET_COOKIE): Add new define.
 | |
| 	* syscalls.cc (chmod): Mark socket files with system file attribute.
 | |
| 
 | |
| Wed Aug 11 17:22:46 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* utils/mkgroup.c (main): Generate "None" group when
 | |
| 	invoked via mkgroup -l.
 | |
| 
 | |
| Tue Aug 10 21:30:31 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* select.cc (peek_pipe): Handle type ahead where appropriate.
 | |
| 	* sigproc.cc (proc_can_be_signalled): Revert to previous method for
 | |
| 	determining signalability.
 | |
| 	(getsem): Move PID_INITIALIZING test here.
 | |
| 	* wait.cc (wait4): Improve debug output slightly.
 | |
| 
 | |
| Mon Aug  9 23:27:44 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (do_exit): Add additional check for valid hExeced.
 | |
| 	* exceptions.cc (call_handler): Implement a raceless way to track
 | |
| 	pending_signals.
 | |
| 	* signal.cc (kill_worker): Make calls from non-main threads synchronous
 | |
| 	or signals from a tty thread don't work right.
 | |
| 	* sigproc.cc (sig_send): Localize pending_signals assignment to only
 | |
| 	the wait_sig thread.
 | |
| 	(__get_signal_mutex): Don't attempt to grab a mutex if signal_mutex
 | |
| 	hasn't been assigned yet.  Add more strace debugging information when
 | |
| 	-DDEBUGGING.
 | |
| 	(__release_signal_mutex): Don't attempt to release a mutex if
 | |
| 	signal_mutex hasn't been assigned yet.  Add more strace debugging
 | |
| 	output.
 | |
| 	(wait_sig): Attempt to eliminate race in setting of pending_signals.
 | |
| 	* spawn.cc (spawn_guts): Set hExeced to INVALID_HANDLE_VALUE so that it
 | |
| 	will be obvious when a process is actually just an execed stub.
 | |
| 	* strace.cc (strace_vsprintf): Output a "!" after the pid when
 | |
| 	executing in an execed stub.
 | |
| 
 | |
| Mon Aug  9 17:17:13 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Throughout, eliminate in() and out() macros.
 | |
| 	* winsup.h (tty_attached): Accept an argument indicating the pinfo
 | |
| 	structure to query.
 | |
| 	* exceptions.cc (really_exit): Cosmetic change.
 | |
| 	* external.cc (fillout_pinfo): Use queried pinfo structure for
 | |
| 	determining tty number, not *our* number.
 | |
| 	* net.cc: More workarounds.
 | |
| 	* path.cc (get_device_number): Supply argument to tty_attached.
 | |
| 	* syscalls.cc (ctermid): Ditto.
 | |
| 	* strace.cc (strace_dump): Remove.
 | |
| 	* include/sys/strace.h: Eliminate obsolete stuff.
 | |
| 
 | |
| Sun Aug  8 22:54:45 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc (call_handler): Process all signals on return from a
 | |
| 	signal dispatch.
 | |
| 	* sigproc.cc (proc_can_be_signalled): Guard against waiting too long
 | |
| 	when exiting.
 | |
| 	(proc_exists): Don't report an exited process as "existing".
 | |
| 	(proc_terminate): Close handle prior to testing for existence so that
 | |
| 	proc_exists will not always return TRUE.  Eliminate use of zap_subproc.
 | |
| 	(stopped_or_terminated): Eliminate use of zap_subproc.
 | |
| 	(zap_subproc): Delete.
 | |
| 
 | |
| Sun Aug  8 22:17:36 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_tty.cc (fhandler_tty_master::init): hThread must remain
 | |
| 	open.  Previous change to close it was wrong.
 | |
| 
 | |
| Sun Aug  8 20:35:33 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc: Initalize NO_COPY variables.
 | |
| 	* pinfo.cc (record_death): Don't be so insistent about getting
 | |
| 	the pinfo lock.
 | |
| 	* sigproc.cc (proc_terminate): Tighten the region protected by
 | |
| 	the pinfo lock.
 | |
| 	* spawn.cc (spawn_guts): Eliminate the pinfo lock when reparenting
 | |
| 	as it is no longer required.
 | |
| 	(_spawnve): Tighten the region protected by the pinfo lock.
 | |
| 
 | |
| Sun Aug  8 18:26:51 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* sigproc.cc (sig_send): Add more unfortunate guards against a
 | |
| 	system call being interrupted by a signal dispatch.
 | |
| 
 | |
| Sat Aug  7 15:38:42 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* security.cc (get_admin_sid): Ensure that returned buf is not copied
 | |
| 	on a fork.
 | |
| 	(get_system_sid): Ditto.
 | |
| 	(get_create_owner_sid): Ditto.
 | |
| 	(get_world_sid): Ditto.
 | |
| 
 | |
| Sat Aug  7 15:17:25 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_tty.cc (process_input): Reset signal_arrived event prior to
 | |
| 	calling console read as this is now a requirement for functions which
 | |
| 	detect signal_arrived.
 | |
| 	(fhandler_tty_master::write): Allow signals to operate prior to raising
 | |
| 	SIGTTOU.
 | |
| 	(fhandler_tty_master::read): Allow signals to operate prior to raising
 | |
| 	SIGTTIN.
 | |
| 	* select.cc (peek_pipe): Detect attempt to read from tty not in our
 | |
| 	process group as a "read_ready" event.
 | |
| 	* include/shellapi.h: Add missing defines.
 | |
| 	* utils/ps.cc: Output windows pid as unsigned for Windows 9x.
 | |
| 
 | |
| Sat Aug 7 14:30:00  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc (get_creator_owner_sid): New function.
 | |
| 	* shared.cc (sec_user): calls `get_creator_owner_sid' in creation
 | |
| 	of the security attributes structure additionally.
 | |
| 
 | |
| Fri Aug  6 13:04:40 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* spawn.cc (spawn_guts): Allow failure from OpenProcess.  The parent
 | |
| 	may have exited due to 7/31 change.
 | |
| 
 | |
| Thu Aug  5 22:54:07 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* sigproc.cc (wait_for_me): Break out as a common function to check
 | |
| 	that the current process is ready to handle signals.
 | |
| 	(proc_can_be_signalled): Treat myself differently.
 | |
| 
 | |
| Thu Aug  5 21:24:20 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_console.cc (fhandler_console): Don't call tcinit here.
 | |
| 	(fhandler_console::read): Don't reset signal_arrived here.
 | |
| 	* syscalls.cc (_read): Set it here instead.
 | |
| 	* fhandler_termios.cc (fhandler_termios::line_edit): Only call
 | |
| 	accept_input when input is ready.  Ignore iscanon in this case.
 | |
| 	* fhandler_tty.cc (fhandler_tty_slave::init): Don't call tcinit here.
 | |
| 
 | |
| Thu Aug  5 16:02:25 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* strace.cc (handle_output_debug_string): Ignore errors reading
 | |
| 	from child memory as they seem to occur due to a process exiting.
 | |
| 	(close_handle): New, defensive code.
 | |
| 
 | |
| Thu Aug  5 13:32:43 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* strace.cc (remove_handle): New function.
 | |
| 	(add_child): Speed up slightly.
 | |
| 	(proc_child): Use output of remove_child in CloseHandle.
 | |
| 
 | |
| Thu Aug  5 12:38:50 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (dll_crt0_1): Don't protect subproc_ready if it is NULL.
 | |
| 	(do_exit): Avoid calling close_all_files if exiting from exec stub.
 | |
| 	* net.cc: Reorganize to work around some compiler bugs.
 | |
| 	* spawn.cc (spawn_guts): Set hExeced only after child stuff has been
 | |
| 	completely initialized.
 | |
| 	* syscalls.cc (_open): Protect against signals.
 | |
| 	* utils/strace.cc (warn): New function.
 | |
| 	(add_child): Issue warning when can't duplicate child process handle.
 | |
| 
 | |
| Wed Aug  4 21:35:28 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* psapi.h: New file.
 | |
| 
 | |
| Thu Aug 4 10:28:00  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc: Eliminate MALLOC_CHECK calls.
 | |
| 	(lookup_name): New function simplifies the retrieval of user and group
 | |
| 	names.
 | |
| 	(alloc_sd): Call `lookup_name' instead of `LookupAccountName'.
 | |
| 	* shared.cc (sec_user): Call `lookup_name' instead of
 | |
| 	`LookupAccountName'.  Eliminate 'free' call on stack space.
 | |
| 	* winsup.h: Declare `lookup_name'.
 | |
| 
 | |
| Wed Aug  4 16:24:02 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* a.out.h: Fix cut and paste from mime email typos.
 | |
| 
 | |
| Mon Aug  2 19:08:48 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Fix utils dependency.  Make clean more assertive.
 | |
| 	* path.cc (mount_info::conv_to_win32_path): Fill in correct destination
 | |
| 	when a device name is detected.
 | |
| 	* syscalls.cc (chown): Always succeed when referencing a cygwin device.
 | |
| 	(chmod): Ditto.
 | |
| 	* net.cc (get_ifconf): Eliminate holdover from previous change.
 | |
| 
 | |
| Mon Aug  2 13:07:44 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (do_global_ctors): Remove previous change.  It was just
 | |
| 	wrong.
 | |
| 
 | |
| Sun Aug  1 23:21:28 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Throughout rename 'slave_alive' handle to 'inuse'.
 | |
| 	* shared.h: Implement tty_attached() macro to determine when an actual
 | |
| 	tty is associated with the process.
 | |
| 	(class tty): Add some methods for manipulating an "inuse" event that is
 | |
| 	common to both master and slave parts of a tty.
 | |
| 	* dcrt0.cc (do_exit): Use tty_attached() to determine if signal should
 | |
| 	be sent to process group.
 | |
| 	* external.cc (fillout_pinfo): Return -1 if tty is not attached (i.e,
 | |
| 	attached to a console).
 | |
| 	* fhandler.h: Move more stuff into fhandler_tty_common and out from sub
 | |
| 	classes.
 | |
| 	* fhandler_console.cc (fhandler_console::read): Send SIGWINCH signal to
 | |
| 	*correct* process group.
 | |
| 	(fhandler_console::open): Fix incorrect argument ordering in set_ctty.
 | |
| 	(fhandler_console::de_linearize): Remove unneeded handle resets.
 | |
| 	* fhandler_tty.cc (fhandler_tty_slave::open): Fix incorrect argument
 | |
| 	ordering in set_ctty.  Use tty create_inuse method to create inuse
 | |
| 	event.
 | |
| 	(fhandler_tty_slave::close): Delete.
 | |
| 	(fhandler_tty_slave::dup): Delete.
 | |
| 	(fhandler_tty_slave::write): Minor cleanup of flow of control.
 | |
| 	(fhandler_tty_common::dup): Subsume fhandler_tty_slave dup method.
 | |
| 	(fhandler_pty_master::fhandler_pty_master): Zero inuse field.
 | |
| 	(fhandler_pty_master::open): Set inuse field.
 | |
| 	(fhandler_tty_common::close): New, superclass method.
 | |
| 	(fhandler_tty_common::set_close_on_exec): Handle inuse field.
 | |
| 	(fhandler_tty_common::fixup_after_fork): Ditto.
 | |
| 	(fhandler_tty_slave::set_close_on_exec): Delete.
 | |
| 	(fhandler_tty_slave::fixup_after_fork): Delete.
 | |
| 	* path.cc (get_device_number): Use tty_attached() to figure out
 | |
| 	/dev/tty.
 | |
| 	* select.cc (peek_console): Send SIGWINCH signal to *correct* process
 | |
| 	group.
 | |
| 	* tty.cc (tty::master_alive): New method.
 | |
| 	(tty::create_inuse): New method.
 | |
| 
 | |
| Sun Aug  1 16:23:22 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* net.cc (get_ifconf): Use alloca for temporary buffer.
 | |
| 
 | |
| Sun Aug  1 01:38:20 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Modify de_linearize methods throughout to set unix and msdos path
 | |
| 	names.
 | |
| 	* dcrt0.cc (do_exit): Only remove shared memory when we're done with
 | |
| 	it.
 | |
| 	* exceptions.cc (try_to_debug): Move static variable outside of the
 | |
| 	function so that it can more easily be set with gdb.
 | |
| 	* fhandler_console.cc (fhandler_console::open): Handles are typically
 | |
| 	hexadecimal in debugging output.
 | |
| 	(fhandler_console::open): Do not open inherit console handles by
 | |
| 	default.
 | |
| 	(fhandler_console::dup): Just use open method to "duplicate" a console
 | |
| 	handle.
 | |
| 	(fhandler_console::fixup_after_fork): Do *not* close handles here since
 | |
| 	they have not been inherited.
 | |
| 	(fhandler_console::de_linearize): Ditto.
 | |
| 	* utils/strace.cc (create_child): Correct debugging flags when not
 | |
| 	tracking forked processes.
 | |
| 
 | |
| Sat Jul 31 20:10:58 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (do_global_ctors): Ensure that ctors are not called more
 | |
| 	than once per session.
 | |
| 	* fork.cc (fork): Use sig_protect to protect against signals during
 | |
| 	fork.
 | |
| 	* pinfo.cc (lpfu): Show windows pid in debugging message as this is
 | |
| 	generally more useful.
 | |
| 	* pinfo.cc (unlock_pinfo): Issue an error if ReleaseMutex fails.
 | |
| 	(pinfo::record_death): Actually unlock pinfo on exit rather than allow
 | |
| 	ExitProcess to do this since ExitProcess can sometimes take a *long*
 | |
| 	time.
 | |
| 	* spawn.cc (spawn_guts): Ensure that pinfo is always unlocked.
 | |
| 
 | |
| Thu Jul 29 23:43:24 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Throughout, consolidate pgid processing for console and tty into
 | |
| 	fhandler_termios and tty_min.
 | |
| 	* debug.h: Make WF?O functions the defaults for dealing with Waits.
 | |
| 	These functions attempt to work around signal interrupt problems.
 | |
| 	* debug.cc: Ditto.
 | |
| 	* exceptions.cc (call_handler): Don't wait a long time for second
 | |
| 	attempt to get signal mutex.
 | |
| 	* fhandler_console.cc (fhandler_console::open): Set the "controlling
 | |
| 	tty".
 | |
| 	* fhandler_termios.cc: Move the ctty and pgid functions here.
 | |
| 	(fhandler_termios::line_edit): Fix debug output.
 | |
| 	* fhandler_tty.cc (fhandler_tty_slave_write): Use sig_protect to
 | |
| 	protect against output_mutex deadlock.
 | |
| 	* fork.cc (get_vfork_val): Conditionalize with NEWVFORK.
 | |
| 	* syscalls.cc (setsid): Add debugging output.
 | |
| 	(setpgid): Reorganize and add debugging output.
 | |
| 	* tty.cc (tty::init): Use a method to clear the sid.
 | |
| 
 | |
| Thu Jul 29 23:42:53 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Patch from Egor Duda <deo@logos-m.ru>:
 | |
| 	* grp.cc (read_etc_group): Use a default /etc/group entry when one
 | |
| 	doesn't exist.
 | |
| 	(getgrgid): Ditto.
 | |
| 	* passwd.cc (read_etc_passwd): Use a default /etc/passwd entry when one
 | |
| 	doesn't exist.
 | |
| 	(search_for): Ditto.
 | |
| 	* uinfo.cc (read_etc_group): Remove some defines.
 | |
| 	* winsup.h: Move them here.
 | |
| 
 | |
| 1999-07-29  Bernd Schmidt  <bernds@cygnus.co.uk>
 | |
| 
 | |
| 	* Makefile.in (SUBDIRS_AFTER): Build mingw before utils.
 | |
| 	* utils/Makefile.in (MINGW_LDFLAGS): Add "-B../mingw/"
 | |
| 
 | |
| 
 | |
| Tue Jul 27 23:31:28 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc: Add experimental vfork_storage initialization.
 | |
| 	(do_exit): Ditto.
 | |
| 	* exec.cc: Use _spawnve throughout as a common interface for execing a
 | |
| 	program.
 | |
| 	* fork.cc (vfork): Add beginnings of true vfork support.
 | |
| 	* path.cc (sort_by_posix_name): Remove special casing of zero length
 | |
| 	names since they should now be eliminated earlier on.
 | |
| 	(sort_by_native_name): Ditto.
 | |
| 	(mount_info::del_item): Remove hole from mount table specifically, here
 | |
| 	or suffer weird behavior.  Suggested by Andrew Dalgleish
 | |
| 	<andrewd@axonet.com.au>.
 | |
| 	* shared.cc: Make SHAREDVER "unsigned" to avoid a compiler warning.
 | |
| 	* spawn.cc : Accommodate additional argument to _spawnve, throughout.
 | |
| 	(_spawnve): Make this a global function and take an hToken argument so
 | |
| 	that it can be used by sexecve.  Accommodate experimental vfork
 | |
| 	functionality.
 | |
| 	* winsup.h: Add initial support for per-thread vfork stuff.
 | |
| 	* include/cygwin/version.h: Bump shared memory version number.
 | |
| 
 | |
| Mon Jul 26 20:59:58 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (sort_by_posix_name): Report two zero length strings as being
 | |
| 	equal or suffer an infinite loop.
 | |
| 	(sort_by_native_name): Ditto.
 | |
| 	* shared.cc (shared_info::initialize): Refuse to use a different DLL's
 | |
| 	shared memory.
 | |
| 	* shared.h: Fix mask for child_info sanity test.
 | |
| 
 | |
| Sun Jul 18 16:30:31 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* security.cc: Various changes from Corinna.
 | |
| 
 | |
| Sat Jul 17 22:33:45 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fork.cc (fork): Change DuplicateHandle slightly.
 | |
| 	* security.cc (get_nt_attribute): Ignore error return from
 | |
| 	set_process_privileges.
 | |
| 	(set_nt_attribute): Ditto.
 | |
| 
 | |
| Sat Jul 17 00:45:34 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* debug.h: Fix ForceCloseHandle1 in non-debug case.
 | |
| 
 | |
| Fri Jul 16 23:47:31 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* sigproc.cc (proc_can_be_signalled): Accommodate different flavors of
 | |
| 	myself.
 | |
| 	* include/ddeml.h: Add missing struct.
 | |
| 	* include/wingdi.h: Add missing defines.
 | |
| 
 | |
| Fri Jul 16 23:01:30 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Attempt to cope when srcdir is a relative pathname.
 | |
| 	* fork.cc (fork): Pass handle to parent process to fixup_after_fork.
 | |
| 	Eliminate excess unlock_pinfos.
 | |
| 	* hinfo.cc (hinfo::fixup_after_fork): Use inherited parent handle
 | |
| 	rather than try to open the parent process explicitly.
 | |
| 	* pinfo.cc (record_death): Cosmetic change.
 | |
| 	* sigproc.cc (wait_sig): Add a debugging statement.
 | |
| 	* winsup.h: Reflect change of argument for fixup_after_fork.
 | |
| 
 | |
| Fri Jul 16 11:07:55 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* shared.h: Eliminate record_death_nolock.  Just pass an argument to
 | |
| 	record_death.
 | |
| 	* pinfo.cc (record_death_nolock): Ditto.
 | |
| 	* dcrt0.cc (__api_fatal): Use record_death with FALSE argument rather
 | |
| 	than record_death_nolock.
 | |
| 	* exceptions.cc (really_exit): Ditto.
 | |
| 	* fork.cc (fork): Remove debugging statement.
 | |
| 
 | |
| Wed Jul 14 22:08:52 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Throughout, make parent_alive a local variable.  Rename 'alive_parent'
 | |
| 	to 'my_parent_is_alive'.
 | |
| 	* autoload.h: Improve the description of the autoload mechanism.
 | |
| 	* dcrt0.cc: Define parent_alive here.
 | |
| 	(dll_crt0_1): When debugging, rotect handles inherited from fork/exec.
 | |
| 	Force signal thread to finish initializing prior to calling main.
 | |
| 	(dll_crt0): Reorganize child_info stuff to allow common initialization.
 | |
| 	Accept parent_alive handle from invoker and ensure that this is not
 | |
| 	inherited by other processes.
 | |
| 	(do_exit): Ensure that exit_state is not duplicated by a fork.
 | |
| 	(__api_fatal): Call 'try_to_debug' directly.
 | |
| 	* debug.cc: Increase the size of the handle list.
 | |
| 	(threadname): Add an optional argument to control locking.
 | |
| 	* exceptions.cc (error_start_init): Make this a "C" function.
 | |
| 	(try_to_debug): Ditto.  Also, use Sleep rather than pause and loop so
 | |
| 	that gdb can get in to interrupt things.
 | |
| 	(sig_handle):
 | |
| 	* external.cc (fillout_pinfo): Reorganize slightly and plan for the
 | |
| 	future.
 | |
| 	* fhandler.h: Add an argument to show the name of the handle for error
 | |
| 	messages to fork_fixup.
 | |
| 	* fhandler.cc (fhandler_base::fork_fixup): Ditto.
 | |
| 	(set_inheriting): Rename a variable for clarity.
 | |
| 	(fhandler_base::fixup_after_fork): Pass in the name of the handle to
 | |
| 	fork_fixup.
 | |
| 	* fhandler_tty (fhandler_tty_common:fixup_after_fork): Ditto.
 | |
| 	(fhandler_tty_slave:fixup_after_fork): Ditto.
 | |
| 	(fhandler_tty_master:fixup_after_fork): Ditto.
 | |
| 	* fhandler_windows.cc (fhandler_windows::fixup_after_fork): Ditto.
 | |
| 	* fhandler_console.cc (fhandler_console::open): Specifically open
 | |
| 	console with ENABLE_PROCESSED_INPUT.
 | |
| 	* fork.cc (sync_with_child): Call abort when DEBUGGING and there's an
 | |
| 	error.
 | |
| 	(resume_child): Ditto.  Also, allow an ERROR_INVALID_HANDLE error if it
 | |
| 	can't be duplicated as they seem to occur occasionally when the parent
 | |
| 	copies the stack.
 | |
| 	(fork): Use init_child_info to initialize structure passed to child.
 | |
| 	Remove start time setting in favor of common function.  Don't mess with
 | |
| 	parent's parent_alive.
 | |
| 	* heap.cc (sbrk): Simply code slightly.
 | |
| 	* hinfo.cc (hinfo::dup2): Improve error handling.
 | |
| 	* pinfo.cc (set_myself): Set start time here since it is called by
 | |
| 	everything which sets myself.
 | |
| 	(pinfo_init): Remove start_time setting in favor of common function.
 | |
| 	* shared.h (pinfo): Reorganize so that signal stuff falls into section
 | |
| 	of pinfo which is automatically zeroed when a new pid is initialized.
 | |
| 	(PROC_MAGIC): Increment to detect cygwin1.dll's memory passing
 | |
| 	disparities.
 | |
| 	* sigproc.cc (proc_alive): Make this a function.  Wait for target pid
 | |
| 	to initialize.
 | |
| 	(my_parent_is_alive): Rename from alive_parent.
 | |
| 	(proc_can_be_signalled): Renamed from proc_alive macro.
 | |
| 	(proc_exits): Use proc_can_be_signaleed().
 | |
| 	(proc_subproc): Don't put parent_alive in child.
 | |
| 	(proc_terminate): Close hwait_subproc in a race-safe way.  Ditto
 | |
| 	sync_proc_subproc.
 | |
| 	(sigproc_terminate): Always terminate proc_subproc thread first or it
 | |
| 	may try to use signal thread as it is going away.  Wait for signal
 | |
| 	thread to exit.
 | |
| 	(sig_send): Use proc_can_be_signalled().
 | |
| 	(init_child_info): New function.  Initializes memory block passed by
 | |
| 	spawn/fork.
 | |
| 	(mutex_stack): Add thread name field.
 | |
| 	(sig_wait): Set active state after all handles have been set up and
 | |
| 	before protecting the handles.  Use ForceCloseHandle to close
 | |
| 	subproc_ready as it is now protected.  Close signal_mutex here.
 | |
| 	* sigproc.h: Accommodate alive_parent rename.
 | |
| 	* spawn.cc Use init_child_info to initilize memory block passed to
 | |
| 	subprocess.
 | |
| 	* strace.cc (__system_printf): Write to screen before writing to strace
 | |
| 	log.  Only write to strace log if we're actually stracing.
 | |
| 	* winsup.h: Declare the 'action on error' functions.
 | |
| 	* utils/Makefile.in: (Patch from Egor Duda <deo@logos-m.ru>) Compile
 | |
| 	strace using -mno-cygwin.
 | |
| 	* utils/strace.cc: Allow ingw concession from Egor Duda.  Attempt to
 | |
| 	allow CTRL-C when stracing.
 | |
| 
 | |
| Thu Jul 14 0:39:00  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc (alloc_sd): Delete special handling of uid/gid 513.
 | |
| 
 | |
| Thu Jul 13 15:01:00  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* fhandler.cc (get_file_owner): Fix typo.
 | |
| 	* path.cc (path_conv::path_conv) : Change `return' to `goto end' in
 | |
| 	case of SYMLINK_IGNORE is set.
 | |
| 
 | |
| Mon Jul 5 21:33:00  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc (WriteSD): Doesn't set errno if BackupWrite()
 | |
| 	returns ERROR_INVALID_SECURITY_DESCR (which happens on FAT).
 | |
| 
 | |
| Sat Jul 10 13:17:20 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* utils/strace.cc (error): Actually output error message.
 | |
| 	(add_child): Duplicate inherited child process handle with all of the
 | |
| 	privileges that we need.
 | |
| 
 | |
| Fri Jul  9 01:37:23 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 14
 | |
| 	in honor of snprintf and vnsprintf additions.
 | |
| 
 | |
| Fri Jul  9 00:04:03 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (path_conv::path_conv): Correct buffer overflow condition.
 | |
| 	* fhandler_console.cc (fhandler_console::open): *Need* to enable
 | |
| 	processed input or CTRL-C won't stop anything unless it's at a prompt.
 | |
| 	(fhandler_console::input_tcsetattr): Ditto.
 | |
| 
 | |
| Thu Jul  8 18:27:49 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Add malloc debugging options.
 | |
| 	* dcrt0.cc (api_fatal): Call abort when debugging so that the debugger
 | |
| 	will pop up.
 | |
| 	* debug.cc (close_handle): Unlock in pathological case.
 | |
| 	* fhandler_console.cc (fhandler_console::read): Always respond to
 | |
| 	windows size changes.
 | |
| 	(fhandler_console::open): Always set things to ~ENABLE_PROCESSED_INPUT
 | |
| 	so that we can control INTR character.  Don't set pgid here.
 | |
| 	(fhandler_console::input_tcsetattr): Turn on windows event so that we
 | |
| 	can see screen resizes.
 | |
| 	(fhandler_console::init): Don't set pgid here.
 | |
| 	* fhandler_termios (fhandler_termios::tcinit): Set pgid here.
 | |
| 	* fhandler.h: Fix set_has_acls method return.
 | |
| 	* utils/strace.h: Pass CTRL-Cs to child process.
 | |
| 
 | |
| Wed Jul  7 23:59:50 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Improve dependencies.
 | |
| 	* autoload.h: Work around "function unused" messages for autoload init
 | |
| 	functions.
 | |
| 	* configure.in: Use CHECK_TOOL to find CC so that it will get the
 | |
| 	proper host alias.
 | |
| 	* configure: Regenerate.
 | |
| 	* dcrt0.cc (do_exit): Minor reorganization of termination function
 | |
| 	calls.
 | |
| 	* debug.cc (close_handle): Issue an error when an attempt is makde to
 | |
| 	close a handle with a name different from the one used to record it
 | |
| 	previously.
 | |
| 	* debug.h: Implement new macros for storing arbitrary handle names.
 | |
| 	* exceptions.cc (handle_signal): Terminate the main thread when exiting
 | |
| 	due to signal in signal thread.
 | |
| 	* fhandler.h: Add an extra 'fd' argument to all ready_for_read methods.
 | |
| 	* select.cc: Ditto, throughout.
 | |
| 	* fhandler_console (get_tty_stuff): Protect the tty_stuff handle here.
 | |
| 	* fhandler_termios.cc (fhandler_termios::line_edit): Accommodate fd
 | |
| 	argument to ready_for_read.
 | |
| 	* fhandler_tty.cc (fhandler_tty_master::init): Close an unneeded thread
 | |
| 	handle.
 | |
| 	* fork.cc (fork): Use standard name when protecting process handle.
 | |
| 	* spawn.cc (spawn_guts): Ditto.
 | |
| 	* shared.cc (open_shared_file_map): Protect cygwin_shared handle here.
 | |
| 	* sigproc.cc: Throughout, close child process handle using standard
 | |
| 	name.
 | |
| 	* syscalls.cc (read_handler): Check that fd is still open prior to
 | |
| 	performing an operation.  Supply fd argument for ready_for_read.
 | |
| 	* (_read): Supply fd argument for read_for_read.
 | |
| 	* tty.cc (tty_list::terminate): Close unneeded handles as tty is
 | |
| 	closing down.
 | |
| 	(tty_list::allocate): Protect against signals.
 | |
| 
 | |
| Mon Jul  5 14:52:40 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* cygwin.din: Export new snprintf and vnsprintf functions courtesy of
 | |
| 	Egor Duda <deo@logos-m.ru>.
 | |
| 
 | |
| Sun Jul  4 23:54:43 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc (sigbegin): New function.  Called prior to dispatching
 | |
| 	to signal handler.
 | |
| 	(sigreturn): New function.  Called after signal handler returns.
 | |
| 	(set_process_mask): Make stdcall.
 | |
| 	(call_handler): Remove sigwrap asm stuff in favor of new
 | |
| 	sigbegin/sigreturn scheme.
 | |
| 	* winsup.h: Change set_process_mask declaration.
 | |
| 
 | |
| Sun Jul  4 22:00:14 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* syscalls.cc (stat_worker): Previous change to check for extension
 | |
| 	found dots not in the filename part.  Fix this.
 | |
| 
 | |
| Sat Jul  3 23:22:55 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* include/wincon.h: Add some missing defines.
 | |
| 	* environ.cc: Remove extern which is now in winsup.h.
 | |
| 	* fhandler.cc (get_file_owner): Rename argument.  Test for allow_ntsec.
 | |
| 	(get_file_group): Ditto.
 | |
| 	(fhandler_disk_file::fstat): Use new method inode checking.
 | |
| 	* fhandler.h: Rename a method.
 | |
| 	* security.cc (set_file_attribute): Take an additional argument to
 | |
| 	determine if ntsec security setting should be used.
 | |
| 	* dir.cc (mkdir): Pass acl info to set_file_attribute.
 | |
| 	* syscalls.cc (chown): Ditto.
 | |
| 	(chmod): Ditto.
 | |
| 	* winsup.h: Define allow_ntsec here.
 | |
| 
 | |
| Sat Jul  3 15:09:34 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_disk_file:;fstat): Move check of disk volume to
 | |
| 	path_conv.  Use new methods for determining if file system is ACL
 | |
| 	capable.
 | |
| 	(fhandler_disk_file::open): Set "has acls" flag here.
 | |
| 	* fhandler.h: Store acl information in fhandler base class.
 | |
| 	* path.cc (path_conv): Set acl information on successful return.
 | |
| 	* path.h: Add acl info to path_conv class.
 | |
| 	* security.cc (get_file_attribute): Set ENOSYS if can't get extended
 | |
| 	attributes.
 | |
| 	* syscalls.cc (chown): Pass acl information from path_conv to
 | |
| 	get_file_attributes.
 | |
| 	(chmod): Ditto.
 | |
| 	(stat_worker): Ditto.
 | |
| 	* uinfo.cc: Make all exported functions extern "C".
 | |
| 	* winsup.h: Add rootdir() declaration.
 | |
| 
 | |
| Fri Jul  2 15:13:08 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* autoload.h: New file.
 | |
| 
 | |
| Thu Jul  1 23:16:34 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* net.cc (cygwin_gethostname): Use new win32_gethostname to
 | |
| 	disambiguate between cygwin and winsock version.
 | |
| 	* tty.cc (creat_tty_master): Disambiguate by using cygwin_gethostname
 | |
| 	to find the hostname.
 | |
| 	* winsup.h: Declare cygwin_gethostname.
 | |
| 
 | |
| Thu Jul  1 22:36:31 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Throughout, remove check for winsock initialization and indirect
 | |
| 	references to winsock functions in favor of new dynamic DLL loading
 | |
| 	method.
 | |
| 
 | |
| 	* Makefile.in: Remove unneeded libraries.
 | |
| 	* cygwin.din: Make gethostname == cygwin_gethostname like other network
 | |
| 	functions.
 | |
| 	* dcrt0.cc: Implement new "autoload" functionality for loading DLLs and
 | |
| 	functions as they are needed.  Add autoload functions for user32.dll.
 | |
| 	(cygwin_dll_func_load): New function.
 | |
| 	(dll_crt0): Issue a fatal error message if attempt to mix different
 | |
| 	version DLLs is detected.
 | |
| 	(api_fatal): Correct inexplicable use of buf + 8 when printing error
 | |
| 	message into a buffer.
 | |
| 	* fhandler.h: Cosmetic fixes.
 | |
| 	* fhandler_tty.cc (fhandler_tty::close): Temporarily "if 0" out code
 | |
| 	which sends EOF pulse to children.  This should only happen when last
 | |
| 	parent fd closes.
 | |
| 	* heap.cc (sbrk): Implement new sbrk mechanism which returns memory to
 | |
| 	Windows when top of heap decreases beyond a page boundary.
 | |
| 	(getpagesize): New function.
 | |
| 	* fork.cc (fork): Save new heap values in stuff passed to child.
 | |
| 	* hinfo.cc (hinfo::build_fhandler): Don't do any checking on a handle
 | |
| 	if the handle is NULL.  Assume that it is a disk file.
 | |
| 	* net.cc: Redo winsock functions to use dynamic loading scheme.
 | |
| 	* shared.cc (shared_info::initialize): Cosmetic change.
 | |
| 	* shared.h: Change magic number for memory block sent to child
 | |
| 	processes.  Accommodate new heap information in child_info.
 | |
| 	* sigproc.cc (sig_dispatch_pending): Remove some memory debugging checks.
 | |
| 	(__release_signal_mutex): Ditto.
 | |
| 	* syscalls.cc (stat_worker): Don't attempt the .exe hack unless the
 | |
| 	previous attempt to open the file resulted in an "ERROR_FILE_NOT_FOUND"
 | |
| 	and the file did not already contain an extension.
 | |
| 	* times.cc: Initialize static NO_COPY variables throughout or they will
 | |
| 	not actually be NO_COPY.
 | |
| 	* winsup.h: Rename heap fields in per_process to accommodate new sbrk.
 | |
| 	Eliminate winsock stuff invalidated by dynamic loading change.
 | |
| 	* include/winsock.h: Make this file C++ safe.
 | |
| 
 | |
| Sun Jun 27 17:07:34 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* debug.h: Don't define MALLOC_DEBUG by default.
 | |
| 	* fhandler.cc (fhandler_base::set_name): Always set names to NULL.  Add
 | |
| 	more slop to end of win32_path_name.
 | |
| 	(fhandler_base::de_linearize): Set names to NULL.  They'll be assigned
 | |
| 	by the caller.
 | |
| 	(fhandler_disk_file::get_native): Delete.
 | |
| 	* fhandler.h: Ditto.
 | |
| 	* hinfo.cc (hinfo::de_linearize_fd_array): Set path names after the
 | |
| 	structure has been "delinearized".
 | |
| 	* malloc.cc: Add debugging versions of malloc functions.
 | |
| 	* syscalls.cc (stat_worker): Eliminate static buffer for thread safety.
 | |
| 
 | |
| Wed Jun 23 22:53:00  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_disk_file::fstat): If get_file_attribute()
 | |
| 	signals a nonexistant acl, fstat sets default attributes now.
 | |
| 
 | |
| Wed Jun 23 10:22:56 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 13.
 | |
| 
 | |
| Wed Jun 23 10:39:07 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 | |
| 
 | |
| 	* cygwin.din (gamma, gammaf, lgamma, lgammaf): Export.
 | |
| 	(j0,j0f,j1,j1f,jn,jnf): Export underscore versions as well.
 | |
| 
 | |
| Mon Jun 21 21:34:06 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Sprinkle MALLOC_CHECK macro throughout.  When turned on, this will give
 | |
| 	a slightly better idea of where memory corruption occurs.  Add slightly
 | |
| 	modified versions of "error_start" code from Egor Duda
 | |
| 	<deo@logos-m.ru>.
 | |
| 	* Makefile.in: Add `utils' target.
 | |
| 	* dcrt0.cc (do_exit): Attempt to detect loop conditions where do_exit
 | |
| 	is called reentrantly and avoid the previously executed code in this
 | |
| 	case.
 | |
| 	* debug.h: Define MALLOC_CHECK macro for use with malloc debugging.
 | |
| 	* environ.cc (environ_init): Add more slop at end of environ string
 | |
| 	just to work around buggy programs.
 | |
| 	(parse_options): Add error_start option to control core dumping or gdb
 | |
| 	invocation.
 | |
| 	* exceptions.cc (stackdump): New function.  Dumps stack to stderr.
 | |
| 	(error_start_init): New function.  Initialize action on "core dumping"
 | |
| 	error.
 | |
| 	(handle_exceptions.cc): Use stackdump command to dump stack.  Call
 | |
| 	try_to_debug.
 | |
| 	(set_process_mask): Must be __stdcall or compiler get's confused.
 | |
| 	(sig_handle): Detect SIGQUIT and SIGABRT.  Do a "stackdump" for these.
 | |
| 	* fhandler.cc (get_file_owner): Add an argument to determine if
 | |
| 	function should check for NT security.
 | |
| 	(get_file_group): Ditto.
 | |
| 	(fhandler_base::set_name): Don't free "fhandler_disk_dummy_name" path
 | |
| 	names.
 | |
| 	(rootdir): New function, pulled from the pages of syscalls.cc.
 | |
| 	Determines the root dir of a given path.
 | |
| 	(fhandler_disk_file::fstat): Get volume information of file in question
 | |
| 	to determine if inodes are permanent and acls are available.  This
 | |
| 	replaces previous WinNT test.
 | |
| 	(fhandler_base::~fhandler_base): free "fhandler_disk_dummy_name" path
 | |
| 	names.
 | |
| 	* fhandler.h: Change get_file_* declarations.
 | |
| 	* fhandler_console.cc: Back out most of scroll fixes from April 17.
 | |
| 	They caused weird scrolling behavior.
 | |
| 	* fhandler_tty.cc (fhandler_pty_master::accept_input): Add debugging
 | |
| 	message.
 | |
| 	* security.cc (get_file_attribute): Add additional "check for ACL"
 | |
| 	argument.
 | |
| 	* path.cc (symlink_check_one): Use new argument to get_file_attribute.
 | |
| 	* sigproc.cc (wait_subproc): Don't exit wait loop if WaitForMultipleObject
 | |
| 	returns an error.  Instead, loop for a while in case this is an expected
 | |
| 	error.
 | |
| 	* sigproc.h: Remove __stdcall from set_process_mask.
 | |
| 	* spawn.cc (linebuf): Use initializers to set initial values.
 | |
| 	(linebuf::append): Be defensive and ensure that enough space is
 | |
| 	allocated for the new argument.
 | |
| 	(linebuf::prepend): Ditto.
 | |
| 	(spawn_guts): Correct logic which broke up program argument in a #!
 | |
| 	script.
 | |
| 	* syscalls.cc (chown): Use new argument to get_file_attribute.
 | |
| 	(chmod): Use new argument to get_file_owner and get_file_group.
 | |
| 	(stat_worker): Ditto.
 | |
| 	(statfs): Break out code that determined the root directory of a given
 | |
| 	path.  Use new rootdir function instead.
 | |
| 	* winsup.h: Reflect new get_file_attribute argument.
 | |
| 	* include/sys/strace.h: Add "NOTALL" flag so that voluminous debugging
 | |
| 	output can be avoided.
 | |
| 	* utils/strace.cc: Honor NOTALL flag.  Run at a higher priority.
 | |
| 
 | |
| Mon Jun 14 18:33:08 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* syscalls.c (stat_worker): Consolidate calls to fh.fstat for both
 | |
| 	directories and normal files.
 | |
| 	* fhandler_tty.cc (fhandler_pty_master::close): Ensure that an "EOF
 | |
| 	pulse" is sent to any executing child processes.
 | |
| 	* path.cc (symlink_check_one): Check for ':\n' as well as '#!' to
 | |
| 	determine if a file is executable.
 | |
| 
 | |
| Mon Jun 14 16:04:00 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_tty.cc (fhandler_pty_master::accept_input): Set read_retval
 | |
| 	prior to performing a write to avoid a potential race condition.
 | |
| 	* fhandler_termios.cc (fhandler_termios::line_edit): Don't set
 | |
| 	read_retval here.  It has to be set in an fhandler_tty accept_input.
 | |
| 	* select.cc (peek_pipe): Fix typo which caused read_selected to be
 | |
| 	tested twice rather than except_selected.
 | |
| 	* shared.h (class tty_min): Remove read_retval from here.
 | |
| 	(class tty) Put it here.
 | |
| 
 | |
| Mon Jun 14 13:08:58 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* utils/Makefile.in: Consolidate and simplify.
 | |
| 
 | |
| Mon Jun 14 12:43:32 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Throughout, remove reliance on strace_* fields in pinfo class.  Use
 | |
| 	global instead.  Remove STRACE_DUMP and STRACE_CACHE logic.
 | |
| 	* pinfo.cc (set_myself): New function.
 | |
| 	* dcrt0.cc (dll_crt0_1): Use the new function.
 | |
| 	* environ.cc (parse_options): Remove strace environment variable logic.
 | |
| 	(environ_init): Ditto.
 | |
| 	* exceptions.cc (call_handler): Remove strace mutex considerations.
 | |
| 	* fhandler_termios (fhandler_termios::line_edit): Remove STRACE_CACHE
 | |
| 	logic.
 | |
| 	* localtime.cc: Define 'lint' to eliminate warnings.
 | |
| 	* smallprint.c (__small_vsprintf): Remove text formatting of windowss
 | |
| 	errors.  This is now done in the 'strace' program.
 | |
| 	* strace.cc: Define 'strace_active' variable to control whether strace
 | |
| 	should be carried out.
 | |
| 	(strace_open): Delete.
 | |
| 	(strace_init): Delete.
 | |
| 	(get_strace_mutex): Delete.
 | |
| 	(release_strace_mutex): Delete.
 | |
| 	(strace_vsprintf): Preserve last error.
 | |
| 	(strace_write): Communicate with strace program using
 | |
| 	OutputDebugString.
 | |
| 	(strace_dump): Delete.
 | |
| 	(mark): Gut.
 | |
| 	* winsup.h: Remove a declaration.  Add a new one.
 | |
| 	* include/sys/strace.h: Modify to accommodate new strace scheme.
 | |
| 	* utils/Makefile.in: Build strace.exe
 | |
| 	* utils/strace.cc: New file.
 | |
| 
 | |
| Sat Jun 12 22:22:00 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_disk_file::fstat): Must compute i-node numbers
 | |
| 	via `get_namehash' for Windows 9x.
 | |
| 
 | |
| Sat Jun 12 10:54:00 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_base::read): Returns correct value
 | |
| 	if raw_read fails.
 | |
| 	* fhandler_raw.cc: More trace output.
 | |
| 	* fhandler_floppy.cc: Ditto.
 | |
| 	* fhandler_tape.cc: Ditto.
 | |
| 
 | |
| Thu Jun 10 14:01:05 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.c (handle_exceptions): Use ".stackdump"
 | |
| 	extension instead of ".core".
 | |
| 	* path.cc (mount_info::read_mounts): Prescan the mount lists
 | |
| 	for /cygdrive stuff to delete rather than attempting to
 | |
| 	delete it in the main "add mount loop".
 | |
| 	(mount_item::getmntent): Fix "system"/"user" determination.
 | |
| 	* winsup.h: Use void methods in thread classes where
 | |
| 	appropriate.
 | |
| 
 | |
| Wed Jun  9 23:16:04 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* mkvers.sh:  Issue error if can't find version information.
 | |
| 
 | |
| 1999-06-09  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* localtime.c: new file; public domain timezone handling routines.
 | |
| 	* tz_posixrules.h: new file; POSIX default timezone data
 | |
| 	* times.cc: comment out localtime, gmtime, replace tzset with
 | |
| 	cygwin_tzset
 | |
| 	* Makefile.in: add localtime.c
 | |
| 
 | |
| Wed Jun  9 00:49:04 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* spawn.cc (spawn_guts): Correctly handle #! processing when line
 | |
| 	ends with white space.  Also correctly handle scripts that do not
 | |
| 	begin with #!.
 | |
| 
 | |
| Mon Jun  7 17:04:36 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_console.cc (fhandler_console::open): Need to initialize
 | |
| 	tc here, too.
 | |
| 	(fhandler_console::init):  Initialize tc earlier.
 | |
| 
 | |
| Mon Jun  7 00:02:51 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.h (fhandler_termios): Move tc initialization
 | |
| 	into init method, etc.
 | |
| 	(fhandler_tty_common):  Ditto.
 | |
| 	* fhandler_console.cc (fhandler_console::fhandler_console):
 | |
| 	Move tc initialization to init method.
 | |
| 	(fhandler_console::init): Initialize tc stuff here.
 | |
| 	(fhandler_console::dup): Ditto.
 | |
| 	(fhandler_console::fixup_after_fork): Ditto.
 | |
| 	(fhandler_console::de_linearize): Ditto.
 | |
| 	* fhandler_termios (tcinit):  Rename constructor.
 | |
| 	Accept force argument to force termios initialization.
 | |
| 	* fhandler_tty.cc (fhandler_tty_master::init):  Move tc initialization
 | |
| 	to common_init.
 | |
| 	(fhandler_tty_common::dup): Use tcinit () to initialize tc field.
 | |
| 	* tty.cc (tty::common_init): Ditto.
 | |
| 
 | |
| Sun Jun  6 22:19:09 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* tty.cc (tty_list::terminate): Add \n to output message.
 | |
| 	(tty::init):  Clear slave_opened field or we can't reopen
 | |
| 	ttys.
 | |
| 
 | |
| Fri Jun  4 23:58:17 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_tty.cc (fhandler_tty_slave::open): Reorganize
 | |
| 	slightly to avoid a race with get_ttyp()->was_opened.
 | |
| 
 | |
| 1999-06-04  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* times.cc (totimeval): scale sub properly.
 | |
| 	(gettimeofday): don't bias by timezone.
 | |
| 
 | |
| Thu Jun  3 13:24:17 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.h (fhandler_tty_common): Add two new methods.
 | |
| 	* fhandler_tty.cc: Use new {acquire,release}_output_mutex
 | |
| 	methods throughout for output_mutex.
 | |
| 	(fhandler_tty_common::__acquire_output_mutex): New method.
 | |
| 	(fhandler_tty_common::__release_output_mutex): New method.
 | |
| 	* shared.h (get_output_mutex): Rename to open_output_mutex.
 | |
| 
 | |
| Wed Jun  2 16:06:26 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* utils/mkpasswd.c (main): account for long int args to printfs.
 | |
| 
 | |
| Wed Jun  2 16:08:08 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* smallprint.c (__small_vsprintf): Conditionalize display of
 | |
| 	textual messages under CYGWIN_TEXT_ERROR.
 | |
| 	* ntea.cc: Remove debugging code.
 | |
| 
 | |
| Wed Jun 2 16:04:00 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* dcrt0.cc (dll_crt0_1): Call the functions `get_admin_sid',
 | |
| 	`get_system_sid' and `get_world_sid' before heap initialization
 | |
| 	to avoid heap fragmentation.
 | |
| 	* security.cc (get_nt_attribute): Don't allocate memory
 | |
| 	anymore. All memory is taken from stack.
 | |
| 	(set_nt_attribute): Ditto.
 | |
| 	(alloc_sd): Ditto. Change parameters to get a pointer to a
 | |
| 	preallocated security descriptor and a pointer to it's length.
 | |
| 	* shared.cc (sec_user): Don't allocate memory anymore. All
 | |
| 	memory is taken from stack. Change parameters to receive a
 | |
| 	pointer to a preallocated security buffer.
 | |
| 	* shared.h: Change prototype for `sec_user' and `sec_user_nih'.
 | |
| 	* sigproc.cc (getsem): Change call to `sec_user'. Additonally
 | |
| 	buffer for `sec_user'.
 | |
| 	* spawn.cc (spawn_guts): Ditto.
 | |
| 	Change all error output in function `sec_user' and in module
 | |
| 	`security.cc' from error text to error number output.
 | |
| 
 | |
| Tue Jun  2 21:54:21 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* net.cc (get_if_flags): Change the UP and RUNNING state
 | |
| 	of disconnected RAS interfaces to true.
 | |
| 
 | |
| Thu Jun 1 22:47:00 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc (get_system_sid): New function to create
 | |
| 	a SID for the well known group of local system.
 | |
| 	(alloc_sd): New function.
 | |
| 	(alloc_sd): Give ALL permissions to `system'.
 | |
| 	* shared.cc (sec_user): Give ALL permissions to `system'.
 | |
| 	(sec_user): Provide additionalparameter for a second SID.
 | |
| 	This is used for `CreateProcessAsUser' call.
 | |
| 	(sec_user_nih): Ditto.
 | |
| 	* shared.h: Change prototypes for `sec_user' and
 | |
| 	`sec_user_nih'.
 | |
| 	* spawn.cc (spawn_guts): Now using `sec_user' in
 | |
| 	`CreateProcessAsUser' call, if ntsec is set.
 | |
| 
 | |
| Thu Jun 1 14:17:00 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* utils/mkpasswd.c: Change to output native names of
 | |
| 	well known groups `Everyone' (SID 0) and `system' (SID 18).
 | |
| 	* utils/mkgroup.c: Ditto plus output of native name of
 | |
| 	well known group `None' (SID 513).
 | |
| 
 | |
| Mon May 31 22:10:57 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.h: Use bit mask flags in path_conv to save exec,
 | |
| 	symlink, binary status.  Use methods to access and set
 | |
| 	these flags.
 | |
| 	* fhandler.cc: Use methods to access path_conv flags
 | |
| 	throughout.
 | |
| 	* path.cc: (symlink-check_one): Accept a bitmask flags
 | |
| 	variable to accommodate path_conv changes.
 | |
| 	(path_conv::path_conv): Propagate path_flags from mount
 | |
| 	table to path_conv class.  Avoid walking the mount table
 | |
| 	twice to find "binary" info.
 | |
| 	(mount_info::conv_to_win32_path): Accept additional flags
 | |
| 	argument.  Don't add trailing slash if not required.
 | |
| 	Fill out both paths when cygdrive.
 | |
| 	(mount_info::cygdrive_win32_path): Change debugging output
 | |
| 	slightly.
 | |
| 	(mount_info::set_flags_from_win32_path): Generalize from
 | |
| 	mount_info::binary_win32_path_p.
 | |
| 	(mount_item::getmntent): Honor MOUNT_EXEC flag.
 | |
| 	* shared.h: Add new method to mount_info class.
 | |
| 	* include/sys/mount.h: Add a comment.
 | |
| 	* utils/mount.cc: Accept -x to force a mountpoint to default
 | |
| 	to executable permission.  Rename automount stuff to cygdrive.
 | |
| 
 | |
| Mon May 31 19:00:00 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* environ.cc (environ_init): Set ntsec option by default
 | |
| 	if running under NT.
 | |
| 	* security.cc (set_nt_attribute): Delete superfluoues code.
 | |
| 	* shared.cc (sec_user): Don't set owner in created security
 | |
| 	descriptor.
 | |
| 	* sigproc.cc (getsem): Use `sec_user' instead of `sec_user_nih'.
 | |
| 	* spawn.cc (spawn_guts): Set security attribute of
 | |
| 	`CreateProcess' to `sec_user' if ntsec is set, `sec_all_nih'
 | |
| 	otherwise.
 | |
| 
 | |
| Mon May 31 19:27:36 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Throughout, change "automount" to cygdrive.
 | |
| 	Throughout, change mount flags from signed to unsigned.
 | |
| 
 | |
| 	* path.cc (iscygdrive): New macro.
 | |
| 	(normalize_posix_path): Tack a '/' on the end of constructed
 | |
| 	path only if there isn't one there already.
 | |
| 	(mount_info::init): Simplify slightly.
 | |
| 	(mount_info::conv_to_win32_path): Don't search for automount
 | |
| 	stuff in the mount table.  Instead special case the cygdrive
 | |
| 	handling so that it will always be acceptable to use /cygdrive
 | |
| 	regardless of other mounts.
 | |
| 	(mount_info::cygdrive_posix_path): Rename from
 | |
| 	build_automount_mountpoint_path.  Fully build a posix path
 | |
| 	given inputs.
 | |
| 	(mount_info::cygdrive_win32_path): New function.
 | |
| 	(mount_info::conv_to_posix_path): Precalculate the length
 | |
| 	of the pathbuf for multiple uses.  Just use cygdrive_posix_path
 | |
| 	to derive a /cygdrive/x/foo style path.
 | |
| 	(mount_info::read_mounts): Don't read /cygdrive/x mounts from
 | |
| 	the registry.  Delete them.
 | |
| 	(mount_info::from_registry): Read cygdrive info earlier for
 | |
| 	subsequent use by other mount routines.
 | |
| 	(mount_info::add_reg_mount): Cosmetic changes.
 | |
| 	(mount_info::read_cygdrive_info_from_registry): Always add
 | |
| 	trailing slash to cygdrive.  Precalculate the length of the
 | |
| 	cygdrive.
 | |
| 	(mount_item::getmntent): Cosmetic changes.
 | |
| 	(mount): Return EINVAL on attempt to add a mount point which
 | |
| 	begins with the current cygdrive.
 | |
| 	* path.h: Remove unused script_p from path_conv class.
 | |
| 	* shared.h:  Add cygdrive_length to mount_list.  Add new
 | |
| 	cygdrive_win32_path method.
 | |
| 	* include/sys/mount.h: Use enums for MOUNT_ constants.
 | |
| 
 | |
| 1999-05-29  Keith Seitz  <keiths@cygnus.com>
 | |
| 
 | |
| 	* errno.cc (errmap): Map ERROR_NEGATIVE_SEEK to EINVAL.
 | |
| 
 | |
| Fri May 28 21:43:56 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* times.cc (to_time_t): Rewrite slightly to avoid compiler
 | |
| 	overoptimization.
 | |
| 
 | |
| Fri May 28 21:10:33 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* sigproc.cc (getsem): Set security attribute of process
 | |
| 	semaphore to `sec_user_nih()', if ntsec is set, `sec_none_nih'
 | |
| 	otherwise.
 | |
| 
 | |
| Wed May 26 22:56:51 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Rename inuse_event and inuse_event_exists to "slave_alive"
 | |
| 	throughout.
 | |
| 	* shared.h: Eliminate inuse_event.  Replace with a boolean.
 | |
| 	Elminate slave_opened.
 | |
| 	Add some function declarations used by new methods.
 | |
| 	* fhandler_tty.cc (fhandler_pty_master::hit_eof): Use better
 | |
| 	method for determining EOF for pty master.
 | |
| 	(fhandler_tty_slave::open): Use method to acquire output_mutex.
 | |
| 	Always create "inuse_event".  Delete call to slave_opened.
 | |
| 	(fhandler_tty_slave::write): Reorganize debugging output
 | |
| 	slightly.
 | |
| 	(fhandler_tty_master::close): Eliminate reference to inuse_event.
 | |
| 	* tty.cc (tty_list::terminate): Eliminate call to slave_opened.
 | |
| 	(tty_list::connect_tty): Use new exists() method to find out if
 | |
| 	a tty exists.
 | |
| 	(tty_list::allocate_tty): Rename argument for clarity.  Use
 | |
| 	new exists method to determine tty existence.
 | |
| 	(tty::inuse): Delete.
 | |
| 	(tty::init): Remove reference to inuse_event.
 | |
| 	(tty::common_init): Ditto.
 | |
| 	(tty::slave_opened): Delete.
 | |
| 	* winsup.h: Move some function declarations to shared.h.
 | |
| 
 | |
| Mon May 24 22:10:34 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc (WriteSD): Don't set errno, if BackupWrite()
 | |
| 	returns ERROR_NOT_SUPPORTED.
 | |
| 	* security.cc (set_nt_attribute): Change condition for
 | |
| 	calling LookupAccountName() with domain name again.
 | |
| 	* shared.cc (sec_user): Ditto.
 | |
| 
 | |
| Mon May 24 22:10:34 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* include/winnt.h: Temporary erased definitions of QuadPart
 | |
| 	in LARGE_INTEGER and ULARGE_INTEGER.
 | |
| 	* security.cc (set_nt_attribute): Set standard attributes so
 | |
| 	that reading and writing attributes for user and administrators
 | |
| 	isn't hindered.
 | |
| 
 | |
| Mon May 24 22:10:34 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc (ReadSD): New function.
 | |
| 	* security.cc (WriteSD): Ditto.
 | |
| 	* security.cc (get_admin_sid): Moved from shared.cc.
 | |
| 	* security.cc (set_process_privileges): Moved from syscalls.cc,
 | |
| 	shortened, changed return typ to int. Sets errno now.
 | |
| 	* security.cc (set_file_attributes): Return type changed to int.
 | |
| 	* security.cc (get_file_attributes): Ditto.
 | |
| 	* security.cc (set_nt_attributes): Ditto. Cares for setting
 | |
| 	of S_ISVTX now.
 | |
| 	* security.cc (get_nt_attributes): Ditto.
 | |
| 	* syscalls.cc (rel2abssd): #if 0'ed.
 | |
| 	* syscalls.cc (set_process_privileges): Moved to security.cc.
 | |
| 	* syscalls.cc (chown): Rewritten.
 | |
| 	* syscalls.cc (chmod): Change call order of the functions
 | |
| 	set_file_attributes() and SetFileAttributesA().
 | |
| 	* fhandler.cc (fhandler_base::fstat): Change check for
 | |
| 	return value of get_file_attributes().
 | |
| 	* ntea.cc (NTReadEA): returns TRUE now, if allow_ntea is unset.
 | |
| 	* ntea.cc (NTWriteEA): returns TRUE now, if allow_ntea is unset.
 | |
| 	* shared.cc (get_admin_sid): Moved to security.cc.
 | |
| 	* path.cc (symlink_check_one): Change check for return value
 | |
| 	of get_file_attributes().
 | |
| 
 | |
| Mon May 24 22:10:34 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc (get_world_sid): Rewrite.
 | |
| 	* security.cc (world_full_access): Delete.
 | |
| 	* grp.cc: Use gid 0 as default gid.
 | |
| 	* grp.cc (read_etc_group): Look for account name of world group.
 | |
| 	* fhandler.cc (fhandler_base::open): Call `set_file_attribute'
 | |
| 	only in case of disk file.
 | |
| 
 | |
| Mon May 24 22:10:34 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc (get_file_attribute): Patched incorrect test
 | |
| 	for symlink.
 | |
| 	* security.cc (set_file_attribute): ditto.
 | |
| 
 | |
| Mon May 24 22:10:34 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc: Special handling for user and/or administrators
 | |
| 	permissions to write (extended) attributes.
 | |
| 
 | |
| Mon May 24 22:10:34 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc: Don't allow 513(none) as user or group.
 | |
| 
 | |
| Mon May 24 22:10:34 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* security.cc: new functions `set_nt_attribute()', `get_nt_attribute()'
 | |
| 	and `set_file_attribute()' with additional parameters `uid' and `gid',
 | |
| 	to support real NT security.
 | |
| 	* winsup.h: Prototype for `set_file_attribute()' with four
 | |
| 	parameters.
 | |
| 	* dir.cc (mkdir): Calls `set_file_attribute()' now.
 | |
| 	* syscalls.cc (chown): ditto.
 | |
| 	* syscalls.cc (chmod): ditto, with correct uid/gid.
 | |
| 
 | |
| Mon May 24 22:10:34 1999  Corinna Vinschen  <corinna@vinschen.de>
 | |
| 
 | |
| 	* shared.cc: New function `get_admin_sid()' to get a SID
 | |
| 	of the administrators group or of administrator.
 | |
| 	New functions `sec_user()' and `sec_user_nih()' to get
 | |
| 	SECURITY_ATTRIBUTES with all permissions for the user and
 | |
| 	the administtrator group.
 | |
| 	* shared.h: Prototypes for the above new functions `sec_user()'
 | |
| 	and `sec_user_nih()'.
 | |
| 	* sigproc.cc (getsem): Create process semaphore with
 | |
| 	permissions set by `sec_user()'.
 | |
| 
 | |
| Mon May 24 20:29:29 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_console.cc (fhandler_console::output_tcsetattr):
 | |
| 	ONLRET was erroneously used in place of ONLCR.
 | |
| 	(fhandler_console::read): Honor get_r_no_interrupt () so
 | |
| 	that interrupts don't screw up tty reading.
 | |
| 	* fhandler.h: Add some methods to fhandler_tty_master.
 | |
| 	* fhandler_termios.cc (fhandler_termios::fhandler_termios):
 | |
| 	ONLRET was erroneously used in place of ONLCR.
 | |
| 	* fhandler_tty.cc (fhandler_tty_master::init):  Associating
 | |
| 	console capabilities with the tty capabilities is a bad
 | |
| 	idea.  Go back to using the console's own.
 | |
| 	(fhandler_tty_master::fixup_after_fork):  New method.
 | |
| 	(fhandler_tty_master::de_linearize): New method.
 | |
| 	(fhandler_tty_master::init_console): New method.
 | |
| 
 | |
| Mon May 24 09:58:02 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* include/rapi.h: Add some more definitions.
 | |
| 
 | |
| Sat May 22 21:45:01 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 | |
| 
 | |
| 	* scandir.cc (scandir): Handle errno correctly.  Do preallocation to
 | |
| 	reduce realloc calls.
 | |
| 	(alphasort): Use strcoll, not strcmp.
 | |
| 
 | |
| Sat May 22 19:03:47 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 | |
| 
 | |
| 	* dll_init.cc (DllList::recordDll): Forkee must reload dlopened
 | |
| 	DLLs. Also use strcasematch, not strcmp to compare file name.
 | |
| 
 | |
| Wed May 19 14:38:57 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* spawn.cc (linebuf::prepend): Fix possible reference to
 | |
| 	uninitialized memory.
 | |
| 	* winsup.h: Remove WINSUP_NO_CLASS_DEFS workaround.
 | |
| 	* libccrt0.cc: Ditto.
 | |
| 	* utils/cygwin.cc: Ditto.
 | |
| 	* utils/mount.cc: Ditto.
 | |
| 	* utils/ps.cc: Ditto.
 | |
| 
 | |
| Sun May 16 17:22:50 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* include/winnt.h: Revert the previous reversion.  The problem
 | |
| 	with this include file was completely misdiagnosed.
 | |
| 
 | |
| Sun May 16 16:05:07 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* sysdef/rapi.def: New definition file for RAPI.DLL.
 | |
| 	* include/rapi.h: Preliminary RAPI declarations.
 | |
| 
 | |
| Sun May 16 15:37:15 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Remove more obsolete code.
 | |
| 
 | |
| Fri May 14 19:30:53 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* include/winbase.h: Change conditional to correctly refer
 | |
| 	to UNDER_CE rather than UNICODE.
 | |
| 	* include/winnt.h: Update MIPS and SHx CONTEXT definitions.
 | |
| 
 | |
| Tue May 11 21:19:59 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc (call_handler): Restore previously removed
 | |
| 	'leave' command as its absence causes programs to crash.  It
 | |
| 	should never have been deleted.
 | |
| 
 | |
| Tue May 11 12:04:02 1999  Norbert Schulze <Norbert.Schulze@rhein-neckar.de>
 | |
| 
 | |
| 	* times.cc (timezone): Properly adjust for daylight savings time.
 | |
| 	(gettimeofday): Ditto.
 | |
| 	(localtime): Ditto.
 | |
| 	(tzset): Ditto.
 | |
| 
 | |
| Mon May 10 23:31:36 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* include/winnt.h: Revert to previous version.  There are problems
 | |
| 	with the previous checkin.
 | |
| 	* fhandler_console.cc (fhandler_console::de_linearize): Add defensive
 | |
| 	code to ensure that console handles are opened correctly.
 | |
| 
 | |
| Sun May  9 22:31:31 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Forgot to remove a reference to the deleted targets
 | |
| 	below.
 | |
| 
 | |
| Fri May  7 17:28:12 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Remove obsolete code.
 | |
| 	* exceptions.cc (set_process_mask): Make this a __stdcall.
 | |
| 	* sigproc.h: Fix declaration of set_process_mask.
 | |
| 	* include/winnls.h: Add new code page defines.
 | |
| 	* include/winnt.h: Various fixes from Anders Norlander
 | |
| 	<anorland@hem2.passagen.se>.
 | |
| 
 | |
| Tue May  4 22:20:05 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* include/winnt.h: Fix CONTEXT pointer typedefs.
 | |
| 
 | |
| Mon May  3 11:32:32 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 | |
| 
 | |
| 	* smallprint.c (__small_vsprintf): Display textual messages
 | |
| 	for "%E" format type.
 | |
| 	* dlfcn.cc (set_dl_error): Lose the "Win32 ".
 | |
| 
 | |
| Sun May  2 12:22:17 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 | |
| 
 | |
| 	* utils/Makefile.in (EXE_LDFLAGS): Provide default.
 | |
| 
 | |
| 1999-04-30  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* winsup.h (WINSUP_NO_CLASS_DEFS): if defined, don't include class
 | |
| 	definitions (work around gcc bug)
 | |
| 	* libccrt0.cc (WINSUP_NO_CLASS_DEFS): define
 | |
| 	* utils/cygwin.cc (WINSUP_NO_CLASS_DEFS): define
 | |
| 	* utils/mount.cc (WINSUP_NO_CLASS_DEFS): define
 | |
| 	* utils/ps.cc (WINSUP_NO_CLASS_DEFS): define
 | |
| 
 | |
| Thu Apr 29 13:55:57 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 | |
| 
 | |
| 	* shared.h (read_mounts): Change prototype to accept a reference
 | |
| 	to reg_key, not a copy.
 | |
| 	* path.cc (read_mounts): Likewise.
 | |
| 
 | |
| Thu Apr 29 11:06:37 1999  Mumit Khan  <khan@xraylith.wisc.edu>
 | |
| 
 | |
| 	* configure.in (EXE_LDFLAGS): Always add newlib if part of the
 | |
| 	build tree.
 | |
| 	* configure: Regenerate.
 | |
| 
 | |
| 	* utils/Makefile.in (INCLUDES): Add newlib include directories.
 | |
| 	(LDFLAGS): Replace this with
 | |
| 	(ALL_LDFLAGS): this to avoid being overridden from higher level
 | |
| 	Makefiles.
 | |
| 
 | |
| Wed Apr 28 17:01:12 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* include/winnt.h: Add some handheld support.
 | |
| 	* shared.cc (open_shared): Don't call OpenFileMapping with
 | |
| 	a null name pointer.  If the name is NULL it can't be opened.
 | |
| 
 | |
| Fri Apr 23 00:28:38 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* winsup.h: Always clear memory in thread .create method or
 | |
| 	suffer uninitialized pointers, etc.
 | |
| 
 | |
| Wed Apr 21 03:56:54 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_console.cc (fhandler_console::fhandler_console):
 | |
| 	Set fork_fixup flag to ensure that shared info is duplicated.
 | |
| 	(get_tty_stuff): Ensure that tty_stuff is initialized.
 | |
| 	(fhandler_console::fixup_after_fork): Really force tc and
 | |
| 	tty_stuff initialization.  Close console handles or suffer
 | |
| 	handle leak.  (needs to be fixed)
 | |
| 	(fhandler_console::de_linearize): Force tc and tty_stuff
 | |
| 	initialization.
 | |
| 
 | |
| Mon Apr 19 14:54:46 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 12.
 | |
| 
 | |
| Sat Apr 17 15:35:34 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_console (fhandler_console::fixup_after_fork): Make sure
 | |
| 	that new shared memory for console is initialized.
 | |
| 	(fhandler_console::scroll_screen): Set region bottom correctly.
 | |
| 	(fhandler_console::write_normal): Fix win95 problem where attribute
 | |
| 	was propagated to scrolled region.
 | |
| 	* include/wingdi.h: Fix GOBJENUMPROC prototype.
 | |
| 
 | |
| Wed Apr 7 20:00:00 1999  John Fortin (fortinj@ibm.net)
 | |
| 
 | |
| 	* pthread.cc (pthread_suspend): New function.
 | |
| 	(pthread_continue): Ditto.
 | |
| 	* include/pthread.h: added pthread_suspend and pthread_continue
 | |
| 	prototypes.
 | |
| 	* cygwin.din: added above functions.
 | |
| 	* thread.h: Add 'bool suspended' to class MTitem.  Prototype
 | |
| 	__pthread_suspend __pthread_continue.
 | |
| 	* thread.cc (__pthread_suspend): New function.
 | |
| 	(__pthread_continue): New function.
 | |
| 
 | |
| Sun Apr 4 23:00:00 1999  John Fortin (fortinj@ibm.net)
 | |
| 
 | |
| 	* pthread.cc (pthread_join): New function.
 | |
| 	(pthread_detach): New function.
 | |
| 	* include/pthread.h: added pthread_join and pthread_detach prototypes.
 | |
| 	* cygwin.din: added above functions for exports.
 | |
| 	* thread.h: Added char joinable to MTitem class.  Add void *
 | |
| 	return_ptr to ThreadItem class to receive pointer from pthread_exit
 | |
| 	and pthread_join.  Add __pthread_join and __pthread_detach prototypes.
 | |
| 	* thread.cc: Change thread_init_wrapper to set item->return_ptr=ret
 | |
| 	and comment out item->used = false.  Need to look at this more.
 | |
| 	(__pthread_join): New function.
 | |
| 	(__pthread_detach): New function.
 | |
| 	(__pthread_exit): Implement ( was NOT_IMP ).
 | |
| 	* thread.cc (MTinterface::FindNextUnused) : Use joinable != 'Y' as
 | |
| 	an additional conditional.  We may need to use this info in
 | |
| 	pthread_join.
 | |
| 
 | |
| Mon Apr  5 23:09:06 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (do_exit): Change a variable name to minimize confusion.
 | |
| 	* fhandler.h (fhandler_tty): Remove ttyp field in favor of get_ttyp
 | |
| 	method.
 | |
| 	* fhandler_tty.cc: Use get_ttyp () method to retrieve pointer to
 | |
| 	tty device throughout.
 | |
| 	(fhandler_tty_master::init): Point console tc at tty's tc so
 | |
| 	that they share the same termios structure.
 | |
| 	* select.cc (fhandler_tty_common::ready_for_read): Use get_ttyp
 | |
| 	method.
 | |
| 	* tty.cc (tty::common_init): Ditto.
 | |
| 
 | |
| Mon Apr  5 00:22:30 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_console.cc (fhandler_console::char_command): Make
 | |
| 	setting of scrolling region cause the cursor to be placed at
 | |
| 	the beginning of the scrolling region.
 | |
| 	* thread.cc (__pthread_kill): Defend against item->sigs being
 | |
| 	uninitialized.
 | |
| 	(__pthread_sigmask): Defened against item->sigs being uninitialized.
 | |
| 
 | |
| Wed Mar 31 22:52:18 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (dll_crt0): Restore pointer to shared console
 | |
| 	terminfo structure.  This allows subprocesses to set
 | |
| 	sticky console attributes.
 | |
| 	* fhandler_console.cc (get_tty_styff): New function.  Returns
 | |
| 	pointer to shared console terminfo structure, allocating shared
 | |
| 	memory if required.
 | |
| 	(fhandler_console::fhandler_console): Use get_tty_stuff().
 | |
| 	(fhandler_console::de_linearize): Ditto.
 | |
| 	* fork.cc (fork): Save shared console handle for export to
 | |
| 	subprocesses.
 | |
| 	* spawn.cc (spawn_guts): Ditto.
 | |
| 	* shared.cc (open_shared_file_map): Rewrite to use generic
 | |
| 	open_shared() function.
 | |
| 	(open_shared): New function. Generic shared memory open
 | |
| 	used by console and cygwin shared memory.
 | |
| 	* shared.h: Define new stuff used by above.
 | |
| 
 | |
| Wed Mar 31 01:46:23 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.h (fhandler_tty): Set tc = ttyp.
 | |
| 	* fhandler_tty.cc (fhandler_tty_master::init): Ditto.
 | |
| 	(fhandler_tty_common::dup): Ditto.
 | |
| 	* tty.cc (tty::common_init): Ditto.
 | |
| 
 | |
| Wed Mar 31 01:43:06 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (mount_info::conv_to_win32_path): Reorganize to
 | |
| 	correctly handle //x syntax.
 | |
| 
 | |
| Tue Mar 30 14:42:05 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* strace.cc (strace_vsprintf): Fix incorrect buffer reference.
 | |
| 
 | |
| Mon Mar 29 22:46:16 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* debug.cc (__lock): Return value for gcc bug workaround.
 | |
| 	(__unlock): Ditto.
 | |
| 	* fhandler_tty.cc (fhandler_tty_master::init): Remove extraneous
 | |
| 	console initialization.  Set termios to sensical values before
 | |
| 	initializing the console.
 | |
| 	(fhandler_tty_slave): Add some debugging output.
 | |
| 	* strace.cc: Conditionalize stuff not required by STRACE_HHMMSS.
 | |
| 	(strace_vsprintf): Remove dependency on time() for STRACE_HHMMSS.
 | |
| 
 | |
| Mon Mar 29 10:50:00  Corinna Vinschen  <corinna.vinschen@cityweb.de>
 | |
| 
 | |
| 	* utils/passwd.c (GetPW): Correct cast in call to `NetUserGetInfo'.
 | |
| 
 | |
| Sun Mar 28 16:54:57 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.h: Remove tty_stuff field from fhandler_console
 | |
| 	class.  Use global instead to allow all console opens to
 | |
| 	use same settings.
 | |
| 	* fhandler_console.cc: Add new global.
 | |
| 	(fhandler_console::tcgetattr): Use new global for initialization.
 | |
| 	(fhandler_console::de_linearize): Ditto.
 | |
| 	* fhandler_termios.cc (fhandler_termios::fhandler_termios): Don't
 | |
| 	reinitialize an already initialized termios.  Do not honor
 | |
| 	CYGWIN=binmode for console output.  It's too confusing.
 | |
| 	* shared.h: Add `initialized' field to tty_min.
 | |
| 
 | |
| Sun Mar 28 01:55:32 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (path_prefix_p_): Add defensive code.
 | |
| 	(slash_drive_prefix_p): Use macro to detect whether a character
 | |
| 	is a path separator.
 | |
| 	(mount_info::conv_to_win32_path): Rewrite to correctly handle
 | |
| 	relative paths.
 | |
| 	* strace.cc (strace_printf): Remove extraneous save of LastError.
 | |
| 	* winsup.h (per_thread):  Return TlsSetValue value.  This seems
 | |
| 	to work around a g++ bug.
 | |
| 
 | |
| Thu Mar 25 13:00:00  Corinna Vinschen  <corinna.vinschen@cityweb.de>
 | |
| 
 | |
| 	* fhandler_raw.cc (fhandler_dev_raw::dup): New method.
 | |
| 	* fhandler_tape.cc (fhandler_dev_tape::dup(): Ditto.
 | |
| 	* fhandler.h: Added prototypes for the formentioned methods.
 | |
| 
 | |
| Wed Mar 24 23:00:00  Corinna Vinschen  <corinna.vinschen@cityweb.de>
 | |
| 
 | |
| 	* fhandler_raw.cc (fhandler_dev_raw::linearize):
 | |
| 	Only calling base class implementation now.
 | |
| 	* fhandler_raw.cc (fhandler_dev_raw::de_linearize):
 | |
| 	Only calling base class implementation and allocating devbuf now.
 | |
| 	* fhandler_tape.cc (fhandler_dev_tape::linearize): Erased.
 | |
| 	* fhandler_tape.cc (fhandler_dev_tape::de_linearize): Erased.
 | |
| 	* fhandler_tape.cc (fhandler_dev_tape::fhandler_dev_tape):
 | |
| 	Additional call to `set_cb()'.
 | |
| 	* fhandler_floppy.cc (fhandler_dev_floppy::fhandler_dev_floppy):
 | |
| 	Ditto.
 | |
| 	* fhandler.h: Erased prototypes for linearize and de_linearize
 | |
| 	methods of class fhandler_dev_tape.
 | |
| 
 | |
| Thu Mar 25 14:05:57 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* signal.cc (pause): Make sure that signal has been dispatched
 | |
| 	prior to pause returning.
 | |
| 
 | |
| Wed Mar 24 20:04:21 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	Change get_input_handle to get_io_handle throughout.
 | |
| 	Change output_handle_ to output_handle throughout.
 | |
| 	Use sys/termios.h only where needed.
 | |
| 	* Makefile.in: Add new object.
 | |
| 	* fhandler.cc (fhandler_base::puts_readahead): New function.
 | |
| 	Adds a string to the read ahead buffer.
 | |
| 	(fhandler_base::put_readahead): New function.  Adds a character
 | |
| 	to the read ahead buffer.
 | |
| 	(fhandler_base::get_readahead): New function.  Gets a character
 | |
| 	from the read ahead buffer.
 | |
| 	(fhandler_base::peek_readahead): New function.  Returns character
 | |
| 	at beginning or end of read ahead buffer.
 | |
| 	(fhandler_base::set_readahead_valid): Augmented from fhandler.h.
 | |
| 	(fhandler_base::eat_readahead): Eat a character from the read
 | |
| 	ahead buffer.
 | |
| 	(fhandler_base::de_linearize): Reset read ahead info.
 | |
| 	(fhandler_base::read): Honor new read ahead mechanism.
 | |
| 	(fhandler_base::fhandler_base): Don't set binmode to default
 | |
| 	if it has already been explicitly set.
 | |
| 	* fhandler.h: Add *BINSET flags to track whether the binary
 | |
| 	mode has been turned on or off explicitly.
 | |
| 	(fhandler_base): Add elements for new read ahead method.  Remove
 | |
| 	old `readahead_'.
 | |
| 	(fhandler_termios): New base class.
 | |
| 	(fhandler_console): Use fhandler_termios base class.
 | |
| 	Add new de_linearize method.
 | |
| 	(fhandler_tty_common): Rewrite to use fhandler_termios base class.
 | |
| 	(fhandler_pty_master): Ditto.
 | |
| 	(fhandler_tty_master): Ditto.
 | |
| 	* fhandler_console (fhandler_console::read): Rewrite to use functions
 | |
| 	from fhandler_termios and read ahead for line editing.
 | |
| 	(fhandler_console::read1): Remove.
 | |
| 	(fhandler_console::open): Interruptible I/O is now handled in the
 | |
| 	read function.  Mark this.
 | |
| 	(fhandler_console::output_tcsetattr): Use ONLRET to control
 | |
| 	binary behavior since it is more closely analgous.
 | |
| 	(fhandler_console::input_tcsetattr): Don't set console flags if
 | |
| 	there is no change or Windows 95 will eat input.
 | |
| 	(fhandler_console::tcsetattr): Use ONLRET to control binary behavior
 | |
| 	since it is more closely analgous.
 | |
| 	(fhandler_console::fhandler_console): Accommodate fhandler_termios
 | |
| 	base class.
 | |
| 	(fhandler_console::init): Ditto.
 | |
| 	(fhandler_console::igncr_enabled): Ditto.
 | |
| 	(fhandler_console::char_command): Use new read ahead method.
 | |
| 	(fhandler_console::de_linearize): New function.
 | |
| 	* fhandler_serial.cc: Need additional include.
 | |
| 	* fhandler_tty.cc (fhandler_tty_master::fhandler_tty_master):
 | |
| 	Accommodate fhandler_termios base class.
 | |
| 	(fhandler_tty_master::init): Ditto.
 | |
| 	(fhandler_tty_master::accept_input): New function.  Sends
 | |
| 	(possibly line-edited) input to slave.
 | |
| 	(process_input): Use line editing capabilities of fhandler_termios
 | |
| 	base class when processing input.
 | |
| 	(fhandler_tty_slave::open): Accommodate fhandler_termios base class.
 | |
| 	(fhandler_tty_slave::tcgetattr): Ditto.
 | |
| 	(fhandler_tty_slave::ioctl): Ditto.
 | |
| 	(fhandler_pty_master::fhandler_pty_master): Ditto.
 | |
| 	(fhandler_pty_master::read): Ditto.
 | |
| 	(fhandler_tty_slave::dup): Be more paranoid about setting output
 | |
| 	handle in case of error.
 | |
| 	* fhandler_tty.h: Accommodate new tty_min base class in tty class.
 | |
| 	* hinfo.cc (hinfo::build_fhandler): Send tty 'unit' to constructor.
 | |
| 	* select.cc (peek_console): Send resize event to window regardless
 | |
| 	of tty setting.  Eliminate ReadFile kludge.
 | |
| 	* shared.h (tty_min): Rename termios field to avoid conflict.
 | |
| 	* tty.cc (create_tty_master): Send tty number to build_fhandler.
 | |
| 	(tty::common_init): Remove termios initialization.  It's handled
 | |
| 	via fhandler_termios, now.
 | |
| 	* fhandler_termios: New file.  Contains methods for dealing with
 | |
| 	fhandler_termios class.
 | |
| 
 | |
| Wed Mar 24 19:22:04 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc (call_handler): Reorder to work around
 | |
| 	gcc bug.
 | |
| 
 | |
| Sun Mar 21 21:26:43 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_serial.cc (fhandler_serial::raw_read): Protect
 | |
| 	against uninitialized variable.  Output debug info  if
 | |
| 	ClearCommError fails.  Clear overlapped I/O on error or
 | |
| 	signal.
 | |
| 	(fhandler_serial::tcflow): Output debug info at start of
 | |
| 	routine.
 | |
| 	(fhandler_serial::tcsetattr): Add more debugging output.
 | |
| 	Avoid re-setting parameters if there has been no change.
 | |
| 	Setting parameters via SetCommState seems to cause loss of
 | |
| 	input on Windows 9[58].
 | |
| 
 | |
| Wed Mar 17 12:56:25 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* include/winbase.h: Fix AllocateAndInitializeSid proto.
 | |
| 
 | |
| Tue Mar 16 21:55:12 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* exceptions.cc (handle_exceptions): Always wait for sig_send
 | |
| 	to exit or races can result.
 | |
| 
 | |
| Tue Mar 16 13:04:34 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 11.
 | |
| 
 | |
| Tue Mar 16 15:44:10 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* cygwin.din: Export telldir/seekdir.
 | |
| 
 | |
| Tue Mar 16 13:50:51 1999  Corinna Vinschen  <corinna.vinschen@cityweb.de>
 | |
| 
 | |
| 	* dir.cc: Change unused struct member __d_find_first_called to
 | |
| 	__d_position for use in new functions.
 | |
| 	(telldir):  New function.  Returns current position in DIR stream.
 | |
| 	(seekdir):  New function.  Seeks to new position in DIR stream.
 | |
| 
 | |
| Mon Mar 15 19:17:23 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* sysdef/comctl32.def: Add InitCommonControlsEx.
 | |
| 
 | |
| Mon Mar 15 19:45:10 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dir.cc (mkdir): Remove final slash from a directory if
 | |
| 	appropriate or windwows won't create the directory.
 | |
| 	* errno.cc: Change text for EAGAIN to something a little
 | |
| 	more sensical.
 | |
| 	* exceptions.cc (call_handler): Add a debug message.
 | |
| 	* fhandler.cc (fhandler_base::open): Don't attempt to set
 | |
| 	the position of a com device.
 | |
| 	* fhandler_serial.cc (fhandler_serial::raw_read): Reset
 | |
| 	overlapped event if not armed.  Don't attempt to find out
 | |
| 	if characters are available if vmin_.
 | |
| 	(fhandler_serial::raw_write): Clear pending I/O when
 | |
| 	necessary.
 | |
| 	(fhandler_serial::open): Set comm state to current rather
 | |
| 	than zeroing.
 | |
| 	(fhandler_serial::tcflush): Don't use "queue" as a flag.
 | |
| 	TCI* defines are not bit masks.
 | |
| 	* select.cc (peek_serial): Add debugging output.
 | |
| 	* sigproc.cc (wait_sig): Minor cleanup.
 | |
| 	* path.cc (nofinalslash): Make global.
 | |
| 	* winsup.h: Ditto.
 | |
| 
 | |
| Mon Mar 15 16:31:29 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* include/winnt.h: Add RID defs/protos from MSDN docs.
 | |
| 	(SECURITY_*_RID, DOMAIN_*_RID*, etc.)
 | |
| 	* include/richedit.h: Add missing SCF_* defines.
 | |
| 	* include/commctrl.h: Add missing PBM_ defines, PBRANGE struct.
 | |
| 
 | |
| Mon Mar 15 12:54:48 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Don't install include/Windows32 since it doesn't
 | |
| 	exist any more.
 | |
| 	* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 10.
 | |
| 
 | |
| 1999-03-12  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* net.cc (gethostbyname): support a.b.c.d notation internally,
 | |
| 	in case there's no DNS at least partial support is there.
 | |
| 
 | |
| Thu Mar 11 21:27:41 1999  Jeff Johnston  <jjohnstn@cygnus.com>
 | |
| 
 | |
| 	* cygwin.din: Added references to new fast-math routines.
 | |
| 
 | |
| Wed Mar 10 19:22:46 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* include/commdlg.h: Add missing PageSetupDlg defines.
 | |
| 
 | |
| Tue Mar  9 14:28:14 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* include/*.h: Switch Win32 API header file set to the one written
 | |
| 	by Anders Norlander <anorland@hem2.passagen.se>.  Headers now
 | |
| 	fit the standard Win32 API header layout and are more complete.
 | |
| 	These correspond to Anders' headers, version 0.1.5.  Please read
 | |
| 	sysdef/README for more information.
 | |
| 	* include/Windows32/*.h: Delete in favor of above definitions.
 | |
| 
 | |
| 	Changes to support the above:
 | |
| 	* fhandler_console.cc (fhandler_console::char_command): Add newly
 | |
| 	needed cast to DWORD *.
 | |
| 	* fhandler_serial.cc (fhandler_serial::raw_read): Make n, minchars
 | |
| 	DWORDs.
 | |
| 	* fhandler_tty.cc: Include limits.h.
 | |
| 	(fhandler_pty_master::doecho): Second arg is now DWORD.
 | |
| 	(fhandler_pty_master::process_input_to_sl): Make n, written DWORD.
 | |
| 	(fhandler_pty_master::process_slave_outpu): Make n DWORD.
 | |
| 	(fhandler_tty_slave::close): Make towrite, n DWORDs.
 | |
| 	(fhandler_tty_slave::write): Make n DWORD.
 | |
| 	* fhandler.h: Adjust fhandler_pty_master::doecho proto.
 | |
| 	* hinfo.cc: Include file reordering.
 | |
| 	* malloc.cc: Ditto.
 | |
| 	* net.cc: Ditto.
 | |
| 	* fhandler_tape.cc (get_ll): Need to reference .u in
 | |
| 	LARGE_INTEGER usages.
 | |
| 	* ntea.cc: Ditto.
 | |
| 	* pinfo.cc: Include limits.h.
 | |
| 	* spawn.cc: Ditto.
 | |
| 	* uinfo.cc: Ditto.
 | |
| 	* uname.cc (uname): sysinfo struct now has anon union.
 | |
| 	Adjust sprintf for dwProcessorType being a long now.
 | |
| 	* syscalls.cc: Include limits.h and lmcons.h.  Throughout,
 | |
| 	reference .u in LARGE_INTEGER usages.
 | |
| 	(logout): Make rd a DWORD.
 | |
| 
 | |
| 	* utils/mkgroup.c: Always include lmaccess.h and lmapibuf.h.
 | |
| 	Include stdio.h.
 | |
| 	(enum_groups): Adjust for longs in fprintfs.
 | |
| 	(main): Ditto.
 | |
| 	* utils/mkpasswd.c: Include lmaccess.h and lmapibuf.h.
 | |
| 	(enum_users): Adjust for longs in fprintfs.
 | |
| 	(main): Ditto.
 | |
| 	(enum_local_groups): Ditto.
 | |
| 	* utils/passwd.c: Remove many Win32 API defines now in new
 | |
| 	Win32 headers.  Include lmaccess.h, lmerr.h, lmcons.h,
 | |
| 	lmapibuf.h.
 | |
| 	(PrintPW): Adjust for longs in fprintfs.
 | |
| 
 | |
| Wed Mar  3 21:14:45 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* environ.cc (environ_init): Fix off-by-one error in initial
 | |
| 	environment allocation.
 | |
| 	* fhandler_serial.cc (fhandler_serial::tcflush): Use different
 | |
| 	method for flushing since serial handles are now opened for
 | |
| 	overlapped I/O.
 | |
| 	* select.cc (cygwin_select): Make degenerate case interruptible.
 | |
| 	* sigproc.cc (proc_exists): Recognize all kinds of myself pointers
 | |
| 	as "existing".
 | |
| 
 | |
| Tue Feb 16 23:00:48 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* include/Windows32/Functions.h: Correct two #ifndefs that were
 | |
| 	switched.
 | |
| 
 | |
| Mon Feb 15 22:41:54 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* spawn.cc (spawn_guts): Fix incorrect arg length when
 | |
| 	constructing new arguments for #!.
 | |
| 
 | |
| Fri Feb 12 13:25:50 1999  Drew Moseley  <dmoseley@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in (install-info): Test for file existence before installing.
 | |
| 
 | |
| Fri Feb 12 13:17:49 1999  Corinna Vinschen  <corinna.vinschen@cityweb.de>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_disk_file::fstat): Handles directories,
 | |
| 	returns unique i-node number.
 | |
| 	* syscalls.cc (stat_worker): On WinNT, stat_worker calls
 | |
| 	fhandler_disk_file::fstat for directories, too.
 | |
| 
 | |
| 1999-02-10  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* doc/doctool.c (scan_directory): check for opendir failing,
 | |
| 	add closedir.
 | |
| 
 | |
| Tue Feb  9 13:02:25 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* utils/mount.cc: Add fixme.
 | |
| 	* doc/doctool.c: Correct typo in comment.
 | |
| 
 | |
| Mon Feb  8 17:29:58 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* include/Windows32/UnicodeFunctions.h: Fix incorrect use of
 | |
| 	BOOL -> WINBOOL.
 | |
| 	* Windows32/ASCIIFunctions.h: Ditto.
 | |
| 
 | |
| Fri Feb  5 09:38:25 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (mount_info::add_item): Ensure that drive names
 | |
| 	are added using X: notation.
 | |
| 
 | |
| Thu Feb  4 00:28:58 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (path_prefix_p_): Recognize ':' as a path separator.
 | |
| 	(mount_info::conv_to_posix_path): Detect case where a '/' has
 | |
| 	to be added to a path being constructed.
 | |
| 	(realpath): Ensure that the full path name is returned.
 | |
| 
 | |
| Wed Feb  3 22:57:42 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* shared.h (mount_info): Add two separate arrays to track
 | |
| 	reverse sorting of win32/posix paths.
 | |
| 	* path.cc (sort_by_posix_name): New function.  Sorts by
 | |
| 	posix path.
 | |
| 	(sort_by_native_name): Rename from sort_by_name.
 | |
| 	(mount_info::conv_to_win32_path): Use native sort order
 | |
| 	when iterating through mount table.
 | |
| 	(mount_info::binary_win32_path_p): Ditto.
 | |
| 	(mount_info::getmntent): Ditto.
 | |
| 	(mount_info::conv_to_posix_path): Use posix sort order
 | |
| 	when iterating through mount table.
 | |
| 	(sort): Use two arrays to track sorting of mount table.
 | |
| 	(mount_info::add_item): Simplify slightly.
 | |
| 
 | |
| Wed Feb  3 15:17:54 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* cygwin.din: Remove DATA attribute which was erroneously
 | |
| 	added to __errno.
 | |
| 
 | |
| Tue Feb  2 23:10:18 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* path.cc: Fix comment regarding UNC paths in mount table.
 | |
| 	(mount_info::conv_to_win32_path): Add back code to handle
 | |
| 	//<drive> paths for now.  The plan is still to remove it again at
 | |
| 	a later date.
 | |
| 	(mount_info::slash_drive_to_win32_path): New.  Convert a //<drive>
 | |
| 	path to a Win32 path.  Bring back from among the recently departed
 | |
| 	path functions.
 | |
| 	* shared.h: Add mount_info proto for slash_drive_to_win32_path.
 | |
| 
 | |
| Tue Feb  2 22:52:43 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* include/lmaccess.h: Add stub.
 | |
| 	* include/shlobj.h: Add stub.
 | |
| 
 | |
| Tue Feb  2 22:34:06 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* shared.h: Change magic number associated with fork/exec
 | |
| 	information as a temporary measure to eliminate strange
 | |
| 	core dumps with multiple versions of cygwin1.dll.
 | |
| 
 | |
| 1999-02-02  Brendan Kehoe  <brendan@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in (readme.txt): Add missing -I$(srcdir)/doc.
 | |
| 
 | |
| Tue Feb  2 01:10:31 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* sysdef/*: Replace all files with new ones by Anders
 | |
| 	Norlander <anorland@hem2.passagen.se>.  Please read sysdef/README
 | |
| 	for more information.
 | |
| 
 | |
| Mon Feb  1 14:55:11 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (sort_by_name): Sort based on length of native_path
 | |
| 	to ensure maximal match when converting from native -> UNIX.
 | |
| 	* cygwin.din: Make more data variables DATA.
 | |
| 
 | |
| Mon Feb  1 13:31:43 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* fhandler_tape.cc: Change all fhandler_tape private functions
 | |
| 	to be named foo_bar_baz-style instead of FooBarBaz.  Add some
 | |
| 	parens around logical ors/ands for clarity.  Respace.
 | |
| 	* fhandler.h: Change protos here in light of above.
 | |
| 
 | |
| Thu Jan 28 11:00:00  Corinna Vinschen  <corinna.vinschen@cityweb.de>
 | |
| 
 | |
| 	* errno.cc: Support for Windows errors ERROR_CRC and ERROR_NO_READY
 | |
| 	and for error ENOMEDIUM.
 | |
| 
 | |
| Wed Jan 27 01:05:39 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* dir.cc (rmdir): Correct errno setting when attempting to rmdir
 | |
| 	a non-directory.
 | |
| 
 | |
| Tue Jan 26 17:36:12 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* registry.cc (reg_key::build_reg): Add FIXME.
 | |
| 
 | |
| Tue Jan 26 01:30:48 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* path.cc (mount_info::from_registry):  Import old v1 mounts
 | |
| 	only if current mount layout doesn't exist yet in both user
 | |
| 	and system areas (when had_to_create_mount_areas == 2).
 | |
| 	(mount_info::import_v1_mounts): New, was upgrade_v1_mounts.
 | |
| 	(mount_info::from_v1_registry): Add missing comma in reg_key
 | |
| 	creation call.
 | |
| 	(mount_info::init): Init had_to_create_mount_areas to zero.
 | |
| 	* external.cc (cygwin_internal): Fix reference to
 | |
| 	upgrade_v1_mounts.
 | |
| 	* shared.h: Change upgrade_v1_mounts proto to import_v1_mounts.
 | |
| 	Add new had_to_create_mount_areas variable in mount_info class.
 | |
| 	* registry.cc (reg_key::build_reg): Increment
 | |
| 	had_to_create_mount_areas whenever we create a new mount area.
 | |
| 
 | |
| 	* include/sys/mount.h: Don't define MOUNT_EXEC until we actually
 | |
| 	implement this functionality.
 | |
| 
 | |
| 	* utils/mount.cc (do_mount): Print warning messages after the
 | |
| 	actual mount attempt so we don't see warnings when mount fails.
 | |
| 	(usage): Change name of --upgrade-old-mounts flag to
 | |
| 	--import-old-mounts.
 | |
| 	(main): Ditto.
 | |
| 
 | |
| Mon Jan 25 23:56:50 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* errno.cc (seterrno_from_win_error): New.  Given a Windows
 | |
| 	error code, set errno accordingly.
 | |
| 	(seterrno): Just call seterrno_from_win_error with the
 | |
| 	error code returned by a call to GetLastError.
 | |
| 	* winsup.h: Define __seterrno_from_win_error.
 | |
| 	* path.cc: Clean up more function description comments.
 | |
| 	(mount_info::add_reg_mount): Don't need res, just return the
 | |
| 	right values.
 | |
| 	(del_reg_mount): Return int, not void.  If we're deleting a
 | |
| 	system mount, set errno to EACCES and return -1 if we don't
 | |
| 	have a valid key handle.  If mount delete fails, set errno
 | |
| 	accordingly and return -1.  Otherwise, return zero for success.
 | |
| 	(cygwin_umount): Delete mount from registry first, only remove
 | |
| 	from internal table if successful.
 | |
| 	* shared.h: Make del_reg_mount proto return int.
 | |
| 
 | |
| Mon Jan 25 22:40:15 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* path.cc (mount_info::mount_slash): Add mount to registry
 | |
| 	first, only add to internal table if successful.
 | |
| 	(mount_info::conv_to_posix_path): Ditto.
 | |
| 	(mount): Ditto.
 | |
| 	(mount_info::add_reg_mount): Return int, not void.  If we're
 | |
| 	writing a system mount, first check if we have a valid key handle.
 | |
| 	If we don't, set errno to EACCES and return -1.  Otherwise return
 | |
| 	zero for success.
 | |
| 	* shared.h: Make add_reg_mount proto return int.
 | |
| 
 | |
| Mon Jan 25 20:40:26 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* path.cc (mount_info::init): Don't read automount info here.
 | |
| 	(mount_info::from_registry): Read it here instead.  Also, read
 | |
| 	system registry info in KEY_READ mode.
 | |
| 	(mount_info::read_mounts): Read mount info with KEY_READ access
 | |
| 	permissions.
 | |
| 
 | |
| Mon Jan 25 19:12:31 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* path.cc: Improve several function description comments.
 | |
| 	(mount_info::init): Read automount information from the
 | |
| 	registry before potentially automounting slash.
 | |
| 	(mount_info::conv_to_posix_path): Create automount with
 | |
| 	automount_flags flags.
 | |
| 	(mount): Now flags is more than just a toggle so we
 | |
| 	must check it in a different manner.  And simply check
 | |
| 	MOUNT_AUTO as the indicator.  If we want to change the
 | |
| 	automount_prefix, also change automount_flags as appropriate.
 | |
| 	Fix args to syscall_printf.
 | |
| 	(write_automount_info_to_registry): New.  Was
 | |
| 	write_automount_prefix_to_registry.
 | |
| 	(read_automount_info_from_registry): New.  Was
 | |
| 	read_automount_prefix_from_registry.
 | |
| 	* shared.h: Adjust protos for function renames just mentioned.
 | |
| 	* include/sys/mount.h: Delete MOUNT_CHANGE_AUTOMOUNT_PREFIX
 | |
| 	since we don't really need it.
 | |
| 	* utils.cc (mount): Pass MOUNT_AUTO as indicator of desire to
 | |
| 	change automount prefix.
 | |
| 	(show_mounts): Change spacing so there's room for "system,auto"
 | |
| 	in Type column.
 | |
| 
 | |
| Mon Jan 25 13:17:40 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* path.cc: Change all references from "automount root" to
 | |
| 	"automount prefix", avoiding potential nomenclature confusion
 | |
| 	with the root of the file system.
 | |
| 	(read_automount_prefix_from_registry): New.  Was
 | |
| 	read_automount_root_from_registry.
 | |
| 	(read_automount_prefix_from_registry): New.  Was
 | |
| 	read_automount_root_from_registry.  Also read the default
 | |
| 	flags for automounts from registry at the same time.
 | |
| 	(write_automount_prefix_to_registry): New.  Was
 | |
| 	write_automount_root_to_registry.  Also set automount flags
 | |
| 	in registry using new auto_flags arg.
 | |
| 	(mount): Add flags arg to write_automount_prefix_to_registry call.
 | |
| 	* shared.h: Add automount_flags variable to mount_info class.
 | |
| 	Adjust protos for function renames listed above.
 | |
| 
 | |
| 	* include/sys/mount.h: Comment out MOUNT_MIXED and MOUNT_SILENT
 | |
| 	whose values could be reused now that we're using a new mount
 | |
| 	layout.  Change MOUNT_CHANGE_AUTOROOT to
 | |
| 	MOUNT_CHANGE_AUTOMOUNT_PREFIX.
 | |
| 
 | |
| 	* utils/mount.cc (change_automount_prefix): New.  Was
 | |
| 	change_automount_root.  Add new flags argument so it's possible
 | |
| 	to change the default automount flags.
 | |
| 	(main): Option name change from --change-automount-root to
 | |
| 	--change-automount-prefix.
 | |
| 	(usage): Update in light of option changes.
 | |
| 	* utils/umount.cc (remove_all_automounts): Also need to check
 | |
| 	for mnt_type looking like "system,auto" now that it's possible
 | |
| 	for automounts to be located in the system registry.
 | |
| 
 | |
| Mon Jan 25 08:59:04 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* spawn.cc (linebuf::add): Ensure that there is always
 | |
| 	enough space for line being added.  Always null terminate.
 | |
| 	(linebuf::prepend): Ditto.
 | |
| 
 | |
| Sat Jan 23 01:30:16 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	Make mount.exe able to upgrade mounts:
 | |
| 	* external.cc: Fix file description.
 | |
| 	(cygwin_internal): Handle CW_READ_V1_MOUNT_TABLES case, in
 | |
| 	which case call upgrade_v1_mounts to upgrade old registry
 | |
| 	area mounts.
 | |
| 	* external.h: Add CW_READ_V1_MOUNT_TABLES to enum.
 | |
| 	* shared.h: Make upgrade_v1_mounts public.
 | |
| 
 | |
| 	* utils/mount.cc: Include winsup.h, external.h, undef errno since
 | |
| 	it's defined by winsup.h.
 | |
| 	(usage): Add --upgrade-old-mounts option to usage info.
 | |
| 	(main): Handle --upgrade-old-mounts flag by calling
 | |
| 	cygwin_internal with the right constant.
 | |
| 
 | |
| Sat Jan 23 00:40:17 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	First pass at mount table backwards compatibility with v1
 | |
| 	mounts:
 | |
| 	* path.cc (mount_info::from_registry): For now, upgrade from
 | |
| 	old v1 mount registry area if nmounts==0 after reading new mount
 | |
| 	areas.
 | |
| 	(mount_info::read_v1_mounts): New function.  Given a regkey, read
 | |
| 	the mounts in the old v1 registry layout corresponding to the key.
 | |
| 	A "which" arg tells us which registry we're reading so that we
 | |
| 	can include MOUNT_SYSTEM when reading old system mounts.
 | |
| 	(mount_info::from_v1_registry): New function.  Retrieve old v1
 | |
| 	mount table area mounts.
 | |
| 	(mount_info::upgrade_v1_mounts): New function.  Retrieve old
 | |
| 	v1 mounts, add them to the current registry mount location.
 | |
| 	(mount_info::to_registry): New function.  For every mount in
 | |
| 	the internal mount table, add it to the correct registry.
 | |
| 	* shared.h: Add protos for new mount_info functions --
 | |
| 	from_v1_registry, read_v1_mounts, upgrade_v1_mounts, to_registry.
 | |
| 	Don't need class name in protos for
 | |
| 	build_automount_mountpoint_path, write_automount_root_to_registry,
 | |
| 	and read_automount_root_from_registry.
 | |
| 
 | |
| Fri Jan 22 22:45:07 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* spawn.cc (spawn_guts): Arg 2 missing from special case
 | |
| 	command/cmd handling.
 | |
| 
 | |
| Fri Jan 22 22:40:32 1998  Corinna Vinschen  <corinna.vinsche@cityweb.de>
 | |
| 
 | |
| 	* fhandler_raw.cc (fhandler_dev_raw::raw_read): bytes_to_read
 | |
| 	corrected to multiple of 512 bytes instead of multiple to
 | |
| 	devbufsiz.  Insert break on ReadFile returned 0 Bytes.
 | |
| 
 | |
| Fri Jan 22 15:50:49 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* mkvers.sh: Fix handling of CVS tag output.
 | |
| 	* errno.cc: Mark exported data as __declspec(dllexport).
 | |
| 	* times.cc: Ditto.
 | |
| 	* fhandler.cc (fhandler_base::open): Yet another stab
 | |
| 	at correcting handling of binmode/textmode ramifications.
 | |
| 	* path.cc (hash_path_name): Make /. == '' for purposes
 | |
| 	of generating a hash.
 | |
| 
 | |
| Fri Jan 22 11:45:28 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* path.cc (slash_unc_prefix_p): Generalize to allow
 | |
| 	either type of slash.
 | |
| 	(mount_info::add_item): Don't disallow UNC specs in
 | |
| 	the mount table.
 | |
| 	* utils/Makefile.in:  Always use current stub library.
 | |
| 
 | |
| Fri Jan 22 08:52:36 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* environ.cc (regopt): Use correct registry key for Program
 | |
| 	Options given new mount layout.
 | |
| 	* cygwin.din: export __mb_cur_max from newlib.
 | |
| 
 | |
| Thu Jan 21 16:52:20 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* path.cc (cygwin_split_path): Adjust two FIXMEs.
 | |
| 	(mount_info::write_automount_root_to_registry): Return int,
 | |
| 	0 on success, -1 if path is problematic.
 | |
| 	(mount): Check return of write_automount_root_to_registry
 | |
| 	and act appropriately.  Do syscall_printf when adjusting automount
 | |
| 	as well as regular mount.
 | |
| 	* shared.h: mount_info::write_automount_root_to_registry now
 | |
| 	returns an int.
 | |
| 	* utils/mount.cc (main): don't sanity-check automount path
 | |
| 	here, instead let the DLL take care of that.
 | |
| 
 | |
| Thu Jan 21 17:12:26 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* spawn.cc (spawn_guts): Rewrite argument handling for
 | |
| 	cleaner, one-pass operation.
 | |
| 	(linebuf::add): New method for adding arguments to end
 | |
| 	of the argument list.
 | |
| 	(linebuf::prepend): New method for pushing arguments on
 | |
| 	the front of the argument list.
 | |
| 
 | |
| Wed Jan 20 19:06:30 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* path.cc (mount_info::mount_slash): only call add_reg_mount if
 | |
| 	add_item succeeded.
 | |
| 	(mount_info::add_item): Fail if native path doesn't start with
 | |
| 	<drive letter>: or if posix path doesn't start with a slash.
 | |
| 
 | |
| Wed Jan 20 19:06:30 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* fhandler_raw.cc: Correct copyright date, reformat.
 | |
| 	* fhandler_floppy.cc: Ditto.
 | |
| 	* fhandler_tape.cc: Ditto.
 | |
| 
 | |
| Wed Jan 20 17:54:02 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	Remove //<drive>/ support.  Add support for automounts in
 | |
| 	user registry area.
 | |
| 	* path.cc: Rewrite, reformat docs at top in light of removing
 | |
| 	//<drive>/ support and new automount support.  Add more function
 | |
| 	description comments.
 | |
| 	(slash_drive_prefix_p): Remove function.
 | |
| 	(build_slash_drive_prefix): Ditto.
 | |
| 	(slash_drive_to_win32_path): Ditto.
 | |
| 	(mount_info::init): After everything else, read the automount_root
 | |
| 	by calling read_automount_root_from_registry().
 | |
| 	(mount_info::mount_slash): Automount slash with MOUNT_AUTO.
 | |
| 	(mount_info::conv_to_win32_path): Remove //<drive>/ support code.
 | |
| 	(mount_info::build_automount_mountpoint_path): Construct the name
 | |
| 	of an automount POSIX path, given automount_root and the Win32
 | |
| 	path that needs to be automounted.
 | |
| 	(mount_info::conv_to_posix_path): Automount missing drive letter
 | |
| 	and call conv_to_posix_path again if path isn't covered by the
 | |
| 	mount table but starts with "<letter>:".
 | |
| 	(mount_info::read_automount_root_from_registry): New function.
 | |
| 	Read in the value of automount_root from the current_user
 | |
| 	registry mount area.  If there isn't one, use default of
 | |
| 	"/cygdrive" and write that to the registry by calling
 | |
| 	write_automount_root_to_registry().
 | |
| 	(write_automount_root_to_registry): Write a value of
 | |
| 	automount_root to the user registry area.
 | |
| 	(mount_info::del_item): Add new flags arg to specify which
 | |
| 	registry to delete the mount from.
 | |
| 	(mount_info::del_reg_mount): Ditto.
 | |
| 	(mount_item::getmntent): Use mount_info mnt_foo strings to store
 | |
| 	strings passed back in the mntent struct.  Otherwise if you
 | |
| 	delete a mount item while using getmntent, the pointer may
 | |
| 	change on the user.  Add ",auto" to mnt_type if	MOUNT_AUTO flag is
 | |
| 	set.
 | |
| 	(mount): Add support to set auto_root to path if flags is set
 | |
| 	to the special MOUNT_CHANGE_AUTOROOT flag otherwise do the normal
 | |
| 	thing.
 | |
| 	(umount): Call cygwin_umount with flags value of 0.
 | |
| 	(cygwin_umount): New exported function.  Same as umount but
 | |
| 	takes an additional flag argument that specifies which registry
 | |
| 	area from which umount should remove the mount point.
 | |
| 	* cygwin.din: Export the cygwin_umount call.
 | |
| 	* shared.h (mount_info): Add public automount_root string.
 | |
| 	Add public proto for write_automount_root_to_registry().
 | |
| 	Add private protos for build_automount_mountpoint_path() and
 | |
| 	read_automount_root_from_registry().  Add flags arg to del_item
 | |
| 	and del_reg_mount protos.  Add strings used by getmntent et al
 | |
| 	including mnt_type, mnt_opts, mnt_fsname, mnt_dir.  (Can't just
 | |
| 	pass back pointers to mount paths because they may change as
 | |
| 	a result of a umount call.
 | |
| 
 | |
| 	* include/sys/mount.h: Add new MOUNT_AUTO and
 | |
| 	MOUNT_CHANGE_AUTOROOT flags.  Add proto for cygwin_umount
 | |
| 	function.
 | |
| 	* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 9.
 | |
| 
 | |
| 	* utils/mount.cc: Change missing_dir_warning flag to force
 | |
| 	and init to FALSE instead of TRUE.  Throughout swap names and
 | |
| 	setting as appropriate.  Include errno.h.
 | |
| 	(usage): Remove info about --reset.  Add info for new
 | |
| 	--change-automount-root option.
 | |
| 	(main): Don't check the --reset flag.  Call change_automount_root
 | |
| 	if invoked with --change-automount-root.  Only call do_mount
 | |
| 	if !mount_already_exists unless force flag is TRUE.  Otherwise
 | |
| 	fail.
 | |
| 	(mount_already_exists): New helper function.  Returns 1
 | |
| 	if the mount point of the same registry location is already
 | |
| 	mounted.
 | |
| 	(reset_mounts): Remove function.
 | |
| 	(change_automount_root): New function that changes the
 | |
| 	automount root in the registry via Cygwin by passing the new
 | |
| 	path to mount() with the special MOUNT_CHANGE_AUTOROOT flag.
 | |
| 	* utils/umount.cc: Add progname, set to argv[0].  Include string.h.
 | |
| 	(usage): New function to print out usage info.
 | |
| 	(main): Loop through argcs.  Handle new flags to remove all mounts
 | |
| 	of a specific type including --remove-all-mounts,
 | |
| 	--remove-user-mounts, --remove-system-mounts, and
 | |
| 	--remove-auto-mounts.  New flag to specify removing a system
 | |
| 	mount.  Call cygwin_umount instead of umount, providing flags
 | |
| 	as appropriate.
 | |
| 	(remove_all_mounts): New function.  Remove all mounts in
 | |
| 	both tables.
 | |
| 	(remove_all_automounts): Remove all mounts marked auto.
 | |
| 	(remove_all_user_mounts): Remove all user mounts, including auto
 | |
| 	mounts.
 | |
| 	(remove_all_system_mounts): Remove all system mounts.
 | |
| 
 | |
| 	* registry.cc (reg_key::get_string): Fix description comment.
 | |
| 	* strace.cc: Minor reformatting.
 | |
| 
 | |
| Wed Jan 20 17:49:20 1999  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* fhandler.cc (raw_write): Make sure that a disk full error
 | |
| 	is properly signalled.
 | |
| 	(fhandler_base::open): Only tapes are read/write, cd-roms may be
 | |
| 	read-only (from Corinna).
 | |
| 
 | |
| Wed Jan 20 10:46:48  Corinna Vinschen  <corinna.vinschen@cityweb.de>
 | |
| 
 | |
| 	[applied by DJ Delorie <dj@cygnus.com>]
 | |
| 
 | |
| 	* fhandler_raw.cc (fhandler_dev_raw::writebuf): Writes only
 | |
| 	as much bytes as needed, instead of full buffer size.
 | |
| 
 | |
| 	* fhandler_tape.cc (fhandler_dev_tape::close): Corrected error
 | |
| 	handling in case of error while writing buffer content to dev.
 | |
| 
 | |
| 	* fhandler_floppy.cc (fhandler_dev_floppy::close): Ditto.
 | |
| 
 | |
| 	* fhandler_tape.cc (fhandler_dev_tape::writebuf): Delete function
 | |
| 
 | |
| 	* fhandler_floppy.cc (fhandler_dev_floppy::writebuf): Ditto.
 | |
| 
 | |
| 	Patch suggested by Ron Parker <rdparker@butlermfg.org>
 | |
| 	* path.cc (mount_info::conv_to_win32_path): Change the
 | |
| 	recognition of UNC devices, to support also paths of type
 | |
| 	`\\.\UNC\'.
 | |
| 
 | |
| 	* fhandler_tape.cc (fhandler_dev_tape::close): Fixed rewind
 | |
| 	to block 1 instead of block 0 on rewind tapes in case of
 | |
| 	uncaught signal (e.g. Ctrl-C).
 | |
| 
 | |
| 	* path.cc (get_raw_device_number): New static function,
 | |
| 	checks path for windows raw device.
 | |
| 
 | |
| 	* path.cc (get_device_number): Change for recognition of
 | |
| 	windows raw device paths by calling `get_raw_device_number()'.
 | |
| 
 | |
| 	* path.h: Change prototype for `get_device_number()'.
 | |
| 
 | |
| 	* Makefile.in: Added file 'fhandler_raw.o' to dependencies.
 | |
| 
 | |
| 	* include/cygwin/rdevio.h: New file to support ioctl commands
 | |
| 	on random access raw devices. At the time only get/set buffersize
 | |
| 	for raw_read/raw_write.
 | |
| 
 | |
| 	* fhandler.h: Change class hierarchy. 'fhandler_dev_floppy'
 | |
| 	and 'fhandler_dev_tape' are now derived classes of
 | |
| 	'fhandler_dev_raw', which is derived from 'fhandler_base'.
 | |
| 
 | |
| 	* fhandler_raw.cc: New file for implementation of class
 | |
| 	'fhandler_dev_raw' which is now base class for support of
 | |
| 	mass storage raw devices.
 | |
| 
 | |
| 	* fhandler_dev_tape.cc: Rewritten.
 | |
| 
 | |
| 	* fhandler_dev_floppy.cc: Rewritten. Now supporting correct
 | |
| 	lseek (seeking only to positions on 512 byte boundaries,
 | |
| 	like supported from WinNT).
 | |
| 
 | |
| 	* Makefile.in: Added file 'fhandler_floppy.o' to dependencies.
 | |
| 
 | |
| 	* fhandler_floppy.cc: New file to support raw devices
 | |
| 	including multi volume operations.
 | |
| 
 | |
| 	* fhandler.cc: Delete 'fhandler_dev_floppy' implementation.
 | |
| 
 | |
| 	* fhandler.h: Extend class fhandler_dev_floppy.
 | |
| 
 | |
| 	* fhandler_tape.cc: Rewrite for correct support
 | |
| 	of multi volume operations. Supports Setmarks now.
 | |
| 
 | |
| 	* fhandler.h: Add private method `clear()' to class
 | |
| 	fhandler_dev_tape.
 | |
| 
 | |
| 	* Makefile.in: Add file 'fhandler_tape.o' to dependencies.
 | |
| 
 | |
| 	* path.cc (mount_info::conv_to_win32_path): Change the
 | |
| 	recognition of UNC devices, to support devices, which
 | |
| 	are not partitions, too.
 | |
| 
 | |
| 	* fhandler.h: Extend struct 'fhandler_dev_tape' for tape support.
 | |
| 	Add method 'fstat' to fhandler_dev_floppy to get S_ISBLK().
 | |
| 
 | |
| 	* fhandler.cc (fhandler_base::open): In any case 'access_' has to
 | |
| 	be GENERIC_READ | GENERIC_WRITE for tapes, to allow tape control.
 | |
| 	No 'SetFilePointer' for tapes.
 | |
| 
 | |
| 	* fhandler_tape.cc: New file to support rewind (/dev/stX) and
 | |
| 	norewind (/dev/nstX) tapes.  Supports ioctl() calls, described
 | |
| 	in...
 | |
| 
 | |
| 	* include/sys/mtio.h, include/cygwin/mtio.h: New header files
 | |
| 	for tape support.
 | |
| 
 | |
| Sat Jan 16 21:59:36 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* registry.h: Delete; move contents into shared.h except for
 | |
| 	posix_path_p() routine which disappears.
 | |
| 	* {Makefile.in, environ.cc, net.cc, path.cc, registry.cc,
 | |
| 	shared.cc}: No longer include registry.h.
 | |
| 	* dcrt0.cc (dll_crt0_1): don't check posix_path_p()
 | |
| 
 | |
| 	* include/mntent.h (struct mntent): Drop const from strings.
 | |
| 	* include/sys/mount.h: Change MOUNT_GLOBAL flag that nobody has
 | |
| 	used yet to MOUNT_SYSTEM.  Add MOUNT_EXEC flag.
 | |
| 	* include/cygwin/version.h: Bump CYGWIN_VERSION_MOUNT_REGISTRY to
 | |
| 	2.  Change CYGWIN_INFO_CYGWIN_REGISTRY_NAME to "Cygwin".
 | |
| 	Change CYGWIN_INFO_CYGWIN_MOUNT_REGISTRY_NAME to "mounts v2".
 | |
| 
 | |
| 	* registry.cc (reg_key::reg_key): Default key doesn't end in
 | |
| 	"mounts" any more.
 | |
| 	(reg_key::kill): Return error code from RegDeleteKeyA.
 | |
| 	* path.cc: Reformat, reorder functionality, add comments
 | |
| 	throughout.
 | |
| 	(mount_info::init): Automount slash if it's not already mounted.
 | |
| 	(mount_info::mount_slash): New private helper function.
 | |
| 	(mount_info::binary_win32_path_p): Check flags to determine
 | |
| 	if mount is binary or not, not binary_p.
 | |
| 	(mount_info::read_mounts): Remove unneeded access argument.  Use
 | |
| 	RegEnumKeyEx to enumerate mount points in current registry
 | |
| 	location where each key name returned is a posix_path mount
 | |
| 	location.  Use a subkey reg_key to read the posix_path's
 | |
| 	corresponding native_path and flags.
 | |
| 	(mount_info::from_registry): Access HKEY_LOCAL_MACHINE registry
 | |
| 	with full access privs (which will fail if not administrator).
 | |
| 	Fix registry path used to initialize HKEY_LOCAL_MACHINE reg_key.
 | |
| 	(mount_info::to_registry): Delete function.  Replaced by
 | |
| 	add_reg_mount.
 | |
| 	(mount_info::add_reg_mount): New function which adds a specified
 | |
| 	mount point to the registry.
 | |
| 	(mount_info::del_reg_mount): New function which deletes the
 | |
| 	posix_path argument from the highest priority registry table it
 | |
| 	can (first user, than system-wide).
 | |
| 	(sort_by_name): If the two posix_paths are the same, then
 | |
| 	differentiate between them looking at MOUNT_SYSTEM in their flags.
 | |
| 	(mount_info::add_item): Also make sure that neither path is NULL.
 | |
| 	Never claim mount point is busy: replace an existing posix_path
 | |
| 	as long as it came from the same registry location.
 | |
| 	(mount_info::del_item): Also make sure that neither path is NULL.
 | |
| 	(mount_item::getmntent): Use mnt_type field to store user vs.
 | |
| 	system registry location string.  Cast all strings to char *.
 | |
| 	Handle flags instead of binary_p.  Change names of strings
 | |
| 	returned in mnt_opts field.
 | |
| 	(mount_item::init): Set flags, instead of dealing with binary_p
 | |
| 	and silent_p.
 | |
| 	(mount): Call add_reg_mount instead of to_registry.
 | |
| 	(umount): Call del_reg_mount instead of to_registry.
 | |
| 	(path_conv::path_conv): Remove reference to silent_p.
 | |
| 	* path.h (path_conv): Remove silent_p.
 | |
| 
 | |
| 	* utils/mount.cc: Add -s to usage (was a commented-out -g).
 | |
| 	Or in MOUNT_SYSTEM if -s flag given.  Add similar commented-out
 | |
| 	support for future MOUNT_EXEC flag that will be added with -e.
 | |
| 	(reset_mounts): Automount slash with zero for flags, not
 | |
| 	MOUNT_SILENT which we no longer use for anything.
 | |
| 	* utils/umount.cc: Also print out usage if the first argument
 | |
| 	starts with a dash.
 | |
| 
 | |
| Fri Jan 15 11:27:51 1999  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* strace.cc: add macros to protect against buffer overruns
 | |
| 	(strace_printf): increase buffer from 6000 to 1000 to build devo
 | |
| 	* include/sys/strace.h: allow -DNOSTRACE again
 | |
| 
 | |
| Fri Jan 15 11:27:51 1999  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* dcrt0.cc (alloc_stack): add 16384 to work around Win95 page
 | |
| 	fault during builds
 | |
| 	* fork.cc (fork): try various things to avoid page faults during
 | |
| 	win95 builds.
 | |
| 
 | |
| Fri Jan 15 11:18:23 1999  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* fhandler.cc (raw_write): check for disk full.
 | |
| 
 | |
| Fri Jan 15 11:18:23 1999  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* init.cc (dll_entry): if the DLL is being LoadLibrary'd,
 | |
| 	initialize some things.
 | |
| 	* heap.cc (_sbrk): detect uninitialized heap and initialize
 | |
| 	* dcrt0.cc (user_data): initialize to something useful.
 | |
| 	(do_global_ctors): make global for init.cc
 | |
| 
 | |
| Thu Jan 14 02:16:44 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* dll_init.cc: Add missing FIXME in comment.
 | |
| 	* fhandler_console: Ditto.
 | |
| 
 | |
| Thu Jan 14 00:53:25 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* spawn.cc (iscmd): New function.
 | |
| 	(spawn_guts): Treat command /c and cmd /c as special
 | |
| 	cases.  Don't quote arguments to these programs if
 | |
| 	there are exactly three arguments.
 | |
| 	* dcrt0.cc (dll_crt0_1): Initialize exceptions prior
 | |
| 	to fork to allow forked processes to "dump core".
 | |
| 	* errno.cc (seterrno): No need for this to be extern "C".
 | |
| 	* winsup.h: Ditto.
 | |
| 
 | |
| Wed Jan 13 19:06:08 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* registry.cc: Add comments corresponding to various reg_key
 | |
| 	functions, minor reformatting.
 | |
| 	(reg_key::reg_key): Delete already-commented-out function
 | |
| 
 | |
| Wed Jan 13 15:41:34 1999  DJ Delorie  <dj@cygnus.com>
 | |
| 
 | |
| 	* errno.cc (_sys_errlist): Add "extern" to work around new gcc
 | |
| 	restrictions.
 | |
| 
 | |
| Mon Jan 11 14:56:27 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* spawn.cc (spawn_guts): Fix problem with #! and relative
 | |
| 	directories.
 | |
| 
 | |
| Mon Jan 11 09:00:29 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_console.cc (fhandler_console::read1): Handle EOF as a
 | |
| 	specific case.
 | |
| 
 | |
| Sun Jan 10 23:44:22 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.h: Define __fmode for convenience.  Use throughout.
 | |
| 	* environ.cc (parse_options): Use O_TEXT when nobinmode.
 | |
| 	* fhandler.cc (fhandler_base::open): Don't honor __fmode
 | |
| 	when disk file.  Default to O_TEXT if no mode is specified.
 | |
| 	(fhandler_base::fhandler_base): Don't honor __fmode when disk
 | |
| 	file.  Otherwise default to O_BINARY.
 | |
| 	* pipe.cc (make_pipe): Default to O_BINARY if no mode specified.
 | |
| 
 | |
| Sat Jan  9 20:58:34 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Correct previously messed up patch.
 | |
| 	* thread.h: Add back a needed include.
 | |
| 	* sigproc.cc (sigproc_init): Work around problem with older
 | |
| 	compilers.
 | |
| 	* wait.cc (wait4): Ditto.
 | |
| 	* winsup.h (per_thread_waitq): Ditto.
 | |
| 	* include/Windows32/CommonFunctions.h: Temporary change to
 | |
| 	work around problems with older compilers.
 | |
| 
 | |
| Fri Jan  8 12:53:53 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* environ.cc (parse_options): Add "forkchunk" debug setting.
 | |
| 	Takes a value which is used to limit the size of individual memory
 | |
| 	copies in a fork.
 | |
| 	* fork.cc (fork_copy): Rewrite slightly to allow copying of
 | |
| 	individual chunks of memory rather than all in one gulp.
 | |
| 	Controlled by chunksize global variable.
 | |
| 
 | |
| Thu Jan  7 22:02:18 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	patch from Corinna Vinschen <corinna.vinschen@cityweb.de>:
 | |
| 	* utils/passwd.c: New file.
 | |
| 	* utils/Makefile.in: Add dependencies for passwd.
 | |
| 	* syscalls.cc (chmod): Change permission checking in case
 | |
| 	of readonly test.
 | |
| 	(stat_dev): Change default permission bits to allow writing
 | |
| 	for all users.
 | |
| 	(chown): Retry LookupAccountName with username set to domain\\username,
 | |
| 	if returned SID-Type is not SidTypeUser.
 | |
| 
 | |
| 
 | |
| Thu Jan  7 17:50:49 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.cc (fhandler_base::set_name): Fix bug which
 | |
| 	disallowed '%' in a file name.
 | |
| 
 | |
| Thu Jan  7 00:21:41 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	* path.cc: Add comments.
 | |
| 	* path.h: Correct file description comment.
 | |
| 
 | |
| Tue Jan  5 16:07:15 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler_serial.cc (fhandler_serial::raw_read): Be more defensive
 | |
| 	about not calling problematic functions when the overlapped I/O is
 | |
| 	armed.  Reset the overlapped event prior to calling read or suffer
 | |
| 	an "operation aborted".
 | |
| 	* select.cc (peek_serial): Ditto.
 | |
| 
 | |
| Mon Jan  4 15:16:22 1999  Geoffrey Noer  <noer@cygnus.com>
 | |
| 
 | |
| 	Eliminate warnings:
 | |
| 	* utils/mount.cc (show_mounts): make format a const char *.
 | |
| 	* utils/ps.cc (main): make literal strings const char *s.
 | |
| 	* utils/cygpath.cc (long_options): cast literal strings to char *s.
 | |
| 	(main):
 | |
| 
 | |
| Sun Jan  3 20:46:12 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* select.cc (peek_console): Remove #if 0 around NT code workaround.
 | |
| 
 | |
| Sat Jan  2 00:04:01 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* Makefile.in: Remove include directories made obsolete by
 | |
| 	recent changes to mmap.cc.  Also remove libraries that appear
 | |
| 	to be unnecessary for linking.
 | |
| 	* mkvers.sh: Put contents of .snapshot-date, if available, into
 | |
| 	the DLL.
 | |
| 
 | |
| Fri Jan  1 22:44:49 1999  Christopher Faylor <cgf@cygnus.com>
 | |
| 
 | |
| 	* fhandler.h (fhandler_serial): Add flag to track state of
 | |
| 	overlapped serial I/O.  Add overlapped_setup method for common
 | |
| 	setup of overlapped structure.
 | |
| 	* fhandler_serial.cc (fhandler_serial::overlapped_setup): New
 | |
| 	method.  Sets up the overlapped structure for overlapped serial I/O.
 | |
| 	(fhandler_serial::raw_read): Use overlapped_armed flag to avoid
 | |
| 	calling functions which perform overlapped operations if overlapped
 | |
| 	I/O is in already progress.  This should only be the case if a
 | |
| 	previous operation was interrupted or select has detected serial I/O.
 | |
| 	(fhandler_serial::open): Use overlapped_setup.
 | |
| 	(fhandler_serial::fixup_after_fork): Ditto.
 | |
| 	(fhandler_serial::de_linearize): Ditto.
 | |
| 	(fhandler_serial::dup): Ditto.
 | |
| 	(fhandler_serial::tcsetattr): Fix typo which caused IGNPAR
 | |
| 	to be ignored.
 | |
| 	* hinfo.cc (hinfo::select_read): Set saw_error to zero explicitly
 | |
| 	to avoid spurious reporting of select errors.
 | |
| 	(hinfo::select_write): Ditto.
 | |
| 	(hinfo::select_except): Ditto.
 | |
| 	* select.cc (peek_serial): Use overlapped_armed to avoid calling
 | |
| 	functions which perform overlapped operations if overlapped I/O
 | |
| 	is already in progress.
 |