1695 lines
		
	
	
		
			64 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			1695 lines
		
	
	
		
			64 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
2007-07-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (CreateHardLinkA): Remove.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::link): Drop GetBinaryType
 | 
						|
	test.  Just check exe suffix instead.  Tune creating new file name.
 | 
						|
	Implement creating hard link using native NT functions which works
 | 
						|
	on all platforms.
 | 
						|
	* ntdll.h (STATUS_INVALID_DEVICE_REQUEST): Define.
 | 
						|
	(struct _FILE_LINK_INFORMATION): Define.
 | 
						|
 | 
						|
2007-07-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::ftruncate): Use
 | 
						|
	NtQueryInformationFile instead of GetFileSize, NtFsControlFile instead
 | 
						|
	of DeviceIoControl.
 | 
						|
 | 
						|
2007-07-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_base::fstat_by_name): Use
 | 
						|
	RtlSplitUnicodePath.
 | 
						|
	(fhandler_disk_file::fstat): Rename oret to opened.  Open file using NT
 | 
						|
	functions right here.  Try to open parent dir instead of root directory
 | 
						|
	to avoid call to rootdir.  Use NtFsControlFile.
 | 
						|
	* ntdll.h (RtlSplitUnicodePath): Define.
 | 
						|
 | 
						|
2007-07-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (is_volume_mountpoint): New static inline
 | 
						|
	function.
 | 
						|
	(path_conv::ndisk_links): Call is_volume_mountpoint.
 | 
						|
	(fhandler_disk_file::readdir_helper): Ditto.
 | 
						|
 | 
						|
2007-07-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (enum query_state): Drop redundant query_stat_control.
 | 
						|
	* fhandler.cc (fhandler_base::open): Ditto.  Add READ_CONTROL to
 | 
						|
	access and FILE_OPEN_FOR_BACKUP_INTENT to create_options when opening
 | 
						|
	for writing.  Always set security attributes to avoid calling
 | 
						|
	has_acls.
 | 
						|
	* fhandler_disk_file.cc (fhandler_base::fstat_fs): Don't try to
 | 
						|
	open file twice.
 | 
						|
 | 
						|
2007-07-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dir.cc (readdir_worker): Drop dir parameter from call to
 | 
						|
	readdir_get_ino.
 | 
						|
	* fhandler.h (fhandler_disk_file::readdir_helper): Switch file name
 | 
						|
	parameter to PUNICODE_STRING.
 | 
						|
	* fhandler_disk_file.cc: Drop including ntdef.h.
 | 
						|
	(class __DIR_mounts): Store mount points in UNICODE.  Additionally
 | 
						|
	store cygdrive prefix in unicode here.  Change methods accordingly.
 | 
						|
	(__DIR_mounts::eval_ino): Call new stat_worker instead of lstat64.
 | 
						|
	(__DIR_mounts::~__DIR_mounts): New destructor to free UNICODE buffers.
 | 
						|
	(path_conv::ndisk_links): Rewrite using native NT functions.
 | 
						|
	(fhandler_base::fstat_by_handle): Use NAME_MAX instead of CYG_MAX_PATH.
 | 
						|
	Always set pfvi->VolumeSerialNumber to non-0.  Remove last resort
 | 
						|
	code.
 | 
						|
	(fhandler_base::fstat_by_name): Rewrite using native NT functions.
 | 
						|
	(fhandler_base::fstat_fs): Always call fstat_by_name if fstat_by_handle
 | 
						|
	fails.
 | 
						|
	(fhandler_base::fstat_helper): Rely on dwVolumeSerialNumber.
 | 
						|
	(fhandler_disk_file::facl): Call fstat_by_name if fstat_by_handle fails.
 | 
						|
	(DIR_BUF_SIZE): Define using NAME_MAX instead of CYG_MAX_PATH.
 | 
						|
	(__DIR_cache): Remove __name.
 | 
						|
	(d_dirname): Remove.
 | 
						|
	(fhandler_disk_file::opendir): Drop pathname length check.
 | 
						|
	Remove outdated comment.  Use get_name method instead of accessing
 | 
						|
	pc.normalized_path directly.
 | 
						|
	(readdir_get_ino): Drop unused dir parameter.  Accomodate throughout.
 | 
						|
	Allocate fname dynamically.  Call new stat_worker instead of lstat64.
 | 
						|
	Call NtOpenFile instead of CreateFile.  Call NtClose instead of
 | 
						|
	CloseHandle.
 | 
						|
	(fhandler_disk_file::readdir_helper): Use native NT functions.
 | 
						|
	Check for volume mount points and use correct inode number.
 | 
						|
	(fhandler_disk_file::readdir): Simplify slightly.
 | 
						|
	Use get_name instead of pc.normalized_path.
 | 
						|
	(fhandler_disk_file::rewinddir): Use RtlInitUnicodeString.
 | 
						|
	(fhandler_cygdrive::fstat): Ignore floppy drives.  Set st_nlink
 | 
						|
	correctly.
 | 
						|
	(fhandler_cygdrive::readdir): Ignore floppy drives.
 | 
						|
	* fhandler_netdrive.cc (fhandler_netdrive::readdir): Accommodate
 | 
						|
	change to readdir_get_ino.
 | 
						|
	* fhandler_proc.cc (PROC_DIR_COUNT): Define.
 | 
						|
	(fhandler_proc::fstat): Evaluate correct link count for /proc.
 | 
						|
	* ntdll.h (struct _FILE_DIRECTORY_INFORMATION): Define.
 | 
						|
	(NtFsControlFile): Declare.
 | 
						|
	(RtlAppendUnicodeToString): Declare.
 | 
						|
	(RtlAppendUnicodeStringToString): Declare.
 | 
						|
	(RtlCompareUnicodeString): Declare.
 | 
						|
	(RtlCopyUnicodeString): Declare.
 | 
						|
	(RtlCreateUnicodeStringFromAsciiz): Declare.
 | 
						|
	(RtlEqualUnicodeString): Declare.
 | 
						|
	(RtlFreeUnicodeString): Declare.
 | 
						|
	(RtlInitEmptyUnicodeString): Declare.
 | 
						|
	(RtlSecondsSince1970ToTime): Declare.
 | 
						|
	(RtlInitEmptyUnicodeString): Define as inline function.
 | 
						|
	(RtlInitCountedUnicodeString): Define as inline function.
 | 
						|
	* path.cc (path_conv::check): New method with PUNICODE_STRING as path,
 | 
						|
	preliminary implementation.
 | 
						|
	(mount_info::get_mounts_here): Change to create UNICODE_STRINGs.
 | 
						|
	Also copy cygpath prefix into UNICODE_STRING.
 | 
						|
	(is_floppy): Drop 9x consideration.
 | 
						|
	* path.h: Drop including ntdef.h.
 | 
						|
	(path_conv::check): Add declaration.
 | 
						|
	(path_conv::path_conv): Add constructor for UNICODE_STRING paths.
 | 
						|
	* shared_info.h (mount_info::get_mounts_here): Change declaration.
 | 
						|
	* syscalls.cc: Drop forward declaration of stat_worker.
 | 
						|
	(stat_worke): Take path_conv as parameter.  Drop nofollow flag.
 | 
						|
	(stat64): Create matching path_conv and call stat_worker with it.
 | 
						|
	(lstat64): Ditto.
 | 
						|
	* winsup.h: Include ntdef.h.
 | 
						|
	(stat_worker): Declare.
 | 
						|
	(readdir_get_ino): Change declaration.
 | 
						|
 | 
						|
2007-07-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (CreateToolhelp32Snapshot): Remove.
 | 
						|
 | 
						|
2007-07-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (Process32First): Remove.
 | 
						|
	(Process32Next): Remove.
 | 
						|
 | 
						|
2007-07-25  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (NetWkstaUserGetInfo): Remove.
 | 
						|
	(CharToOemBuffA): Remove.
 | 
						|
	(KillTimer): Remove.
 | 
						|
	(OemToCharBuffA): Remove.
 | 
						|
	(SetTimer): Remove.
 | 
						|
 | 
						|
2007-07-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in (DLL_OFILES): Add sec_auth.o.
 | 
						|
	* fhandler.cc (fhandler_base::fhaccess): Accommodate interface changes
 | 
						|
	of access control functions throughout.
 | 
						|
	* fhandler_disk_file.cc: Ditto.
 | 
						|
	* fhandler_registry.cc: Ditto.
 | 
						|
	* sec_acl.cc: Drop unnecessary includes.
 | 
						|
	(setacl): Take path_conv instead of file name as parameter.
 | 
						|
	Accommodate interface changes of access control functions.
 | 
						|
	(getacl): Ditto.
 | 
						|
	* sec_auth.cc: New file, taking over all authentication related
 | 
						|
	functions from security.cc.
 | 
						|
	* sec_helper.cc: Drop unnecessary includes.
 | 
						|
	* security.cc: Ditto.  Move all authentication related functions to
 | 
						|
	sec_auth.cc.
 | 
						|
	(ALL_SECURITY_INFORMATION): New define.  Use throughout.
 | 
						|
	(set_file_sd): New function, replacing read_sd and the file related
 | 
						|
	part of get_nt_object_security.
 | 
						|
	(get_reg_sd): Rename from get_reg_security.  Drop type parameter.
 | 
						|
	(get_reg_attribute): New function, replacing the registry related part
 | 
						|
	of get_nt_object_security.
 | 
						|
	(get_file_attribute): Take path_conv instead of file name as parameter.
 | 
						|
	Use new get_file_sd call.
 | 
						|
	(set_file_attribute): Ditto plus new set_file_sd.  Drop unnecessary
 | 
						|
	implementation without uid/gid parameters.
 | 
						|
	(check_file_access): Take path_conv instead of file name as parameter.
 | 
						|
	Use new get_file_sd call.
 | 
						|
	(check_registry_access): Use new get_reg_sd call.
 | 
						|
	* security.h: Accommodate above interface changes.
 | 
						|
 | 
						|
2007-07-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* security.cc (set_nt_attribute): Remove.
 | 
						|
	(set_file_attribute): Do it yourself instead of calling
 | 
						|
	set_nt_attribute.
 | 
						|
 | 
						|
2007-07-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_base::fstat_by_name): Use
 | 
						|
	NtQueryFullAttributesFile instead of FindFirstFile.
 | 
						|
	(fhandler_base::fstat_fs): Drop check for exec_state.  Drop check for
 | 
						|
	invalid characters.
 | 
						|
	* ntdll.h (struct _FILE_NETWORK_OPEN_INFORMATION): Define.
 | 
						|
	(NtQueryFullAttributesFile): Declare.
 | 
						|
 | 
						|
2007-07-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.cc (fhandler_base::open): Drop local wpath and upath
 | 
						|
	variables.  Call pc.get_object_attr to create object attributes.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::opendir): Ditto.
 | 
						|
	* syscalls.cc (unlink_nt): Ditto.
 | 
						|
	* path.cc (path_conv::set_normalized_path): Set wide_path to NULL.
 | 
						|
	(path_conv::get_nt_native_path): Drop parameter.  Create path in
 | 
						|
	wide_path/uni_path members.
 | 
						|
	(path_conv::get_object_attr): New method to create object attributes.
 | 
						|
	(path_conv::get_wide_win32_path): New method to create Win32 wide path.
 | 
						|
	(path_conv::check): Initialize wide_path to NULL.
 | 
						|
	(path_conv::~path_conv): cfree wide_path.
 | 
						|
	* path.h (class path_conv): New members wide_path and uni_path.
 | 
						|
	Add declarations of get_object_attr and get_wide_win32_path.
 | 
						|
	(path_conv::path_conv): Initialize wide_path to NULL.
 | 
						|
	(path_conv::get_nt_native_path): Drop parameter.
 | 
						|
 | 
						|
