2594 lines
		
	
	
		
			99 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			2594 lines
		
	
	
		
			99 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
Sat Jun 16 13:06:49 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (sig_handle_tty_stop): Reset PID_STOPPED if not
 | 
						||
	actually stopping.
 | 
						||
	* fhandler_console.cc (fhandler_console::fixup_after_fork): Don't set
 | 
						||
	controlling terminal if just inheriting a handle.
 | 
						||
	(fhandler_console::fixup_after_exec): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::init): Ditto.
 | 
						||
	* signal.cc (kill_worker): Set appropriate errno if proc_exists
 | 
						||
	determines that process does not really exist.
 | 
						||
 | 
						||
Fri Jun 15 14:34:19 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Deal more robustly with foo/ behavior.
 | 
						||
 | 
						||
Fri Jun 15 11:15:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_tape.cc (fhandler_dev_tape::tape_status): Set size
 | 
						||
	parameter to value expected by GetTapeParameters().
 | 
						||
 | 
						||
Thu Jun 14 20:19:46 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::fstat): Properly set executable bits
 | 
						||
	for directory when !ntsec && !ntea.  Also move common code prior to
 | 
						||
	call to get_attributes.
 | 
						||
 | 
						||
Fri June 15 09:25:00  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
  
 | 
						||
	* thread.cc (pthread_cond::Signal): Release the condition access
 | 
						||
	variable correctly.
 | 
						||
 | 
						||
2001-06-14  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::open): Set win32 access flags
 | 
						||
	to 0, when requested.
 | 
						||
	* fhandler.h: New status flag FH_QUERYOPEN.
 | 
						||
	(fhandler::get_query_open): New function.
 | 
						||
	(fhandler::set_query_open): Ditto.
 | 
						||
	* syscalls.cc (stat_worker): Request query-only open mode.
 | 
						||
 | 
						||
2001-06-12  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* environ.cc (set_file_api_mode): New function. Move setting
 | 
						||
	of file APIs mode (OEM/ANSI) here.
 | 
						||
	(codepage_init): From here.
 | 
						||
	* winsup.h (set_file_api_mode): Declare it.
 | 
						||
	* fork.cc (fork_child): Set file APIs mode in forkee.
 | 
						||
 | 
						||
Mon Jun 11 14:19:49 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* pinfo.cc: Use autoloaded ToolHelp functions throughout for Win9x.
 | 
						||
	* autoload.cc: Autoload ToolHelp functions.
 | 
						||
 | 
						||
	* sigproc.cc (proc_subproc): Incorporate SIGCHLD == SIG_IGN special
 | 
						||
	handling of zombie processes.  Ensure that zombie processes which are
 | 
						||
	at the end of the zombie array are properly cleaned up.
 | 
						||
 | 
						||
Mon Jun 11 11:18:56 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (chdir): Fix call to path_conv constructor so that it REALLY
 | 
						||
	doesn't check for the null/non-empty path.
 | 
						||
 | 
						||
Sun Jun 10 23:34:09 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::update_fs_info): Don't consider remote drives to
 | 
						||
	be NTFS.  Set root_dir before invoking GetDriveType (from Kazuhiro
 | 
						||
	Fujieda <fujieda@jaist.ac.jp>).  Eliminate extra checks for rootdir.
 | 
						||
 | 
						||
Sun Jun 10 20:19:47 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (chdir): Pre-check path for validity before eating trailing
 | 
						||
	space.  Then, ensure that path_conv doesn't check the path for validity
 | 
						||
	again.
 | 
						||
 | 
						||
Sun Jun 10 12:56:00 2001  Christopher Faylor <cgf@redhat.com>
 | 
						||
 | 
						||
	* exceptions.cc (sigdelayed): Ensure that signal is cleared as
 | 
						||
	the last operation or suffer races.
 | 
						||
	* sigproc.cc (proc_subproc): Deal with zombie array overflow.
 | 
						||
 | 
						||
Sun Jun 10 11:56:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	 * cygwin.din: Add fchdir symbols.
 | 
						||
	 * path.cc (chdir): Guard against invalid parameter.
 | 
						||
	 (fchdir): New function.
 | 
						||
	 * include/cygwin/version.h: Bump API minor version to 40.
 | 
						||
	 * uinfo.cc (internal_getlogin): Remove unused variable.
 | 
						||
 | 
						||
Sat Jun  9 23:20:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (seteuid): Set environment variables USERNAME and
 | 
						||
	USERDOMAIN before impersonation to workaround a LookupAccountSid()
 | 
						||
	misbehaviour.
 | 
						||
	* uinfo.cc (internal_getlogin): Revert most of the previous change.
 | 
						||
	Don't set environment variables USERNAME and USERDOMAIN. That's
 | 
						||
	the job of seteuid() now. Try to get logon server from Lsa
 | 
						||
	only if logon server isn't already known.
 | 
						||
 | 
						||
Thu Jun  7 15:54:32 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (pthread_cond::Broadcast): Don't print error messages on
 | 
						||
	invalid mutexs - user programs are allowed to call
 | 
						||
	pthread_cond_broadcast like that.
 | 
						||
	(__pthread_cond_timedwait): Initialise themutex properly.
 | 
						||
	(__pthread_cond_wait): Initialise themutex properly.
 | 
						||
 | 
						||
Tue Jun  5 19:56:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_console.cc (fhandler_console::dup): Allocate space for
 | 
						||
	savebuf on Cygwin heap.
 | 
						||
	(fhandler_console::char_command): Ditto. Use correct values for size.
 | 
						||
 | 
						||
2001-06-05  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* security.h (NTWriteEA): Change prototype.
 | 
						||
	* ntea.cc (NTReadEA): Don't check for global ntea setting, now
 | 
						||
	it's caller responsibility.
 | 
						||
	(NTWriteEA): Ditto.
 | 
						||
	* security.cc (get_file_attribute): Read attribute from EA only
 | 
						||
	if 'ntea' is enabled.
 | 
						||
	(set_file_attribute): Ditto.
 | 
						||
	* path.h: (class path_conv): Add members to store file system
 | 
						||
	information.
 | 
						||
	(path_conv::get_drive_type): New function.
 | 
						||
	* syscalls.cc (stat_worker): Use it.
 | 
						||
	* path.cc (path_conv::update_fs_info): New functions.
 | 
						||
	(path_conv::check): Get file system information from device where
 | 
						||
	file resides. On NTFS, try to read symlink contents from EA.
 | 
						||
	(get_symlink_ea): New function.
 | 
						||
	(set_symlink_ea): Ditto.
 | 
						||
	(symlink): Store symlink in extended attribute, if possible.
 | 
						||
 | 
						||
Tue Jun  5 11:18:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::fstat): Always reset file position
 | 
						||
	to original value after checking for executable magic.
 | 
						||
 | 
						||
Mon Jun  4 16:21:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* cygheap.h (cygheap_user::cygheap_user): Initialize token to
 | 
						||
	INVALID_HANDLE_VALUE.
 | 
						||
	* uinfo.cc (uinfo_init): Close token handle if needed.
 | 
						||
 | 
						||
Sun Jun  3 20:52:13 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (normalize_posix_path): Revert ..  check removed by previous
 | 
						||
	changes.
 | 
						||
	* cygheap.h: Temporarily declare path_prefix_p here.
 | 
						||
 | 
						||
Mon Jun  4  0:14:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (wsock_event): Add destructor.
 | 
						||
 | 
						||
Sun Jun  3 09:49:55 2001  Robert Collins  <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* dlfcn.cc (dlclose): Do not call FreeLibrary if the symbol to close
 | 
						||
	was obtained by dlopen(NULL,...).
 | 
						||
 | 
						||
Sat Jun  2 23:11:52 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (sleep): Try to be a little more accomodating of signal
 | 
						||
	arrival.  Ensure that the signal handler is called.
 | 
						||
 | 
						||
Sat Jun  2 14:07:28 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (cygheap_root::cygheap_rot): Remove constructor.
 | 
						||
	(cygheap_root::~cygheap_root): Remove destructor.
 | 
						||
	(cygheap_root::operator =): Remove.
 | 
						||
	(cygheap_root::set): New method.
 | 
						||
	* cygheap.h (cygheap_root): Reflect above changes.  Store root info in
 | 
						||
	mount-like structure.
 | 
						||
	(cygheap_root:posix_ok): New method.
 | 
						||
	(cygheap_root::ischroot_native): Ditto.
 | 
						||
	(cygheap_root::unchroot): Ditto.
 | 
						||
	(cygheap_root::exists): Ditto.
 | 
						||
	(cygheap_root::posix_length): Ditto.
 | 
						||
	(cygheap_root::posix_path): Ditto.
 | 
						||
	(cygheap_root::native_length): Ditto.
 | 
						||
	(cygheap_root::native_path): Ditto.
 | 
						||
	* dir.cc (opendir): Remove special chroot test.
 | 
						||
	* path.cc (path_prefix_p): Remove front end.
 | 
						||
	(normalize_posix_path): Reorganize chroot tests to accomodate new
 | 
						||
	convention of allowing paths using posix chroot prefix.
 | 
						||
	(path_conv::check): Pass a "already ran normalize" option to
 | 
						||
	conv_to_win32_path.  Return if there is an error from this function.
 | 
						||
	(mount_info::conv_to_win32_path): Add extra argument.  Don't call
 | 
						||
	normalize_posix_path if caller has already done so.  Substitute chroot
 | 
						||
	setting, if any, for root translation.  Add chroot checking to final
 | 
						||
	output step.
 | 
						||
	* shared_info (mount_info): Accomodate additional argument to
 | 
						||
	conv_to_win32_path.
 | 
						||
	* syscalls.cc (chroot): Store both normalized posix path and native
 | 
						||
	path in chroot.
 | 
						||
 | 
						||
Fri Jun  1 10:57:19 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (chdir): Really make sure that isspace gets only an unsigned
 | 
						||
	char.
 | 
						||
 | 
						||
Fri Jun  1 13:45:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (_rename): Handle the case that `foo' is renamed to
 | 
						||
	`bar' while `bar.lnk' is an existing shortcut-symlink.
 | 
						||
 | 
						||
Thu May 31 15:57:57 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::fstat): Avoid clearing S_IFMT bits
 | 
						||
	since we've already pre-cleared everything anyway.
 | 
						||
 | 
						||
Wed May 30 23:51:32 2001  Earnie Boyd  <earnie_boyd@yahoo.com>
 | 
						||
 | 
						||
	* path.cc (chdir): Always send unsigned chars to isspace since newlib's
 | 
						||
	isspace doesn't deal well with "negative" chars.
 | 
						||
 | 
						||
Wed May 30 23:51:32 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Propagate remote status of
 | 
						||
	file garnered from path_conv.  Move #! checking to fstat.
 | 
						||
	(fhandler_disk_file::fstat): Reorganize st_mode setting to eliminate
 | 
						||
	duplication.  Move check for #! here from fhandler::open.
 | 
						||
 | 
						||
	* fhandler.h (fhandler_base::isremote): New method.
 | 
						||
	(fhandler_base::set_isremote): Ditto.
 | 
						||
	(fhandler_base::set_execable_p): Also record "don't care if executable state".
 | 
						||
	(fhandler_base::dont_care_if_execable): New method.
 | 
						||
	* path.cc (path_conv::check): Clear new flags.  Appropriately set
 | 
						||
	vol_flags, drive_type, and is_remote_drive.
 | 
						||
	* path.h: Add new flags and methods for manipulating them.
 | 
						||
	* syscalls.cc (_unlink): Use isremote() to determine if a path is
 | 
						||
	remote rather than calling GetDriveType.
 | 
						||
	(stat_worker): Ditto.
 | 
						||
	* security.cc (get_file_attribute): Or attribute with result of
 | 
						||
	NTReadEA to be consistent with get_nt_attribute.
 | 
						||
 | 
						||
Tue May 29 19:02:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* sec_helper.cc (cygsid::getfrompw): Change parameter to `const'.
 | 
						||
	(cygsid::getfromgr): Ditto.
 | 
						||
	* security.cc: Use `sys_mbstowcs' and `sys_wcstombs' throughout.
 | 
						||
	(extract_nt_dom_user): Try to get user and domain from SID in
 | 
						||
	pw->pw_gecos first.
 | 
						||
	* security.h (class cygsid): Change parameter of getfrompw() and
 | 
						||
	getfromgr() to `const'.
 | 
						||
	* uinfo.cc (internal_getlogin): Change order for evaluating user
 | 
						||
	information in winNT case. Drop usage of NetWkstaUserGetInfo().
 | 
						||
 | 
						||
Mon May 28 21:34:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* shortcut.c (check_shortcut): Treat only Cygwin shortcuts as symlinks.
 | 
						||
 | 
						||
Fri May 25 11:07:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (symlink_info::check): Correctly set 'ext_tacked_on'.  Use
 | 
						||
	this to determine if user specified 'foo.lnk' explicitly.  Reorganize
 | 
						||
	slightly to get rid of one goto.
 | 
						||
 | 
						||
Fri May 25 10:15:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (symlink_info::check): Add a check to return correctly
 | 
						||
	if incoming `*.lnk' file is not a symlink.
 | 
						||
 | 
						||
Thu May 24 15:46:50 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (slash_drive_prefix_p): Remove.
 | 
						||
	(mount_info::slash_drive_to_win32_path): Ditto.
 | 
						||
	(mount_info::conv_to_win32_path): Remove slash drive prefix check.
 | 
						||
	(mount_info::add_item): Ditto.
 | 
						||
	(mount_info::del_item): Ditto.
 | 
						||
	* shared_info.h (mount_info): Remove slash_drive_to_win32_path
 | 
						||
	declaration.
 | 
						||
 | 
						||
Thu May 24 01:17:33 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (handle_exceptions): Bump repeat count for debugging
 | 
						||
	kick out.
 | 
						||
 | 
						||
	* fhandler.h (fhandler_dev_dsp): Add a fixup_after_exec.
 | 
						||
	* fhandler_dsp.cc (class Audio): Add TOT_BLOCK_SIZE to enum.
 | 
						||
	(operator new): New.
 | 
						||
	(bigwavebuffer): Declare using TOT_BLOCK_SIZE to avoid buffer overruns.
 | 
						||
	(Audio::Audio): Optimize slightly.
 | 
						||
	(fhandler_dev_dsp::open): Allocate s_audio using static buffer.
 | 
						||
	(fhandler_dev_dsp::fixup_after_exec): New function.  Ditto.
 | 
						||
 | 
						||
Wed May 23 17:45:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (seteuid): Restrict overriding external provided
 | 
						||
	user tokens to ntsec. Don't test external tokens for primary
 | 
						||
	group to evaluate if it should be overridden. Restrict creating
 | 
						||
	internal tokens to ntsec.
 | 
						||
 | 
						||
Wed May 23 10:11:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (chown_worker): Don't check for ENOSYS.
 | 
						||
 | 
						||
Tue May 22 12:20:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* signal.cc (sleep): Protect with sigframe.
 | 
						||
 | 
						||
Tue May 22 17:58:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (get_file_attribute): Don't set errno.
 | 
						||
 | 
						||
Mon May 21 15:08:00 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* configure.in: Allow --enable-newvfork to turn NEWVFORK on and off.
 | 
						||
	* configure: Regenerate.
 | 
						||
 | 
						||
Mon May 21 11:46:01 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump minor version number.
 | 
						||
 | 
						||
Sun May 20 13:26:25 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_dsp.cc: Reformat to GNU standards.
 | 
						||
	(s_audio): Change to a pointer throughout.
 | 
						||
	(fhandler_dev_dsp::open): Initialize s_audio, if required.
 | 
						||
 | 
						||
