eea4e48208
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.
1566 lines
59 KiB
Plaintext
1566 lines
59 KiB
Plaintext
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 changge throughout Cygwin.
|
|
(cygheap_user::imp_token): Rename from token. Accommodate changge
|
|
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.
|