2007-07-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sec_helper.cc: Remove unused code.
 | 
						|
 | 
						|
2007-07-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (SetSecurityDescriptorControl): Drop.
 | 
						|
	* security.cc (alloc_sd): Set security descriptor control flag without
 | 
						|
	calling SetSecurityDescriptorControl function.
 | 
						|
	* wincap.h (wincapc::has_dacl_protect): Rename from
 | 
						|
	has_security_descriptor_control.
 | 
						|
	* wincap.cc: Ditto throughout.
 | 
						|
 | 
						|
2007-07-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (SetUserObjectSecurity): Drop.
 | 
						|
	* pinfo.cc (pinfo::set_acl): Use NtSetSecurityObject instead of
 | 
						|
	SetKernelObjectSecurity.
 | 
						|
	* spawn.cc (spawn_guts): Use NtSetSecurityObject instead of
 | 
						|
	SetUserObjectSecurity.
 | 
						|
	* uinfo.cc (cygheap_user::init): Ditto.
 | 
						|
 | 
						|
2007-07-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.h (init_cygheap::luid): Remove.
 | 
						|
	* mmap.cc (mlock): Accommodate parameter change in call to
 | 
						|
	push_thread_privilege.
 | 
						|
	(munlock): Ditto.
 | 
						|
	* ntdll.h (STATUS_NOT_ALL_ASSIGNED): Define.
 | 
						|
	(NtAdjustPrivilegesToken): Declare.
 | 
						|
	* sec_helper.cc (cygpriv): Reorder to match numerical privilege order.
 | 
						|
	(privilege_luid): Take job of privilege_luid_by_name, using new
 | 
						|
	cygpriv.
 | 
						|
	(privilege_luid_by_name): Remove.
 | 
						|
	(privilege_name): Accommodate new cygpriv array.
 | 
						|
	(set_privilege): Call NtAdjustPrivilegesToken to avoid using advapi32.
 | 
						|
	Accommodate changes to privilege_name.
 | 
						|
	(set_cygwin_privileges): Simplify.  Don't try to set
 | 
						|
	SE_CREATE_GLOBAL_PRIVILEGE on systems not supporting it.
 | 
						|
	* security.cc (sys_privs): Reorder to match numerical privilege order.
 | 
						|
	Use real privilege values as defined in security.h.
 | 
						|
	(get_system_priv_list): Drop unused grp_list argument.  Create
 | 
						|
	list of privileges according to new wincapc::max_sys_priv value.
 | 
						|
	(get_priv_list): Call privilege_luid instead of privilege_luid_by_name.
 | 
						|
	Make priv a local value instead of a pointer.
 | 
						|
	(create_token): Accommodate parameter change in call to
 | 
						|
	push_self_privilege.
 | 
						|
	(lsaauth): Ditto.
 | 
						|
	(check_access): Use privilege values directly instead of calling
 | 
						|
	privilege_luid.
 | 
						|
	* security.h: Define real privilege values.
 | 
						|
	(cygpriv_idx): Remove.
 | 
						|
	(privilege_luid): Change declaration.
 | 
						|
	(privilege_luid_by_name): Drop declaration.
 | 
						|
	(set_privilege): Change declaration.
 | 
						|
	(set_process_privilege): Drop definition.
 | 
						|
	(_push_thread_privilege): Accomodate new set_privilege parameters.
 | 
						|
	* wincap.h (wincapc::max_sys_priv): New element.
 | 
						|
	* wincap.cc: Implement above element throughout.
 | 
						|
	(wincap_2000sp4): New wincaps structure.
 | 
						|
	(wincap_xpsp1): Ditto.
 | 
						|
	(wincap_xpsp2): Ditto.
 | 
						|
	(wincapc::init): Use new wincaps.
 | 
						|
	(wincapc::max_sys_priv): New element.
 | 
						|
 | 
						|
2007-07-19  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dcrt0.cc (dll_crt0_0): Call set_cygwin_privileges here, after
 | 
						|
	initializing hProcToken.
 | 
						|
	* sec_helper.cc (init_global_security): Don't call set_cygwin_privileges        here.
 | 
						|
 | 
						|
2007-07-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.h (shared_prefix): De-const.
 | 
						|
	(shared_prefix_buf): Add static buffer for shared prefix to avoid
 | 
						|
	additional allocation.
 | 
						|
	* cygheap.cc (cygheap_init): Set cygheap->shared_prefix to
 | 
						|
	cygheap->shared_prefix_buf and strcpy.
 | 
						|
 | 
						|
2007-07-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.cc (fhandler_base::fhaccess): Add check for R/O file system.
 | 
						|
	* security.cc (check_registry_access): Set errno to EROFS when checking
 | 
						|
	for W_OK.
 | 
						|
 | 
						|
2007-07-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::opendir): Move setting
 | 
						|
	cfd->nohandle where it won't crash.
 | 
						|
 | 
						|
2007-07-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.h (cygheap_user::curr_imp_token): Rename from current_token.
 | 
						|
	Accommodate change throughout Cygwin.
 | 
						|
	(cygheap_user::imp_token): Rename from token.  Accommodate change
 | 
						|
	throughout Cygwin.
 | 
						|
	(rcygheap_user::eimpersonate): Use primary token for impersonation.
 | 
						|
	* grp.cc (internal_getgroups): Use primary impersonation token when
 | 
						|
	impersonated.
 | 
						|
	* security.h (_push_thread_privilege): Use primary impersonation token
 | 
						|
	when impersonated.
 | 
						|
 | 
						|
2007-07-14  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	* init.cc (in_dllentry): Delete.
 | 
						|
	(dll_entry): Remove assignment to deleted variable.
 | 
						|
	* winsup.h (in_dllentry): Delete declaration.
 | 
						|
	* exceptions.cc (inside_kernel): Use another method to see if we are in
 | 
						|
	dll_entry phase.
 | 
						|
 | 
						|
2007-07-13  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	* init.cc (in_dllentry): Make NO_COPY to avoid spurious false
 | 
						|
	positives.
 | 
						|
 | 
						|
2007-07-09  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	* debug.cc (close_handle): Change debug output format slightly.
 | 
						|
 | 
						|
	* dlfcn.cc (dlclose): Don't close handle returned from
 | 
						|
	GetModuleHandle(NULL).
 | 
						|
 | 
						|
	* fhandler.h (fhandler_pipe::create): Remove obsolete argument.
 | 
						|
	(fhandler_pipe::create): Ditto.
 | 
						|
	* fhandler.cc (fhandler_pipe::create): Ditto.
 | 
						|
	(fhandler_pipe::create): Ditto.
 | 
						|
 | 
						|
2007-07-09  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	* strsig.cc (__signals): New macro.
 | 
						|
	(sys_sigabbrev): New array of signal strings, patterned after linux.
 | 
						|
	(siglist): Use __signals.
 | 
						|
	* include/cygwin/signal.h (sys_sigabbrev): Define.
 | 
						|
	* include/cygwin/version.h: Bump API minor version to 177.
 | 
						|
 | 
						|
2007-07-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dir.cc (closedir): Revert change from 2007-06-29.
 | 
						|
	* fhandler.h (dirent_valid_fd): Drop.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::opendir): If opening a
 | 
						|
	real dir, use the underlying fhandler to keep track of the directory
 | 
						|
	handle.  In fdopendir case use original io_handle from fhandler.  Use
 | 
						|
	fhandler's io_handle in subsequent directory functions throughout.
 | 
						|
	Create handle non-inheritable and set close-on-exec flag.
 | 
						|
	(readdir_get_ino): Drop dirent_isroot case.
 | 
						|
	(fhandler_disk_file::readdir): Handle dirent_isroot case here.
 | 
						|
	(fhandler_disk_file::rewinddir): Revert change from 2007-07-05.  Use
 | 
						|
	NtClose instead of CloseHandle.
 | 
						|
	* fhandler_virtual.cc (fhandler_virtual::opendir): Drop adding
 | 
						|
	dirent_valid_fd flag.  Set close-on-exec flag.
 | 
						|
 | 
						|
2007-07-08  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	* Makefile.in (DLL_OFILES): Add newly-imported random.o.  Eliminate
 | 
						|
	reliance on libiberty.
 | 
						|
	* random.cc: Import from FreeBSD.  Modify for Cygwin environment.
 | 
						|
	* include/cygwin/stdlib.h (random): Reflect change in return value to
 | 
						|
	be more linux/freebsd-like.
 | 
						|
	(srandom): Ditto.
 | 
						|
 | 
						|
2007-07-07  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_base::write): Remove __stdcall decoration.
 | 
						|
	(fhandler_pipe::write): Ditto.
 | 
						|
	(fhandler_fifo::write): Ditto.
 | 
						|
 | 
						|
2007-07-07  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	Preliminary change to make pipes interruptible and fifos reliable.
 | 
						|
	* dtable.cc (dtable::find_fifo): Eliminate definition.
 | 
						|
	* dtable.h (dtable::find_fifo): Ditto for declaration.
 | 
						|
	* fhandler.cc (fhandler_base::raw_read): Remove pipe-specific stuff.
 | 
						|
	(fhandler_base::fhandler_base): Ditto.
 | 
						|
	(fhandler_base::close): Handle overlapped I/O structure if appropriate.
 | 
						|
	(fhandler_base::dup): Ditto.
 | 
						|
	(fhandler_base::fork_fixup): Ditto.
 | 
						|
	(fhandler_base::setup_overlapped): Define new function.
 | 
						|
	(fhandler_base::destroy_overlapped): Ditto.
 | 
						|
	(fhandler_base::wait_overlapped): Ditto.
 | 
						|
	(fhandler_base::read_overlapped): Ditto.
 | 
						|
	(fhandler_base::write_overlapped): Ditto.
 | 
						|
	* fhandler.h (fhandler_base::get_overlapped): Declare new function.
 | 
						|
	(fhandler_base::setup_overlapped): Ditto.
 | 
						|
	(fhandler_base::destroy_overlapped): Ditto.
 | 
						|
	(fhandler_base::wait_overlapped): Ditto.
 | 
						|
	(fhandler_base::read_overlapped): Ditto.
 | 
						|
	(fhandler_base::write_overlapped): Ditto.
 | 
						|
	(fhandler_base::get_guard): Eliminate.
 | 
						|
	(fhandler_pipe::*): Rework to eliminate most Win9x related cruft,
 | 
						|
	removing many variables and defining a new overlapped capability.
 | 
						|
	(fhandler_fifo::*): Ditto.
 | 
						|
	(fifo_state): Declare new enum.
 | 
						|
	* fhandler_fifo.cc (fhandler_fifo::fhandler_fifo): Remove old Win9x
 | 
						|
	stuff.  Initialize overlapped handle to NULL.
 | 
						|
	(fhandler_fifo::set_use): Eliminate.
 | 
						|
	(fhandler_fifo::open_nonserver): Define.
 | 
						|
	(fhandler_fifo::open): Rework to use named pipes and overlapped I/O.
 | 
						|
	(fhandler_fifo::wait): Define new function to wait for named pipe
 | 
						|
	connection.
 | 
						|
	(fhandler_fifo::read): Rework to use wait() and new overlapped I/O
 | 
						|
	functionality.
 | 
						|
	(fhandler_fifo::write): Ditto.
 | 
						|
	(fhandler_fifo::dup): Eliminate.
 | 
						|
	* pinfo.cc (commune_process): Remove fifo handling.
 | 
						|
	(_pinfo::commune_request): Ditto.
 | 
						|
	* pinfo.h (picom): Ditto.
 | 
						|
	* pipe.cc (fhandler_pipe::fhandler_pipe): Remove Win9x stuff.
 | 
						|
	Initialize overlapped handle to NULL.
 | 
						|
	(fhandler_pipe::open): Eliminate Win9x stuff.
 | 
						|
	(fhandler_pipe::set_close_on_exec): Eliminate.
 | 
						|
	(read_pipe): Eliminate.
 | 
						|
	(fhandler_pipe::close): Ditto.
 | 
						|
	(fhandler_pipe::fixup_after_exec): Ditto.
 | 
						|
	(fhandler_pipe::fixup_in_child): Ditto.
 | 
						|
	(fhandler_pipe::read): Rework to use overlapped I/O.
 | 
						|
	(fhandler_pipe::write): New function using overlapped I/O.
 | 
						|
	(fhandler_pipe::dup): Rework to eliminate Win9x stuff.
 | 
						|
	(fhandler_pipe::create_selectable): Rework to eliminate Win9x and use
 | 
						|
	overlapped I/O.
 | 
						|
	* select.cc (peek_pipe): Rework to eliminate Win9x stuff and use
 | 
						|
	overlapped I/O.
 | 
						|
	(fhandler_base::ready_for_read): Ditto.
 | 
						|
 | 
						|