Sat May 19 23:40:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add load statements for `LookupAccountNameW',
 | 
						||
	`LsaClose', `LsaEnumerateAccountRights', `LsaFreeMemory',
 | 
						||
	`LsaOpenPolicy', `LsaQueryInformationPolicy', `NetLocalGroupEnum',
 | 
						||
	`NetLocalGroupGetMembers', `NetServerEnum', `NetUserGetGroups' and
 | 
						||
	`NtCreateToken'.
 | 
						||
	* ntdll.h: Add declaration for `NtCreateToken'.
 | 
						||
	* sec_helper.cc: Add `well_known_local_sid', `well_known_dialup_sid',
 | 
						||
	`well_known_network_sid', `well_known_batch_sid',
 | 
						||
	`well_known_interactive_sid', `well_known_service_sid' and
 | 
						||
	`well_known_authenticated_users_sid'.
 | 
						||
	(cygsid::string): Define as const method.
 | 
						||
	(cygsid::get_sid): Set psid to NO_SID on error.
 | 
						||
	(cygsid::getfromstr): Ditto.
 | 
						||
	(cygsid::getfrompw): Simplify.
 | 
						||
	(cygsid::getfromgr): Check for gr == NULL.
 | 
						||
	(legal_sid_type): Move to security.h.
 | 
						||
	(set_process_privilege): Return -1 on error, otherwise 0 or 1 related
 | 
						||
	to previous privilege setting.
 | 
						||
	* security.cc (extract_nt_dom_user): Remove `static'.
 | 
						||
	(lsa2wchar): New function.
 | 
						||
	(open_local_policy): Ditto.
 | 
						||
	(close_local_policy): Ditto.
 | 
						||
	(get_lsa_srv_inf): Ditto.
 | 
						||
	(get_logon_server): Ditto.
 | 
						||
	(get_logon_server_and_user_domain): Ditto.
 | 
						||
	(get_user_groups): Ditto.
 | 
						||
	(is_group_member): Ditto.
 | 
						||
	(get_user_local_groups): Ditto.
 | 
						||
	(sid_in_token_groups): Ditto.
 | 
						||
	(get_user_primary_group): Ditto.
 | 
						||
	(get_group_sidlist): Ditto.
 | 
						||
	(get_system_priv_list): Ditto.
 | 
						||
	(get_priv_list): Ditto.
 | 
						||
	(get_dacl): Ditto.
 | 
						||
	(create_token): Ditto.
 | 
						||
	(subauth): Return immediately if SE_TCB_NAME can't be assigned.
 | 
						||
	Change all return statements in case of error to jumps to `out'
 | 
						||
	label. Add `out' label to support cleanup.
 | 
						||
	* security.h: Add extern declarations for `well_known_local_sid',
 | 
						||
	`well_known_dialup_sid', `well_known_network_sid',
 | 
						||
	`well_known_batch_sid', `well_known_interactive_sid',
 | 
						||
	`well_known_service_sid' and `well_known_authenticated_users_sid'.
 | 
						||
	Add extern declarations for functions `create_token',
 | 
						||
	`extract_nt_dom_user' and `get_logon_server_and_user_domain'.
 | 
						||
	(class cygsid): Add method `assign'. Change operator= to call new
 | 
						||
	`assign' method. Add `debug_print' method.
 | 
						||
	(class cygsidlist): New class.
 | 
						||
	(legal_sid_type): Moved from sec_helper.cc to here.
 | 
						||
	* spawn.cc (spawn_guts) Revert reversion of previous patch.
 | 
						||
	Call `RevertToSelf' and `ImpersonateLoggedOnUser' instead of `seteuid'
 | 
						||
	again.
 | 
						||
	* syscalls.cc (seteuid): Rearranged. Call `create_token' now when
 | 
						||
	needed. Call `subauth' if `create_token' fails. Try setting token
 | 
						||
	owner and primary group only if token was not explicitely created
 | 
						||
	by `create_token'.
 | 
						||
	* uinfo.cc (internal_getlogin): Try harder to generate correct user
 | 
						||
	information. Especially don't trust return value of `GetUserName'.
 | 
						||
 | 
						||
Sat May 19 21:16:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fork.cc (fork_parent): Move atforkprepare call here.
 | 
						||
	(fork): From here.
 | 
						||
 | 
						||
Sat May 19 18:35:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add missing load statement for `CancelIo'.
 | 
						||
 | 
						||
Sat May 19 01:22:43 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* grp.cc (read_etc_group): Don't copy mutex on fork.
 | 
						||
	* pwd.cc (read_etc_passwd): Ditto.
 | 
						||
	* autoload.cc (LoadDLLfuncEx): Use LoadDLLprime to initialize DLL
 | 
						||
	specific area.
 | 
						||
 | 
						||
Fri May 18 10:31:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (wsock_event::wait): Explicitely cancel IO when a signal
 | 
						||
	arrived to avoid data loss. Fallback to blocking IO when canceling
 | 
						||
	fails.
 | 
						||
 | 
						||
Thu May 17 15:29:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (cygwin_set_impersonation_token): Never destroy
 | 
						||
	previous token object.
 | 
						||
	(subauth): Create token source with well defined identifier.
 | 
						||
 | 
						||
Wed May 16 23:27:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* uinfo.cc (uinfo_init): Just set user token to INVALID_HANDLE_VALUE.
 | 
						||
	Token value is already invalid at that point.
 | 
						||
 | 
						||
Wed May 16 21:34:00 2001  Fred Yankowski <fred@ontosys.com>
 | 
						||
 | 
						||
	* net.cc (errmap): Add missing mapping from WSAEINTR to EINTR.
 | 
						||
 | 
						||
Wed May 16 09:20:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* sec_helper.cc (legal_sid_type): Fix conditional. Change to
 | 
						||
	inline function.
 | 
						||
 | 
						||
Wed May 16 01:01:48 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* autoload.h: Eliminate.
 | 
						||
	* autoload.cc: Pull in autoload.h.  Eliminate many macros.  Rewrite to
 | 
						||
	avoid necessity of initialization routines.  Just use a standard one.
 | 
						||
	(wsock_init): New function.  Moved from net.cc.
 | 
						||
	* net.cc (wsock_init): Move to autoload.cc.
 | 
						||
	(wsadata): Make global.
 | 
						||
	* dtable.cc (dtable::build_fhandler): Use more reliable method for
 | 
						||
	checking if net stuff has been loaded.
 | 
						||
 | 
						||
Tue May 15 19:52:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fork.cc (fork): Eliminate superfluous call to getuid().
 | 
						||
	* security.h: New define `NO_SID'. Remove declarations of functions
 | 
						||
	moved to methods into class cygsid.
 | 
						||
	(class cygsid): Declare new methods `getfromstr', `get_sid',
 | 
						||
	`getfrompw', `getfromgr', `get_rid', `get_uid', `get_gid', `string'
 | 
						||
	and new constructors and operators =, == and !=.
 | 
						||
	Declare new global cygsids `well_known_XXX_sid' substituting the
 | 
						||
	corresponding `get_XXX_sid' functions. Remove declarations of
 | 
						||
	these functions.
 | 
						||
	* sec_helper.cc (well_known_admin_sid): New global variable.
 | 
						||
	(well_known_system_sid): Ditto
 | 
						||
	(well_known_creator_owner_sid): Ditto
 | 
						||
	(well_known_world_sid): Ditto
 | 
						||
	(cygsid::string): New method, substituting `convert_sid_to_string_sid'.
 | 
						||
	(cygsid::get_sid): New method, substituting `get_sid'.
 | 
						||
	(cygsid::getfromstr): New method, substituting
 | 
						||
	`convert_string_sid_to_sid'.
 | 
						||
	(cygsid::getfrompw): New method, substituting `get_pw_sid'.
 | 
						||
	(cygsid::getfromgr): New method, substituting `get_gr_sid'.
 | 
						||
	(cygsid::get_id): New method, substituting `get_id_from_sid'.
 | 
						||
	(get_admin_sid): Eliminated.
 | 
						||
	(get_system_sid): Ditto.
 | 
						||
	(get_creator_owner_sid): Ditto.
 | 
						||
	(get_world_sid): Ditto.
 | 
						||
	* grp.cc: Use new cygsid methods and well known sids throughout.
 | 
						||
	* registry.cc: Ditto.
 | 
						||
	* sec_acl.cc: Ditto.
 | 
						||
	* security.cc: Ditto.
 | 
						||
	* shared.cc: Ditto.
 | 
						||
	* syscalls.cc (seteuid): Ditto. Eliminate redundant conditional.
 | 
						||
	* uinfo.cc (internal_getlogin): Ditto.
 | 
						||
	* spawn.cc (spawn_guts) Revert previous patch.
 | 
						||
 | 
						||
Tue May 15 10:20:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler_socket.cc (fhandler_socket::ioctl): Convert s_addr
 | 
						||
	field to host byte order before comparing with INADDR_LOOPBACK.
 | 
						||
 | 
						||
Tue May 15  9:03:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add autoload statements for ws2_32 functions
 | 
						||
	`WSACloseEvent', `WSACreateEvent', `WSAGetOverlappedResult',
 | 
						||
	`WSARecv', `WSARecvFrom', `WSASend', `WSASendTo' and `WSASetEvent',
 | 
						||
	`WSAWaitForMultipleEvents'.
 | 
						||
	* net.cc: Define wsock_evt.
 | 
						||
	(wsock_event): New class.
 | 
						||
	(cygwin_sendto): Use overlapped socket io if available.
 | 
						||
	(cygwin_recvfrom): Ditto.
 | 
						||
	(cygwin_recv): Ditto.
 | 
						||
	(cygwin_send): Ditto.
 | 
						||
	* security.cc (subauth): Set Win32 error to 0 to safely ask for the
 | 
						||
	error code of dynamically loaded function `LsaRegisterLogonProcess'.
 | 
						||
 | 
						||
Mon May 14 15:37:29 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* errno.cc (_sys_errlist): Add missing commas.
 | 
						||
 | 
						||
Mon May 14 16:13:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (subauth): Check if Secur32.dll could be loaded.
 | 
						||
 | 
						||
Sun May 13 22:49:04 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Revert allow_ntsec check so that volume
 | 
						||
	info is always retrieved and isdisk setting is properly set.
 | 
						||
 | 
						||
Sun May 13 14:02:36 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::dup): Preserve O_NOCTTY when
 | 
						||
	duping a filehandle.
 | 
						||
 | 
						||
Sat May 12 18:19:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dir.cc (rmdir): Rearrange slightly to allow removing directories
 | 
						||
	even when R/O attribute is set.
 | 
						||
 | 
						||
Fri May 11 16:53:38 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* external.cc (fillout_pinfo): Use correct pids.
 | 
						||
	* path.cc (mount_info::conv_to_win32_path): Correct test for whether to
 | 
						||
	include a slash.
 | 
						||
 | 
						||
Fri May 11 01:04:17 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (handle_exceptions): Don't print message when executing
 | 
						||
	from a cygwin program.
 | 
						||
 | 
						||
2001-05-10  Egor Duda  <deo@logos-m.ru>
 | 
						||
	    Christopher Faylor <cgf@redhat.com>
 | 
						||
 | 
						||
	* environ.cc (winenv): Always add SYSTEMDRIVE and SYSYEMROOT to
 | 
						||
	win32-style environment if they don't already exist.
 | 
						||
 | 
						||
2001-05-10  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* path.cc (mount_info::conv_to_win32_path): Treat UNC paths the same as
 | 
						||
	paths including `:' or `\'.
 | 
						||
 | 
						||
Wed May  9 14:46:32 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_termios::echo_erase): Declare new method.
 | 
						||
	* fhandler_termios.cc (fhandler_termios::echo_erase): New method for
 | 
						||
	echoing erase characters.
 | 
						||
	(fhandler_termios::line_edit): Check the echo flag before echoing
 | 
						||
	control characters (from Kazuhiro Fujieda <fujieda@jaist.ac.jp>).
 | 
						||
 | 
						||
Wed May  9 10:43:30 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/pthread.h: Remove C++ comment.
 | 
						||
 | 
						||
Tue May  8 11:09:59 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (_cfree): Add regparm attribute.
 | 
						||
	(_crealloc): Ditto.
 | 
						||
 | 
						||
	* dcrt0.cc (dll_crt0_1): Default to always checking for executable for now.
 | 
						||
 | 
						||
	* dtable.cc (dtable::not_open): Move method.
 | 
						||
	* dtable.h (dtable): Here.
 | 
						||
 | 
						||
	* exceptions.cc (ctrl_c_handler): Don't expect process group leader to
 | 
						||
	handle a signal if it doesn't exist.
 | 
						||
 | 
						||
	* fhandler.h (fhandler_base): Make openflags protected.
 | 
						||
 | 
						||
	* localtime.c (tzsetwall): Check for __CYGWIN__ as well as __WIN32__.
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Add some comments. Change strcat to assignment.
 | 
						||
 | 
						||
	* lib/_cygwin_S_IEXEC.cc (_cygwin_bob__): Eliminate.
 | 
						||
 | 
						||
	* fhandler_tty.cc (fhandler_console::dup): Set controlling terminal if necessary.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::dup): Ditto.
 | 
						||
 | 
						||
Mon May  7 21:33:17 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/sys/file.h: Revert special X_OK usage.  Just make it a
 | 
						||
	constant.
 | 
						||
 | 
						||
Sun May  6 17:05:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.h (pthread_cond): New element cond_access to allow atomic
 | 
						||
	broadcasts.
 | 
						||
	* thread.cc (pthread_cond::pthread_cond): Initialise cond_access.
 | 
						||
	(pthread_cond::~pthread_cond): Destroy cond_access.
 | 
						||
	(pthread_cond::Broadcast): Use cond_access.
 | 
						||
	(pthread_cond::Signal): Use cond_access.
 | 
						||
	(pthread_cond_wait): Use cond_access.
 | 
						||
	(pthread_cond_timedwait): Use cond_access.
 | 
						||
 | 
						||
Sun May  6 11:55:40 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* string.h (cygwin_strchr): Make 'static inline' so that things will
 | 
						||
	still work when optimized.
 | 
						||
 | 
						||
Sat May  5 01:04:11 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (handle_exceptions): Vastly increase test for exception
 | 
						||
	loop guard variable.
 | 
						||
 | 
						||
Fri May  4 22:23:33 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (stack_info): Add some controls.
 | 
						||
	(stack_info::init): Add extra arguments to control method of
 | 
						||
	initialization..  If we have a known good frame, set things up so that
 | 
						||
	this frame is not skipped the first time through.  Record whether
 | 
						||
	caller cares about arguments or not.
 | 
						||
	(stack_info::walk): Don't store arguments if they're unwanted.
 | 
						||
	(stackdump): Add isexception parameter for use when called by exception
 | 
						||
	handler.
 | 
						||
	(cygwin_stackdump): Accomodate extra argument to stackdump.
 | 
						||
	(handle_exceptions): Ditto.
 | 
						||
	(sig_handle): Ditto.
 | 
						||
	(interrupt_on_return): Accomodate extra arguments to stack walk
 | 
						||
	initialization.
 | 
						||
 | 
						||
Fri May  4 21:05:20 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* localtime.c: Revert exclusion of windows.h.
 | 
						||
 | 
						||
Fri May  4 17:03:16 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* string.h: Fix last-minute typo.
 | 
						||
 | 
						||
Fri May  4 16:49:34 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* pinfo.h: Correctly set __SIGOFFSET.
 | 
						||
 | 
						||
	* path.cc (hash_path_name): Avoid calling library functions for simple
 | 
						||
	copying of characters.
 | 
						||
 | 
						||
	* shortcut.c: Use WIN32_LEAN_AND_MEAN.
 | 
						||
	* smallprint.c: Ditto.
 | 
						||
 | 
						||
	* environ.cc (getwinenv): Minor clarity fix.
 | 
						||
 | 
						||
	* localtime.c: No need to include windows.h
 | 
						||
 | 
						||
	* string.h: New file.
 | 
						||
 | 
						||
Fri May  4 16:37:30 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (ctrl_c_handler): Always send signal to process if it
 | 
						||
	has no tty.
 | 
						||
 | 
						||
2001-05-04  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler_socket.cc (set_connect_secret): Use /dev/urandom to
 | 
						||
	generate secret cookie.
 | 
						||
 | 
						||
Thu May  3 16:37:55 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/pthread.h (pthread_cleanup_push): Eliminate space preceding
 | 
						||
	arguments.
 | 
						||
	(pthread_cleanup_pop): Ditto.
 | 
						||
 | 
						||
Thu May  3 18:16:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (wsock_init): Rename `was_in_progress' to `wsock_started'
 | 
						||
	for clearness.
 | 
						||
 | 
						||
Thu May  3 10:44:16 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (handle_exceptions): Break out of "loop" if the
 | 
						||
	debugger doesn't seem to be attaching to our process.
 | 
						||
 | 
						||
Wed May  2 20:18:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Use new definition of LoadDLLinitfunc throughout.
 | 
						||
	Redefine wrapper for wsock32.dll and ws2_32.dll.
 | 
						||
	(std_dll_init): New function.
 | 
						||
	* autoload.h: Rename LoadDLLinitfunc to LoadDLLinitfuncdef.
 | 
						||
	Add new defines LoadDLLinitfunc and LoadDLLstdfunc.
 | 
						||
	* net.cc (wsock_init): Add guard variable handling. Take care
 | 
						||
	to call WSAStartup only once. Load WSAStartup without using
 | 
						||
	autoload wrapper to eliminate recursion.  Eliminate FIONBIO
 | 
						||
	and srandom stuff.
 | 
						||
 | 
						||
Tue May  1 01:26:15 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (mount_info::conv_to_win32_path): More path tweaking.
 | 
						||
 | 
						||
Tue May  1 00:34:46 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (mount_info::conv_to_win32_path): Fix debugging output to
 | 
						||
	avoid a SIGSEGV.  Avoid double backslashes in middle of filename.
 | 
						||
 | 
						||
