newlib-cygwin/winsup/cygwin/ChangeLog

391 lines
14 KiB
Plaintext
Raw Normal View History

2003-01-21 Pierre Humblet <pierre.humblet@ieee.org>
* path.h (etc::change_possible): Revert the type to bool.
(etc::set_last_modified): Remove obsolete function.
* path.cc (etc::change_possible): Revert type to bool.
(etc::test_file_change): Do not test for negative values of
change_possible and do not set it to -res.
(etc::dir_changed): When the handle is NULL, call memset instead of
test_file_changed. When the handle is invalid, return true.
(etc::file_changed): Remove unneeded check for !fn[n].
2003-01-21 13:08:55 +08:00
* uinfo.cc (pwdgrp::load): Eliminate spurious setting of fh to NULL.
* pwdgrp.h (etc): Move to path.h. (pwdgrp::max_lines): New field. (pwdgrp::curr_lines): New field. (pwdgrp::pwdgrp_buf): Ditto. (pwdgrp_buf_elem_size): Ditto. (pwdgrp_parse): Ditto. (pwdgrp::gets): Just declare here. (pwdgrp::load): Ditto. Just take one argument. (pwdgrp::load): Define overloaded function accepting passwd buf. (pwdgrp::load): Define overloaded function accepting group buf. * grp.cc: Use pwdgrp elements rather than standalone static variables throughout. (curr_lines): Eliminate. (max_lines): Ditto. (add_grp_line): Ditto. (parse_grp): Define as returning boolean. Accept void * arg and line count. Coerce first argument into __group32 buf reference. Increment curr_line as appropriate. (read_etc_group): Pass pwdgrp buffer to gr.load. * passwd.cc: Use pwdgrp elements rather than standalone static variables throughout. (curr_lines): Eliminate. (max_lines): Ditto. (add_grp_line): Ditto. (parse_passwd): Define as returning boolean. Accept void * arg and line count. Coerce first argument into passwd buf reference. Increment curr_line as appropriate. (read_etc_group): Pass pwdgrp buffer to pr.load. * path.cc (etc::fn): Extend buffer size to allow index by 1 rather than zero. (etc::last_modified): Ditto. (etc::change_possible): Ditto. Renamed from sawchange. Change to signed char since elements are now tri-state. (etc::init): Assume "handle" is 1 based rather than 0. (etc::test_file_change): New function. Sets change_possible based on file date comparison. (etc::dir_changed): Check file states immediately after changed_h is initialized to avoid a race. (etc::file_changed): Use test_file_change to detect if file needs to be updated. * path.h (etc): Move class here from pwdgrp.h. * uinfo.cc: Move etc:: functions to path.cc. Move pwdgrp functions here. (pwdgrp::gets): Eliminate buf checks. Just check eptr and set lptr. (pwdgrp::add_line): New function. (pwdgrp::load): Call generic add_line function which will call correct parser.
2003-01-20 10:57:54 +08:00
2003-01-19 Christopher Faylor <cgf@redhat.com>
* pwdgrp.h (etc): Move to path.h.
(pwdgrp::max_lines): New field.
(pwdgrp::curr_lines): New field.
(pwdgrp::pwdgrp_buf): Ditto.
(pwdgrp_buf_elem_size): Ditto.
(pwdgrp_parse): Ditto.
(pwdgrp::gets): Just declare here.
(pwdgrp::load): Ditto. Just take one argument.
(pwdgrp::load): Define overloaded function accepting passwd buf.
(pwdgrp::load): Define overloaded function accepting group buf.
* grp.cc: Use pwdgrp elements rather than standalone static variables
throughout.
(curr_lines): Eliminate.
(max_lines): Ditto.
(add_grp_line): Ditto.
(parse_grp): Define as returning boolean. Accept void * arg and line
count. Coerce first argument into __group32 buf reference. Increment
curr_line as appropriate.
(read_etc_group): Pass pwdgrp buffer to gr.load.
* passwd.cc: Use pwdgrp elements rather than standalone static variables
throughout.
(curr_lines): Eliminate.
(max_lines): Ditto.
(add_grp_line): Ditto.
(parse_passwd): Define as returning boolean. Accept void * arg and line
count. Coerce first argument into passwd buf reference. Increment
curr_line as appropriate.
(read_etc_group): Pass pwdgrp buffer to pr.load.
* path.cc (etc::fn): Extend buffer size to allow index by 1 rather than
zero.
(etc::last_modified): Ditto.
(etc::change_possible): Ditto. Renamed from sawchange. Change to
signed char since elements are now tri-state.
(etc::init): Assume "handle" is 1 based rather than 0.
(etc::test_file_change): New function. Sets change_possible based on
file date comparison.
(etc::dir_changed): Check file states immediately after changed_h is
initialized to avoid a race.
(etc::file_changed): Use test_file_change to detect if file needs to be
updated.
* path.h (etc): Move class here from pwdgrp.h.
* uinfo.cc: Move etc:: functions to path.cc. Move pwdgrp functions
here.
(pwdgrp::gets): Eliminate buf checks. Just check eptr and set lptr.
(pwdgrp::add_line): New function.
(pwdgrp::load): Call generic add_line function which will call correct
parser.
2003-01-17 Christopher Faylor <cgf@redhat.com>
* cygheap.cc: Change most 'int's to 'unsigned's.
(_cmalloc): Only check for size of malloced region when calculating
2003-01-18 11:43:48 +08:00
bucket. Add overhead when performing the sbrk. Previous change broke
_crealloc.
2003-01-17 Christopher Faylor <cgf@redhat.com>
* dcrt0.cc (initialize_env): Use colon for CYGWIN_DEBUG separator.
* grp.cc: Change most statics to NO_COPY throughout.
* passwd.cc: Ditto.
2003-01-17 Christopher Faylor <cgf@redhat.com>
* pwdgrp.h: Change some BOOLs to bools.
(pwdgrp::pwdgrp): Remove unneeded constructor.
* passwd.cc: Change BOOL to bool throughout.
2003-01-17 Corinna Vinschen <corinna@vinschen.de>
* cygwin.din: Add strerror_r.
* include/cygwin/version.h: Bump API minor number.
2003-01-17 Christopher Faylor <cgf@redhat.com>
* uinfo.cc (etc::dir_changed): Don't print a warning if can't open
/etc, unless debugging.
2003-01-17 Pierre Humblet <pierre.humblet@ieee.org>
* grp.cc (read_etc_group): On NT, add a line for gid = -1. Change name "unknown" to "mkgroup". (internal_getgrgid): Do not return default in nontsec case. (internal_getgroups): Add argument srchsid and look for it in groups if not NULL. * passwd.cc (read_etc_passwd): On NT, add a line for uid = -1. Use same default uid for Win95 and NT. Call cygheap_user::ontherange to initialize HOME. * cygheap.cc (init_cygheap::etc_changed): Move to uinfo.cc. * cygheap.h (init_cygheap::etc_changed_h): Remove. (init_cygheap::etc_changed): Ditto. * grp.cc (group_state): Remove. Use gr instead throughout. (gr): Define as class pwdgrp. (read_etc_group): Remove gr definition. Remove calls to set_last_modified and close. Pass add_grp to gr.load to load file. * passwd.cc (passwd_state): Remove. Use pr instead, throughout. (pr): Define as class pwdgrp. (read_etc_passwd): Remove pr definition. Remove calls to set_last_modified and close. Pass add_pwd_line to pr.load to load file. * pwdgrp.h (etc): New helper class for pwdgrp. (pwdgrp): Combine pwdgrp_check and pwdgrp_read into one class. Remove file_w32 and last_modified fields. (pwdgrp::set_last_modified): Remove. (pwdgrp::isinitializing): Remove FindFirstFile stuff. Move to etc::file_changed. (pwdgrp::load): Rename from 'open'. Call etc::init to initialize etc scanning. Close file handle after reading buffer into memory. Parse buffer by calling second argument. (pwdgrp::gets): Reorganize slightly to rely on eptr starting at beginning of buffer. Free buffer when memory exhausted. (pwdgrp::close): Remove. * uinfo.cc (etc::dir_changed): New function. (etc::init): Ditto. (etc::file_changed): Ditto. (etc::set_last_modified): Ditto.
2003-01-17 13:18:30 +08:00
* grp.cc (read_etc_group): On NT, add a line for gid = -1. Change name
"unknown" to "mkgroup".
(internal_getgrgid): Do not return default in nontsec case.
(internal_getgroups): Add argument srchsid and look for it in groups if
not NULL.
* passwd.cc (read_etc_passwd): On NT, add a line for uid = -1. Use
same default uid for Win95 and NT. Call cygheap_user::ontherange to
initialize HOME.
2003-01-16 Christopher Faylor <cgf@redhat.com>
* cygheap.cc (init_cygheap::etc_changed): Move to uinfo.cc.
* cygheap.h (init_cygheap::etc_changed_h): Remove.
(init_cygheap::etc_changed): Ditto.
* grp.cc (group_state): Remove. Use gr instead throughout.
(gr): Define as class pwdgrp.
(read_etc_group): Remove gr definition. Remove calls to
set_last_modified and close. Pass add_grp to gr.load to load file.
* passwd.cc (passwd_state): Remove. Use pr instead, throughout.
(pr): Define as class pwdgrp.
(read_etc_passwd): Remove pr definition. Remove calls to
set_last_modified and close. Pass add_pwd_line to pr.load to load
file.
* pwdgrp.h (etc): New helper class for pwdgrp.
(pwdgrp): Combine pwdgrp_check and pwdgrp_read into one class. Remove
file_w32 and last_modified fields.
(pwdgrp::set_last_modified): Remove.
(pwdgrp::isinitializing): Remove FindFirstFile stuff. Move to
etc::file_changed.
(pwdgrp::load): Rename from 'open'. Call etc::init to initialize etc
scanning. Close file handle after reading buffer into memory. Parse
buffer by calling second argument.
(pwdgrp::gets): Reorganize slightly to rely on eptr starting at
2003-01-17 13:29:23 +08:00
beginning of buffer.
* grp.cc (read_etc_group): On NT, add a line for gid = -1. Change name "unknown" to "mkgroup". (internal_getgrgid): Do not return default in nontsec case. (internal_getgroups): Add argument srchsid and look for it in groups if not NULL. * passwd.cc (read_etc_passwd): On NT, add a line for uid = -1. Use same default uid for Win95 and NT. Call cygheap_user::ontherange to initialize HOME. * cygheap.cc (init_cygheap::etc_changed): Move to uinfo.cc. * cygheap.h (init_cygheap::etc_changed_h): Remove. (init_cygheap::etc_changed): Ditto. * grp.cc (group_state): Remove. Use gr instead throughout. (gr): Define as class pwdgrp. (read_etc_group): Remove gr definition. Remove calls to set_last_modified and close. Pass add_grp to gr.load to load file. * passwd.cc (passwd_state): Remove. Use pr instead, throughout. (pr): Define as class pwdgrp. (read_etc_passwd): Remove pr definition. Remove calls to set_last_modified and close. Pass add_pwd_line to pr.load to load file. * pwdgrp.h (etc): New helper class for pwdgrp. (pwdgrp): Combine pwdgrp_check and pwdgrp_read into one class. Remove file_w32 and last_modified fields. (pwdgrp::set_last_modified): Remove. (pwdgrp::isinitializing): Remove FindFirstFile stuff. Move to etc::file_changed. (pwdgrp::load): Rename from 'open'. Call etc::init to initialize etc scanning. Close file handle after reading buffer into memory. Parse buffer by calling second argument. (pwdgrp::gets): Reorganize slightly to rely on eptr starting at beginning of buffer. Free buffer when memory exhausted. (pwdgrp::close): Remove. * uinfo.cc (etc::dir_changed): New function. (etc::init): Ditto. (etc::file_changed): Ditto. (etc::set_last_modified): Ditto.
2003-01-17 13:18:30 +08:00
(pwdgrp::close): Remove.
* uinfo.cc (etc::dir_changed): New function.
(etc::init): Ditto.
(etc::file_changed): Ditto.
(etc::set_last_modified): Ditto.
2003-01-16 Jason Tishler <jason@tishler.net>
* mmap.cc (fixup_mmaps_after_fork): Add ERROR_NOACCESS to the list of
ReadProcessMemory() error codes that trigger a retry with temporary
PAGE_READONLY access. Note that this can occur on NT 4.0.
2003-01-15 Christopher Faylor <cgf@redhat.com>
* path.cc (normalize_posix_path): Convert win32 path separators to
slashes when full path is specified.
2003-01-15 Pierre Humblet <pierre.humblet@ieee.org>
* cmalloc.cc (_cmalloc): Fix memory leak.
2003-01-15 Corinna Vinschen <corinna@vinschen.de>
* autoload.cc: Fix copyright date.
* fhandler_dsp.cc: Ditto.
* mmap.cc: Ditto.
* net.cc: Ditto.
* ntdll.h: Ditto.
* signal.cc: Ditto.
* syscalls.cc: Ditto.
* uname.cc: Ditto.
* wait.cc: Ditto.
2003-01-14 Corinna Vinschen <corinna@vinschen.de>
* mmap.cc (fixup_mmaps_after_fork): Copy protection to child process.
Change ambiguous debug output.
2003-01-14 Corinna Vinschen <corinna@vinschen.de>
* mmap.cc (mmap_record::access): Change argument type to caddr_t
for strictness.
(mprotect): Protect against calling VirtualProtect() for shared
pages on 9x/Me.
(fixup_mmaps_after_fork): If ReadProcessMemory() fails, try to
change protection of parent page to PAGE_READONLY, then try again.
Revert protection afterwards.
2003-01-15 04:19:27 +08:00
2003-01-14 Thomas Pfaff <tpfaff@gmx.net>
* syscalls.cc (system): Add pthread_testcancel call.
* thread.cc: Update list of cancellation points.
2003-01-15 04:13:09 +08:00
2003-01-14 Thomas Pfaff <tpfaff@gmx.net>
* wait.cc: Include thread.h
(wait4): Add pthread_testcancel call.
Wait for child process and cancellation event.
* thread.cc: Update list of cancellation points.
2003-01-15 04:05:49 +08:00
2003-01-14 Thomas Pfaff <tpfaff@gmx.net>
* signal.cc (sleep): Add pthread_testcancel call.
Wait for signal and cancellation event.
(usleep): Ditto.
2003-01-14 Thomas Pfaff <tpfaff@gmx.net>
2003-01-15 03:55:42 +08:00
* exceptions.cc (handle_sigsuspend): Add pthread_testcancel call.
Wait for signal and cancellation event.
* thread.cc: Update list of cancellation points.
2003-01-14 David Huang <davehzhr@hotmail.com>
* fhandler_dsp.cc (fhandler_dsp::ioctl): Add limited support for
SNDCTL_DSP_GETFMTS.
2003-01-13 11:55:00 +08:00
2003-01-12 Christopher Faylor <cgf@redhat.com>
* ntdll.h: Fix typo.
2003-01-12 Corinna Vinschen <corinna@vinschen.de>
* uname.cc (uname): Use cygwin_gethostname() to retrieve hostname.
2003-01-12 Pierre Humblet <pierre.humblet@ieee.org>
* sec_acl.cc (search_ace): Use id == -1, instead of < 0, as wildcard.
(setacl): Start the search for a matching default at the next entry.
Invalidate the type of merged entries instead of clearing it.
Use well_known_creator for default owner and owning group and do
not try to merge non-default and default entries in these cases.
(getacl): Recognize well_known_creator for default owner and group.
(acl_worker): Improve errno settings and streamline the nontsec case.
* security.cc (write_sd): Remove the call to set_process_privilege.
(alloc_sd): If the owner changes, call set_process_privilege and return
immediately on failure. Change inheritance rules: on new directories add
inherit only allow ACEs for creator_owner, creator_group and everyone.
Preserve all inheritances through chmod and chown calls. Introduce
isownergroup to implement the uid == gid case, to keep the inheritance
code simple. Do not initialize owner_sid and group_sid and stop using
the variable psd.
2003-01-10 Christopher Faylor <cgf@redhat.com>
* net.cc: Use gethostname define from winsock2.h.
2003-01-10 Christopher Faylor <cgf@redhat.com>
* path.cc: Unrevert below reversion except for
mount_info::conv_to_posix_path part.
2003-01-10 Corinna Vinschen <corinna@vinschen.de>
* path.cc: Revert patch from 2003-01-09 to normalize a windows path
rather than converting to posix.
2003-01-10 Corinna Vinschen <corinna@vinschen.de>
* autoload.cc (gethostname): Make call optional, return 1 if function
can't get loaded.
* net.cc (cygwin_gethostname): Call GetComputerName if return value
of gethostname is non-zero.
2003-01-10 Charles Wilson <cwilson@ece.gatech.edu>
2003-01-15 12:39:34 +08:00
* cygwin.din: Add asprintf and vasprintf, as well as the reentrant
versions and underscore variants.
2003-01-15 12:39:34 +08:00
* include/cygwin/version.h: Bump CYGWIN_VERSION_API_MINOR.
2003-01-10 Corinna Vinschen <corinna@vinschen.de>
* net.cc (cygwin_gethostname): Fix call to wsock function gethostname.
2003-01-09 Christopher Faylor <cgf@redhat.com>
* cygthread.cc (cygthread::cygthread): Be more noisy about odd
condition.
* miscfuncs.cc (low_priority_sleep): Sleep in regular priority if
that's what we're currently running at.
2003-01-10 05:14:33 +08:00
2003-01-09 Thomas Pfaff <tpfaff@gmx.net>
* include/semaphore.h: Modify typedef for sem_t.
* include/cygwin/types.h: Modify typedefs for pthread_t,
pthread_mutex_t, pthread_key_t, pthread_attr_t,
pthread_mutexattr_t, pthread_condattr_t, pthread_cond_t,
pthread_rwlock_t and pthread_rwlockattr_t.
2003-01-10 04:57:54 +08:00
2003-01-09 Thomas Pfaff <tpfaff@gmx.net>
* thread.h (WAIT_CANCELED): New define.
(pthread::cancelable_wait): New static method.
* thread.cc (pthread::cancelable_wait): Implement.
(semaphore::Wait): Wait on semaphore and thread cancellation.
(pthread::join): Wait on joined thread and thread cancellation.
(semaphore::wait): Add testcancel to check for thread
cancellation even if the semaphore is available.
2003-01-10 04:50:23 +08:00
2003-01-09 Thomas Pfaff <tpfaff@gmx.net>
* include/pthread.h: Add define for errorchecking mutexes.
Change default mutex type.
* thread.cc (pthread_cond::TimedWait): Update mutex unlock
calls.
(pthread_mutex::pthread_mutex): New implement.
(pthread_mutex::~pthread_mutex): Ditto.
(pthread_mutex::Lock): Ditto.
(pthread_mutex::TryLock): Ditto.
(pthread_mutex::UnLock): Ditto.
(pthread_mutex::Destroy): Implement new method.
(pthread_mutex::SetOwner): Ditto.
(pthread_mutex::LockRecursive): Ditto.
(pthread_mutex::fixup_after_fork): Restore locking state after
fork.
(__pthread_mutex_lock): Return pthread_mutex::Lock errorcode.
(__pthread_mutex_trylock): Return pthread_mutex::TryLock
errorcode.
(__pthread_mutex_unlock): Return pthread_mutex::UnLock
errorcode.
(__pthread_mutex_destroy): Call pthread_mutex::Destroy to
2003-01-15 03:55:42 +08:00
destroy mutex.
2003-01-10 04:50:23 +08:00
(__pthread_mutexattr_settype): Allow errorchecking and recursive
types.
* thread.h (MUTEX_LOCK_COUNTER_INITIAL): New define.
(pthread_mutex::criticalsection): Remove.
(pthread_mutex::lock_counter): New member.
(pthread_mutex::recursion_counter): Ditto.
(pthread_mutex::owner): Ditto.
(pthread_mutex::type): Ditto.
(pthread_mutex::Destroy): New method.
(pthread_mutex::SetOwner): Ditto.
(pthread_mutex::LockRecursive): Ditto.
2003-01-10 04:40:44 +08:00
2003-01-09 Thomas Pfaff <tpfaff@gmx.net>
* pthread.cc (pthread_cond_init): Use new pthread_cond::init.
* thread.cc: Some white spaces cleanups.
Change __pthread_cond_init to pthread_cond::init throughout.
(nativeMutex): Move class methods outside pthread_mutex.
(MTinterface::Init): Initialize pthread_cond init lock.
(pthread_cond::condInitializationLock): Instantiate.
(pthread_cond::initMutex): New Method.
(pthread_cond::isGoodInitializerOrBadObject): Ditto.
* thread.h: Some white spaces cleanups.
(nativeMutex): Move class declaration outside pthread_mutex.
(pthread_cond::condInitializationLock): New static member.
(pthread_cond::initMutex): New Method.
(pthread_cond::isGoodInitializerOrBadObject): Ditto.
(__pthread_cond_init): Remove prototype.
2003-01-09 Corinna Vinschen <corinna@vinschen.de>
* fhandler_disk_file.cc (num_entries): Return 2 as link count if
directory unreadable.
2003-01-09 Corinna Vinschen <corinna@vinschen.de>
* security.cc (get_nt_attribute): Always return -1 when read_sd()
fails.
(get_file_attribute): Set permissions to 0 and owner/group to -1
if security descriptor is unreadable.
2003-01-09 Christopher Faylor <cgf@redhat.com>
Use isdirsep rather than SLASH_P throughout.
* path.cc (iscygdrive): Disallow /cygdrive\x.
(normalize_posix_path): "Normalize" a windows path, if detected, rather
than converting to posix.
2003-01-06 Troy Curtiss <troyc@usa.net>
* fhandler_serial.cc (fhandler_serial::tcsetattr): Add support and
capability checking for B230400 bitrate.
(fhandler_serial::tcgetattr): Add support for B230400 bitrate.
* include/sys/termios.h: Add B230400 definition for Posix support of
230.4Kbps.
2003-01-05 Christopher Faylor <cgf@redhat.com>
* pinfo.cc (_pinfo::commune_send): Use myself->lock rather than just
lock when leaving.
2003-01-03 Christopher Faylor <cgf@redhat.com>
* dtable.h (dtable::in_vfork_cleanup): New function. True if vfork
cleanup needed.
* dtable.cc (dtable::vfork_parent_restore): Remove assertion.
* pipe.cc (fhandler_pipe::close): Don't close read_state during
fork_fixup since it wasn't inherited.
2003-01-01 Christopher Faylor <cgf@redhat.com>
* passwd.cc (getpwuid_r32): Revert previous change.
2003-01-01 Christopher Faylor <cgf@redhat.com>
* sysconf.cc (sysconf): Return arbitrary values for
_SC_GETGR_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_GETPW_R_SIZE_MAX.
* passwd.cc (getpwuid_r32): Add uid/gid fields to size check
calculation.