2007-07-07  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	* path.cc (symlink_info::check_shortcut): Handle device "symlinks"
 | 
						|
	specially - don't posixify them.
 | 
						|
 | 
						|
2007-07-07  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc: White space.
 | 
						|
	* fhandler_proc.cc: Ditto.
 | 
						|
	* fhandler_virtual.cc: Ditto.
 | 
						|
 | 
						|
2007-07-07  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	* fork.cc: White space.
 | 
						|
	* net.cc: Ditto.
 | 
						|
	* posix_ipc.cc: Ditto.
 | 
						|
 | 
						|
2007-07-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* times.cc (gettimeofday): Align definition to POSIX.
 | 
						|
 | 
						|
2007-07-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygwin.din: Export wcstol, wcstoll, wcstoul, wcstoull, wcsxfrm.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
 | 
						|
2007-07-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::opendir): Add missing
 | 
						|
	OBJ_INHERIT flag when creating OBJECT_ATTRIBUTES.
 | 
						|
	(fhandler_disk_file::rewinddir): Ditto.
 | 
						|
 | 
						|
2007-07-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* times.cc: Define __timezonefunc__ before including time.h to protect
 | 
						|
	definition of timezone function.
 | 
						|
 | 
						|
2007-07-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/time.h: Switch to timezone variable by default.  Add
 | 
						|
	comment.
 | 
						|
 | 
						|
2007-06-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygwin.din: Export fdopendir.
 | 
						|
	* dir.cc (opendir): Call fhandler's opendir with fd set to -1.
 | 
						|
	(fdopendir): New function.
 | 
						|
	(seekdir64): Use dirent_info_mask.
 | 
						|
	(rewinddir): Ditto.
 | 
						|
	(closedir): Only release underlying file descriptor if it has been
 | 
						|
	reserved by opendir itself.
 | 
						|
	* fhandler.cc (fhandler_base::opendir): Accommodate new parameter.
 | 
						|
	* fhandler.h (dirent_states): Add dirent_valid_fd and dirent_info_mask.
 | 
						|
	(fhander_XXX::opendir): Add file descriptor parameter.  Use regparms.
 | 
						|
	(fhandler_procnet::opendir): Drop declaration.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::opendir): Ditto.
 | 
						|
	If called from fdopendir, use existing handle to re-open directory
 | 
						|
	with valid flags.  Rename fd to cfd.  Use only if no valid incoming fd.
 | 
						|
	(fhandler_cygdrive::opendir): Accommodate new parameter.
 | 
						|
	* fhandler_process.cc (fhandler_process::opendir): Ditto.
 | 
						|
	* fhandler_procnet.cc (fhandler_procnet::opendir): Drop definition.
 | 
						|
	* fhandler_virtual.cc (fhandler_virtual::opendir): Accommodate new
 | 
						|
	parameter.  Only create new file descriptor entry if called from
 | 
						|
	opendir.  Remove duplicated setting of dir->__flags.
 | 
						|
	* posix.sgml: Add fdopendir to list of implemented Solaris functions.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
	* include/sys/dirent.h: Declare fdopendir.
 | 
						|
 | 
						|
2007-06-28  Brian Dessent  <brian@dessent.net>
 | 
						|
 | 
						|
	* include/cygwin/version.h: Fix comment typo.
 | 
						|
 | 
						|
2007-06-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygwin.din: Export stpcpy, stpncpy.
 | 
						|
	* posix.sgml: Add stpcpy and stpncpy to list of implemented
 | 
						|
	GNU extensions.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
 | 
						|
2007-06-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* shared_info.h (SHARED_INFO_CB): Accommodate change to shared_info.
 | 
						|
	(CURR_SHARED_MAGIC): Ditto.
 | 
						|
	(class shared_info): Add heap_slop_inited member.
 | 
						|
	* shared.cc (shared_info::heap_slop_size): Use heap_slop_inited to
 | 
						|
	track initializing heap_slop since 0 is a valid value for heap_slop.
 | 
						|
	Drop useless < 0 consideration.
 | 
						|
 | 
						|
2007-06-27  Eric Blake  <ebb9@byu.net>
 | 
						|
 | 
						|
	* assert.cc (__assert_func): New function, to match newlib header
 | 
						|
	change.
 | 
						|
	* cygwin.din: Export __assert_func.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
 | 
						|
2007-06-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (WSAIoctl): Remove.
 | 
						|
	* cygwin.din: Export freeifaddrs, getifaddrs.
 | 
						|
	* fhandler_socket.cc (fhandler_socket::ioctl): Drop SOCKET parameter
 | 
						|
	from get_ifconf.
 | 
						|
	* net.cc: Include ifaddrs.h.
 | 
						|
	(in_are_prefix_equal): Match addresses in network byte order.
 | 
						|
	(ip_addr_prefix): Convert address into host byte order before
 | 
						|
	testing with IN_LOOPBACK.
 | 
						|
	(struct ifall): Define.
 | 
						|
	(get_xp_ifs): Replace get_xp_ifconf.  Return struct ifall array.
 | 
						|
	(get_2k_ifs): Ditto, replace get_2k_ifconf.
 | 
						|
	(get_nt_ifs): Ditto, replace get_nt_ifconf.
 | 
						|
	(getifaddrs): New function.
 | 
						|
	(freeifaddrs): New function.
 | 
						|
	(get_ifconf): Call matching get_XX_ifs function and create
 | 
						|
	ifc content from here.  Drop lo fake since it's now in get_nt_ifs.
 | 
						|
	* posix.sgml: Add freeifaddrs and getifaddrs to list of implemented
 | 
						|
	BSD functions.
 | 
						|
	* wincap.h (wincapc::has_broken_if_oper_status): New element.
 | 
						|
	* wincap.cc: Implement above element throughout.
 | 
						|
	* include/ifaddrs.h: New file.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
 | 
						|
2007-06-20  Eric Blake  <ebb9@byu.net>
 | 
						|
 | 
						|
	* cygwin.din: Export exp10, exp10f, pow10, pow10f, strcasestr,
 | 
						|
	funopen, fopencookie.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
	* posix.sgml: Minor improvements.
 | 
						|
 | 
						|
2007-06-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/if.h (IFF_POINTOPOINT): Fix typo.
 | 
						|
 | 
						|
2007-06-16  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	* include/search.h: Reinstate node_t definition.
 | 
						|
 | 
						|
2007-06-16  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	* include/sys/cdefs.h: Remove in favor of newlib version.
 | 
						|
 | 
						|
2007-06-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (GetIpForwardTable): Define.
 | 
						|
	* fhandler_socket.cc (fhandler_socket::ioctl): Handle SIOCGIFDSTADDR.
 | 
						|
	* net.cc (get_routedst): New static function to get destination
 | 
						|
	address of point-to-point interfaces.
 | 
						|
	(get_xp_ifconf): Handle SIOCGIFDSTADDR.
 | 
						|
	(get_2k_ifconf): Ditto.
 | 
						|
	(get_nt_ifconf): Ditto.
 | 
						|
	(get_ifconf): Ditto.
 | 
						|
	* include/asm/socket.h (SIOCGIFDSTADDR): Define.
 | 
						|
	* include/cygwin/if.h (struct ifreq): Add ifru_dstaddr member.
 | 
						|
	(ifr_dstaddr): Define.
 | 
						|
	* include/cygwin/in.h: Cast ipv4 addresses correctly to in_addr_t in
 | 
						|
	definitions.
 | 
						|
 | 
						|
2007-06-12  Christopher Faylor  <me+cygwin@cgf.cx>
 | 
						|
 | 
						|
	* signal.cc (usleep): Use useconds_t for the type as per POSIX.
 | 
						|
 | 
						|
2007-06-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in (DLL_OFILES): Add xsique.o.
 | 
						|
	* cygwin.din (confstr): Make NOSIGFE.
 | 
						|
	(insque): Export.
 | 
						|
	(remque): Export.
 | 
						|
	* lsearch.cc: Remove superfluous _SEARCH_PRIVATE define.
 | 
						|
	* posix.sgml: Move insque to defined SUSv3 interfaces.  Remove
 | 
						|
	comment for remque.
 | 
						|
	* include/search.h: Remove _SEARCH_PRIVATE guarded definitions.
 | 
						|
	Add struct qelem definition.  Add insque and remque declarations.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
	* include/sys/queue.h: Remove insque/remque definitions so as not
 | 
						|
	to collide with SUSv3 compatible declaration in search.h.
 | 
						|
	* libc/xsique.cc: New file implementing insque and remque.
 | 
						|
 | 
						|
2007-06-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.cc (fhandler_base::fstat): Set pipe permission bits more
 | 
						|
	correctly.
 | 
						|
 | 
						|
2007-06-11  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygwin.din (confstr): Export.
 | 
						|
	* posix.sgml (confstr): Move to list of implemented SUSv3 functions.
 | 
						|
	* sysconf.cc (confstr): Implement.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
 | 
						|
2007-06-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ansi.sgml: Delete.
 | 
						|
	* misc-std.sgml: Delete.
 | 
						|
	* posix.sgml: Rework entirely.
 | 
						|
 | 
						|
2007-05-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dtable.cc (dtable::set_file_pointers_for_exec): Call SetFilePointer
 | 
						|
	correctly for 64 bit file access.  Comment out functionality.
 | 
						|
	* fhandler.cc (fhandler_base::open): Don't set append_mode.
 | 
						|
	(fhandler_base::write): Check for O_APPEND instead of append_mode.
 | 
						|
	Call SetFilePointer correctly for 64 bit file access.  Handle
 | 
						|
	errors from SetFilePointer.
 | 
						|
	* fhandler.h (class fhandler_base): Drop append_mode status flag.
 | 
						|
	* fhandler_disk_file.cc (fhandler_base::fstat_helper): Handle
 | 
						|
	seeking correctly for 64 bit file access.
 | 
						|
 | 
						|
2007-05-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (cwdstuff::set): Revert useless acquire check.
 | 
						|
 | 
						|
2007-05-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (cwdstuff::set): Avoid double aquiring of cwd_lock.
 | 
						|
	Open directory with inheriting enabled.
 | 
						|
 | 
						|
2007-05-21  Christian Franke <franke@computer.org>
 | 
						|
 | 
						|
	* fhandler_floppy.cc (fhandler_dev_floppy::lseek): Don't invalidate
 | 
						|
	devbuf if new position is within buffered range.
 | 
						|
 | 
						|