Mon Apr 30 21:51:14 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (mkrelpath): New function.
 | 
						||
	(mount_info::conv_to_win32_path): Eliminate now-unneeded relative path
 | 
						||
	name arg and processing.
 | 
						||
	(path_conv::check): Accomodate relative path names again.  Accomodate
 | 
						||
	one extra argument in mount_info::conv_to_win32_path.  Tack trailing
 | 
						||
	slash on end of relative path as a side effect, like before.
 | 
						||
	* shared_info.h (mount_info::conv_to_win32_path): Reflect new argument
 | 
						||
	ordering.
 | 
						||
 | 
						||
Mon Apr 30 22:09:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add LoadDLLinitfunc for secur32.dll.
 | 
						||
	Add LoadDLLfuncEx statements for AllocateLocallyUniqueId@4,
 | 
						||
	DuplicateTokenEx@24, LsaNtStatusToWinError@4,
 | 
						||
	LsaDeregisterLogonProcess@4, LsaFreeReturnBuffer@4,
 | 
						||
	LsaLogonUser@56, LsaLookupAuthenticationPackage@12,
 | 
						||
	LsaRegisterLogonProcess@12,
 | 
						||
	* environ.cc: Add extern declaration for `subauth_id'.
 | 
						||
	(subauth_id_init): New function for setting `subauth_id'.
 | 
						||
	(struct parse_thing): Add entry for `subauth_id'.
 | 
						||
	* fork.cc (fork_parent): Call `RevertToSelf' and
 | 
						||
	`ImpersonateLoggedOnUser' instead of `seteuid'.
 | 
						||
	* security.cc: Define global variable `subauth_id'.
 | 
						||
	(extract_nt_dom_user): New function.
 | 
						||
	(cygwin_logon_user): Call `extract_nt_dom_user' now.
 | 
						||
	(str2lsa): New static function.
 | 
						||
	(str2buf2lsa): Ditto.
 | 
						||
	(str2buf2uni): Ditto.
 | 
						||
	(subauth): Ditto.
 | 
						||
	* security.h: Add prototype for `subauth'.
 | 
						||
	* spawn.cc (spawn_guts): Use cygheap->user.token only if impersonated.
 | 
						||
	Use `cygsid' type. Remove impersonation before allowing access to
 | 
						||
	workstation/desktop to everyone. Call `RevertToSelf' and
 | 
						||
	`ImpersonateLoggedOnUser' instead of `seteuid'.
 | 
						||
	* syscalls.cc (seteuid): Rearranged to allow using subauthentication
 | 
						||
	to retrieve user tokens when needed.
 | 
						||
 | 
						||
Mon Apr 30 20:26:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* uinfo.cc (internal_getlogin): Formatting change.
 | 
						||
 | 
						||
Mon Apr 30 19:58:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* grp.cc: Eliminate MAX_DOMAIN_NAME define.
 | 
						||
	(read_etc_group): Substitute MAX_DOMAIN_NAME by
 | 
						||
	INTERNET_MAX_HOST_NAME_LENGTH.
 | 
						||
	* passwd.cc (parse_pwd): Don't force pw_name to be lower case.
 | 
						||
	* sec_helper.cc: Substitute MAX_USER_NAME by UNLEN,
 | 
						||
	MAX_COMPUTERNAME_LENGTH by INTERNET_MAX_HOST_NAME_LENGTH throughout.
 | 
						||
	(lookup_name): Slight cleanup.
 | 
						||
	* security.cc (alloc_sd): Substitute MAX_USER_NAME by UNLEN.
 | 
						||
	* security.h: Define DEFAULT_UID as DOMAIN_USER_RID_ADMIN and
 | 
						||
	DEFAULT_GID as DOMAIN_ALIAS_RID_ADMINS.
 | 
						||
	* shared.cc (memory_init): Substitute MAX_USER_NAME by UNLEN.
 | 
						||
	* thread.h: Ditto.
 | 
						||
	* uinfo.cc (internal_getlogin): Substitute MAX_USER_NAME by UNLEN.
 | 
						||
	Substitute MAX_COMPUTERNAME_LENGTH and MAX_HOST_NAME by
 | 
						||
	INTERNET_MAX_HOST_NAME_LENGTH.
 | 
						||
	* winsup.h: Include lmcons.h. Eliminate MAX_USER_NAME and
 | 
						||
	MAX_HOST_NAME. Move DEFAULT_UID and DEFAULT_GID to security.h.
 | 
						||
 | 
						||
Mon Apr 30 12:35:40 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Don't use path_flags when converting to
 | 
						||
	MS-DOS syntax unless parsing tail of path component.  Stop parsing path
 | 
						||
	when we reach the 'root' of the path.  Correctly copy tail to path
 | 
						||
	component.
 | 
						||
 | 
						||
Sun Apr 29 22:28:06 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (INIT_EXCEPTION_HANDLER): Eliminate.
 | 
						||
	(init_exceptions): Just use init_exception_handler.
 | 
						||
	(open_stackdumpfile): New function.
 | 
						||
	(stack_info::first_time): Eliminate.
 | 
						||
	(stack_info::init): Set up fields to avoid "first_time" consideration.
 | 
						||
	(stack_info::walk): Remove "first_time" consideration.
 | 
						||
	(stackdump): Change arguments to accept initial frame pointer and open
 | 
						||
	stack file flag.
 | 
						||
	(stack): Eliminate.
 | 
						||
	(cygwin_stackdump): Use stackdump() rather than stack().
 | 
						||
	(try_to_debug): Remove all synchronization logic.  Just keep looping in
 | 
						||
	exception handler until debugger notices us.  Return 1 if successfully
 | 
						||
	started debugger.
 | 
						||
	(handle_exceptions): Just return if we know that we're debugging.
 | 
						||
	Reorganize to avoid creating a stackdump file if we are starting a
 | 
						||
	debugger.  Return from exception handler if debugger started
 | 
						||
	successfully.
 | 
						||
	(sig_handle): Create a stackdump only if debugger wasn't started.
 | 
						||
	* winsup.h (try_to_debug): Add an argument.
 | 
						||
 | 
						||
Sun Apr 29 21:41:25 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (symlink_info::check): Remove extra arguments, move
 | 
						||
	functionality back to path_conv::check.  Clear symlink bit from pflags
 | 
						||
	argument before detecting if this is a symlink.
 | 
						||
	(path_conv::check): Convert posix path here instead of
 | 
						||
	symlink_info::check.  Only grab volflags when using ntsec.
 | 
						||
	(symlink_info::check_case): Just replace appropriate part of input
 | 
						||
	path.
 | 
						||
 | 
						||
Sat Apr 28 19:36:13 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Throughout, change 'tty_attached' to 'real_tty_attached', for clarity.
 | 
						||
	Throughout, change 'OutputStopped' to 'output_stopped', for
 | 
						||
	consistency.
 | 
						||
	* dtable.cc (stdio_init): Set controlling tty if not set by stdio
 | 
						||
	opens.
 | 
						||
	* exceptions.cc (ctrl_c_handler): Avoid special pgid checking if no tty
 | 
						||
	is associated with the process.
 | 
						||
	(Suggested by Tim Baker <dbaker@direct.ca>)
 | 
						||
	* external.cc (fillout_pinfo): Return actual tty number for ctty.
 | 
						||
	* fhandler_console.cc (get_tty_stuff): Set ctty when shared memory is
 | 
						||
	allocated.  Accept flags input from open().
 | 
						||
	(set_console_ctty): New function.
 | 
						||
	(fhandler_console::open): Pass flags to get_tty_stuff and rely on this
 | 
						||
	function to set the ctty, if appropriate.
 | 
						||
	* fhandler_termios.cc (fhandler_termios::set_ctty): Move to tty_min
 | 
						||
	class.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::open): Use tc field to access
 | 
						||
	set_ctty().
 | 
						||
	* tty.h (TTY_CONSOLE): Move to include/sys/cygwin.h.
 | 
						||
	(tty_min): Add set_ctty class here.
 | 
						||
	* include/sys/cygwin.h (TTY_CONSOLE): New home here.
 | 
						||
 | 
						||
	* path.cc (symlink_info): Make contents an actual buffer.  Pass more
 | 
						||
	flags to case_check.
 | 
						||
	(path_conv::check): Reorganize to do parsing based on posix path rather
 | 
						||
	than native path.
 | 
						||
	(symlink_info::check): Expect posix path as input.  Translate to native
 | 
						||
	path here.  Accept path_conv flags.  Stop parsing if not a symlink
 | 
						||
	regardless of whether previous path was a symlink.
 | 
						||
 | 
						||
2001-04-27  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* thread.cc (thread_init_wrapper): Use _REENT_INIT to initialize the
 | 
						||
	reent structure of newlib.
 | 
						||
 | 
						||
Fri Apr 27 14:02:24 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* sigproc.h (sig_send): Add exception parameter to sig_send.
 | 
						||
	* sigproc.cc (sig_send): Ditto.  Use it when setting frame info.
 | 
						||
	* exceptions.cc (handle_exceptions): Use exception flag when calling
 | 
						||
	sig_send.
 | 
						||
 | 
						||
2001-04-27  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* tty.cc (tty::make_pipes): Set to_slave pipe mode to nonblocking.
 | 
						||
	* fhandler_tty.cc (fhandler_pty_master::accept_input): If pipe buffer
 | 
						||
	is full, give slave a chance to read data.
 | 
						||
 | 
						||
2001-04-26  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* security.cc (alloc_sd): Add unrelated ACCESS_ALLOWED_ACE behind
 | 
						||
	the `everyone' ACE.
 | 
						||
 | 
						||
Wed Apr 25 15:07:37 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* sigproc.h [sigthread]: Add exception field.
 | 
						||
	[sigframe::~sigframe]: Clear exception field.
 | 
						||
	[sigframe::set]: Set exception field from caller.
 | 
						||
	* sigproc.cc (sig_send): Set exception field when frame pointer is
 | 
						||
	passed in.
 | 
						||
	* exceptions.cc (interrupt_on_return): Always treat exception as
 | 
						||
	interruptible.
 | 
						||
 | 
						||
2001-04-25  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* cygwin.din: Export asctime_r, ctime_r, gmtime_r, localtime_r
 | 
						||
	* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 39
 | 
						||
 | 
						||
Wed Apr 25 10:57:36 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump minor version number.
 | 
						||
	* childinfo.h: Bump child structure magic number.
 | 
						||
 | 
						||
2001-04-25  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* uinfo.cc (internal_getlogin): Return pointer to struct passwd.
 | 
						||
	(uinfo_init): Accommodate the above change.
 | 
						||
	* syscalls.cc (seteuid): Ditto.
 | 
						||
 | 
						||
Tue Apr 25 11:08:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add LoadDLLfunc statements for SetTokenInformation@16.
 | 
						||
	* cygheap.cc: Include security.h.
 | 
						||
	* grp.cc (internal_getgrent): New function.
 | 
						||
	(getgroups): Rearranged using `internal_getgrent' and the new
 | 
						||
	`cygsid' class.
 | 
						||
	* passwd.cc (internal_getpwent): New function.
 | 
						||
	* sec_acl.cc: Use new `cygsid' class throughout.
 | 
						||
	(acl_access): Use `internal_getgrent' instead of `getgrent'.
 | 
						||
	* sec_helper.cc: Use new `cygsid' class throughout.
 | 
						||
	(get_id_from_sid): Use `internal_getgrent' instead of `getgrent'.
 | 
						||
	Use `internal_getpwent' instead of `getpwent'.
 | 
						||
	* security.cc: Use new `cygsid' class throughout.
 | 
						||
	* security.h: Move `MAX_SID_LEN' from winsup.h to here.
 | 
						||
	Add extern declarations for `internal_getgrent' and `internal_getpwent'.
 | 
						||
	(class cygsid): New class.
 | 
						||
	* shared.cc (sec_user): Use new `cygsid' class.
 | 
						||
	* syscalls.cc (seteuid): Try to set owner to user and primary group to
 | 
						||
	current group in impersonation token before performing impersonation.
 | 
						||
	(setegid): Try to set primary group in process token to the new group
 | 
						||
	if ntsec is on.
 | 
						||
	* uinfo.cc (internal_getlogin): Use new `cygsid' class.
 | 
						||
	Try to set owner to user and primary group to current group in process
 | 
						||
	token if the process has been started from a non cygwin process.
 | 
						||
	(uinfo_init): Set primary group only if the process has been started
 | 
						||
	from a non cygwin process.
 | 
						||
	* winsup.h: Move define for `MAX_SID_LEN' to security.h.
 | 
						||
 | 
						||
Mon Apr 16 23:20:00 2001  Andy Younger <andylyounger@hotmail.com>
 | 
						||
 | 
						||
	* fhandler_dsp.cc: Improved handling of 8 bit playback modes.
 | 
						||
	Put in mock support for SNDCTL_DSP_SETFRAGMENT.
 | 
						||
 | 
						||
Tue Apr 24 23:51:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* passwd.cc (getpwnam_r): Add pw_passwd handling as well.
 | 
						||
	(getpwuid_r): Ditto.
 | 
						||
 | 
						||
Tue Apr 24 23:43:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* passwd.cc (getpwnam_r): Use correct offsets into buffer.
 | 
						||
	Copy pw_gecos field as well.
 | 
						||
	(getpwuid_r): Ditto.
 | 
						||
 | 
						||
2001-04-24  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* dlmalloc.c: New file. Port of Doug Lea's malloc
 | 
						||
	* dlmalloc.h: Ditto.
 | 
						||
	* Makefile.in: Add support for MALLOC_DEBUG
 | 
						||
	* config.h.in: Ditto.
 | 
						||
	* winsup.h: Ditto.
 | 
						||
	* configure.in: Add --enable-malloc-debugging option.
 | 
						||
	* configure: Regenerate.
 | 
						||
	* debug.h: Include declarations for debugging malloc.
 | 
						||
	* tty.cc (grantpt): Fix definition.
 | 
						||
	(unlockpt): Ditto.
 | 
						||
 | 
						||
Mon Apr 23 22:00:29 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Remove trailing underscore from fhandler_base and friends, throughout.
 | 
						||
	* fhandler.h (fhandler_base::set_open_status): New method.  Stores
 | 
						||
	original open status.
 | 
						||
	(fhandler_base::get_open_status): New method.  Retrieves original open
 | 
						||
	status.
 | 
						||
	(fhandler_base::reset_to_open_binmode): New method.
 | 
						||
	* fhandler.cc (fhandler_base::open): Save open status.
 | 
						||
	(fhandler_base::init): Ditto.
 | 
						||
	* fhandler_clipboard.cc (fhandler_clipboard::open): Ditto.
 | 
						||
	* fhandler_console.cc (fhandler_console::open): Ditto.
 | 
						||
	* fhandler_dsp.cc (fhandler_dsp::open): Ditto.
 | 
						||
	* fhandler_dev_mem.cc (fhandler_dev_mem::open): Ditto.
 | 
						||
	* fhandler_dev_random.cc (fhandler_dev_random::open): Ditto.
 | 
						||
	* fhandler_serial.cc (fhandler_serial::open): Ditto.
 | 
						||
	* fhandler_tty_slave.cc (fhandler_tty_slave::open): Ditto.
 | 
						||
	* fhandler_tty_master.cc (fhandler_tty_master::open): Ditto.
 | 
						||
	* fhandler_dev_zero.cc (fhandler_dev_zero::open): Ditto.
 | 
						||
	* syscalls.cc (setmode): Rework so that 0 mode value causes reversion
 | 
						||
	to open state.
 | 
						||
 | 
						||
	* fhandler_tty_slave.cc (fhandler_tty_slave::read): Use correct
 | 
						||
	multiplier when converting from deciseconds to milliseconds.
 | 
						||
 | 
						||
Mon Apr 23 13:28:35 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_base::clear_r_binary): New method.
 | 
						||
	(fhandler_base::clear_w_binary): New method.
 | 
						||
	* syscalls.cc (setmode): Accept 0 as mode value.  Resets text/binary
 | 
						||
	behavior for fd to default.
 | 
						||
 | 
						||
Mon Apr 23 12:46:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* net.cc [errmap]: Add '0' condition.
 | 
						||
	(find_winsock_errno): Don't translate no error to EPERM.
 | 
						||
 | 
						||
Sun Apr 22 20:48:24 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump Cygwin version and API version.
 | 
						||
 | 
						||
Mon Apr 23  9:27:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (MTinterface::Init): Always initialise per process variables.
 | 
						||
 | 
						||
Sun Apr 22 19:18:18 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* features.h: Reinstate as wrapper for sys/features.h.
 | 
						||
 | 
						||
Mon Apr 23  0:10:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (alloc_sd): Reformat comment.
 | 
						||
	* shared.cc: Drop function declarations already in security.h.
 | 
						||
 | 
						||
Sun Apr 22 12:17:57 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* shortcut.c (check_shortcut): Close input file handle before
 | 
						||
	returning.
 | 
						||
	* path.cc (check_sysfile): Ditto.
 | 
						||
	(symlink_info::check): Rely on opened file handle being closed by
 | 
						||
	symlink checking routines.  Set ext_tacked_on when .lnk is detected.
 | 
						||
 | 
						||
Sat Apr 21 19:26:05 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* thread.cc (MTinterface::Init): Remove accidentally checked in code.
 | 
						||
 | 
						||
Sun Apr 22 00:22:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* passwd.cc (getpwuid): Check for thread cancellation.
 | 
						||
	(getpwuid_r): Ditto.
 | 
						||
	(getpwname): Ditto.
 | 
						||
	(getpwnam_r): Ditto.
 | 
						||
	* thread.h (pthread_mutex): New constructors for pshared operation.
 | 
						||
	(MTinterface): Associative array for pshared mutex's.
 | 
						||
	* thread.cc (MTinterface::Init): Initailize pshared mutex array.
 | 
						||
	(pthread_cond::BroadCast): Implementation notes.
 | 
						||
	(pthread_cond::TimedWait): Remove use of SignalObjectAndWait on non-NT systems.
 | 
						||
	(pthread_mutex::pthread_mutex(unsigned short)): New function.
 | 
						||
	(pthread_mutex::pthread_mutex (pthread_mutex_t *, pthread_mutexattr *)):New function.
 | 
						||
	(pthread_mutex::pthread_mutex(pthread_mutexattr *)): Fail on pshared mutex's.
 | 
						||
	(__pthread_mutex_getpshared): New function.
 | 
						||
	(__pthread_join): Check for thread cancellation.
 | 
						||
	(__pthread_cond_timedwait): Support pshared mutex's.
 | 
						||
	(__pthread_cond_wait): Ditto.
 | 
						||
	(__pthread_condattr_setpshared): Error on PROCESS_SHARED requests.
 | 
						||
	(__pthread_mutex_init): Support pshared mutex's.
 | 
						||
	(__pthread_mutex_getprioceiling): Ditto.
 | 
						||
	(__pthread_mutex_lock): Ditto.
 | 
						||
	(__pthread_mutex_trylock): Ditto.
 | 
						||
	(__pthread_mutex_unlock): Ditto.
 | 
						||
	(__pthread_mutex_destroy): Ditto.
 | 
						||
	(__pthread_mutex_setprioceiling): Ditto.
 | 
						||
	(__pthread_mutexattr_setpshared): Support PTHREAD_PROCESS_PSHARED requests.
 | 
						||
 | 
						||
Fri Apr 20 19:38:29 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygwin.din: Add *scanf and *scan_r functions.
 | 
						||
 | 
						||
Fri Apr 20 22:25:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* security.cc (set_process_privileges): Swap out.
 | 
						||
	* sec_helper.cc (set_process_privilege): Rename from
 | 
						||
	`set_process_privileges'. Takes the privilege to enable or disable
 | 
						||
	as parameter now.
 | 
						||
	* security.h: Add prototype for `set_process_privileges'.
 | 
						||
 | 
						||
2001-04-19  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Always initialize member variables.
 | 
						||
 | 
						||
Fri Apr 20 12:27:49 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/sys/file.h: More cleanup for X_OK.
 | 
						||
 | 
						||
Fri Apr 20 11:48:45 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/sys/file.h: Move X_OK protection earlier.
 | 
						||
 | 
						||
	* dtable.cc (dtable::vfork_child_fixup): Avoid closing already closed
 | 
						||
	handles.
 | 
						||
 | 
						||
Fri Apr 20 16:29:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* grp.cc (getgroups): Change so that SIDs get compared instead
 | 
						||
	of strings to SIDs.
 | 
						||
 | 
						||
Fri Apr 20 14:50:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* Makefile.in: Add object files `sec_helper.cc' and `sec_acl.cc'.
 | 
						||
	* security.cc: Swap out several functions.
 | 
						||
	* sec_acl.cc: New file. Move Sun compatibel ACL functions from
 | 
						||
	`security.cc' to here.
 | 
						||
	* sec_helper.cc: New file. Move security helper functions from
 | 
						||
	`security.cc' to here.
 | 
						||
	* security.h: Changed to accomodate the above changes.
 | 
						||
 | 
						||
