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