2007-05-21  Eric Blake  <ebb9@byu.net>
 | 
						|
 | 
						|
	* include/search.h (hsearch_r): Provide declaration.
 | 
						|
 | 
						|
2007-05-21  Christian Franke <franke@computer.org>
 | 
						|
	    Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_floppy.cc (fhandler_dev_floppy::lseek): Set buf size to
 | 
						|
	sector size.  Simplify non-sector aligned case.  Handle errors from
 | 
						|
	raw_read.
 | 
						|
 | 
						|
2007-05-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (adjust_socket_file_mode): New inline function.
 | 
						|
	(fhandler_socket::fchmod): Squeeze mode through adjust_socket_file_mode
 | 
						|
	before using it.
 | 
						|
	(fhandler_socket::bind): Ditto.
 | 
						|
 | 
						|
2007-03-19  Ryan C. Gordon  <icculus@icculus.org>
 | 
						|
 | 
						|
	* path.cc (fs_info::update): Set and use is_cdrom.
 | 
						|
	* path.cc (fillout_mntent): Set ret.mnt_type to something more
 | 
						|
	Linux-like, based on data from fs_info.  Move "system" and "user"
 | 
						|
	strings from mnt_type to mnt_opts.
 | 
						|
	* path.h (struct fs_info): Add is_cdrom field.
 | 
						|
	* path.h (fs_info::clear): Initialize is_cdrom.
 | 
						|
	* path.h (struct fs_info): Add IMPLEMENT_STATUS_FLAG(bool,is_cdrom).
 | 
						|
	* path.h (class path_conv): Add fs_is_cdrom method.  Add missing
 | 
						|
	fs_is_netapp method.
 | 
						|
 | 
						|
2007-05-14  Eric Blake  <ebb9@byu.net>
 | 
						|
 | 
						|
	* cygwin.din (asnprintf, dprint, _Exit, vasnprintf, vdprintf): Export.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
 | 
						|
2007-04-18  Brian Dessent  <brian@dessent.net>
 | 
						|
 | 
						|
	* cygwin.sc: Remove duplicated .debug_macinfo section.
 | 
						|
	* dllfixdbg: Also copy DWARF-2 sections into .dbg file.
 | 
						|
 | 
						|
2007-04-06  Eric Blake  <ebb9@byu.net>
 | 
						|
 | 
						|
	* include/stdint.h (WINT_MIN): Fix sign.
 | 
						|
 | 
						|
2007-04-04  Eric Blake  <ebb9@byu.net>
 | 
						|
 | 
						|
	* include/stdint.h (WINT_MIN, WINT_MAX): Fix definition.
 | 
						|
 | 
						|
2007-03-30  Christopher Faylor  <me@cgf.cx>
 | 
						|
 | 
						|
	* external.cc (cygwin_internal): Implement CW_SET_DOS_FILE_WARNING.
 | 
						|
	* include/sys/cygwin.h: Define CW_SET_DOS_FILE_WARNING.
 | 
						|
 | 
						|
2007-03-29  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (cygheap_init): Fix formatting.  Remove comment.  Set
 | 
						|
	shared_prefix depending only on terminal service capability.
 | 
						|
	* dcrt0.cc (dll_crt0_1): Don't call set_cygwin_privileges here.
 | 
						|
	* fhandler_fifo.cc (fhandler_fifo::open): Create the mutex as global
 | 
						|
	object.
 | 
						|
	* posix_ipc.cc (ipc_mutex_init): Use cygheap->shared_prefix.
 | 
						|
	(ipc_cond_init): Ditto.
 | 
						|
	* sec_helper.cc (privilege_name): Make static.  Use LookupPrivilegeName
 | 
						|
	directly to be independent of the state of cygheap.
 | 
						|
	(set_privilege): Take a LUID as parameter instead of an index value.
 | 
						|
	Only print debug output in case of failure.
 | 
						|
	(set_cygwin_privileges): Add comment.  Use LookupPrivilegeValue to
 | 
						|
	get privilege LUIDs.
 | 
						|
	(init_global_security): Call set_cygwin_privileges here.
 | 
						|
	* security.h (privilege_name): Drop declaration.
 | 
						|
	(set_privilege): Declare according to above change.
 | 
						|
	(set_process_privilege): Call privilege_luid to get LUID.
 | 
						|
	(_push_thread_privilege): Ditto.
 | 
						|
	* shared.cc (open_shared): Add comment.  On systems supporting the
 | 
						|
	SeCreateGlobalPrivilege, try to create/open global shared memory first.
 | 
						|
	Fall back to local shared memory if that fails.
 | 
						|
	* thread.cc (semaphore::semaphore): Use cygheap->shared_prefix.
 | 
						|
	* wincap.h (wincapc::has_create_global_privilege): New element.
 | 
						|
	* wincap.cc: Implement above element throughout.
 | 
						|
 | 
						|
2007-03-28  Christopher Faylor  <me@cgf.cx>
 | 
						|
 | 
						|
	* spawn.cc (spawn_guts): Start pure-windows processes in a suspended
 | 
						|
	state to avoid potential DuplicateHandle problems.
 | 
						|
 | 
						|
2007-03-13  Eric Blake  <ebb9@byu.net>
 | 
						|
 | 
						|
	* include/cygwin/stat.h (S_TYPEISMQ, S_TYPEISSEM, S_TYPEISSHM):
 | 
						|
	Avoid compiler warnings.
 | 
						|
 | 
						|
2007-03-07  Christopher Faylor  <me@cgf.cx>
 | 
						|
 | 
						|
	* signal.cc (handle_sigprocmask): Remove extraneous
 | 
						|
	sig_dispatch_pending.
 | 
						|
 | 
						|
2007-03-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_proc.cc: Fix formatting.  Drop setting errno when creating
 | 
						|
	proc file content.
 | 
						|
	(format_proc_uptime): Simplify.
 | 
						|
	(format_proc_cpuinfo): Align more closely to output of Linux 2.6 kernel.
 | 
						|
	Evaluate more data, especially for AMD CPUs.
 | 
						|
 | 
						|
2007-03-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (fhandler_base::fstat_helper): Add creation time parameter.
 | 
						|
	* glob.cc (stat32_to_stat64): Set st_birthtim to st_mtim.
 | 
						|
 | 
						|
2007-03-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/stat.h (S_TYPEISMQ): Define.
 | 
						|
	(S_TYPEISSEM): Dttio.
 | 
						|
	(S_TYPEISSHM): Ditto.
 | 
						|
 | 
						|
2007-03-06  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_mailslot.cc (fhandler_mailslot::fstat): Set new stat member
 | 
						|
	st_birthtim to useful value.
 | 
						|
	* fhandler_process.cc (fhandler_process::fstat): Ditto.
 | 
						|
	* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Take
 | 
						|
	additional parameter for creation time.  Fill st_birthtim with it.
 | 
						|
	Accomodate additional creation time parameter throughout.
 | 
						|
	* fhandler_raw.cc (fhandler_dev_raw::fstat): Set new stat member
 | 
						|
	st_birthtim to useful value.
 | 
						|
	* fhandler.cc (fhandler_base::fstat): Ditto.
 | 
						|
	* fhandler_registry.cc (fhandler_registry::fstat): Ditto.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
	* include/cygwin/stat.h (struct __stat64): Replace st_spare4 with
 | 
						|
	timestruc_t st_birthtim.
 | 
						|
	(struct stat): Ditto if __CYGWIN_USE_BIG_TYPES__ is defined.
 | 
						|
	(st_birthtime): Define if __CYGWIN_USE_BIG_TYPES__ is defined.
 | 
						|
 | 
						|
2007-03-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ntdll.h (struct _FILE_NAMES_INFORMATION): Define.
 | 
						|
	* syscalls.cc (unlink_nt): Check shared directory for being empty
 | 
						|
	before trying to move and mark for deletion.
 | 
						|
 | 
						|
2007-03-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* security.cc (get_file_attribute): Avoid compiler warning.
 | 
						|
 | 
						|
2007-03-01  Christopher Faylor  <me@cgf.cx>
 | 
						|
 | 
						|
	* fork.cc (fork): Reset child to true after fork since it may have been
 | 
						|
	reset by fork memory copies.
 | 
						|
 | 
						|
2007-03-01  Christopher Faylor  <me@cgf.cx>
 | 
						|
 | 
						|
	* Makefile (DLL_OFILES): Remove ntea.o
 | 
						|
	* environ.cc (set_ntea): Delete.
 | 
						|
	(parse_thing): Delete "ntea" setting.
 | 
						|
	* fhandler.cc (fhandler_base::open): Remove allow_ntea considerations.
 | 
						|
	(check_posix_perm): Ditto.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Ditto.
 | 
						|
	(fhandler_base::open_fs): Ditto.
 | 
						|
	(fhandler_disk_file::mkdir): Ditto.
 | 
						|
	* path.cc (symlink_worker): Ditto.
 | 
						|
	* security.cc (get_file_attribute): Ditto.
 | 
						|
	(set_file_attribute): Ditto.
 | 
						|
	* security.h: Remove allow_ntea declaration.
 | 
						|
 | 
						|
2007-02-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* path.cc (close_user_proc_parms_cwd_handle): Remove.
 | 
						|
	(cwdstuff::init): Don't call close_user_proc_parms_cwd_handle.
 | 
						|
	Call set to set cwd with all-sharing handle.
 | 
						|
	(cwdstuff::set): Fix comment.  Don't close cwd handle.  Set in
 | 
						|
	user parameter block instead and close old cwd handle.
 | 
						|
	* syscalls.cc (rename): Call unlink_nt instead of RemoveDirectory or
 | 
						|
	DeleteFile to allow deleting shared files/directories.
 | 
						|
 | 
						|
2007-02-27  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.cc(fhandler_base::open): Open with READ_CONTROL only in
 | 
						|
	case of query_open flag set to query_read_control.  Add case for
 | 
						|
	new query_read_attributes flag.
 | 
						|
	(fhandler_base::fstatvfs): New method.
 | 
						|
	* fhandler.h (enum query_state): Add query_read_attributes flag.
 | 
						|
	(class fhandler_base): Declare new virtual fstatvfs method.
 | 
						|
	(class fhandler_socket): Ditto.
 | 
						|
	(class fhandler_pipe): Ditto.
 | 
						|
	(class fhandler_fifo): Ditto.
 | 
						|
	(class fhandler_disk_file): Ditto.
 | 
						|
	(class fhandler_virtual): Ditto.
 | 
						|
	* fhandler_disk_file.cc (fhandler_base::fstat_fs): Open with
 | 
						|
	query_read_attributes instead of query_read_control.
 | 
						|
	(fhandler_disk_file::fstatvfs): New method.
 | 
						|
	(fhandler_disk_file::facl): Open with query_read_attributes instead of
 | 
						|
	query_read_control.
 | 
						|
	* fhandler_fifo.cc (fhandler_fifo::fstatvfs): New method.
 | 
						|
	* fhandler_socket.cc (fhandler_socket::fstatvfs): New method.
 | 
						|
	(fhandler_socket::fchmod): Return with EBADF in the default case.
 | 
						|
	(fhandler_socket::fchown): Ditto.
 | 
						|
	(fhandler_socket::facl): Ditto.
 | 
						|
	* fhandler_virtual.cc (fhandler_virtual::fstatvfs): Ditto.
 | 
						|
	* ntdll.h (struct _FILE_FS_ATTRIBUTE_INFORMATION): Define.
 | 
						|
	(struct _FILE_FS_FULL_SIZE_INFORMATION): Define.
 | 
						|
	* pipe.cc (fhandler_pipe::fstatvfs): New method.
 | 
						|
	* syscalls.cc (fstatvfs): Just call the fhandler's fstatvfs.
 | 
						|
	(statvfs): Ditto.
 | 
						|
	(fstatfs): Call fstatvfs.
 | 
						|
	(statfs): Drop EFAULT handling.
 | 
						|
 | 
						|