Fri Apr 20 14:12:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* grp.cc: Replace `group_in_memory_p' by `group_state'.
 | 
						||
	Eliminate group_sem throughout.
 | 
						||
	(enum grp_state): New enumeration type.
 | 
						||
	(read_etc_group): Make race safe.
 | 
						||
	* security.cc: Eliminate group_sem throughout.
 | 
						||
 | 
						||
Thu Apr 19  9:40:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Drop usage of the same memory area if the same
 | 
						||
	region of the same file is mapped twice.
 | 
						||
 | 
						||
Wed Apr 18 16:53:54 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Throughout, change fdtab references to cygheap->fdtab.
 | 
						||
	* child_info.h (cygheap_exec_info): Eliminate special fdtab stuff.
 | 
						||
	* spawn.cc (spawn_guts): Ditto.
 | 
						||
	* cygheap.cc (cygheap_init): Initialize fdtab, if appropriate.
 | 
						||
	* cygheap.h (CYGHEAPSIZE): Include size of init_cygheap.
 | 
						||
	(_cmalloc_entry): Include fdtab here.
 | 
						||
	* dtable.h (dtable): Declare/define new methods.
 | 
						||
	* dtable.cc (dtable::vfork_child_fixup): New method.
 | 
						||
	(dtable::fixup_after_exec): Remove unneeded extra arguments.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Ditto.
 | 
						||
 | 
						||
	* environ.cc (getwinenv): Use case sensitive comparison.
 | 
						||
	(winenv): Make a copy of environment cache to avoid realloc problems
 | 
						||
	when duplicate environment variables exist in the environment.  (From
 | 
						||
	Egor Duda)
 | 
						||
 | 
						||
	* net.cc (cygwin_socket): Revert Apr 14 change.
 | 
						||
 | 
						||
	* include/sys/file.h: Protect against previous X_OK definition.
 | 
						||
 | 
						||
Tue Apr 17 12:18:28 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* passwd.cc: Eliminate passwd_sem throughout.
 | 
						||
	* security.cc: Ditto.
 | 
						||
 | 
						||
Tue Apr 17 12:18:28 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* cygwin.din: Export New functions.
 | 
						||
	* passwd.cc (read_etc_passwd): Make race safe.
 | 
						||
	(getpwuid_r): New function.
 | 
						||
	(getpwnam_r): New function.
 | 
						||
 | 
						||
2001-04-18  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* grp.cc (getgroups): Avoid crash if passwd field if /etc/group is
 | 
						||
	empty.
 | 
						||
 | 
						||
Tue Apr 17 19:05:44 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.h (path_conv::add_ext_from_sym): Declare.
 | 
						||
	* path.cc (path_conv::add_ext_from_sym): Convert to pure inline method.
 | 
						||
 | 
						||
Tue Apr 17 18:50:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (windows_device_names): Add missing NULL element.
 | 
						||
 | 
						||
Tue Apr 17 12:14:54 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (windows_device_names): Move dsp to proper location.
 | 
						||
 | 
						||
Tue Apr 17 13:44:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Set case_clash even if pcheck_case
 | 
						||
	is set to PCHECK_ADJUST when a case clash is given for the last
 | 
						||
	component in path.
 | 
						||
	(symlink_info::case_check): Ditto.
 | 
						||
	* syscalls.cc (_rename): Avoid overwriting an already existing file
 | 
						||
	if a case clash is given even if pcheck_case is set to PCHECK_ADJUST.
 | 
						||
 | 
						||
Tue Apr 17  2:07:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* config.h.in: Turn off VFORK again.
 | 
						||
 | 
						||
Mon Apr 16 23:45:24 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.h (cwdstuff): Move class.
 | 
						||
	* cygheap.h (cwdstuff): To here.
 | 
						||
	(init_cygheap): Add cwd field.
 | 
						||
	* child_info.h (cygheap_exec_info): Eliminate cwd stuff.
 | 
						||
	(child_info_spawn): Ditto.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Remove cygcwd.fixup_after_exec call.  Convert
 | 
						||
	cygcwd reference to cygheap->cwd.
 | 
						||
	* path.cc: Ditto, throughout.
 | 
						||
	(cwdstuff::copy): Eliminate.
 | 
						||
	(cwdstuff::fixup_after_exec): Ditto.
 | 
						||
	* spawn.cc (spawn_guts): Eliminate call to cygcwd.copy.
 | 
						||
 | 
						||
	* fhandler.h (FH_OSS_DSP): Move into "fast" device category.
 | 
						||
 | 
						||
Mon Apr 16 19:19:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc: Move fh_paging_file from some functions to be
 | 
						||
	a global static variable.
 | 
						||
	(class mmap_record): Add `devtype_' member to remember
 | 
						||
	the device type of the file. Add declaration for methods
 | 
						||
	`get_device', `alloc_fh' and `free_fh'.
 | 
						||
	(mmap_record::mmap_record): Initialize `devtype_' correctly.
 | 
						||
	(mmap_record::alloc_fh): New method.
 | 
						||
	(mmap_record::free_fh): Ditto.
 | 
						||
	(munmap): Use new mmap_record::alloc_fh and mmap_record::free_fh
 | 
						||
	methods to create a correct fhandler.
 | 
						||
	(msync): Ditto.
 | 
						||
	(fixup_mmaps_after_fork): Ditto.
 | 
						||
 | 
						||
Mon Apr 16 16:01:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* grp.cc (getgroups): If `allow_ntsec' is set, use the process token
 | 
						||
	information to evaluate the groups list.
 | 
						||
 | 
						||
Mon Apr 16 00:08:02 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* features.h: Remove this file as it is now being supplied by newlib.
 | 
						||
 | 
						||
Sun Apr 15 23:23:29 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* autoload.cc: Add winmm functions needed by fhandler_dsp.cc.
 | 
						||
 | 
						||
Sun Apr 15 22:53:52 2001  Andy Younger <andylyounger@hotmail.com>
 | 
						||
 | 
						||
	* fhandler_dsp.cc: New file.  Implements OSS like /dev/dsp.
 | 
						||
	* include/sys/soundcard.h: New file.  User land includes for OSS
 | 
						||
	/dev/dsp.
 | 
						||
	* fhandler.h: Add new class fhandler_dev_dsp and a FH_OSS_DSP
 | 
						||
	definition.
 | 
						||
	* dtable.cc (dtable::build_fhandler): Allow creation of the /dev/dsp
 | 
						||
	device.
 | 
						||
	* path.cc (windows_device_names): Add /dev/dsp into list of device
 | 
						||
	names.
 | 
						||
	* Makefile.in (DLL_OFILES): Add fhandler_dsp.o.
 | 
						||
 | 
						||
Sun Apr 15 16:36:27 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* uname.c (uname): Default n in in86 to 6 if Windows returns > 6.
 | 
						||
 | 
						||
Sun Apr 15 15:56:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (add_ext_from_sym): Redefine to call `add_ext_from_sym_'.
 | 
						||
	(add_ext_from_sym_): New inline function.
 | 
						||
 | 
						||
Sat Apr 14 19:23:52 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* config.h.in: Turn on VFORK by default.
 | 
						||
 | 
						||
Sat Apr 14 18:04:35 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* net.cc (cygwin_socket): Set SO_LINGER to small value so closed UNIX
 | 
						||
	domain sockets will not stay around.
 | 
						||
 | 
						||
Sat Apr 14 18:01:43 2001  Pierre A. Humblet  <Pierre.Humblet@ieee.org>
 | 
						||
 | 
						||
	* select.cc (socket_cleanup): Set SO_LINGER to small value so closed
 | 
						||
	dummy sockets do not stay around.  Use correct value for second argument
 | 
						||
	to shutdown.
 | 
						||
 | 
						||
Sat Apr 14 17:04:00 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.h (MTinterface): Add threadcount.
 | 
						||
	* thread.cc (MTinterface::Init): Set threadcount to 1.
 | 
						||
	(__pthread_create): Increment threadcount.
 | 
						||
	(__pthread_exit): Decrement threadcount and call exit() from the last thread.
 | 
						||
 | 
						||
Fri Apr 13 11:34:24 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* fork.cc (fork_child): Call the __pthread_atforkchild function.
 | 
						||
	(fork_parent): Call the __pthread_atforkparent function.
 | 
						||
	* cygwin.din: Export pthread_atfork.
 | 
						||
	* thread.h (callback): New class.
 | 
						||
	(MTinterface): Use it.
 | 
						||
	* thread.cc (__pthread_atforkprepare): New function.
 | 
						||
	(__pthread_atforkparent): New function.
 | 
						||
	(__pthread_atforkchild): New function.
 | 
						||
	(__pthread_atfork): New function.
 | 
						||
	* pthread.cc (pthread_atfork): New function.
 | 
						||
 | 
						||