2007-02-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.cc (fhandler_base::fstat): Set all file times to arbitrary
 | 
						|
	fixed value.
 | 
						|
 | 
						|
2007-02-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_registry.cc (registry_listing): Drop name of HKEY_DYN_DATA.
 | 
						|
	(registry_keys): Drop HKEY_DYN_DATA.
 | 
						|
	* net.cc: Fix comment.
 | 
						|
	* syslog.cc: Ditto.
 | 
						|
 | 
						|
2007-02-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Drop comment.
 | 
						|
	* mmap.cc (gen_access): Remove.
 | 
						|
	(mmap_record::gen_access): Remove.
 | 
						|
	(mmap64): Don't mention 9x any longer.
 | 
						|
	* syscalls.cc (statvfs): Drop status code consideration for 9x.
 | 
						|
	* libc/minires-os-if.c (get_registry_dns_items): Don't mention 9x any
 | 
						|
	longer.
 | 
						|
	(get_registry_dns): Drop getting registry key on 9x.  Drop is9x
 | 
						|
	variable.
 | 
						|
 | 
						|
2007-02-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	Throughout remove all usage of wincap.has_security.
 | 
						|
	* environ.cc (environ_init): Drop setting allow_ntsec here.
 | 
						|
	* grp.cc (initgroups32): Drop usage of label "out".
 | 
						|
	* security.cc (allow_ntsec): Set to true by default.
 | 
						|
	* syscalls.cc (seteuid32): Remove label success_9x.
 | 
						|
	* wincap.cc: Remove has_security throughout.
 | 
						|
	* wincap.h: Ditto.
 | 
						|
 | 
						|
2007-02-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (class fhandler_pipe): Remove members writepipe_exists,
 | 
						|
	orig_pid and id.  Make hit_eof inline.
 | 
						|
	* fhandler_fifo.cc (fhandler_fifo::open): Drop handling of
 | 
						|
	writepipe_exists, orig_pid and id.
 | 
						|
	* pipe.cc: Ditto throughout.
 | 
						|
	(pipecount): Remove.
 | 
						|
	(pipeid_fmt): Remove.
 | 
						|
	(fhandler_pipe::hit_eof): Simplify.  Move to fhandler.h.
 | 
						|
	(fhandler_pipe::dup): Drop leave label.
 | 
						|
	(fhandler_pipe::create): Drop has_unreliable_pipes case.
 | 
						|
	* wincap.cc: Remove has_unreliable_pipes throughout.
 | 
						|
	* wincap.h: Ditto.
 | 
						|
 | 
						|
2007-02-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* devices.in: Change native device name to native NT device name for
 | 
						|
	/dev/null, /dev/comX and /dev/ttySx.
 | 
						|
	* devices.cc: Regenerate.
 | 
						|
	* fhandler.cc (fhandler_base::open_9x): Remove.
 | 
						|
	(fhandler_base::open): Don't test for DOS device name, don't call
 | 
						|
	open_9x.
 | 
						|
	(fhandler_dev_null::open): Remove.
 | 
						|
	* fhandler.h (class fhandler_base): Drop open_9x declaration.
 | 
						|
	(class fhandler_dev_null): Drop open declaration.
 | 
						|
 | 
						|
2007-02-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_console.cc (fhandler_console::need_invisible): Drop
 | 
						|
	pty_needs_alloc_console check.
 | 
						|
	* spawn.cc (spawn_guts): Ditto.
 | 
						|
	(av::fixup): Remove setting iscui.
 | 
						|
	* syscalls.cc (rename): Drop has_move_file_ex checks.  Remove 9x
 | 
						|
	specific code.
 | 
						|
	* wincap.cc: Remove has_move_file_ex and pty_needs_alloc_console
 | 
						|
	throughout.
 | 
						|
	* wincap.h: Ditto.
 | 
						|
 | 
						|
2007-02-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* exceptions.cc (dummy_ctrl_c_handler): Remove.
 | 
						|
	(init_console_handler): Drop has_null_console_handler_routine checks.
 | 
						|
	* fhandler_raw.cc (fhandler_dev_raw::open): Drop has_raw_devices check.
 | 
						|
	* fhandler_serial.cc (fhandler_serial::open): Drop
 | 
						|
	.supports_reading_modem_output_lines check.
 | 
						|
	* miscfuncs.cc (low_priority_sleep): Drop has_switch_to_thread check.
 | 
						|
	* shared.cc (open_shared): Drop needs_memory_protection checks.
 | 
						|
	* spawn.cc (spawn_guts): Drop start_proc_suspended check.
 | 
						|
	* uname.cc (uname): Drop has_valid_processorlevel check.
 | 
						|
	* wincap.cc: Remove has_raw_devices, has_valid_processorlevel,
 | 
						|
	supports_reading_modem_output_lines, needs_memory_protection,
 | 
						|
	has_switch_to_thread, start_proc_suspended and
 | 
						|
	has_null_console_handler_routine throughout.
 | 
						|
	* wincap.h: Ditto.
 | 
						|
 | 
						|
2007-02-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.cc (fhandler_base::lseek): Drop 9x considerations.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::lock): Ditto.
 | 
						|
	* wincap.cc: Remove lock_file_highword and has_64bit_file_access
 | 
						|
	throughout.
 | 
						|
	* wincap.h: Ditto.
 | 
						|
 | 
						|
2007-02-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.h (struct cwdstuff): Remove sync member and keep_in_sync
 | 
						|
	accessors.
 | 
						|
	* external.cc (cygwin_internal): Drop call to cygheap->cwd.keep_in_sync.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::link): Always presume
 | 
						|
	ability to create hard links.
 | 
						|
	* path.cc (cwdstuff::init): Drop 9x considerations.
 | 
						|
	(cwdstuff::keep_in_sync): Remove.
 | 
						|
	(cwdstuff::set): Take NT for granted.
 | 
						|
	* pinfo.h (cygwin_pid): Just return pid.
 | 
						|
	* wincap.cc: Remove has_hard_links, can_open_directories,
 | 
						|
	has_negative_pids, has_named_pipes, has_try_enter_critical_section,
 | 
						|
	cant_debug_dll_entry and detect_win16_exe throughout.
 | 
						|
	* wincap.h: Ditto.
 | 
						|
 | 
						|
2007-02-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_console.cc (fhandler_console::read): Drop 9x specific
 | 
						|
	handling of AltGr key.
 | 
						|
	* mmap.cc: Take NT for granted throughout.
 | 
						|
	* wincap.cc: Remove map_view_of_file_ex_sucks, altgr_is_ctrl_alt,
 | 
						|
	has_working_copy_on_write, share_mmaps_only_by_name,
 | 
						|
	virtual_protect_works_on_shared_pages, has_mmap_alignment_bug and
 | 
						|
	has_working_virtual_lock throughout.
 | 
						|
	* wincap.h: Ditto.
 | 
						|
 | 
						|
2007-02-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.cc (fhandler_base::set_no_inheritance): Always use
 | 
						|
	SetHandleInformation.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::lock): Always use
 | 
						|
	UnlockFileEx/LockFileEx functions.
 | 
						|
	* net.cc (fdsock): Don't bother to duplicate socket for inheritance.
 | 
						|
	* sysconf.cc (get_nproc_values): Take NT for granted.
 | 
						|
	(get_avphys): Ditto.
 | 
						|
	* syslog.cc (WIN95_EVENT_LOG_PATH): Remove define.
 | 
						|
	(get_win95_event_log_path): Remove.
 | 
						|
	(vsyslog): Fix formatting.  Take NT for granted.
 | 
						|
	* wincap.cc: Remove has_lock_file_ex, has_signal_object_and_wait,
 | 
						|
	has_eventlog, has_set_handle_information,
 | 
						|
	has_set_handle_information_on_console_handles and supports_smp
 | 
						|
	throughout.
 | 
						|
	* wincap.h: Ditto.
 | 
						|
 | 
						|
2007-02-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* dir.cc (rmdir): Move existance check in front of
 | 
						|
	has_dot_last_component check.  Simplify setting errno in latter case.
 | 
						|
 | 
						|
2007-02-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.cc (fhandler_base::write): Remove wincap.has_lseek_bug case.
 | 
						|
	Simplify seek beyond EOF case.
 | 
						|
	* times.cc (times): Remove wincap.has_get_process_times case.
 | 
						|
	* wincap.cc: Remove has_delete_on_close, has_page_guard,
 | 
						|
	has_get_process_times and has_lseek_bug throughout.
 | 
						|
	* wincap.h: Ditto.
 | 
						|
 | 
						|
2007-02-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	Throughout remove all usage of wincap.access_denied_on_delete.
 | 
						|
	* dir.cc (rmdir): Add existance check to be errno-compatible with Linux.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::rmdir): Drop test for
 | 
						|
	non-existent dir on 9x share.
 | 
						|
	* syscalls.cc (unlink): Add comment.
 | 
						|
	* wincap.cc: Remove access_denied_on_delete flag throughout.
 | 
						|
	* wincap.h: Ditto.
 | 
						|
 | 
						|
2007-02-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::closedir): Fix bug
 | 
						|
	introduced by switching to NtClose.
 | 
						|
 | 
						|
2007-02-22  Christopher Faylor  <me@cgf.cx>
 | 
						|
 | 
						|
	* dcrt0.cc (child_info_fork::alloc_stack_hard_way): Change sense of
 | 
						|
	guard test.  Increase size of stack reserved and increase size before
 | 
						|
	the current stack pointer.  Use pointers when doing arithmetic.
 | 
						|
	(dll_crt0_1): Initialize exception handler when we notice we're the
 | 
						|
	child of a fork from non-main thread.
 | 
						|
	* fork.cc (frok::parent): Make argument volatile.
 | 
						|
	(frok::child): Ditto.
 | 
						|
	(lock_signals): New class.
 | 
						|
	(lock_pthread): Ditto.
 | 
						|
	(hold_everhthing): Ditto.
 | 
						|
	(frok::parent): Move atforkprepare and atforkparent to lock_pthread
 | 
						|
	class.
 | 
						|
	(fork): Make ischild boolean.  Use hold_everything variable within
 | 
						|
	limited scope to set various mutexes in such a way as to avoid
 | 
						|
	deadlocks.
 | 
						|
	* thread.h (pthread_mutex::tid): New variable, active when debugging
 | 
						|
	for tracking thread id of owner.
 | 
						|
	(pthread_mutex::set_owner): Set tid when debugging.
 | 
						|
	* thread.cc (pthread_mutex::pthread_mutex): Clear tid.
 | 
						|
	(pthread_mutex::_unlock): Ditto when unlocking.
 | 
						|
	(pthread_mutex::fixup_after_fork): Set tid to special value after
 | 
						|
	forking since owner is unknown.
 | 
						|
 | 
						|
2007-02-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	Throughout replace all usage of wincap.shared with the constant
 | 
						|
	FILE_SHARE_VALID_FLAGS.
 | 
						|
	* fhandler.cc (fhandler_base::open_9x): Drop local variable shared.
 | 
						|
	* wincap.cc: Remove shared member throughout.
 | 
						|
	* wincap.h: Ditto.
 | 
						|
 | 
						|
2007-02-22  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in (DLL_IMPORTS): Add libntdll.a.
 | 
						|
	* autoload.cc: Remove all symbols from advapi32.dll, kernel32.dll and
 | 
						|
	ntdll.dll available on all platforms since NT4.
 | 
						|
 | 
						|
	Throughout remove all usage of wincap.is_winnt.
 | 
						|
	* dcrt0.cc (dll_crt0_0): Remove call to mmap_init.
 | 
						|
	* fhandler.h (class fhandler_base): Remove has_changed flag.
 | 
						|
	(fhandler_disk_file::touch_ctime): Remove declaration.
 | 
						|
	(fhandler_disk_file::readdir_9x): Ditto.
 | 
						|
	(fhandler_disk_file::touch_ctime): Remove.
 | 
						|
	(fhandler_disk_file::readdir_9x): Remove.
 | 
						|
	(fhandler_disk_file::closedir): Call NtClose instead of CloseHandle.
 | 
						|
	* mmap.cc: Throughout call CreateMapping and MapView directly.
 | 
						|
	(VirtualProt9x): Remove.
 | 
						|
	(VirtualProtNT): Remove.
 | 
						|
	(VirtualProtEx9x): Remove.
 | 
						|
	(VirtualProtExNT): Remove.
 | 
						|
	(VirtualProtect): Remove define.
 | 
						|
	(VirtualProtectEx): Remove define.
 | 
						|
	(CreateMapping9x): Remove.
 | 
						|
	(CreateMappingNT): Rename to CreateMapping.
 | 
						|
	(MapView9x): Remove.
 | 
						|
	(MapViewNT): Rename to MapView.
 | 
						|
	(struct mmap_func_t): Remove definition.
 | 
						|
	(mmap_funcs_9x): Remove.
 | 
						|
	(mmap_funcs_nt): Remove.
 | 
						|
	(mmap_func): Remove.
 | 
						|
	(mmap_init): Remove.
 | 
						|
	* net.cc (getdomainname): Drop comment. Use NT4 registry key only.
 | 
						|
	(get_95_ifconf): Remove.
 | 
						|
	* pinfo.cc (winpids::enumNT): Rename to winpids::enum_processes.
 | 
						|
	(winpids::enum9x): Remove.
 | 
						|
	(winpids::set): Just call enum_processes directly.
 | 
						|
	(winpids::enum_init): Ditto.
 | 
						|
	* pinfo.h (class winpids): Drop enum_processes pointer.  Rename
 | 
						|
	enumNT to enum_processes.  Drop enum9x declaration.  Drop initialization
 | 
						|
	of enum_processes throughout.
 | 
						|
	* registry.cc (get_registry_hive_path): Just create NT key.
 | 
						|
	(load_registry_hive): Only load NT specific file.
 | 
						|
	* syscalls.cc (unlink_9x): Remove.
 | 
						|
	(unlink): Just call unlink_nt.
 | 
						|
	* wincap.cc: Remove is_winnt flag throughout.
 | 
						|
	* wincap.h: Ditto.
 | 
						|
	* winsup.h: Remove mmap_init declaration.
 | 
						|
 | 
						|
2007-02-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* wincap.cc (wincap_unknown): Change settings for unknown to reflect
 | 
						|
	the capabilities of NT4.
 | 
						|
	(wincap_95): Remove.
 | 
						|
	(wincap_95osr2): Remove.
 | 
						|
	(wincap_98): Remove.
 | 
						|
	(wincap_98se): Remove.
 | 
						|
	(wincap_me): Remove.
 | 
						|
	(wincap_nt3): Remove.
 | 
						|
	(wincapc::init): Temporarily bail out on any 9x system.
 | 
						|
 | 
						|
2007-02-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygwin.din (sem_unlink): Export.
 | 
						|
	* posix_ipc.cc: Include thread.h and semaphore.h.  Remove TODO
 | 
						|
	comment.
 | 
						|
	(ipc_names): Add max_len member.  Set to maximum length of the path
 | 
						|
	before tacking on the prefix path.  Set prefix path for named semaphors
 | 
						|
	to /dev/shm, as on Linux.
 | 
						|
	(enum ipc_type_t): Change sem to semaphore to avoid name conflicts.
 | 
						|
	(check_path): Detect empty paths.  Use ipc_names's max_len member.
 | 
						|
	Use __small_sprintf to create full object path name.  Special case
 | 
						|
	semaphores.
 | 
						|
	(ipc_cond_init): Drop superfluous strcpy.
 | 
						|
	(class ipc_flock): New class to simplify file locking in subsequent
 | 
						|
	code.
 | 
						|
	(struct mq_hdr): Raise size of mqh_uname to allow adding a unique
 | 
						|
	LUID to the name.
 | 
						|
	(mq_open): Fix formatting.  Create unique synchronization object names
 | 
						|
	using AllocateLocallyUniqueId.
 | 
						|
	(struct sem_finfo): New structure defining named semaphore file content.
 | 
						|
	(sem_open): Move here.  Rework implementation to allow kernel
 | 
						|
	persistent implementation of POSIX named semaphores.
 | 
						|
	(_sem_close): Implement sem_close.
 | 
						|
	(sem_close): Move here.  Just call _sem_close with do_close parameter
 | 
						|
	set to true.
 | 
						|
	(sem_unlink): New function.
 | 
						|
	* pthread.cc (mangle_sem_name): Remove.
 | 
						|
	(sem_open): Move to posix_ipc.cc.
 | 
						|
	(sem_close): Ditto.
 | 
						|
	* syscalls.cc (close_all_files): Call semaphore::terminate here.
 | 
						|
	* thread.cc: Fix formatting.  Rearrange semaphore functions so that
 | 
						|
	they are close together.
 | 
						|
	(semaphore::semaphore): Rework to play nicely with new named semaphore
 | 
						|
	implementation.
 | 
						|
	(semaphore::_terminate): Call _sem_close if semaphore is a named
 | 
						|
	semaphore.
 | 
						|
	(semaphore::destroy): Don't destroy named semaphores.  Return EINVAL
 | 
						|
	instead.
 | 
						|
	(semaphore::close): Only destroy named semaphores.  Return EINVAL
 | 
						|
	otherwise.
 | 
						|
	(semaphore::open): Rework to play nicely with new named semaphore
 | 
						|
	implementation.  Loop through existing semaphores to be able to
 | 
						|
	return same sem_t pointer as a former call on the same named semaphore.
 | 
						|
	(semaphore::getinternal): New function called from _sem_close.
 | 
						|
	* thread.h (class List): Make mx and head public.
 | 
						|
	(class semaphore): Fix formatting.  Align method declarations with
 | 
						|
	implementation in thread.cc.  Add members used for named semaphores.
 | 
						|
	(semaphore::terminate): New static method.
 | 
						|
	* include/semaphore.h: Redefine SEM_FAILED.  Fix formatting.
 | 
						|
	(sem_unlink): Add declaration.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
 | 
						|
2007-02-20  Christopher Faylor  <me@cgf.cx>
 | 
						|
 | 
						|
	* exceptions.cc (_cygtls::signal_exit): Only call myself.exit when when
 | 
						|
	exit_state indicates that we've visited do_exit.
 | 
						|
	* sync.h (lock_process::lock_process): Use renamed exit_state -
 | 
						|
	ES_PROCESS_LOCKED.
 | 
						|
	* winsup.h: Rename ES_MUTO_SET to ES_PROCESS_LOCKED.
 | 
						|
 | 
						|
2007-02-20  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::bind): Remove printing wrong
 | 
						|
	errno in debug output.
 | 
						|
 | 
						|
2007-02-19  Christopher Faylor  <me@cgf.cx>
 | 
						|
 | 
						|
	Remove extraneous whitespace.
 | 
						|
	* pinfo.cc (commune_process): Use default argument to lock_process.
 | 
						|
	* sigproc.cc: Update copyright.
 | 
						|
	* select.cc: Ditto.
 | 
						|
 | 
						|
2007-02-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* posix_ipc.cc (mq_open): Avoid compiler warning.  Initialize mqhdr
 | 
						|
	before using it in file exists case.
 | 
						|
	* include/mqueue.h (mqd_t): Make non-pointer type.
 | 
						|
 | 
						|
2007-02-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* posix_ipc.cc (ipc_mutex_init): Create global object name.
 | 
						|
	(ipc_cond_init): Ditto.
 | 
						|
	(struct mq_hdr): Add mqh_uname member to store synchronization object
 | 
						|
	name.
 | 
						|
	(mq_open): Create unique synchronization object name and store in
 | 
						|
	mq_hdr->mqh_uname.  Use this name in calls to ipc_mutex_init and
 | 
						|
	ipc_cond_init.
 | 
						|
 | 
						|
2007-02-14  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in (DLL_OFILES): Add posix_ipc.o.
 | 
						|
	* cygwin.din (mq_close): Export.
 | 
						|
	(mq_getattr): Export.
 | 
						|
	(mq_notify): Export.
 | 
						|
	(mq_open): Export.
 | 
						|
	(mq_receive): Export.
 | 
						|
	(mq_send): Export.
 | 
						|
	(mq_setattr): Export.
 | 
						|
	(mq_timedreceive): Export.
 | 
						|
	(mq_timedsend): Export.
 | 
						|
	(mq_unlink): Export.
 | 
						|
	* posix_ipc.cc: New file implementing the above functions.  Move
 | 
						|
	shm_open and shm_unlink from syscalls.cc here.
 | 
						|
	* sysconf.cc (sca): Set value of _SC_MQ_OPEN_MAX to MQ_OPEN_MAX,
 | 
						|
	_SC_MQ_PRIO_MAX to MQ_PRIO_MAX, _SC_MESSAGE_PASSING to
 | 
						|
	_POSIX_MESSAGE_PASSING.
 | 
						|
	* include/limits.h (MQ_OPEN_MAX): Define.
 | 
						|
	(MQ_PRIO_MAX): Define.
 | 
						|
	* include/mqueue.h: New file.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
 | 
						|
2007-02-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/stdlib.h (valloc): Declare.
 | 
						|
	(memalign): Declare.
 | 
						|
 | 
						|
2007-02-09  Pierre A. Humblet  <Pierre.Humblet@ieee.org>
 | 
						|
 | 
						|
	* libc/minires-os-if.c (write_record): Handle DNS_TYPE_SRV and
 | 
						|
	some obsolete types.
 | 
						|
 | 
						|
2007-02-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (check_shm): New static function to do path checking
 | 
						|
	common to shm_open and shm_unlink.  Check for /dev/shm existance.
 | 
						|
	(shm_open): Call check_shm.
 | 
						|
	(shm_unlink): Ditto.
 | 
						|
 | 
						|
2007-02-08  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygwin.din (shm_open): Export.
 | 
						|
	(shm_unlink): Export.
 | 
						|
	* syscalls.cc (shm_open): New function.
 | 
						|
	(shm_unlink): New function.
 | 
						|
	* sysconf.cc (sca): Set value of _SC_SHARED_MEMORY_OBJECTS to
 | 
						|
	_POSIX_SHARED_MEMORY_OBJECTS.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
	* include/sys/mman.h (shm_open): Add prototype.
 | 
						|
	(shm_unlink): Ditto.
 | 
						|
 | 
						|
2007-02-08  Christopher Faylor <me@cgf.cx>
 | 
						|
	    Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygmalloc.h (__set_ENOMEM): Declare.
 | 
						|
	(MALLOC_FAILURE_ACTION): Call __set_ENOMEM.
 | 
						|
	* malloc_wrapper.cc (malloc) Remove setting errno here.
 | 
						|
	(realloc): Ditto.
 | 
						|
	(calloc): Ditto.
 | 
						|
	(memalign): Ditto.
 | 
						|
	(valloc): Ditto.
 | 
						|
	(posix_memalign): Save and restore errno.
 | 
						|
 | 
						|