Fri Apr 13  9:52:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (add_ext_from_sym): New define evaluating `known'suffix'.
 | 
						||
	(path_conv::check): Use add_ext_from_sym throughout.
 | 
						||
 | 
						||
Thu Apr 12 23:19:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dir.cc (mkdir): Check for case clash.
 | 
						||
	* environ.cc: Add extern declaration for `pcheck_case'.
 | 
						||
	(check_case_init): New function.
 | 
						||
	(struct parse_thing): Add "check_case" option.
 | 
						||
	* errno.cc (_sys_nerrlist): Add text for ECASECLASH.
 | 
						||
	(strerror): Add case branch for ECASECLASH.
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Check for case clash.
 | 
						||
	* path.cc: Add global variable `pcheck_case'.
 | 
						||
	(struct symlink_info): Add member `case_clash' and method `case_check'.
 | 
						||
	(path_prefix_p_): Call `pathnmatch' instead of `strncasematch'.
 | 
						||
	(pathnmatch): New funtion.
 | 
						||
	(pathmatch): Ditto.
 | 
						||
	(path_conv::check): Add handling for case checking.
 | 
						||
	(symlink): Check for case clash.
 | 
						||
	(symlink_info::check): Add parameter for case checking.
 | 
						||
	Handle case checking.
 | 
						||
	(symlink_info::case_check): New method.
 | 
						||
	(chdir): Don't use unconverted path if pcheck_case==PCHECK_STRICT.
 | 
						||
	* path.h: Add extern declarations for `pathmatch' and
 | 
						||
	`pathnmatch'.
 | 
						||
	(enum case_checking): New enumeration type describing
 | 
						||
	the case checking behaviour of path conversion routines.
 | 
						||
	(class path_conv): Add member `case_clash'.
 | 
						||
	* syscalls.cc (_link): Check for case clash.
 | 
						||
 | 
						||
Thu Apr 12 12:49:53 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (mkfifo): New function stub.
 | 
						||
 | 
						||
2001-04-12   Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* configure.in: Remove PTH_ALLOW.
 | 
						||
	* cygwin.din: Remove @PTH_ALLOW@ prefixes to pthread functions.  Add
 | 
						||
	new pthread exports.
 | 
						||
	* pthread.cc: New wrapper functions for the above new exports.
 | 
						||
	* sched.cc (valid_sched_parameters): New function.
 | 
						||
	(sched_setparam): Use it.
 | 
						||
	(sched_set_thread_priority): New function.  Used by pthread_sched*.
 | 
						||
	* thread.cc (pthread_key_destructor::InsertAfter): New function.
 | 
						||
	(pthread_key_destructor::UnlinkNext): New function.
 | 
						||
	(pthread_key_destructor::Next): New function.
 | 
						||
	(pthread_key_destructor_list::Insert): New function.
 | 
						||
	(pthread_key_destructor_list::Remove): New function.
 | 
						||
	(pthread_key_destructor_list::Pop): New function.
 | 
						||
	(pthread_key_destructor::pthread_key_destructor): New function.
 | 
						||
	(pthread_key_destructor_list::IterateNull): New function.
 | 
						||
	(MTinterface::Init): Initialise new member.
 | 
						||
	(pthread::pthread): Initialise new members.
 | 
						||
	(pthread::create): Copy new attributes.  Set the new thread priority.
 | 
						||
	(pthread_attr::pthread_attr): Initialise new members.
 | 
						||
	(pthread_key::pthread_key): Setup destructor function.
 | 
						||
	(pthread_key::~pthread_key): Remove destructor function.
 | 
						||
	(pthread_mutexattr::pthread_mutexattr): New function.
 | 
						||
	(pthread_mutexattr::~pthread_mutexattr): New function.
 | 
						||
	(__pthread_once): New function.
 | 
						||
	(__pthread_cleanup): New function.
 | 
						||
	(__pthread_cancel): New function.
 | 
						||
	(__pthread_setcancelstate): New function.
 | 
						||
	(__pthread_setcanceltype): New function.
 | 
						||
	(__pthread_testcancel): New function.
 | 
						||
	(__pthread_attr_getinheritsched): New function.
 | 
						||
	(__pthread_attr_getschedparam): New function.
 | 
						||
	(__pthread_attr_getschedpolicy): New function.
 | 
						||
	(__pthread_attr_getscope): New function.
 | 
						||
	(__pthread_attr_setinheritsched): New function.
 | 
						||
	(__pthread_attr_setschedparam): New function.
 | 
						||
	(__pthread_attr_setschedpolicy): New function.
 | 
						||
	(__pthread_attr_setscope): New function.
 | 
						||
	(__pthread_exit): Call any key destructors on thread exit.
 | 
						||
	(__pthread_join): Use the embedded attr values.
 | 
						||
	(__pthread_detach): Use the embedded attr values.
 | 
						||
	(__pthread_getconcurrency): New function.
 | 
						||
	(__pthread_getschedparam): New function.
 | 
						||
	(__pthread_key_create): Pass the destructor on object creation.
 | 
						||
	(__pthread_key_delete): Correct incorrect prototype.
 | 
						||
	(__pthread_setconcurrency): New function.
 | 
						||
	(__pthread_setschedparam): New function.
 | 
						||
	(__pthread_cond_timedwait): Support static mutex initialisers.
 | 
						||
	(__pthread_cond_wait): Ditto.
 | 
						||
	(__pthread_mutex_getprioceiling): New function.
 | 
						||
	(__pthread_mutex_lock): Support static mutex initialisers.
 | 
						||
	(__pthread_mutex_trylock): Ditto.
 | 
						||
	(__pthread_mutex_unlock): Ditto.
 | 
						||
	(__pthread_mutex_destroy): Ditto.
 | 
						||
	(__pthread_mutex_setprioceiling): New function.
 | 
						||
	(__pthread_mutexattr_getprotocol): New function.
 | 
						||
	(__pthread_mutexattr_getpshared): New function.
 | 
						||
	(__pthread_mutexattr_gettype): New function.
 | 
						||
	(__pthread_mutexattr_init): New function.
 | 
						||
	(__pthread_mutexattr_destroy): New function.
 | 
						||
	(__pthread_mutexattr_setprotocol): New function.
 | 
						||
	(__pthread_mutexattr_setprioceiling): New function.
 | 
						||
	(__pthread_mutexattr_getprioceiling): New function.
 | 
						||
	(__pthread_mutexattr_setpshared): New function.
 | 
						||
	(__pthread_mutexattr_settype): New function.  Remove stubs for non
 | 
						||
	MT_SAFE compilation.
 | 
						||
	* thread.h: Remove duplicate #defines.  Add prototypes for new
 | 
						||
	functions in thread.cc.
 | 
						||
	(pthread_key_destructor): New class.
 | 
						||
	(pthread_key_destructor_list): New class.
 | 
						||
	(pthread_attr): Add new members.
 | 
						||
	(pthread): Remove members that are duplicated in the pthread_attr
 | 
						||
	class.
 | 
						||
	(pthread_mutex_attr): Add new members.
 | 
						||
	(pthread_once): New class.
 | 
						||
	* include/pthread.h: Add prototypes for new functions exported from
 | 
						||
	cygwin1.dll.  Remove typedefs.
 | 
						||
	* include/sched.h: Add prototypes for new functions in sched.cc.
 | 
						||
	* include/cygwin/types.h: Add typedefs from pthread.h
 | 
						||
 | 
						||
Tue Apr 10 22:02:53 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (struct symlink_info): Add extn and ext_tacked_on fields.
 | 
						||
	(path_conv::check): Only tack on extension if a known one didn't
 | 
						||
	already exist.
 | 
						||
	(suffix_scan::has): Return pointer to known extension.
 | 
						||
	(symlink_info::check): Record location of extension, if any.
 | 
						||
 | 
						||
2001-04-09  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.h (class fhandler_socket): Add members and methods to
 | 
						||
	support secure connections on AF_UNIX sockets.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::set_connect_secret): New method.
 | 
						||
	(fhandler_socket::get_connect_secret): Ditto.
 | 
						||
	(fhandler_socket::create_secret_event): Ditto.
 | 
						||
	(fhandler_socket::close_secret_event): Ditto.
 | 
						||
	(fhandler_socket::check_peer_secret_event): Ditto.
 | 
						||
	(fhandler_socket::fixup_after_fork): Duplicate secret event to child.
 | 
						||
	(fhandler_socket::dup): Copy address family.
 | 
						||
	(fhandler_socket::close): Close secret event.
 | 
						||
	* net.cc (get_inet_addr): Read secret cookie.
 | 
						||
	(cygwin_connect): Check if peer knows secret cookie value.
 | 
						||
	(cygwin_accept): Ditto. Copy address family to newly created socket.
 | 
						||
	(cygwin_bind): Generate and write secret cookie.
 | 
						||
	(wsock_init): Initialize random number generator.
 | 
						||
 | 
						||
Sun Apr  8 20:40:58 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* Makefile.in: Put -lgcc last in list of libraries, since stdc++
 | 
						||
	library needs it.
 | 
						||
	* cygwin.din: Remove obsolete "__empty" export.
 | 
						||
	* exceptions.cc (call_signal_handler_now): Force inclusion of function
 | 
						||
	even when -finline-functions is specified.
 | 
						||
	* sigproc.h: Remove obsolete call_signal_handler declaration.
 | 
						||
 | 
						||
Sun Apr  8 20:36:55 2001  Benjamin Riefenstahl  <Benjamin.Riefenstahl@epost.de>
 | 
						||
 | 
						||
	* fhandler_console.cc (cp_get_internal): New function.
 | 
						||
	(cp_convert): New function.
 | 
						||
	(con_to_str): New function.
 | 
						||
	(str_to_con): New function.
 | 
						||
	(fhandler_console::read): Replace OemToCharBuff with con_to_str.
 | 
						||
	(fhandler_console::write_normal): Replace CharToOemBuff with str_to_con.
 | 
						||
 | 
						||
Thu Apr  5 22:41:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (stat_worker): Fix conditional which still allowed
 | 
						||
	successful stat'ing of non-existant files.
 | 
						||
 | 
						||
Wed Apr  4 10:37:44 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* child_info.h: Bump magic number for fork/exec/spawn.
 | 
						||
 | 
						||
Tue Apr  3 20:06:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* errno.cc (errmap): Map ERROR_FILE_INVALID to ENXIO.
 | 
						||
 | 
						||
Mon Apr  2 22:48:58 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygrun.c (main): Fix compiler warning.
 | 
						||
	* gmon.c (_mcleanup): Ditto.
 | 
						||
	* profil.c (profile_off): Ditto.
 | 
						||
 | 
						||
	* net.cc (find_winsock_errno): New function.
 | 
						||
	(__set_winsock_errno): Use find_winsock_errno.
 | 
						||
	(cygwin_setsockopt): Detect SO_ERROR for debugging.
 | 
						||
	(cygwin_getsockopt): Ditto.  Translate error when getsockopt returns
 | 
						||
	SO_ERROR.
 | 
						||
	* winsup.h: regparmize __set_winsock_errno.
 | 
						||
	* include/sys/strace.h: Document that strace functions can't use
 | 
						||
	regparm.
 | 
						||
 | 
						||
2001-04-02  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Avoid checking a magic
 | 
						||
	number of a directory.
 | 
						||
 | 
						||
Mon Apr  2 00:24:08 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* shared_info.h (mount_info): Remove mnt_ elements.
 | 
						||
	* thread.h (struct _winsup_t): Add mnt_ elements.
 | 
						||
	* path.cc (fillout_mntent): Use mnt_ elements from reent_winsup ().
 | 
						||
 | 
						||
Sun Apr  1 20:10:34 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (sigframe::call_signal_handler): Return value of
 | 
						||
	call_signal_handler_now.
 | 
						||
	* sigproc.h (sigframe): Use constructor.
 | 
						||
	* syscalls.cc (_read): Correct errno test prior to calling signal
 | 
						||
	handler.
 | 
						||
 | 
						||
Sun Apr  1 00:38:06 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (sigframe::call_signal_handler): Move outside of "C"
 | 
						||
	block or some compilers will complain.
 | 
						||
 | 
						||
Sun Apr  1 00:24:14 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (call_signal_handler_now): Rename from
 | 
						||
	call_signal_handler to avoid C++ confusion.
 | 
						||
 | 
						||
Sun Apr  1 00:08:15 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (fillout_mntent): Always remove drive root directories from
 | 
						||
	future consideration by "/cygdrive" reporting.
 | 
						||
	(cygdrive_getmnt): Avoid reporting removable drives or drives with no
 | 
						||
	media mounted.
 | 
						||
 | 
						||
Sat Mar 31 21:56:19 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* thread.h (struct _winsup_t): Remove obsolete elements.  Add
 | 
						||
	available_drives element.
 | 
						||
	* path.cc (mount_info::getmntent): Report "/cygdrive" drives when
 | 
						||
	mounted drives are exhausted.
 | 
						||
	(fillout_mntent): New function.
 | 
						||
	(mount_item::getmntent): Use fillout_mntent.
 | 
						||
	(cygdrives_mntent): New function.  Returns next available "/cygdrive".
 | 
						||
	(setmntent): Initialize available "/cygdrives".
 | 
						||
	* syscalls.cc: Remove some if 0'ed code.
 | 
						||
	* times.cc (timezone): Use more descriptive variable name.
 | 
						||
 | 
						||
Sat Mar 31 18:59:52 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* sigproc.h (class sigframe): Implement 'unregister()' method.
 | 
						||
	(sigframe::~sigframe): Use unregister method.
 | 
						||
	(sigframe::call_signal_handler): Declare new method.
 | 
						||
	* exceptions.cc (sigframe::call_signal_handler): New method.
 | 
						||
	Unregisters current sigframe before calling signal handler.
 | 
						||
	(setup_handler): Clear waiting threads prior to arming signal_arrived.
 | 
						||
	* syscalls.cc (_read): Change goto to loop.  Recalculate sigframe
 | 
						||
	inside of loop so that constructor is called when appropriate.
 | 
						||
	* wait.cc (wait4): Ditto.
 | 
						||
 | 
						||
	* signal.cc: Change "sig" to "signal" in debugging messages throughout.
 | 
						||
	* sigproc.cc: Ditto.
 | 
						||
 | 
						||
Sat Mar 31 17:12:08 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_serial.cc (fhandler_serial::raw_write): Close protected
 | 
						||
	handles with ForceCloseHandle or suffer spurious warnings.
 | 
						||
 | 
						||
Sat Mar 31 16:23:32 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::read): Remove special handling of CTRL-Z.
 | 
						||
 | 
						||
Sat Mar 31 11:09:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.h (class fhandler_console): Add members `insert_mode'.
 | 
						||
	* fhandler_console.cc (fhandler_console::dup): Duplicate `insert_mode'.
 | 
						||
	(fhandler_console::fhandler_console): Initialize `insert_mode'.
 | 
						||
	(fhandler_console::char_command): Add terminal capabilities
 | 
						||
	"enter insert mode" = \E[4h and "exit insert mode" = \E[4l.
 | 
						||
	Care for insert mode on terminal capability "repeat char" = \E[x;yb.
 | 
						||
	(fhandler_console::write_normal): Care for insert mode before writing
 | 
						||
	to the console.
 | 
						||
	(array keytable): Add keymapping for modified cursor and control
 | 
						||
	block keys (xterm like).
 | 
						||
 | 
						||
Fri Mar 30 13:02:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.h (class fhandler_console): Add members `savebufsiz' and
 | 
						||
	`savebuf' to allow save/restore of screen.
 | 
						||
	* fhandler_console.cc (fhandler_console::dup): Duplicate `savebufsiz'
 | 
						||
	and `savebuf'.
 | 
						||
	(fhandler_console::fhandler_console): Initialize `savebufsiz' and
 | 
						||
	`savebuf'.
 | 
						||
	(fhandler_console::char_command): Add terminal capabilities
 | 
						||
	"save screen content" = \E[?47h and "restore screen content" = \E[?47l.
 | 
						||
 | 
						||
Wed Mar 28 19:28:50 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (chdir): Eat trailing whitespace on input path.
 | 
						||
 | 
						||
Tue Mar 27 22:38:42 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* lib/_cygwin_S_IEXEC.c: Remove "const" from globals or they never seem
 | 
						||
	to be defined.  Wrap definitions in extern "C".  Include winsup.h to
 | 
						||
	assure proper definitions.
 | 
						||
 | 
						||
	* dcrt0.cc (dll_crt0_1): Call stdio_init after premain run so that
 | 
						||
	binmode.o, etc., will control default stdio settings.
 | 
						||
	* dtable.cc (dtable::init_std_file_from_handle): Allow __fmode to force
 | 
						||
	binmode/textmode settings.  Default pipes to binmode.
 | 
						||
 | 
						||
Tue Mar 27 11:31:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Fix conditional for previous patch.
 | 
						||
 | 
						||
Mon Mar 26 18:48:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Outflank copy-on-write problem on 9x by
 | 
						||
	setting access mode to FILE_MAP_READ when read access is requested.
 | 
						||
 | 
						||
Sun Mar 25 20:12:21 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dlfcn.cc (check_access): Eliminate.
 | 
						||
	(check_path_access): Use passed in path_conv buf.
 | 
						||
	(get_full_path_of_dll): Use passed in name buf to avoid a static.  Rip
 | 
						||
	out most of the path checking since LoadLibrary will do all of this
 | 
						||
	automatically.
 | 
						||
	(dlopen): Set errno when appropriate (may not be compliant?).
 | 
						||
	* environ.cc (posify): Don't pass in "native" path if it seems to
 | 
						||
	actually be posix.
 | 
						||
 | 
						||
Thursday Mar 22 2001  Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_dev_clipboard): Extend to support writing.
 | 
						||
	* fhandler_clipboard.cc (fhandler_dev_clipboard::fhandler_dev_clipboard):
 | 
						||
	Initialize new fields.  Open clipboard here.
 | 
						||
	(fhandler_dev_clipboard::dup): New method.
 | 
						||
	(fhandler_dev_clipboard::open): Accomodate new fields.  Register
 | 
						||
	clipboard here, if appropriate.
 | 
						||
	(set_clipboard): New function.  Moves buffer to clipboard.
 | 
						||
	(fhandler_dev_clipboard::write): Truly implement clipboard writing.
 | 
						||
	(fhandler_dev_clipboard::read): Reimplement to allow successive reads.
 | 
						||
	(fhandler_dev_clipboard::lseek): Truly implement seeks in clipboard.
 | 
						||
	(fhandler_dev_clipboard::close): Clear out new fields.  Support
 | 
						||
	sequential reads and sequential writes.  Support for binary data via a
 | 
						||
	native clipboard format.
 | 
						||
 | 
						||
2001-03-22  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler_console.cc (fhandler_console::set_default_attr): Update
 | 
						||
	console color attributes on tty reset.
 | 
						||
 | 
						||
Wed Mar 21 22:12:36 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* autoload.cc (kernel32_init): New function for kernel32 autoload
 | 
						||
	initialization.
 | 
						||
	(SignalObjectAndWait): Add conditional load of this function when it is
 | 
						||
	available.
 | 
						||
 | 
						||
2001-03-21 Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* sched.cc: New file.  Implement sched*.
 | 
						||
	* include/sched.h: New file.  User land includes for sched*.
 | 
						||
	* Makefile.in: Add sched.o
 | 
						||
	* cygwin.din: Add exports for sched*.
 | 
						||
 | 
						||
Tue Mar 20 14:48:46 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dtable.cc: Guard against new winsock.h/winsock2.h warnings when
 | 
						||
	mixing winsock*.h and sys/types.h.
 | 
						||
	* fhandler_socket.cc: Ditto.
 | 
						||
	* net.cc: Ditto.
 | 
						||
	* select.cc: Ditto.
 | 
						||
	* exceptions.cc: Remove unneeded define.
 | 
						||
 | 
						||
Mon Mar 19 17:43:29 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (interruptible): Update debugging output.
 | 
						||
	(setup_handler): Ensure that wait_sig loop wakes up when we punt on
 | 
						||
	sending a signal.
 | 
						||
	* poll.cc (poll): Add signal guard here.
 | 
						||
 | 
						||
2001-03-19  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* tty.h (tty::create_inuse): Add new parameter to allow non-
 | 
						||
	inheritable 'inuse' events.
 | 
						||
	* tty.cc (tty::create_inuse): Use new parameter.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_master::init): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_pty_master::open): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_master::init): Create master_alive
 | 
						||
	event.
 | 
						||
	* tty.cc (tty_list::terminate): Close master_alive event.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::close): Send EOF to slaves
 | 
						||
	when master side is closed.
 | 
						||
 | 
						||