2007-02-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygmalloc.h (MALLOC_FAILURE_ACTION): Move to correct #if branch.
 | 
						|
 | 
						|
2007-02-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygmalloc.h (MALLOC_FAILURE_ACTION): Define empty.
 | 
						|
	* cygwin.din (posix_madvise): Export.
 | 
						|
	(posix_memalign): Export.
 | 
						|
	* fhandler.cc (fhandler_base::fpathconf): Return useful values in
 | 
						|
	_PC_VDISABLE, _PC_SYNC_IO and _PC_SYMLINK_MAX cases.
 | 
						|
	* malloc_wrapper.cc (malloc): Set errno here since it's not set in
 | 
						|
	dlmalloc.c anymore.
 | 
						|
	(realloc): Ditto.
 | 
						|
	(calloc): Ditto.
 | 
						|
	(memalign): Ditto.
 | 
						|
	(valloc): Ditto.
 | 
						|
	(posix_memalign): New function.
 | 
						|
	* mmap.cc (posix_madvise): New function.
 | 
						|
	* sysconf.cc (get_open_max): New function.
 | 
						|
	(get_page_size): Ditto.
 | 
						|
	(get_nproc_values): Ditto.
 | 
						|
	(get_avphys): Ditto.
 | 
						|
	(sc_type): New type.
 | 
						|
	(sca): New array to map _SC_xxx options to sysconf return values.
 | 
						|
	(sysconf): Reimplement using sca array.
 | 
						|
	* include/limits.h: Add all missing values as defined by SUSv3.
 | 
						|
	* include/pthread.h (PTHREAD_DESTRUCTOR_ITERATIONS): Move definition
 | 
						|
	to sys/limits.h.
 | 
						|
	(PTHREAD_KEYS_MAX): Ditto.
 | 
						|
	* include/semaphore.h (SEM_VALUE_MAX): Ditto.
 | 
						|
	* include/cygwin/stdlib.h (posix_memalign): Declare.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
	* include/sys/mman.h: Add posix_madvise flags.
 | 
						|
	(posix_madvise): Declare.
 | 
						|
	* include/sys/termios.h (_POSIX_VDISABLE): Move definition to
 | 
						|
	sys/limits.h.
 | 
						|
 | 
						|
2007-02-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_serial.cc (fhandler_serial::tcsetattr): Add support for
 | 
						|
	baud rates up to 3000000 baud.  Add missing 128K and 256K cases.
 | 
						|
	(fhandler_serial::tcgetattr): Ditto.
 | 
						|
	* include/sys/termios.h: Add baud rate definitions from B460800 up to
 | 
						|
	B3000000.
 | 
						|
 | 
						|
2007-02-02  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (unlink_nt): Add missing assignment in case NtClose fails.
 | 
						|
 | 
						|
2007-02-01  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (ga_dup): New function, taken from ga_clone with v4-in-v6
 | 
						|
	mapping addition.
 | 
						|
	(ga_clone): Just call ga_dup from here.
 | 
						|
	(ga_duplist): New function to duplicate list of struct addrinfo.
 | 
						|
	(ga_echeck): Don't check ai_flags, it already happened in
 | 
						|
	cygwin_getaddrinfo.
 | 
						|
	(cygwin_freeaddrinfo): Always call ipv4_freeaddrinfo.
 | 
						|
	(cygwin_getaddrinfo): Use new wincap.supports_all_posix_ai_flags
 | 
						|
	flag rather than wincap.has_gaa_on_link_prefix.  Always duplicate
 | 
						|
	WinSock's addrinfo list to a self-allocated list.  Handle AI_V4MAPPED
 | 
						|
	for pre-Vista platforms supporting getaddrinfo.
 | 
						|
	* wincap.h (wincapc::supports_all_posix_ai_flags): New element.
 | 
						|
	* wincap.cc: Implement above element throughout.
 | 
						|
	* include/netdb.h: Note how AI_ADDRCONFIG is not supported pre-Vista.
 | 
						|
	Remove superfluous comment.
 | 
						|
 | 
						|
2007-02-01  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/socket.h: Add IPv6 socket options.
 | 
						|
 | 
						|
2007-01-31  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (cygwin_getaddrinfo): Fix thinko in AI_ADDRCONFIG handling.
 | 
						|
 | 
						|
2007-01-31  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (cygwin_getaddrinfo): Check ai_flags for valid values.
 | 
						|
	Handle AI_NUMERICSERV.  Handle AI_ADDRCONFIG behaviour on Vista.
 | 
						|
	* include/netdb.h (AI_NUMERICSERV): Add missing flag.
 | 
						|
 | 
						|
2007-01-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::closedir): Add dir name
 | 
						|
	to debug output.
 | 
						|
	* syscalls.cc (try_to_bin): Enable code to move file to user specific
 | 
						|
	recycler dir to eliminate Vista problem.
 | 
						|
	(unlink_nt): Add comment that rename after opening for delete on close
 | 
						|
	only fails on XP.
 | 
						|
 | 
						|
2007-01-30  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* sigproc.cc (child_info::child_info): Set msv_count to non-zero
 | 
						|
	value only on systems requiring it.
 | 
						|
 | 
						|
2007-01-28  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/ftw.h: Include sys/cdefs.h.
 | 
						|
 | 
						|
2007-01-26  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::rmdir): Implement rmdir
 | 
						|
	on NT by calling unlink_nt.  Check for directory here.
 | 
						|
	* syscalls.cc (try_to_bin): Fix buggy debug_printf statement.
 | 
						|
	(unlink_nt): Make non-static.  Don't use delete-on-close semantics on
 | 
						|
	directories.  Explain why.
 | 
						|
 | 
						|
2007-01-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (if_nametoindex): This time, really free IP_ADAPTER_ADDRESSES
 | 
						|
	memory.
 | 
						|
	(if_indextoname): Ditto.
 | 
						|
 | 
						|
2007-01-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* security.h (pop_thread_privilege): Revert to previous state, not
 | 
						|
	to token used for impersonation.
 | 
						|
 | 
						|
2007-01-24  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.h (cygheap_user::deimpersonate): Always RevertToSelf.
 | 
						|
 | 
						|
2007-01-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (gai_errmap): Add EAI_OVERFLOW entry.  Fix formatting.
 | 
						|
	(cygwin_gai_strerror): Drop using EAI_MAX.
 | 
						|
	(w32_to_gai_err): Ditto.
 | 
						|
	* include/netdb.h: Define EAI_OVERFLOW. Remove EAI_MAX.
 | 
						|
 | 
						|
2007-01-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/netdb.h: Add AI_xxx flags available since Vista.
 | 
						|
 | 
						|
2007-01-23  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* net.cc (if_nametoindex): Free IP_ADAPTER_ADDRESSES memory.
 | 
						|
	(if_indextoname): Ditto.
 | 
						|
	(if_nameindex): Ditto.  Remove duplicate indexed entries in result.
 | 
						|
 | 
						|
2007-01-21  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (WSAIoctl): Define.
 | 
						|
	(SendARP): Define.
 | 
						|
	* cygwin.din: Export if_freenameindex, if_indextoname, if_nameindex and
 | 
						|
	if_nametoindex.
 | 
						|
	* fhandler_procnet.cc: Drop including wchar.h.  Drop definitions of
 | 
						|
	GAA_FLAG_INCLUDE_ALL_INTERFACES, IP_ADAPTER_UNICAST_ADDRESS_VISTA.
 | 
						|
	(fhandler_procnet::exists): Check for has_gaa_prefixes.  Call
 | 
						|
	get_adapters_addresses here.
 | 
						|
	(fhandler_procnet::readdir): Ditto.
 | 
						|
	(prefix): Move to net.cc.
 | 
						|
	(fhandler_procnet::fill_filebuf): Call get_adapters_addresses here.
 | 
						|
	Simplify allocation.  Use AdapterName rather than FriendlyName as
 | 
						|
	interface name.  Use IfIndex if available, Ipv6IfIndex otherwise.
 | 
						|
	(in6_are_prefix_equal): Move to net.cc.
 | 
						|
	* fhandler_socket.cc: Define old SIOCGxxx values.
 | 
						|
	(CONV_OLD_TO_NEW_SIO): Convert old SIOCGxxx value to new one.
 | 
						|
	(struct __old_ifreq): Define old struct ifreq.
 | 
						|
	(fhandler_socket::ioctl): Handle old SIOCGxxx values.  Handle new
 | 
						|
	SIOCGIFFRNDLYNAM command.  Simplify copying ifreq data to user space.
 | 
						|
	Call get_ifconf with additional SOCKET parameter.
 | 
						|
	* net.cc (IP_ADAPTER_UNICAST_ADDRESS_LH): Define.
 | 
						|
	(IP_ADAPTER_ADDRESSES_LH): Define.
 | 
						|
	(SIO_GET_INTERFACE_LIST): Define.
 | 
						|
	(sockaddr_in6_old): Define.
 | 
						|
	(sockaddr_gen): Define.
 | 
						|
	(INTERFACE_INFO): Define.
 | 
						|
	(IN_LOOPBACK): Define.
 | 
						|
	(in_are_prefix_equal): New static function.
 | 
						|
	(ip_addr_prefix): New function, replaces prefix function, add AF_INET
 | 
						|
	handling.
 | 
						|
	(GAA_FLAG_INCLUDE_ALL_INTERFACES): Define.
 | 
						|
	(get_adapters_addresses): New function.
 | 
						|
	(WS_IFF_xxx): Define Winsock interface flag values.
 | 
						|
	(convert_ifr_flags): New function to convert Winsock interface flag
 | 
						|
	values to Cygwin interface flag values.
 | 
						|
	(get_xp_ifconf): New get_ifconf implementation for XP SP1 and above.
 | 
						|
	(get_2k_ifconf): Fix interface index.  Fix formatting.
 | 
						|
	(get_nt_ifconf): Fix formatting.
 | 
						|
	(get_95_ifconf): Ditto.
 | 
						|
	(get_ifconf): Take additional SOCKET parameter.  Call get_xp_ifconf
 | 
						|
	on XP SP1 and above.
 | 
						|
	(if_nametoindex): New function.
 | 
						|
	(if_indextoname): New function.
 | 
						|
	(if_nameindex): New function.
 | 
						|
	(if_freenameindex): New function.
 | 
						|
	(in6_are_prefix_equal): Moved here from fhandler_procnet.cc.
 | 
						|
	* wincap.cc (wincap_xp): Define has_gaa_prefixes as true by default.
 | 
						|
	(wincapc::init): Assume has_osversioninfoex by default.  Call
 | 
						|
	GetVersionEx with OSVERSIONINFOEX first.  Call with OSVERSIONINFO only
 | 
						|
	if that fails.  Simplify NT4 case and try to avoid strcmp.  Check XP
 | 
						|
	Service Pack using version.wServicePackMajor to avoid strcmp.
 | 
						|
	* include/asm/socket.h (SIOCGIFFRNDLYNAM): Define.
 | 
						|
	* include/cygwin/if.h: Fix formatting.
 | 
						|
	(IFF_POINTTOPOINT): Define.
 | 
						|
	(IFF_NOARP): Define.
 | 
						|
	(IFF_LOWER_UP): Define.
 | 
						|
	(IFF_DORMANT): Define.
 | 
						|
	(struct if_nameindex): Define.
 | 
						|
	(IFRF_FRIENDLYNAMESIZ): Define.
 | 
						|
	(struct ifreq_frndlyname): Define.
 | 
						|
	(IFNAMSIZ): Redefine as 44.
 | 
						|
	(IF_NAMESIZE): Define.
 | 
						|
	(struct ifreq): Redefine ifru_flags as int.  Define ifru_data.  Pad size
 | 
						|
	to sizeof sockaddr_in6 for further extensions.
 | 
						|
	(ifr_data): Define.
 | 
						|
	(ifr_frndlyname): Define.
 | 
						|
	(if_nametoindex): Declare.
 | 
						|
	(if_indextoname): Declare.
 | 
						|
	(if_nameindex): Declare.
 | 
						|
	(if_freenameindex): Declare.
 | 
						|
	* include/cygwin/version.h: Bump API minor number.
 | 
						|
	(CYGWIN_VERSION_CHECK_FOR_OLD_IFREQ): Define check for old vs. new
 | 
						|
	ifreq structure.
 | 
						|
 | 
						|