Mon Mar 19 14:32:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (map::get_list_by_fd): Avoid calling `get_namehash' when
 | 
						||
	file descriptor is -1.
 | 
						||
 | 
						||
Sat Mar 17 18:30:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (check_posix_perm): New static function.
 | 
						||
	(fpathconf): Add _PC_POSIX_PERMISSIONS and _PC_POSIX_SECURITY
 | 
						||
	support.
 | 
						||
	(pathconf): Ditto.
 | 
						||
	* include/cygwin/version.h: Bump API minor number to 37.
 | 
						||
 | 
						||
2001-03-18  Egor Duda <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_tty_slave): Declare new methods.
 | 
						||
	* select.cc (fhandler_tty_slave::select_read): New method.
 | 
						||
	* select.cc (fhandler_tty_slave::ready_for_read): Ditto.
 | 
						||
	* select.cc (verify_tty_slave): New function.
 | 
						||
	* fhandler_termios.cc (fhandler_termios::line_edit): Empty input
 | 
						||
	buffer on signal.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::read): Check for input data
 | 
						||
	after reading from pipe. Reset event if input pipe is empty.
 | 
						||
	* tty.h (class tty): Allow creating events with manual reset.
 | 
						||
	* tty.cc (tty::get_event): Use manual_reset flag.
 | 
						||
	* tty.cc (tty::common_init): Create input_available_event with
 | 
						||
	manual reset.
 | 
						||
 | 
						||
Sat Mar 17 21:48:03 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* external.cc (fillout_pinfo): Match windows pid, as well as cygwin pid
 | 
						||
	when passed in pid.  Don't prematurely break when searching for a pid.
 | 
						||
 | 
						||
	* thread.h (_winsup_t): Eliminate unneeded field.
 | 
						||
 | 
						||
Sat Mar 17 20:46:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (get_95_ifconf): Use strcasematch instead of strcasecmp.
 | 
						||
	* syscalls.cc (_unlink): Ditto.
 | 
						||
	(_rename): Ditto.
 | 
						||
 | 
						||
Sat Mar 17 12:43:15 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (suffix_scan::next): Avoid searching for foo.lnk twice when
 | 
						||
	input is "foo".
 | 
						||
 | 
						||
Sat Mar 17 18:10:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* net.cc (cygwin_socket): Set protocol to 0 when address family is
 | 
						||
	AF_UNIX to avoid WSAEPROTONOSUPPORT error.
 | 
						||
 | 
						||
Sat Mar 17 09:51:32 2001  Mathew Brozowski <brozow@tavve.com>
 | 
						||
 | 
						||
	* net.cc (cygwin_socket): Pass protocol parameter to socket call.
 | 
						||
 | 
						||
Sat Mar 17 02:05:38 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dir.cc (readdir): Use strcasematch for consistency.
 | 
						||
	* path.cc (symlink_info): Eliminate known_suffix.
 | 
						||
	(path_conv::check): Always copy ext_here to end of buffer, if found.
 | 
						||
	(suffix_scan): Eliminate ext_here, add suffixes_start.
 | 
						||
	(suffix_scan::has): Eliminate an argument.  Reorganize.  Always return
 | 
						||
	pointer to end of input path.
 | 
						||
	(suffix_scan::next): Take a second pass through the suffix list looking
 | 
						||
	for .lnk.
 | 
						||
	(symlink_info::check): Eliminate known_suffix usage.
 | 
						||
 | 
						||
Sat Mar 17 00:10:52 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (stat_dev): Give devices full read/write by default.
 | 
						||
 | 
						||
Saturday Mar 17 3:45 2001 Robert Collins <rbtcollins@hotmail.com>
 | 
						||
 | 
						||
	* thread.cc (MTinterface::CreateCond): Check for null attr pointer.
 | 
						||
 | 
						||
Fri Mar 16 21:13:23 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_termios.cc (fhandler_termios::line_edit): Don't accept input
 | 
						||
	when a signal is sent or we'll end up in an EOF/signal race.
 | 
						||
 | 
						||
Fri Mar 16 20:25:40 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc: Translate scan states from defines to enums.
 | 
						||
	(suffix_scan): Rename state to nextstate for clarity.
 | 
						||
	(lnk_match): Change to allow multiple states to indicate that a .lnk
 | 
						||
	has been matched.
 | 
						||
	(suffix_scan::has): Eliminate a goto.  Handle .lnk as a special case,
 | 
						||
	since a .lnk may also need to be tacked on the end of a .lnk.
 | 
						||
	(suffix_scan::next): Don't increment next state.  Set it specifically.
 | 
						||
	Recognize new .lnk states.
 | 
						||
 | 
						||
Saturday Mar 17 01:19 2001 Robert Collins rbtcollins@hotmail.com
 | 
						||
 | 
						||
	* cygwin.din: Export the new functions.
 | 
						||
	* pthread.cc (pthread_cond_*): Add wrapper functions that call
 | 
						||
	__pthread_cond* functions.
 | 
						||
	* thread.cc (__pthread_cond_*): Implement the pthread_cond* functions.
 | 
						||
	* thread.h: Add new class entries and prototypes for __pthread_cond*
 | 
						||
	functions.
 | 
						||
	* include/pthread.h: user land header prototypes for pthread_cond*
 | 
						||
	functions and related defines.
 | 
						||
 | 
						||
Wed Mar 14 16:30:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* environ.cc (parse_options): Use strtok_r instead of strtok.
 | 
						||
	* security.cc (convert_string_sid_to_sid): Ditto.
 | 
						||
	(aclfromtext): Ditto. Fix buffer usage.
 | 
						||
 | 
						||
Wed Mar 14 10:11:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (lnk_suffixes): Remove.
 | 
						||
	(class suffix_scan): Add `lnk_state' flag.
 | 
						||
	(suffix_scan::lnk_match): Return state of `lnk_state' now.
 | 
						||
	(suffix_scan::has): Changed behaviour if file has `.lnk' suffix.
 | 
						||
	(suffix_scan::next): Set `lnk_state' where appropriate.
 | 
						||
	(symlink_info::check): Fix a wrong `break'.
 | 
						||
	* syscalls.cc (chown_worker): Change debug statement to reflect
 | 
						||
	lchown fix.
 | 
						||
	(lchown): Call chown_worker with `PC_SYM_NOFOLLOW' instead of
 | 
						||
	`PC_SYM_IGNORE'.
 | 
						||
 | 
						||
Tue Mar 13 13:52:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::fstat): Add correct modes to
 | 
						||
	symlinks when stat'ing on FAT or FAT32 file systems.
 | 
						||
 | 
						||
2001-03-12  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_termios::fixup_after_exec): New function.
 | 
						||
	* fhandler_termios.cc (fhandler_termios::fixup_after_fork): New
 | 
						||
	function. Fixup output handle.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Output
 | 
						||
	handle is now fixed up in fhandler_termios::fixup_after_fork().
 | 
						||
 | 
						||
2001-03-12  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_termios::fhandler_termios): Enable fixup
 | 
						||
	after fork.
 | 
						||
	* fhandler_console.cc (fhandler_console::fhandler_console): Fixup
 | 
						||
	after fork is now enabled in the base class constructor.
 | 
						||
 | 
						||
Mon Mar 12 11:19:41 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* mkvers.sh: Include config.h so that DEBUGGING is correctly defined.
 | 
						||
 | 
						||
Mon Mar 12 09:47:55 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* spawn.cc (spawn_guts): Don't set EXIT_REPARENTING if parent process
 | 
						||
	is not a cygwin process (suggested by Jason Gouger
 | 
						||
	<cygwin@jason-gouger.com>).
 | 
						||
 | 
						||
Sun Mar 11 16:00:58 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* child_info.h: Bump magic number for fork/exec/spawn.
 | 
						||
 | 
						||
Sat Mar 10 20:54:47 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* autoload.cc (noload): Use proper method for multiline strings or
 | 
						||
	newer gcc's complain.
 | 
						||
	* exceptions.cc (unused_sig_wrapper): Ditto.
 | 
						||
	* fhandler.h (fhandler_base): Make get_io_handle and friends return
 | 
						||
	self.
 | 
						||
	* fhandler_tty.cc (fhandler_pty_common::close_on_exec): Accomodate
 | 
						||
	DEBUGGING flag to avoid spurious warnings when inheritance is set.
 | 
						||
 | 
						||
Sat Mar 10 16:52:12 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* shortcut.c (PATH_ALL_EXEC): Add parentheses to avoid a compiler
 | 
						||
	warning.
 | 
						||
 | 
						||
	* exceptions.cc (setup_handler): Clarify debugging message.
 | 
						||
	* sigproc.cc (proc_subproc): Remove PROC_CHILDSTOPPED test.  It is
 | 
						||
	handled by normal PROC_CLEARWAIT case.
 | 
						||
	(wait_sig): Eliminate "dispatched" tracking.  Remove __SIGCHILDSTOPPED
 | 
						||
	test.  Decrement counter again before jumping out of
 | 
						||
	InterlockedDecrement loop so that subsequent InterlockedIncrement will
 | 
						||
	keep the counter at the correctly decremented value and also detect
 | 
						||
	when there are pending signals.
 | 
						||
	* sigproc.h: Remove __SIGCHILDSTOPPED element.
 | 
						||
	(procstuff): Remove PROC_CHILDSTOPPED element.
 | 
						||
 | 
						||
Sat Mar 10 15:22:44 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (_rename): Set errno to ENOENT when an old path doesn't
 | 
						||
	exist (from Kazuhiro Fujieda <fujieda@jaist.ac.jp>).  Also set EACCES
 | 
						||
	when directory is not writable.
 | 
						||
 | 
						||
Wed Mar  7 15:49:47 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (_read): Change definition to return ssize_t to be
 | 
						||
	consistent with read.
 | 
						||
	(_write): Change definition to return ssize_t to be consistent with
 | 
						||
	write.
 | 
						||
 | 
						||
Wed Mar  7 01:08:21 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* sigproc.h (sigthread): Declare new methods.  Create new winapi_lock
 | 
						||
	field.
 | 
						||
	(sigframe:;set): Call get_winapi_lock after frame is set so that signal
 | 
						||
	handler thread knows not to call SuspendThread.
 | 
						||
	(sigframe::~sigframe): Release winapi_lock.
 | 
						||
	* exceptions.cc (sigthread::get_winapi_lock): New method.
 | 
						||
	(sigthread::release_winapi_lock): New method.
 | 
						||
	(setup_handler): Use get_winapi_lock to ensure that signalled thread is
 | 
						||
	not blocked in a Windows API.
 | 
						||
 | 
						||
	* path.h (path_types): Avoid broken GCC warning.
 | 
						||
 | 
						||
Tue Mar  6 14:02:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (suffix_scan::has): Change order of conditionals
 | 
						||
	to allow checking for .lnk suffixes even if in_suffixes is empty.
 | 
						||
 | 
						||
Tue Mar  6 13:02:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.c (cygwin_premain0): Add missing parameter.
 | 
						||
	* binmode.c (cygwin_premain0): Ditto.
 | 
						||
	* textmode.c (cygwin_premain0): Ditto.
 | 
						||
 | 
						||
Tue Mar  6 12:04:00 2001  Jason Tiller <jtiller@sjm.com>
 | 
						||
 | 
						||
	* auto_load.cc: Add "GetKeyboardLayout" entry in the list of
 | 
						||
	Win32 User32.DLL exports to provide.
 | 
						||
	* fhandler.h (class fhandler_console): Add meta_mask private
 | 
						||
	member to remember which keystroke modifiers should generate
 | 
						||
	META.
 | 
						||
	* fhandler_console.cc (fhandler_console::read): Modify code that
 | 
						||
	tests a keystroke for a META-escaped key to use the 'meta_mask'
 | 
						||
	variable.
 | 
						||
	(fhandler_console::fhandler_console): Add definition for
 | 
						||
	variable "meta_mask" used to determine if a keystroke should be
 | 
						||
	preceded by META in the client console stream.  Set meta_mask
 | 
						||
	based on whether or not user's keyboard language is English -
 | 
						||
	non-English keyboards pass AltGr (right <ALT>) unmolested,
 | 
						||
	whereas English keyboards now interpret left- and right-<ALT>
 | 
						||
	as META.
 | 
						||
 | 
						||
Mon Mar  5 20:15:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* include/a.out.h: Add copyright hint.
 | 
						||
	* include/fcntl.h: Ditto.
 | 
						||
	* include/lastlog.h: Ditto.
 | 
						||
	* include/memory.h: Ditto.
 | 
						||
	* include/mntent.h: Ditto.
 | 
						||
	* include/paths.h: Ditto.
 | 
						||
	* include/poll.h: Ditto.
 | 
						||
	* include/syslog.h: Ditto.
 | 
						||
	* include/termio.h: Ditto.
 | 
						||
	* include/tzfile.h: Ditto.
 | 
						||
	* include/arpa/inet.h: Ditto.
 | 
						||
	* include/asm/byteorder.h: Ditto.
 | 
						||
	* include/asm/socket.h: Ditto.
 | 
						||
	* include/asm/types.h: Ditto.
 | 
						||
	* include/cygwin/if.h: Ditto.
 | 
						||
	* include/cygwin/mtio.h: Ditto.
 | 
						||
	* include/cygwin/rdevio.h: Ditto.
 | 
						||
	* include/cygwin/socket.h: Ditto.
 | 
						||
	* include/net/if.h: Ditto.
 | 
						||
	* include/netinet/in.h: Ditto.
 | 
						||
	* include/netinet/in_systm.h: Ditto.
 | 
						||
	* include/netinet/ip.h: Ditto.
 | 
						||
	* include/netinet/ip_icmp.h: Ditto.
 | 
						||
	* include/netinet/tcp.h: Ditto.
 | 
						||
	* include/sys/cdefs.h: Ditto.
 | 
						||
	* include/sys/cygwin.h: Ditto.
 | 
						||
	* include/sys/ioctl.h: Ditto.
 | 
						||
	* include/sys/mman.h: Ditto.
 | 
						||
	* include/sys/mount.h: Ditto.
 | 
						||
	* include/sys/mtio.h: Ditto.
 | 
						||
	* include/sys/procfs.h: Ditto.
 | 
						||
	* include/sys/resource.h: Ditto.
 | 
						||
	* include/sys/smallprint.h: Ditto.
 | 
						||
	* include/sys/socket.h: Ditto.
 | 
						||
	* include/sys/strace.h: Ditto.
 | 
						||
	* include/sys/syslog.h: Ditto.
 | 
						||
	* include/sys/sysmacros.h: Ditto.
 | 
						||
	* include/sys/termio.h: Ditto.
 | 
						||
	* include/sys/termios.h: Ditto.
 | 
						||
	* include/sys/uio.h: Ditto.
 | 
						||
	* include/sys/un.h: Ditto.
 | 
						||
	* include/sys/utsname.h: Ditto.
 | 
						||
	* include/sys/vfs.h: Ditto.
 | 
						||
	* include/sys/wait.h: Ditto.
 | 
						||
	* regexp/regerror.c: Ditto.
 | 
						||
	* regexp/regexp.h: Ditto.
 | 
						||
	* regexp/regmagic.h: Ditto.
 | 
						||
 | 
						||
Mon Mar  5 01:25:03 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dlopen.c (dlopen): Return NULL when name is NULL (suggested by
 | 
						||
	chrisiasci@aol.com).
 | 
						||
 | 
						||
	* cygwin.din: Add a new, internally used export -
 | 
						||
	_check_for_executable.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Set _check_for_executable for older binaries.
 | 
						||
	Pass user_data to premain functions.
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Only check for executable if
 | 
						||
	the linked program is interested in the executable bit.
 | 
						||
	(fhandler_disk_file::check_execable_p): Delete.
 | 
						||
	* fhandler.h (executable_states): New enumeration of various states of
 | 
						||
	executable bit caring.
 | 
						||
	(fhandler_base::set_execable_p): New method.
 | 
						||
 | 
						||
	* fhandler_termios.cc (fhandler_termios::line_edit): Flag when a signal
 | 
						||
	has been sent to the tty.  Return -1 when this is so.
 | 
						||
	* fhandler_console.cc (fhandler_console::read): Return -1 when signal
 | 
						||
	sending character encountered.
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Record when path refers to a disk device.
 | 
						||
	Move executable extension check here.
 | 
						||
	(check_sysfile): Accomodate new EXEC path states.
 | 
						||
	(has_suffix): Remove.
 | 
						||
	(next_suffix): Remove.
 | 
						||
	(class suffix_scan): New clas.
 | 
						||
	(suffix_scan::has): New method.
 | 
						||
	(suffix_scan:next): New method.
 | 
						||
	(symlink_info::check): Use suffix_scan method to control for scanning
 | 
						||
	for suffixes.
 | 
						||
	* path.h (path_conv::exec_state): New method.
 | 
						||
	* perprocess.h: Make "C" friendly.
 | 
						||
	* include/cygwin/version.h: Define CYGWIN_VERSION_CHECK_FOR_S_IEXEC.
 | 
						||
	Bump CYGWIN_VERSION_API_MINOR.
 | 
						||
	* include/sys/cygwin.h: Change premain declarations.
 | 
						||
 | 
						||
	* winsup.h: Move __cplusplus test to after builtin defines.
 | 
						||
 | 
						||
2001-03-04  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.h (class fhandler_tty_common): New mutex and event to
 | 
						||
	syncronize input on master tty with slave tty.
 | 
						||
	* fhandler_tty.cc (fhandler_pty_master::accept_input): Use them to
 | 
						||
	syncronize with slave.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::read): Use input mutex and
 | 
						||
	event to syncronize with master. Do not limit amount of data read
 | 
						||
	from master to vmin value. Interrupt on signal and return already
 | 
						||
	read data, if any.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_slave::open): Handle input mutex and
 | 
						||
	event.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::close): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::set_close_on_exec): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::fixup_after_fork): Ditto.
 | 
						||
	* fhandler_tty.cc (fhandler_tty_common::dup): Ditto.
 | 
						||
	* tty.h (tty::open_input_mutex): New function.
 | 
						||
	* tty.cc (tty::common_init): Create input mutex and event.
 | 
						||
 | 
						||
Fri Mar  2 13:32:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dir.cc (readdir): Fix creating path in symlink check.
 | 
						||
 | 
						||
Fri Mar  2 12:33:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* dir.cc (readdir): Fix shortcut==symlink condition.
 | 
						||
	* environ.cc: Add extern decl for `allow_winsymlinks'.
 | 
						||
	(struct parse_thing): Add entry for `[no]winsymlinks'.
 | 
						||
	* path.cc (symlink): Change to be able to create both,
 | 
						||
	symlink==shortcut and symlink==systemfile, dependent of
 | 
						||
	the setting of `allow_winsymlinks'.
 | 
						||
	* security.cc (cygwin_logon_user): Add debug output.
 | 
						||
	* shortcut.c: Add defines from path.h.
 | 
						||
	(has_exec_chars): Copy from path.h.
 | 
						||
	(check_shortcut): Check for executable file condition if not a
 | 
						||
	shortcut.
 | 
						||
 | 
						||
Thu Mar  1 21:06:07 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (sig_handle_tty_stop): Ignore attempts to suspend a
 | 
						||
	process if started by non-cygwin parent.
 | 
						||
 | 
						||
Thu Mar  1 20:48:11 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* select.cc (peek_console): Don't report read_ready on mouse events
 | 
						||
	unless we are looking for mouse events.
 | 
						||
	* fhandler.h (fhandler_console::mouse_aware): New method.
 | 
						||
 | 
						||
Wed Feb 28 15:10:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* uinfo.cc: Eliminate `#include <wchar.h>'.
 | 
						||
 | 
						||
2001-02-28  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler_floppy.cc (fhandler_dev_floppy::lseek): Determine
 | 
						||
	drive geometry or partition size to allow seeking from the end of
 | 
						||
	raw floppy device. Don't allow positioning past the end of media or
 | 
						||
	to offsets bigger then max off_t.
 | 
						||
 | 
						||