2007-01-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* spawn.cc (spawn_guts): Don't set cwd for non-Cygwin child processes
 | 
						|
	on NT to allow starting them in virtual directories.
 | 
						|
 | 
						|
2007-01-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* mmap.cc (list::hash): Fix type to __ino64_t.
 | 
						|
	(list::get_hash): Ditto.
 | 
						|
	(list::set): Add struct stat parameter.  Use that instead of calling
 | 
						|
	fstat.
 | 
						|
	(map::get_list_by_fd): Ditto.
 | 
						|
	(map::add_list): Ditto.
 | 
						|
	(mmap_is_attached_or_noreserve): Call get_list_by_fd appropriately.
 | 
						|
	(mmap_worker): Add pameters for map list and file stat information.
 | 
						|
	Propagate to called functions.
 | 
						|
	(mmap64): Use fstat on files early.  Replace call to GetFileSize.
 | 
						|
	Call get_list_by_fd and mmap_worker appropriately.
 | 
						|
 | 
						|
2007-01-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_procnet.cc: Drop declaration of htonl and ntohs.  Include
 | 
						|
	asm/byteorder.h instead.
 | 
						|
 | 
						|
2007-01-18  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/in6.h: Drop inclusion of asm/byteorder.h.
 | 
						|
	* fhandler_procnet.cc: Declare htonl and ntohs here.
 | 
						|
 | 
						|
2007-01-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* Makefile.in (DLL_OFILES): Add fhandler_procnet.o.
 | 
						|
	* autoload.cc (GetAdaptersAddresses): Define.
 | 
						|
	* devices.h (FH_PROCNET): Define new device.
 | 
						|
	* devices.in (dev_procnet_storage): Add "/proc/net" entry.
 | 
						|
	* devices.cc: Regenerate.
 | 
						|
	* dir.cc (readdir_worker): Use isproc_dev macro.
 | 
						|
	* dtable.cc (build_fh_pc): Add FH_PROCNET.
 | 
						|
	* fhandler.h (class fhandler_procnet): New class.
 | 
						|
	* fhandler_proc.cc: Add "net" subdirectory handling.
 | 
						|
	* fhandler_procnet.cc: New file handling "/proc/net" directory.
 | 
						|
	* path.cc (isvirtual_dev): Move to path.h.
 | 
						|
	* path.h (isproc_dev): New macro to identify /proc files by device.
 | 
						|
	(isvirtual_dev): Moved here.  Define using isproc_dev.
 | 
						|
	* syscalls.cc (unlink): Use isproc_dev macro.
 | 
						|
	* wincap.h (wincapc::has_gaa_prefixes): New element.
 | 
						|
	(wincapc::has_gaa_on_link_prefix): New element.
 | 
						|
	* wincap.cc: Implement above elements throughout.
 | 
						|
	(wincapc::init): Check XP for service pack and set has_gaa_prefixes
 | 
						|
	appropriately.
 | 
						|
	* include/cygwin/in6.h: Include asm/byteorder.h.
 | 
						|
 | 
						|
2007-01-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/asm/socket.h (SIOGIFINDEX): Define.
 | 
						|
 | 
						|
2007-01-17  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* mmap.cc (MapView9x): Note possible uselessness of retrying.
 | 
						|
	(MapViewNT): Ditto.
 | 
						|
	(mmap64): Fix pre-reservation to work for non NULL, non MAP_FIXED.
 | 
						|
 | 
						|
2007-01-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* autoload.cc (RtlAnsiStringToUnicodeString): Define.
 | 
						|
	(RtlOemStringToUnicodeString): Define.
 | 
						|
	* ntdll.h (struct _RTL_USER_PROCESS_PARAMETERS): Define.
 | 
						|
	(struct _PEB): Redefine with a bit of content.
 | 
						|
	(RtlAnsiStringToUnicodeString): Declare.
 | 
						|
	(RtlOemStringToUnicodeString): Declare.
 | 
						|
	* path.cc: Include ntdll.h.
 | 
						|
	(_upp): New global variable pointing to user process parameter block.
 | 
						|
	(get_user_proc_parms): New static function to retrieve user process
 | 
						|
	parameter block.
 | 
						|
	(close_user_proc_parms_cwd_handle): New function to close handle to
 | 
						|
	current working directory in user process parameter block.
 | 
						|
	(cwdstuff::init): Drop redundant declaration of dynamically_loaded.
 | 
						|
	Set current dir only on 9x.  Call close_user_proc_parms_cwd_handle
 | 
						|
	on NT instead.
 | 
						|
	(cwdstuff::keep_in_sync): Only on 9x.
 | 
						|
	(cwdstuff::set): Keep behaviour on 9x.  On NT write cwd path into user
 | 
						|
	process parameter block and set cwd handle to NULL.  Fix comments to
 | 
						|
	reflect new behaviour.
 | 
						|
 | 
						|
2007-01-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::ioctl): Handle SIOCGIFINDEX.
 | 
						|
	* net.cc (get_2k_ifconf): Ditto.
 | 
						|
	(get_nt_ifconf): Fake SIOCGIFINDEX.
 | 
						|
	(get_95_ifconf): Ditto.
 | 
						|
	(get_ifconf): Handle SIOCGIFINDEX.  Fake it for loopback on systems
 | 
						|
	not supporting IP Helper Lib.
 | 
						|
	* include/asm/socket.h (SIOCGIFINDEX): Define.
 | 
						|
	* include/cygwin/if.h (struct ifreq): Add member for interface index.
 | 
						|
	(ifr_ifindex): Define.
 | 
						|
 | 
						|
2007-01-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/in6.h (struct ipv6_mreq): Change type of interface
 | 
						|
	member to uint32_t.
 | 
						|
	(struct in6_pktinfo): Ditto.
 | 
						|
 | 
						|
2007-01-16  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/cygwin/in.h (struct ip_mreq_source): Define.
 | 
						|
	(struct ip_msfilter): Define.
 | 
						|
	(IP_MSFILTER_SIZE): Define.
 | 
						|
	(struct in_pktinfo): Define.
 | 
						|
	(struct group_req): Define.
 | 
						|
	(struct group_source_req): Define.
 | 
						|
	(struct group_filter): Define.
 | 
						|
	(GROUP_FILTER_SIZE): Define.
 | 
						|
	(INADDR_ALLRTRS_GROUP): Define.
 | 
						|
	* include/cygwin/socket.h: Define protocol agnostic multicast options.
 | 
						|
 | 
						|
2007-01-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* CYGWIN_LICENSE: Fix web pages and contact information.
 | 
						|
 | 
						|
2007-01-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ntdll.h: Adjust status definitions.
 | 
						|
 | 
						|
2007-01-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (cygheap_init): Add TODO comment.
 | 
						|
 | 
						|
2007-01-15  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* ntdll.h (STATUS_SHARING_VIOLATION): Define.
 | 
						|
 | 
						|
2007-01-13  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (unlink_nt): Don't move files to recycle bin which are
 | 
						|
	not in use.
 | 
						|
 | 
						|
2007-01-13  Christopher Faylor  <me@cgf.cx>
 | 
						|
 | 
						|
	* glob.cc: Update copyright notice with latest from FreeBSD.
 | 
						|
	(glob0): Use correct type for c variable to propagate previously
 | 
						|
	detected protection.
 | 
						|
 | 
						|
2007-01-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* cygheap.cc (_csbrk): Fix off-by-one error.
 | 
						|
	* cygwin.sc: Give .cygheap a minimum size of 512K.
 | 
						|
 | 
						|
2007-01-12  Christopher Faylor  <me@cgf.cx>
 | 
						|
 | 
						|
	* external.cc (sync_winenv): Use cur_environ () rather than
 | 
						|
	__cygwin_environ.
 | 
						|
 | 
						|
2007-01-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fork.cc (child_copy): Add missing Windows PID in debug output.
 | 
						|
 | 
						|
2007-01-12  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc: Update copyright.
 | 
						|
 | 
						|
2007-01-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* mmap.cc (mmap64): Pre-Reserve space for the whole mapping to get a
 | 
						|
	useful, valid address before the actual mappings take place.
 | 
						|
	Fix typo in comment.
 | 
						|
 | 
						|
2007-01-10  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (sync): Use b_drive for B: drive (Thanks to Howard Chu).
 | 
						|
 | 
						|
2007-01-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* syscalls.cc (getpagesize): Change condition for clarity.
 | 
						|
	(getsystempagesize): Ditto.
 | 
						|
 | 
						|
2007-01-09  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* mmap.cc: Do bookkeeping in 4K pages, rather than in 64K chunks.
 | 
						|
 | 
						|
2007-01-07  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* security.h (setacl): Add parameter for writability flag.
 | 
						|
	* sec_acl.cc (setacl): Ditto.  Set to true if any ACE with write
 | 
						|
	permissions is created.
 | 
						|
	* fhandler_disk_file.cc (fhandler_disk_file::facl): Reset
 | 
						|
	FILE_ATTRIBUTE_READONLY if ACL contains an ACE with write permissions.
 | 
						|
 | 
						|
2007-01-05  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* include/strings.h: Don't include string.h.  Only declare functions
 | 
						|
	according to SUSv3.
 | 
						|
 | 
						|
2007-01-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	(get_ifconf): Set MTU for loopback to more correct value.
 | 
						|
 | 
						|
2007-01-04  Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler_socket.cc (fhandler_socket::ioctl): Don't fake results
 | 
						|
	for SIOCGIFFLAGS here.  Call get_ifconf instead.
 | 
						|
	* net.cc (get_2k_ifconf): Clean up code to generate interface name.
 | 
						|
	Handle SIOCGIFFLAGS here.
 | 
						|
	(get_nt_ifconf): Fake SIOCGIFFLAGS here.
 | 
						|
	(get_95_ifconf): Ditto.
 | 
						|
	(get_ifconf): Don't fake loopback on systems with IP Helper Lib.
 | 
						|
	Set MTU for loopback to a more "modern" value.
 | 
						|
 | 
						|
2007-01-04  Brian Ford  <Brian.Ford@FlightSafety.com>
 | 
						|
	    Corinna Vinschen  <corinna@vinschen.de>
 | 
						|
 | 
						|
	* fhandler.h (PREFERRED_IO_BLKSIZE): Define as 64K.
 | 
						|
	* fhandler.cc (fhandler_base::fstat): Set st_blksize to
 | 
						|
	PREFERRED_IO_BLKSIZE.
 | 
						|
	* fhandler_disk_file.cc (fhandler_base::fstat_helper): Ditto.
 | 
						|
	* fhandler_mailslot.cc (fhandler_mailslot::fstat): Ditto.
 | 
						|
	* fhandler_raw.cc (fhandler_dev_raw::fstat): Ditto.
 | 
						|
 | 
						|
2007-01-01  Christopher Faylor  <me@cgf.cx>
 | 
						|
 | 
						|
	* spawn.cc (spawn_guts): Don't expect synchronization from a non-cygwin
 | 
						|
	_P_NOWAIT process.
 |