2001-02-27  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler.h (class fhandler_console): Make all variables that
 | 
						||
	describe "state" of console to be members of fhandler_console.
 | 
						||
	default_color is now the color which is set when console recieves
 | 
						||
	reset command.
 | 
						||
	* fhandler_console.cc (fhandler_console::fhandler_console): Turn
 | 
						||
	mouse handling and raw keyboard mode off by default. Initialize
 | 
						||
	state information.
 | 
						||
	* fhandler.cc (fhandler_console::set_raw_win32_keyboard_mode): New
 | 
						||
	function.
 | 
						||
	* fhandler_console.cc (fhandler_console::set_default_attr): New
 | 
						||
	function. Reset console attributes to default values.
 | 
						||
	* fhandler_console.cc (fhandler_console::open): Reset attributes.
 | 
						||
	* fhandler_console.cc (fhandler_console::get_win32_attr): New function.
 | 
						||
	Calculate win32-style console attribute based on terminal attributes.
 | 
						||
	* fhandler_console.cc (fhandler_console::set_cursor_maybe): Use
 | 
						||
	member variable.
 | 
						||
	* fhandler_console.cc (fhandler_console::read): If in raw-win32
 | 
						||
	keyboard mode, encode win32 keyboard events in \033{x;y;z;t;u;wK
 | 
						||
	sequences.
 | 
						||
	* fhandler_console.cc (fhandler_console::dup): Copy all state
 | 
						||
	information to the dup()ed handle.
 | 
						||
	* fhandler_console.cc (fhandler_console::scroll_screen): Use current
 | 
						||
	fill-in	attribute.
 | 
						||
	* fhandler_console.cc (fhandler_console::clear_screen): Ditto.
 | 
						||
	* fhandler_console.cc (fhandler_console::char_command): Check if we
 | 
						||
	saw '?' symbol by member variable. Set terminal	attributes on \033[Xm
 | 
						||
	commands. \033[24m - turn off underline mode, \033[27m - turn off
 | 
						||
	reverse mode, \033[39m - restore default foreground color.
 | 
						||
	\033[49m - restore default background color. \033[2000h - turn on raw
 | 
						||
	keyboard mode, \033[2000l - turn off raw keyboard mode.
 | 
						||
	* fhandler_console.cc (fhandler_console::write): Set attribues to
 | 
						||
	default values on reset command.
 | 
						||
 | 
						||
2001-02-26  Mike Simons  <msimons@moria.simons-clan.com>
 | 
						||
 | 
						||
	* times.cc (settimeofday): Replace function stub with working code.
 | 
						||
 | 
						||
Mon Feb 26 10:42:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* strace.cc (strace::vprntf): Move prntf functionality to this function
 | 
						||
	adding an va_list interface to strace.
 | 
						||
	(strace::printf): Calls strace::vprntf now.
 | 
						||
	(strace_printf): New function providing an extern "C" interface to
 | 
						||
	trace output.
 | 
						||
	* include/sys/strace.h: Make plain C clean.
 | 
						||
	(class strace): Add `vprntf' method.
 | 
						||
 | 
						||
Mon Feb 26  0:10:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* shortcut.c: Remove #include <sys/strace.h>.
 | 
						||
 | 
						||
Sun Feb 25 10:32:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (symlink): Add a ".lnk" suffix regardless. Add a comment.
 | 
						||
 | 
						||
Sun Feb 25 10:18:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* shortcut.c (check_shortcut): Change symlink condition.
 | 
						||
 | 
						||
Fri Feb 23 10:42:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (fhandler_disk_file::mmap): Use `addr' correctly.
 | 
						||
	* fhandler_mem.cc (fhandler_dev_mem::mmap): Ditto.
 | 
						||
 | 
						||
Thu Feb 22 17:09:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* path.cc (symlink): Keep relative paths relative in the DOS
 | 
						||
	path inside of a shortcut. If that's impossible or the target
 | 
						||
	path is already absolute save an absolute path.
 | 
						||
 | 
						||
Thu Feb 22 15:33:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* cygerrno.h: Revert previous patch.
 | 
						||
	* errno.cc: Ditto.
 | 
						||
	* dir.cc: Eliminate `dir_suffixes'.
 | 
						||
	(opendir): Remove usage of `dir_suffixes'.
 | 
						||
	(rmdir): Ditto.
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Remove usage of
 | 
						||
	`inner_suffixes'.
 | 
						||
	* path.cc: Rename `inner_suffixes' to `lnk_suffixes'.
 | 
						||
	(path_conv::check): Remove usage of `inner_suffixes'.
 | 
						||
	(symlink): Ditto.
 | 
						||
	(symlink_info::check): Handle checking for `.lnk' in path_conv
 | 
						||
	exclusively here.
 | 
						||
	(chdir): Remove usage of `dir_suffixes'.
 | 
						||
	* shortcut.c: Eliminate debug_printf lines.
 | 
						||
	(check_shortcut): Don't set error except on failing ReadFile.
 | 
						||
	* spawn.cc: Remove ".lnk" from `std_suffixes'.
 | 
						||
	* syscalls.cc (_unlink): Remove usage of `inner_suffixes'.
 | 
						||
	Remove ".lnk" from `stat_suffixes'.
 | 
						||
	(_rename): Add check for renaming a symlink to keep the ".lnk"
 | 
						||
	suffix after renaming.
 | 
						||
 | 
						||
Thu Feb 22 13:38:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* shortcut.c: New file. Provides a C interface to reading of
 | 
						||
	Windows shortcuts to avoid compiler flag `-fvtable-thunks'.
 | 
						||
	* shortcut.h: Ditto.
 | 
						||
	* Makefile.in: Add shortcut.o to DLL_OFILES.
 | 
						||
	* cygerrno.h: Provide a C interface to `geterrno_from_win_error' for
 | 
						||
	using in shortcut.c.
 | 
						||
	* errno.cc (geterrno_from_win_error): Define as extern "C".
 | 
						||
	* path.cc (struct symlink_info): Remove methods `check_shortcut' and
 | 
						||
	`check_sysfile'.
 | 
						||
	(shortcut_header): Move to shortcut.c.
 | 
						||
	(shortcut_initalized): Ditto.
 | 
						||
	(create_shortcut_header): Ditto.
 | 
						||
	(cmp_shortcut_header): Ditto.
 | 
						||
	(symlink_info::check_shortcut): Ditto. Reorganize as a plain C function.
 | 
						||
	(symlink_info::check_sysfile): Redefine as a global function using the
 | 
						||
	same parameter list as `check_shortcut' for clearness.
 | 
						||
	(symlink_info::check): Change parameter list for calls to
 | 
						||
	`check_shortcut' and `check_sysfile'.
 | 
						||
 | 
						||
Thu Feb 22 12:04:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_disk_file::open): Use `inner_suffixes' when
 | 
						||
	resolving real_path.
 | 
						||
	* path.cc (symlink): Ditto for win32_topath.
 | 
						||
 | 
						||
Wed Feb 21 22:41:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* Makefile.in: Add `-lshell32 -luuid' to link pass for new-cygwin1.dll.
 | 
						||
	* autoload.cc: Add LoadDLLinitfunc for ole32.dll.
 | 
						||
	Add LoadDLLfuncEx statements for CoInitialize@4, CoUninitialize@0
 | 
						||
	and CoCreateInstance@20.
 | 
						||
	* dir.cc (dir_suffixes): New datastructure.
 | 
						||
	(readdir): Check for R/O *.lnk files to hide the suffix.
 | 
						||
	(opendir): Use `dir_suffixes' in path conversion.
 | 
						||
	(rmdir): Ditto.
 | 
						||
	* fhandler.cc (fhandler_disk_file::fstat): Add S_IFLNK flag
 | 
						||
	before calling `get_file_attribute'. Take FILE_ATTRIBUTE_READONLY
 | 
						||
	into account only if the file is no symlink.
 | 
						||
	* path.cc (inner_suffixes): New datastructure.
 | 
						||
	(SYMLINKATTR): Eliminated.
 | 
						||
	(path_conv::check): Use `inner_suffixes' on inner path components.
 | 
						||
	(shortcut_header): New global static variable.
 | 
						||
	(shortcut_initalized): Ditto.
 | 
						||
	(create_shortcut_header): New function.
 | 
						||
	(cmp_shortcut_header): Ditto.
 | 
						||
	(symlink): Create symlinks by creating windows shortcuts. Preserve
 | 
						||
	the old code.
 | 
						||
	(symlink_info::check_shortcut): New method.
 | 
						||
	(symlink_info::check_sysfile): Ditto.
 | 
						||
	(symlink_info::check): Check for shortcuts. Move code reading
 | 
						||
	old system attribute symlinks into symlink_info::check_sysfile().
 | 
						||
	(chdir): Use `dir_suffixes' in path conversion.
 | 
						||
	* security.cc (get_file_attribute): Check for S_IFLNK flag.
 | 
						||
	Force 0777 permissions then.
 | 
						||
	* spawn.cc (std_suffixes): Add ".lnk" suffix.
 | 
						||
	* syscalls.cc (_unlink): Use `inner_suffixes' in path conversion.
 | 
						||
	Check for shortcut symlinks to eliminate R/O attribute before
 | 
						||
	calling DeleteFile().
 | 
						||
	(stat_suffixes): Add ".lnk" suffix.
 | 
						||
	(stat_worker): Force 0777 permissions if file is a symlink.
 | 
						||
 | 
						||
2001-02-21  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* sigproc.cc (getsem): Make semaphore always non-inheritable.
 | 
						||
 | 
						||
Mon Feb 19 22:25:53 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* dcrt0.cc (locale_init): Remove.
 | 
						||
 | 
						||
2001-02-15  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* cygwin.din: Export rand48 functions.
 | 
						||
	* thread.cc (MTinterface::Init): Remove the initialization of
 | 
						||
	`reent_data'.
 | 
						||
	* dcrt0.cc: Add the initalizer to the declaration of `reent_data'.
 | 
						||
	* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR to 35.
 | 
						||
 | 
						||
2001-02-16  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* signal.cc (signal): Prohibit setting handlers for SIGKILL and
 | 
						||
	SIGSTOP
 | 
						||
	* signal.cc (sigaction): Ditto
 | 
						||
	* syscalls.cc (_lseek): Return EINVAL on invalid input
 | 
						||
 | 
						||
Wed Feb 14 14:54:40 2001 Christophe Iasci <chrisiasci@aol.com>
 | 
						||
 | 
						||
	* dlfcn.cc (dlopen): Do not call LoadLibrary with a NULL pointer, when
 | 
						||
	the library is not found
 | 
						||
 | 
						||
2001-02-14  Egor Duda  <deo@logos-m.ru>
 | 
						||
 | 
						||
	* fhandler_console.cc (fhandler_console::char_command): Ignore unknown
 | 
						||
	rendition codes in \033[xx;yym control sequences
 | 
						||
 | 
						||
Fri Feb  9 23:19:01 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fork.cc (fork_parent): Return EAGAIN when can't record pid.
 | 
						||
	* pinfo.h (pinfo::remember): Return value of call to proc_subproc.
 | 
						||
	* sigproc.cc (proc_subproc): Return error if can't record pid.
 | 
						||
 | 
						||
Fri Feb  9 12:17:27 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (mknod): Add valid parameters.
 | 
						||
 | 
						||
Thu Feb  8 22:09:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Check for reusing a mapping only on MAP_SHARED
 | 
						||
	and on MAP_PRIVATE|MAP_ANON in the special case of offset 0.
 | 
						||
 | 
						||
Thu Feb  8 21:57:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (class list): Add member `hash'.
 | 
						||
	(list::list): Initialize `hash'.
 | 
						||
	(list::get_list_by_fd): Use filepath hash value to get the correct
 | 
						||
	mapping list if it's not an anonymous mapping.
 | 
						||
	(map::add_list): Initialize `hash' with filepath hash value.
 | 
						||
	(mmap): Check for reusing a mapping only on MAP_SHARED.
 | 
						||
 | 
						||
Wed Feb  7 18:47:36 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* signal.cc (killpg): Correct first argument.
 | 
						||
 | 
						||
Wed Feb  7 22:22:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* autoload.cc: Add LoadDLLinitfunc for iphlpapi.dll.
 | 
						||
	Add LoadDLLfuncEx statements for GetIfTable@12 and GetIpAddrTable@12.
 | 
						||
	* fhandler_socket.cc (fhandler_socket::ioctl): Move variable
 | 
						||
	definitions to the beginning of the function to allow better debugging.
 | 
						||
	Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU.
 | 
						||
	* net.cc: Include iphlpapi.h.
 | 
						||
	(get_2k_ifconf): Rewritten. Uses IP Helper API now.
 | 
						||
	(get_nt_ifconf): Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC
 | 
						||
	and SIOCGIFMTU.
 | 
						||
	(get_95_ifconf): Ditto. Renamed from `get_9x_ifconf'.
 | 
						||
	(get_ifconf): Name loopback `lo' instead of `lo0' as in Linux.
 | 
						||
	Add handling for SIOCGIFHWADDR, SIOCGIFMETRIC and SIOCGIFMTU.
 | 
						||
	Call `get_95_ifconf' only on Windows 95, `get_nt_ifconf' only
 | 
						||
	on Windows NT < Service Pack 3, `get_2k_ifconf otherwise.
 | 
						||
	* include/asm/socket.h: Add defines for SIOCGIFHWADDR, SIOCGIFMETRIC
 | 
						||
	and SIOCGIFMTU.
 | 
						||
	* include/cygwin/if.h: Add `ifr_hwaddr', `ifr_metric' and `ifr_mtu'.
 | 
						||
	(struct ifreq): Add `ifru_hwaddr'.
 | 
						||
 | 
						||
Tue Feb  6 15:04:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (stat_worker): Add a check for the special case when
 | 
						||
	a process creates a file using mode 000 using ntsec.
 | 
						||
 | 
						||
Mon Feb  5 17:00:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.cc (fhandler_base::open): Always add GENERIC_READ access
 | 
						||
	when opening raw disk devices.
 | 
						||
	* fhandler_floppy.cc (fhandler_dev_floppy::lseek): Implement bytewise
 | 
						||
	access.
 | 
						||
	* fhandler_raw.cc (fhandler_dev_raw::open): Always open raw disk device
 | 
						||
	binary.
 | 
						||
	(fhandler_dev_raw::raw_write): Don't drop read buffer content when
 | 
						||
	writing after read.
 | 
						||
 | 
						||
Mon Feb  5 13:30:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap_record::fixup_map): New method to duplicate
 | 
						||
	the memory protection in a just forked child.
 | 
						||
	(mmap): Realign gran_len to page boundary only on anonymous
 | 
						||
	mapping before saving in the mmap_record.
 | 
						||
	(munmap): Cleanup code.
 | 
						||
	(msync): Ditto.
 | 
						||
	(fixup_mmaps_after_fork): Ditto. Call mmap_record::fixup_map now.
 | 
						||
 | 
						||
Thu Feb  1 23:08:29 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (creturn): Correctly calculate cygheap_max.
 | 
						||
 | 
						||
Wed Jan 31 10:04:58 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* shared.cc (shared_info::initialize): Reduce size of heap.
 | 
						||
 | 
						||
Wed Jan 31 13:22:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* include/sys/resource.h: Fix typo.
 | 
						||
 | 
						||
Wed Jan 31 13:20:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* include/sys/resource.h: Add RLIMIT_NLIMITS and RLIM_NLIMITS.
 | 
						||
 | 
						||
Tue Jan 30 18:15:23 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump version to 1.3.0.
 | 
						||
 | 
						||
Tue Jan 30  8:55:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* pinfo.cc (pinfo::init): Use INVALID_HANDLE_VALUE instead of
 | 
						||
	explicit cast (HANDLE) 0xffffffff.
 | 
						||
	* shared.cc (open_shared): Ditto.
 | 
						||
 | 
						||
Mon Jan 29 17:15:22 2001  Bill Hegardt <bill@troyxcd.com>
 | 
						||
 | 
						||
	* fhandler_serial.cc (raw_write): Use local copy of OVERLAPPED
 | 
						||
	structure instead of shared structure to fix a race condition between
 | 
						||
	read/write.
 | 
						||
 | 
						||
Mon Jan 29 14:30:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Remove obsolete check for MAP_SHARED|MAP_ANON as
 | 
						||
	being invalid.
 | 
						||
 | 
						||
Mon Jan 29 10:23:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap_record::find_empty): Fix loop condition.
 | 
						||
 | 
						||
Sun Jan 28 19:40:40 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (_link): Make sure that newpath does not exist.  Set
 | 
						||
	errno if it does.
 | 
						||
 | 
						||
Sun Jan 28 19:29:08 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (init_cheap): Don't specify a load address for the heap.
 | 
						||
	It doesn't work on #!*& Windows 9x.
 | 
						||
	(cygheap_init): Move GetUserName to memory_init.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Call new memory_init functin, eliminate call
 | 
						||
	to heap_init.
 | 
						||
	* heap.cc (heap_init): Improve error output.
 | 
						||
	* heap.h: Correct some declarations.
 | 
						||
	* shared.cc (mount_table_init): Remove.
 | 
						||
	(memory_init): Renamed from shared_init.  Reorganize to accomodate
 | 
						||
	strange Windows 9x problems with cygheap/heap interaction.
 | 
						||
	* shared_info.h: Rename shared_init to memory_init.
 | 
						||
 | 
						||
Sun Jan 28 01:25:33 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump API version.
 | 
						||
 | 
						||
Sun Jan 28 01:18:22 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* cygheap.cc (init_cheap): Move username initialization.
 | 
						||
	(cygheap_init): Here.
 | 
						||
	* shared_info.h (mount_info): Add a sys_mount_table_counter field.
 | 
						||
	(shared_info): Ditto.
 | 
						||
	* path.cc (mount_info::conv_to_win32_path): Check that our mount table
 | 
						||
	is in sync with the system mount table and reinitialize it if not.
 | 
						||
	(mount_info::add_reg_mount): Bump sys_mount_table counters if the
 | 
						||
	system mount table changes.
 | 
						||
	(mount_info::del_reg_mount): Ditto.
 | 
						||
	(mount_info::write_cygdrive_info_to_registry): Ditto.
 | 
						||
	(mount_info::remove_cygdrive_info_from_registry): Ditto.
 | 
						||
 | 
						||
Sun Jan 28 00:28:30 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	Throughout, change 'cygwin_shared.mount' to 'mount_table'.
 | 
						||
	* child_info.h (child_info): Move shared_h, console_h to cygheap.  Add
 | 
						||
	mount_h.
 | 
						||
	* cygheap.h (init_cygheap): Add shared_h, console_h.
 | 
						||
	* cygheap.cc (init_cheap): Initialize heap at a fixed location after
 | 
						||
	the shared memory regions.  Initialize cygheap->user name here.
 | 
						||
	* dcrt0.cc (dll_crt0_1): Call getpagesize () to initialize constants.
 | 
						||
	Remove cygheap_init since it is done in shared_init now.
 | 
						||
	(_dll_crt0): Initialize mount_h, remove shared_h and console_h
 | 
						||
	initialization.
 | 
						||
	* fhandler_console.cc (console_shared_h): Eliminate.
 | 
						||
	(get_tty_stuff): Use cygheap->console_h rather than console_shared_h.
 | 
						||
	* heap.cc (heap_init): Use page size constant calculated earlier in
 | 
						||
	initialization.
 | 
						||
	* shared.cc: Eliminate cygwin_shared_h.  Add cygwin_mount_h.
 | 
						||
	(mount_table_init): New function for initializing a user mount table.
 | 
						||
	(open_shared_file_map): Use constant for shared memory region.
 | 
						||
	Initialize cygheap and mount table here.
 | 
						||
	(open_shared): Improve debugging output.
 | 
						||
	(shared_info::initialize): Eliminate call to mount.init.
 | 
						||
	(shared_terminate): Use cygheap->shared_h.  Close cygwin_mount_h.
 | 
						||
	(open_shared_file_map): Eliminate.
 | 
						||
	* shared_info.h (mount_info): Add a version field.
 | 
						||
	(shared_align_past): New macro for calculating location for shared
 | 
						||
	memory regions.
 | 
						||
	* sigproc.cc (init_child_info): Eliminate shared_h, console_h.
 | 
						||
	* spawn.cc (spawn_guts): Pass on cygwin_mount_h iff not a different
 | 
						||
	user.
 | 
						||
	* syscalls.cc (system_info): New global holding system memory defaults.
 | 
						||
	(getpagesize): Use system_info.
 | 
						||
	* uinfo.cc (internal_getlogin): Only fill in user name if nonexistent.
 | 
						||
	* winsup.h: Declare system_info.
 | 
						||
 | 
						||
	* passwd.cc (read_etc_passwd): Use cygheap->user.name () rather than
 | 
						||
	retrieving the name again.
 | 
						||
 | 
						||
Sat Jan 27 10:18:02 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.cc (path_conv::check): Detect when path has symlinks.
 | 
						||
	(symlink_info::check): Remove debugging stuff.
 | 
						||
	(chdir): Use posix'ized win32 path if cd'ed to a path using symlinks.
 | 
						||
 | 
						||
Fri Jan 26 21:20:28 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* exceptions.cc (sigreturn): Call any pending signals prior to
 | 
						||
	resetting the signal mask so that stacked signals behave correctly.
 | 
						||
	(sigdelayed): Avoid a race where a signal could end up calling an
 | 
						||
	incorrect signal handler if two signals come in close together.
 | 
						||
 | 
						||
Tue Jan 23 21:56:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (fhandler_disk_file::mmap): Call CreateFileMapping with
 | 
						||
	len != 0 only when performing an anonymous mapping.
 | 
						||
 | 
						||
Mon Jan 22 15:35:28 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* path.h: Add a new constant.
 | 
						||
	* syscalls.cc (_read): Oscillate errno check.
 | 
						||
 | 
						||
Mon Jan 22 15:27:12 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Bump API to reflect setlogmask.
 | 
						||
 | 
						||
Sun Jan 21 22:40:25 2001  Jason Tishler <jt@dothill.com>
 | 
						||
 | 
						||
	* cygwin.din: Add export for setlogmask().
 | 
						||
	* syslog.cc (setlogmask): New function.
 | 
						||
 | 
						||
Thu Jan 18 10:27:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* resource.cc (setrlimit): Support RLIMIT_NOFILE.
 | 
						||
 | 
						||
Wed Jan 17 23:23:12 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (setdtablesize): Call with amount to increment not total
 | 
						||
	amount.  Return success or failure error code.
 | 
						||
 | 
						||
Wed Jan 17 09:47:13 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* autoload.cc (LoadDLLinitfunc): Remove debugging statement.
 | 
						||
 | 
						||
	* exceptions.cc (sig_handle_tty_stop): Move setting of PID_STOPPED to
 | 
						||
	earlier in interrupt.
 | 
						||
	(interrupt_setup): i.e., here.
 | 
						||
	(sig_handle): Don't queue multiple SIGSTOPS.
 | 
						||
	* fhandler.h (bg_check_types): Enumerate return value of bg_check for
 | 
						||
	clarity.
 | 
						||
	* signal.cc (kill_pgrp): Minor cleanup.
 | 
						||
	* fhandler_termios.cc (fhandler_termios::bg_check): Use enumerated type
 | 
						||
	for function return.  Don't raise signal if a signal is already queued.
 | 
						||
	* fhandler_console.cc (fhandler_console::read): Use enumerated return
 | 
						||
	type for bg_check.
 | 
						||
	* select.cc: Ditto, throughout.
 | 
						||
	* read.cc: Ditto, throughout.
 | 
						||
	* termios.cc: Ditto, throughout.
 | 
						||
	(_read): YA interrupt detect simplification.
 | 
						||
	* wait.cc (wait4): Ditto.
 | 
						||
 | 
						||
Wed Jan 17 10:56:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* cygheap.cc (cygheap_user::~cygheap_user): Temporarily
 | 
						||
	disable free'ing memory.
 | 
						||
 | 
						||
Tue Jan 16 18:01:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Initialize fh to avoid compiler warnings.
 | 
						||
 | 
						||
Mon Jan 15 21:07:00 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* wait.cc (wait4): Rename variable for consistency.  Allow restartable
 | 
						||
	signal behavior.
 | 
						||
 | 
						||
Mon Jan 15 23:15:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc (mmap): Add more parameter checking. Change error output
 | 
						||
	in case of EINVAL. Treat mmapping /dev/zero like MAP_ANONYMOUS.
 | 
						||
 | 
						||
Mon Jan 15 20:34:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* mmap.cc: include <unistd.h>. Define some bit operations for
 | 
						||
	the new page map.
 | 
						||
	(mmap_record): Change type of base_address_ to caddr_t.
 | 
						||
	Add map_map_ member. Add several methods to manipulate map_map_.
 | 
						||
	(mmap_record::alloc_map): New method.
 | 
						||
	(mmap_record::free_map): Ditto.
 | 
						||
	(mmap_record::find_empty): Ditto.
 | 
						||
	(mmap_record::map_map): Ditto.
 | 
						||
	(mmap_record::unmap_map): Ditto.
 | 
						||
	(list::add_record): Change return type to `mmap_record *'.
 | 
						||
	Allocate page map.
 | 
						||
	(list::match): New method.
 | 
						||
	(mmap): Partly rewritten to take care for the new page map. Add some
 | 
						||
	parameter checking.
 | 
						||
	(munmap): Ditto.
 | 
						||
 | 
						||
Mon Jan 15 13:50:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* heap.cc (heap_init): Fix extern declaration of getpagesize.
 | 
						||
	* syscalls.cc (getpagesize): Fix another typo.
 | 
						||
 | 
						||
Mon Jan 15 12:48:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* syscalls.cc (getpagesize): Save pagesize in global variable to
 | 
						||
	avoid calling GetSystemInfo too often.
 | 
						||
	* heap.cc (getpagesize): Eliminate.
 | 
						||
	(heap_init): Use getpagesize function from syscalls.cc.
 | 
						||
 | 
						||
Mon Jan 15 11:56:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* sysconf.cc (sysconf): return `getpagesize ()' on _SC_PAGESIZE
 | 
						||
	request to avoid implementing the same twice.
 | 
						||
 | 
						||
Sun Jan 14 14:07:50 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* syscalls.cc (_read): Use more lightweight method for determining if
 | 
						||
	read has been interrupted by a signal.
 | 
						||
 | 
						||
Fri Jan 12 00:35:15 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* debug.h: Add regparm attributes to some functions.
 | 
						||
 | 
						||
	* signal.cc (sigaction): Don't treat SIGCONT specially.
 | 
						||
 | 
						||
	* exceptions.cc (interrupt_setup): Save sa_flags of interrupted signal
 | 
						||
	for later use.
 | 
						||
	(sig_handler): Default any stopping signal to SIGSTOP.
 | 
						||
	(call_signal_handler): New function.
 | 
						||
	(sigdelayed0): New function.
 | 
						||
	* sigproc.cc (sigproc_init): Initialize SIGSTOP sigaction for special
 | 
						||
	behavior.
 | 
						||
	* sigproc.h: Define call_signal_handler.
 | 
						||
	* syscalls.cc (_read): Allow restartable signal behavior.
 | 
						||
 | 
						||
Thu Jan 11 13:17:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* fhandler.h (fhandler_base): New method `fixup_mmap_after_fork'.
 | 
						||
	(fhandler_disk_file: Ditto.
 | 
						||
	(fhandler_dev_mem): Ditto.
 | 
						||
	* fhandler_mem.cc (fhandler_dev_mem::open): Set OBJ_INHERIT attribute
 | 
						||
	for device\physicalmemory handle.
 | 
						||
	(fhandler_dev_mem::mmap): Ditto.
 | 
						||
	* fhandler_mem.cc (fhandler_dev_mem::fixup_mmap_after_fork): New
 | 
						||
	method.
 | 
						||
	* mmap.cc (mmap_record): Add private `fdesc_' member.  Change
 | 
						||
	constructor accordingly.
 | 
						||
	(get_fd): New method.
 | 
						||
	(mmap): Use new mmap_record constructor.
 | 
						||
	(fhandler_base::fixup_mmap_after_fork): New method.
 | 
						||
	(fhandler_disk_file::fixup_mmap_after_fork): Ditto.
 | 
						||
	(fixup_mmaps_after_fork): Call `fixup_mmap_after_fork' of appropriate
 | 
						||
	fhandler class.
 | 
						||
 | 
						||
Wed Jan 10 22:08:30 2001  Kazuhiro Fujieda  <fujieda@jaist.ac.jp>
 | 
						||
 | 
						||
	* sigproc.cc (wait_sig): Allow SIGCONT when stopped.
 | 
						||
 | 
						||
Tue Jan  9 16:55:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	Patch suggested by Ren<65> M<>ller Fonseca <fonseca@mip.sdu.dk>
 | 
						||
	* include/sys/socket.h: Change prototype to have 2nd parameter `const'.
 | 
						||
	* net.cc (cygwin_bind): Change 2nd parameter to `const'.
 | 
						||
 | 
						||
Sun Jan  7 22:59:37 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* pinfo.cc (codepage_init): Move function.
 | 
						||
	* environ.cc (codepage_init): To here.
 | 
						||
	* exceptoins.cc (SIG_NONMASKABLE): Remove SIGCONT from consideration
 | 
						||
	since it is supposed to be maskable.
 | 
						||
	* signal.cc (sigaction): Ditto.
 | 
						||
	* sigproc.cc (wait_sig): Ditto.
 | 
						||
	* winsup.h: Eliminate global declaration of codepage_init.
 | 
						||
 | 
						||
Thu Jan  5  9:33:00 2001  Corinna Vinschen <corinna@vinschen.de>
 | 
						||
 | 
						||
	* resource.cc (getrlimit): Set errno on EFAULT instead of returning
 | 
						||
	it.
 | 
						||
	(setrlimit): Ditto.
 | 
						||
 | 
						||
Thu Jan  5  3:38:00  2001  David Sainty <David.Sainty@optimation.co.nz>
 | 
						||
 | 
						||
	* resource.cc (setrlimit): Prevent failing with an error when the
 | 
						||
	operation would not have changed anything.
 | 
						||
 | 
						||
Thu Jan  4 10:29:54  2001  Earnie Boyd  <earnie_boyd@yahoo.com>
 | 
						||
 | 
						||
	* thread.cc: Need LONG_MAX definition.
 | 
						||
 | 
						||
Wed Jan  3 13:47:23 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* thread.cc (MTinterface::CreateSemaphore): Correctly set semaphore
 | 
						||
	max.
 | 
						||
 | 
						||
Wed Jan  3 09:44:51 2001  Christopher Faylor <cgf@cygnus.com>
 | 
						||
 | 
						||
	* fhandler_console.cc (fhandler_console::read): Restore missing test
 | 
						||
	for code page before doing OemToCharBuff.
 | 
						||
 | 
						||
Wed Jan  3 09:20:20 2001  Jason Tishler <jt@dothill.com>
 | 
						||
 | 
						||
	* include/cygwin/version.h: Fix typo in CYGWIN_VERSION_DLL_COMBINED
 | 
						||
	macro.
 |