afcd48e61b
* net.cc (fdsock): Call set_r_no_interrupt.
3308 lines
123 KiB
Plaintext
3308 lines
123 KiB
Plaintext
2002-07-31 Conrad Scott <conrad.scott@dsl.pipex.com>
|
|
|
|
* fhandler.h (fhandler_base::get_r_no_interrupt): Make non-virtual.
|
|
* net.cc (fdsock): Call set_r_no_interrupt.
|
|
|
|
2002-07-30 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* syscalls.cc (_read): Clarify debugging output.
|
|
|
|
2002-07-30 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler.h (fhandler_base::get_r_no_interrupt): Make virtual.
|
|
|
|
2002-07-30 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_disk_file.cc (fhandler_cygdrive::set_drives): Incorporate .
|
|
and .. processing here.
|
|
(fhandler_cygdrive::readdir): Assume . and .. are already in pdrive.
|
|
(fhandler_cygdrive::seekdir): Ditto.
|
|
|
|
2002-07-29 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Move debug_fixup_after_fork_exec.
|
|
* cygheap.cc (cygheap_fixup_in_child): Call debug_fixup_after_fork_exec
|
|
immediately after cygheap has been set up.
|
|
|
|
2002-07-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc: Change some formatting.
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
2002-07-28 Pierre Humblet <Pierre.Humblet@ieee.org>
|
|
|
|
* cygheap.h (class cygheap_user): Add member groups.
|
|
* security.h (class cygsidlist): Add members type and maxcount, methods
|
|
position, addfromgr, alloc_sids and free_sids and operator+= (const
|
|
PSID psid). Modify contains () to call position () and optimize add ()
|
|
to use maxcount.
|
|
(class user_groups): Create. Update declarations of verify_token and
|
|
create_token.
|
|
* security.cc (cygsidlist::alloc_sids): New.
|
|
(cygsidlist::free_sids): New.
|
|
(get_token_group_sidlist): Create from get_group_sidlist.
|
|
(get_initgroups_sidlist): Create from get_group_sidlist.
|
|
(get_group_sidlist): Suppress.
|
|
(get_setgroups_sidlist): Create.
|
|
(verify_token): Modify arguments. Add setgroups case.
|
|
(create_token): Modify arguments. Call get_initgroups_sidlist and
|
|
get_setgroups_sidlist as needed. Set SE_GROUP_LOGON_ID from auth_pos
|
|
outside of the loop. Rename the various group sid lists consistently.
|
|
* syscalls.cc (seteuid32): Modify to use cygheap->user.groups.
|
|
(setegid32): Call cygheap->user.groups.update_pgrp.
|
|
* grp.cc (setgroups): Create.
|
|
(setgroups32): Create.
|
|
* uinfo.cc (internal_getlogin): Initialize and update
|
|
user.groups.pgsid.
|
|
* cygwin.din: Add setgroups and setgroups32.
|
|
|
|
2002-07-28 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_console.cc (fhandler_console::read): Use appropriate
|
|
kill_pgrp method.
|
|
* select.cc (peek_console): Ditto.
|
|
* fhandler_termios.cc (fhandler_termios::bg_check): Send "stopped"
|
|
signal to entire process group as dictated by SUSv3.
|
|
* termios.cc (tcsetattr): Detect when stopped signal sent and force a
|
|
stop before setting anything.
|
|
|
|
2002-07-26 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* include/cygwin/version.h: Bump API version to indicate that ntsec is
|
|
on by default now.
|
|
|
|
2002-07-26 Conrad Scott <conrad.scott@dsl.pipex.com>
|
|
|
|
* fhandler_registry.cc (fhandler_registry::close): Return any error
|
|
result to the caller.
|
|
* syscalls.cc (_close): Return result of fhandler::close to the caller.
|
|
|
|
2002-07-25 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* security.cc (allow_ntsec): Default to on.
|
|
(allow_smbntsec): Default to off.
|
|
|
|
2002-07-24 David MacMahon <davidm@smartsc.com>
|
|
|
|
* times.cc (to_time_t): Always round time_t down to nearest second.
|
|
|
|
2002-07-25 Egor Duda <deo@logos-m.ru>
|
|
|
|
* Makefile.in: Check if API version is updated when exports are
|
|
changed and stop if not so.
|
|
|
|
2002-07-24 Egor Duda <deo@logos-m.ru>
|
|
|
|
* include/cygwin/version.h: Bump minor API version.
|
|
|
|
2002-07-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_serial.cc: Change 'must_init_serial_line capability'
|
|
to 'supports_reading_modem_output_lines' throughout (negated meaning).
|
|
* wincap.cc: Ditto.
|
|
* wincap.h: Ditto.
|
|
|
|
2002-07-23 Nicholas Wourms <nwourms@netscape.net>
|
|
|
|
* cygwin.din (fcloseall): Add symbol for export.
|
|
(fcloseall_r): Ditto.
|
|
|
|
2002-07-24 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* path.cc (path_conv::check): Always set fileattr when component == 0.
|
|
(readlink): Use path_conv method rather than field.
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Ditto,
|
|
throughout.
|
|
* path.h (path_conv): Make fileattr private.
|
|
* exceptions.cc (try_to_debug): Default to idle priority when looping.
|
|
|
|
2002-07-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_serial.cc: Use must_init_serial_line capability throughout.
|
|
* wincap.cc: Set flag must_init_serial_line appropriately.
|
|
* wincap.h: Add flag must_init_serial_line.
|
|
|
|
2002-07-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (get_group_sidlist): Create group list from /etc files
|
|
even if DC is available but access fails.
|
|
|
|
2002-07-22 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_serial.cc: Fix formatting problems introduced by below
|
|
changes.
|
|
|
|
2002-07-22 Jacek Trzcinski <jacek@certum.pl>
|
|
|
|
* fhandler.h (class fhandler_serial): Add new members of the class -
|
|
rts,dtr and method ioctl(). Variables rts and dtr important for Win 9x
|
|
only.
|
|
* fhandler_serial.cc (fhandler_serial::open): Add initial setting of
|
|
dtr and rts. Important for Win 9x only.
|
|
(fhandler_serial::ioctl): New function. Implements commands TIOCMGET,
|
|
TIOCMSET and TIOCINQ.
|
|
(fhandler_serial::tcflush): Fixed found error.
|
|
(fhandler_serial::tcsetattr): Add settings of rts and dtr. Important
|
|
for Win 9x only.
|
|
* termios.h: Add new defines as a support for ioctl() function on
|
|
serial device.
|
|
|
|
2002-07-20 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* autoload.cc (LoadDLLprime): Add jmp call to allow streamlining of
|
|
later jmp rewrite.
|
|
(doit): Avoid use of cx register. Just change one word to avoid races.
|
|
|
|
2002-07-18 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* security.cc (get_unix_group_sidlist): Create.
|
|
(get_supplementary_group_sidlist): Evolve into get_unix_group_sidlist.
|
|
(get_user_local_groups): Add check for duplicates.
|
|
(get_user_primary_group): Suppress.
|
|
(get_group_sidlist): Silently ignore PDC unavailability.
|
|
Call get_unix_group_sidlist() before get_user_local_groups().
|
|
Remove call to get_supplementary_group_sidlist(). Never call
|
|
get_user_primary_group() as the passwd group is always included.
|
|
Add well_known_authenticated_users_sid in only one statement.
|
|
|
|
2002-07-19 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_serial.cc (fhandler_serial::tcflush): Fix typo.
|
|
|
|
2002-07-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (get_group_sidlist): Fix formatting.
|
|
|
|
2002-07-14 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dcrt0.cc (initial_env): Force path and CYGWIN_DEBUG contents to lower
|
|
case.
|
|
* exceptions.cc (error_start_init): Use the name derived from
|
|
GetModuleName rather than myself->progname.
|
|
|
|
2002-07-14 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Move debug_init call back to here. Avoid a
|
|
compiler warning.
|
|
* shared.cc (memory_init): Remove debug_init call.
|
|
* debug.h (handle_list): Change "clexec" to "inherited".
|
|
* debug.cc: Remove a spurious declaration.
|
|
(setclexec): Conditionalize away since it is currently unused.
|
|
(add_handle): Use inherited field rather than clexec.
|
|
(debug_fixup_after_fork_exec): Ditto. Move debugging output to
|
|
delete_handle.
|
|
(delete_handle): Add debugging output.
|
|
* fhandler.cc (fhandler_base::set_inheritance): Don't bother setting
|
|
inheritance in debugging table since the handle was never protected
|
|
anyway.
|
|
(fhandler_base::fork_fixup): Ditto.
|
|
|
|
* exceptions.cc (debugger_command): Revert.
|
|
|
|
2002-07-14 Conrad Scott <conrad.scott@dsl.pipex.com>
|
|
|
|
* debug.cc (clexec): Add missing `hl = hl->next'.
|
|
|
|
2002-07-14 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* Makefile.in (cygrun.exe): Add a -lcygwin on the end.
|
|
|
|
2002-07-14 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* Makefile.in (cygserver.exe): Add -lstdc++.
|
|
(cygrun.exe): Move -lgcc last.
|
|
|
|
2002-07-13 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Delay closing of some handles until cygheap
|
|
has been set up.
|
|
(break_here): New function, for debugging.
|
|
(initial_env): Add program name to "Sleeping" message. Implement new
|
|
"CYGWIN_DEBUG" environment variable option.
|
|
* exceptions.cc (debugger_command): Add argument to dumper call.
|
|
* strace.cc (strace::hello): Use winpid if cygwin pid is unavailable.
|
|
(strace::vsprntf): Ditto.
|
|
|
|
2002-07-13 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* debug.h (handle_list): Move here from debug.cc. Add "inherit" flag
|
|
functionality.
|
|
* cygheap.cc (init_cheap): Move cygheap_max calculation to _csbrk.
|
|
(_csbrk): Reorganize to not assume first allocation is <= 1 page.
|
|
(cygheap_setup_for_child): Mark protected handle as inheritable.
|
|
* cygheap.h (cygheap_debug): New struct.
|
|
(init_cygheap): Add new structure when debugging.
|
|
* dcrt0.cc (dll_crt0_1): Remove call to debug_init. Close ppid_handle
|
|
here, if appropriate. Don't protect subproc_ready, since it is already
|
|
protected in the parent. Call memory_init prior to ProtectHandle to
|
|
ensure that cygheap is set up. Call debug_fixup_after_fork_exec when
|
|
appropriate.
|
|
(_dll_crt0): Don't close ppid_handle here.
|
|
* debug.cc: Use cygheap debug structure rather than static elements
|
|
throughout.
|
|
(add_handle): Don't issue a warning if attempt to protect handle in
|
|
exactly the same way from exactly the same place. Add pid info to
|
|
warning output. Accept additional argument controlling whether handle
|
|
is to be inherited. Add pid to stored information.
|
|
(debug_fixup_after_fork_exec): Renamed from debug_fixup_after_fork.
|
|
Reorganize to avoid erroneously skipping handles.
|
|
(mark_closed): Add pid info to warning output.
|
|
(setclexec): Rename from setclexec_pid.
|
|
* fhandler.cc (fhandler_base::get_default_fmode): Minor reorg.
|
|
(fhandler_base::fstat): Add debugging output.
|
|
(fhandler_base::set_inheritance): Call setclexec rather than
|
|
setclexec_pid.
|
|
(fhandler_base::fork_fixup): Ditto.
|
|
* fhandler_console.cc (get_tty_stuff): Mark protected handle as
|
|
inheritable.
|
|
* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
|
|
* tty.cc (tty::make_pipes): Ditto.
|
|
(tty::common_init): Ditto.
|
|
* fork.cc (fork_parent): Ditto.
|
|
(fork_child): Close protected handles with correct name. Remove
|
|
debug_fixup_after_fork call.
|
|
* fhandler_socket.cc (fhandler_socket::create_secret_event): Mark
|
|
protected handle as inheritable/non-inheritable, as appropriate.
|
|
* shared.cc (memory_init): Mark protected handle as inheritable.
|
|
Call debug_init here.
|
|
* sigproc.cc (wait_sig): Close protected handle with correct name.
|
|
* spawn.cc (spawn_guts): Rename spr to subproc_ready and mark it as
|
|
inheritable.
|
|
|
|
* exceptions.cc (debugger_command): Try to run dumper.exe, if found.
|
|
|
|
* syscalls.cc (fstat64): Don't follow symlinks for path_conv lookup
|
|
since path is already resolved.
|
|
|
|
2002-07-12 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygwin.din: Change erroneous entries.
|
|
|
|
2002-07-11 Pavel Tsekov <ptsekov@gmx.net>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::open): Don't
|
|
move the file pointer to the end of file if O_APPEND is
|
|
specified in the open flags.
|
|
|
|
2002-07-09 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* debug.cc: Avoid explicit zeroing of globals.
|
|
(lock_debug): Make locker a static member. Avoid unlocking when
|
|
already unlocked (from Conrad Scott).
|
|
(debug_init): Initialize lock_debug::locker here.
|
|
* fork.cc (fork_child): Fix up fdtab earlier to avoid some (but not
|
|
all) confusion with close-on-exec craziness.
|
|
|
|
2002-07-05 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (fhandler_socket::is_unconnected): Constify.
|
|
(fhandler_socket::is_connect_pending): Ditto.
|
|
(fhandler_socket::is_connected): Ditto.
|
|
(fhandler_socket::set_connect_state): New method.
|
|
(struct select_record): Add member `except_on_write'.
|
|
(select_record::select_record): Initialize all bool values to `false'.
|
|
* fhandler_socket.cc: Use set_connect_state() method throughout.
|
|
(fhandler_socket::connect): Set state always to connected if connection
|
|
isn't pending.
|
|
* net.cc (cygwin_getsockopt): Revert erroneous previous patch.
|
|
* select.cc (set_bits): Check for `except_on_write'. Set fd in
|
|
write_fds if set. Set connect state to connected if fd has been
|
|
returned by WINSOCK_SELECT.
|
|
(peek_socket): Check for `except_on_write'.
|
|
(start_thread_socket): Ditto.
|
|
(fhandler_socket::select_write): Don't set `write_ready' if connect
|
|
is pending. Set `except_on_write' if connect is pending.
|
|
|
|
2002-07-05 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* ntdll.h (_SYSTEM_PROCESSOR_TIMES): Force eight byte alignment.
|
|
(_SYSTEM_TIME_OF_DAY_INFORMATION): Ditto.
|
|
|
|
* path.cc (suffix_scan::has): Reorganize to eliminate double scanning
|
|
for for .exe (in the typical case).
|
|
|
|
2002-07-05 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (UNCONNECTED): New define.
|
|
(CONNECT_PENDING): Ditto.
|
|
(CONNECTED): Ditto.
|
|
(class fhandler_socket): Add member `had_connect_or_listen'.
|
|
Add member functions `is_unconnected', `is_connect_pending' and
|
|
`is_connected'.
|
|
* fhandler_socket.cc (fhandler_socket::connect): Set member
|
|
`had_connect_or_listen' according to return code of WinSock
|
|
call.
|
|
(fhandler_socket::listen): Ditto.
|
|
* net.cc (cygwin_getsockopt): Modify SO_ERROR return value in
|
|
case of socket with pending connect().
|
|
* select.cc (peek_socket): Only add socket to matching fd_set
|
|
if it's not "ready". Call WINSOCK_SELECT only if at least one
|
|
socket is in one of the fd_sets.
|
|
(start_thread_socket): Only add socket to matching fd_set
|
|
if it's not "ready".
|
|
(fhandler_socket::select_write): Set write_ready to true also
|
|
if socket isn't connected or listening.
|
|
|
|
2002-07-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::set_sun_path): Don't free
|
|
memory here. Allow NULL parameter.
|
|
|
|
2002-07-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::dup): Add missing copy operation
|
|
on sun_path.
|
|
|
|
2002-07-03 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor number.
|
|
|
|
2002-07-03 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* include/sys/statfs.h: New header file.
|
|
|
|
2002-07-03 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dtable.cc (cygwin_attach_handle_to_fd): Default to implicit bin mode
|
|
if none specified.
|
|
* fhandler.cc (fhandler_base::init): Make bin argument a guarantee
|
|
rather than a suggestion.
|
|
* path.cc (path_conv::check): Load flag returned from
|
|
cygwin_conv_to_win32_path into path_flags.
|
|
|
|
2002-07-03 Conrad Scott <conrad.scott@dsl.pipex.com>
|
|
|
|
* tty.cc (tty::common_init): Reverse logic of cygserver check in
|
|
call to SetKernelObjectSecurity.
|
|
|
|
2002-07-03 Thomas Pfaff <tpfaff@gmx.net>
|
|
|
|
* autoload.cc (WSAEventSelect): Define new autoload function.
|
|
(WSAEnumNetworkEvents): Ditto.
|
|
* fhandler_socket.cc (fhandler_socket::accept): If socket is
|
|
in blocking mode wait for incoming connection and signal.
|
|
|
|
2002-07-02 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygheap.cc (init_cheap): Rearrange error message.
|
|
(cygheap_fixup_in_child): Ditto.
|
|
* dtable.cc: Remove if 0'ed code.
|
|
* fhandler_dsp.cc (fhandler_dev_dsp::open): Force binmode.
|
|
* sec_helper.cc (cygsid::get_id): Use system_printf for error message.
|
|
* tty.cc (tty::common_init): Ditto.
|
|
|
|
2002-07-02 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* net.cc (cygwin_getpeername): Defend against NULL pointer dereference.
|
|
|
|
2002-07-02 Egor Duda <deo@logos-m.ru>
|
|
|
|
* include/cygwin/version.h: Bump API minor version.
|
|
|
|
2002-07-01 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* security.cc (get_logon_server): Interpret a zero length
|
|
domain as the local domain.
|
|
(get_group_sidlist): Add authenticated users SID to SYSTEM's group
|
|
list instead of SYSTEM itself.
|
|
(verify_token): Accept the primary group sid if it equals
|
|
the token user sid.
|
|
|
|
2002-07-02 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din (__fpclassifyd): Add symbol.
|
|
(__fpclassifyf): Ditto.
|
|
(__signbitd): Ditto.
|
|
(__signbitf): Ditto.
|
|
|
|
2002-07-02 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.h (DONT_INHERIT): Eliminate definition.
|
|
(INHERIT_ALL): Ditto.
|
|
(INHERIT_ONLY): Ditto.
|
|
* sec_acl.cc: Use appropriate defines from accctrl.h instead of the
|
|
above throughout.
|
|
* security.cc: Ditto.
|
|
|
|
2002-07-01 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* syscalls.c (seteuid32): Return immediately if the program is not
|
|
impersonated and both uid and gid are original.
|
|
(setegid32): Return immediately if the new gid is the current egid.
|
|
|
|
2002-07-01 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* syscalls.cc (seteuid32): Fix incorrect placement of Pierre's patch
|
|
below.
|
|
|
|
2002-07-01 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* syscalls.cc (seteuid32): Fix incorrect use of system_printf.
|
|
|
|
2002-07-02 Christopher January <chris@atomice.net>
|
|
|
|
* autoload.cc (GetSecurityInfo): Define new autoload function.
|
|
(RegQueryInfoKeyA): Ditto.
|
|
* fhandler.h (fhandler_virtual::fill_filebuf): Change return type to
|
|
bool.
|
|
(fhandler_proc::fill_filebuf): Ditto.
|
|
(fhandler_registry::fill_filebuf): Ditto.
|
|
(fhandler_process::fill_filebuf): Ditto.
|
|
(fhandler_registry::value_name): Add new member.
|
|
(fhandler_registry::close): Add new method.
|
|
(fhandler_process::p): Remove member.
|
|
* fhandler_proc.cc (fhandler_proc::open): Add set_nohandle after
|
|
calling superclass method. Check return value of fill_filebuf.
|
|
(fhandler_proc::fill_filebuf): Change return type to bool. Add return
|
|
statement.
|
|
* fhandler_process.cc (fhandler_process::open): Add set_nohandle after
|
|
calling superclass method. Remove references to p. Check return value
|
|
of fill_filebuf.
|
|
(fhandler_process::fill_filebuf): Change return type to bool. Don't
|
|
use dereference operator on p. Add return statement.
|
|
(fhandler_process::format_process_stat): Fix typo.
|
|
* fhandler_registry.cc: Add static open_key declaration.
|
|
(fhandler_registry::exists): Assume path is already normalised. Try
|
|
opening the path as a key in its own right first, before reverting to
|
|
enumerating subkeys and values of the parent key.
|
|
(fhandler_registry::fstat): Add additional code to return more relevant
|
|
information about the registry key/value.
|
|
(fhandler_registry::readdir): Explicitly set desired access when
|
|
opening registry key. Remove output of buf from debug_printf format
|
|
string.
|
|
(fhandler_registry::open): Use set_io_handle to store registry key
|
|
handle. Set value_name member. Move code to read a value from the
|
|
registry to fill_filebuf. Add call to fill_filebuf.
|
|
(fhandler_registry::close): New method.
|
|
(fhandler_registry::fill_filebuf): Change return type to bool. Add
|
|
code to read a value from registry.
|
|
(fhandler_registry::open_key): Make function static. Use KEY_READ as
|
|
desired access unless this is the last path component. Check the
|
|
return value of RegOpenKeyEx for an error instead of hKey.
|
|
* fhandler_virtual.cc (fhandler_virtual::lseek): Check the return value
|
|
of fill_filebuf.
|
|
(fhandler_virtual::open): Remove call to set_nohandle.
|
|
(fhandler_virtual::fill_filebuf): Change return type to bool. Add
|
|
return statement.
|
|
* security.cc (get_nt_object_attribute): New function.
|
|
(get_object_attribute): New function.
|
|
* security.h (get_object_attribute): New function declaration.
|
|
|
|
2002-07-01 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* syscalls.c (seteuid32): Do not return an error when the token cannot
|
|
be created only because of a problem with the gid.
|
|
|
|
2002-07-01 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_clipboard.c (fhandler_dev_clipboard::open): Force text mode.
|
|
* fhandler_console.cc (fhandler_console::open): *Really* force binary
|
|
mode rather than make it optional.
|
|
* fhandler_proc.cc (fhandler_proc::open): Ditto.
|
|
* fhandler_process.cc (fhandler_process::open): Ditto.
|
|
* fhandler_random.cc (fhandler_dev_random::fhandler_dev_random): Ditto.
|
|
* fhandler_raw.cc (fhandler_dev_raw::open): Ditto.
|
|
* fhandler_registry.cc (fhandler_registry::open): Ditto.
|
|
* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
|
|
* fhandler_virtual.cc (fhandler_virtual::open): Ditto.
|
|
* fhandler_windows.cc (fhandler_windows::open): Ditto.
|
|
* fhandler_zero.cc (fhandler_dev_zero::open): Ditto.
|
|
* net.cc (fdsock): Ditto.
|
|
* path.cc (set_flags): Add more debugging.
|
|
|
|
2002-07-01 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* debug.cc (threads): Avoid initialization.
|
|
* uinfo.cc (cygheap_user::ontherange): (from Corinna Vinschen) Actually
|
|
make below changes work.
|
|
|
|
2002-07-01 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* uinfo.cc (cygheap_user::ontherange): Make cygwin root the last resort
|
|
for HOMEPATH/HOMEDRIVE for consistency with HOME.
|
|
|
|
2002-07-01 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* shared.cc (sec_none): Move to sec_helper.cc.
|
|
(sec_none_nih): Ditto.
|
|
(sec_all): Ditto.
|
|
(sec_all_nih): Ditto.
|
|
(get_null_sd): Ditto.
|
|
(sec_acl): Ditto.
|
|
(__sec_user): Ditto.
|
|
* sec_helper.cc (sec_none): Move from shared.cc to here.
|
|
(sec_none_nih): Ditto.
|
|
(sec_all): Ditto.
|
|
(sec_all_nih): Ditto.
|
|
(get_null_sd): Ditto.
|
|
(sec_acl): Ditto.
|
|
(__sec_user): Ditto.
|
|
|
|
2002-06-30 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* uinfo.cc (cygheap_user::ontherange): Potentially set HOME from
|
|
existing homepath and homedrive cygheap_user fields (not currently used
|
|
yet). Set HOME to / if no other alternative.
|
|
(cygheap_user::test_uid): Simplify.
|
|
|
|
2002-06-30 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* environ.cc (parse_options): Use setenv to potentially replace CYGWIN
|
|
value on export. Fixes broken behavior since November 2000 changes.
|
|
(regopt): Return indication of whether or not something has been parsed
|
|
from the registry.
|
|
(environ_init): Only attempt to export CYGWIN variable when values were
|
|
set from the registry. It is exported automatically otherwise.
|
|
|
|
2002-06-30 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler.h (fhandler_process::pid): New field.
|
|
(fhandler_process::fstat): Remove unneeded array. Set pid element.
|
|
(fhandler_process::open): Ditto.
|
|
(fhandler_process::fill_filebuf): Handle case where 'p' field is NULL.
|
|
|
|
2002-06-30 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler.h (fhandler_process::p): New field.
|
|
(fhandler_process:fill_filebuf): Revert to same definition as virtual
|
|
in parent class.
|
|
(fhandler_process::open): Fill out p field rather than passing as an
|
|
argument.
|
|
(fhandler_process::fill_filebuf): Use p pointer rather than argument.
|
|
|
|
2002-06-29 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* security.cc (extract_nt_dom_user): Check for all buffer overflows.
|
|
Call LookupAccountSid after trying to get domain & user from passwd.
|
|
(get_group_sidlist): Obtain the domain and user by calling
|
|
extract_nt_dom_user instead of LookupAccountSid.
|
|
|
|
2002-06-29 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* uinfo.cc (cygheap_user::test_uid): Use standard issetuid test.
|
|
|
|
2002-06-29 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* autoload.cc (NetGetDCName): Change to make this an optional load
|
|
function.
|
|
* cygheap.h (cygheap_user::logsrv): Return NULL when operation fails.
|
|
(cygheap_user::winname): Ditto.
|
|
(cygheap_user::domain): Ditto.
|
|
* uinfo.cc (cygheap_user::env_logsrv): Save results in temp variable.
|
|
(cygheap_user::env_userprofile): Ditto.
|
|
|
|
2002-06-29 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* environ.cc (spenv::retrieve): Detect return of env_dontadd from
|
|
cygheap_user methods.
|
|
(build_env): Avoid incrementing environment pointer if not actually
|
|
adding to the environment. That could result in garbage in the
|
|
environment table. Be more defensive when reallocing envblock.
|
|
|
|
2002-06-29 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* uinfo.cc (cygheap_user::test_uid): Return NULL or further tests are
|
|
sorta useless.
|
|
(cygheap_user::env_domain): Recalculate if name is missing.
|
|
|
|
2002-06-29 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* environ.cc (spenv::from_cygheap): Still need to take setuid into
|
|
consideration.
|
|
|
|
2002-06-28 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* uinfo.cc (cygheap_user::env_logsrv): Return "almost_null" in case
|
|
where no domain or username is "SYSTEM".
|
|
|
|
2002-06-28 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygheap.h (cygheap_user): Reorg to accommodate environment caching.
|
|
(cygheap_user::logsrv): New method.
|
|
(cygheap_user::winname): Ditto.
|
|
(cygheap_user::domain): Ditto.
|
|
(cygheap_user::test_uid): Ditto.
|
|
* cygheap.cc (cygheap_user::set_name): Reflect name "pwinname" name
|
|
change.
|
|
* environ.cc (getwinenveq): New function.
|
|
(penv::from_cygheap): penv::from_cygheap): Change arguments.
|
|
(spenv::retrieve): Ditto for call. Use getwinenveq to retrieve info
|
|
from environment. Always return value from cygwin environment, if it
|
|
exists.
|
|
* environ.h (getwinenveq): Declare.
|
|
* uinfo.cc (cygheap_user::ontherange): Use logsrv() rather than
|
|
env_logsrv().
|
|
(cygheap_user::test_uid): Define new method.
|
|
(cygheap_user::env_logsrv): Accept environment arguments. Use test_uid
|
|
to find info.
|
|
(cygheap_user::env_domain): Ditto.
|
|
(cygheap_user::env_userprofile): Ditto.
|
|
(cygheap_user::env_homepath): Ditto.
|
|
(cygheap_user::env_homedrive): Ditto.
|
|
(cygheap_user::env_name): Ditto.
|
|
|
|
2002-06-27 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygheap.cc (cfree_and_set): New function.
|
|
(cygheap_user::set_name): Use cfree_and_set to reset members.
|
|
* cygheap.h (cygheap_user): Delete static members.
|
|
(cygheap_user::puserprof): New member.
|
|
(cfree_and_set): Declare.
|
|
* dcrt0.cc (almost_null): Define.
|
|
* environ.cc (env_dontadd): Redefine as "almost_null".
|
|
* winsup.h (almost_null): Declare.
|
|
* syscalls.cc (cfree_and_set): Remove unused variable.
|
|
* uinfo.cc (cygheap_user::homepath_env_buf): Eliminate.
|
|
(cygheap_user::homedrive_env_buf): Ditto.
|
|
(cygheap_user::userprofile_env_buf): Ditto.
|
|
(cygheap_user::ontherange): YA change to try to preserve existing
|
|
HOMEPATH and HOMEDRIVE. Return almost_null values when variables
|
|
should not actually exist.
|
|
(cygheap_user::env_logsrv): Ditto.
|
|
(cygheap_user::env_domain): Ditto.
|
|
(cygheap_user::env_userprofile): Ditto.
|
|
|
|
2002-06-27 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Let __progname point to the applications
|
|
basename. Move eliminating ".exe" suffix from argv[0] so that it
|
|
always also affects __progname.
|
|
|
|
2002-06-27 Thomas Pfaff <tpfaff@gmx.net>
|
|
|
|
* thread.cc (pthread::create): Added trace printf to get CreateThread
|
|
LastError.
|
|
|
|
2002-06-27 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mmap.cc (list::match): Check using pagesize aligned size.
|
|
|
|
2002-06-26 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name): Force
|
|
FindFirstFile on first file of directory when asking for x:\ .
|
|
|
|
2002-06-26 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygheap.cc (cygheap_user::set_name): Correct thinko in below change.
|
|
|
|
2002-06-26 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygheap.cc (cygheap_user::set_name): Avoid clearing things when just
|
|
setting name to itself or during first time initialization.
|
|
|
|
* environ.cc (check_case_init): Make case insensitive.
|
|
|
|
2002-06-26 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (fhandler_socket::bind): Add method definition.
|
|
(fhandler_socket::connect): Ditto.
|
|
(fhandler_socket::listen): Ditto.
|
|
(fhandler_socket::accept): Ditto.
|
|
(fhandler_socket::getsockname): Ditto.
|
|
(fhandler_socket::getpeername): Ditto.
|
|
(fhandler_socket::recvfrom): Ditto.
|
|
(fhandler_socket::recvmsg): Ditto.
|
|
(fhandler_socket::sendto): Ditto.
|
|
(fhandler_socket::sendmsg): Ditto.
|
|
(fhandler_socket::shutdown): Ditto.
|
|
* fhandler_socket.cc (get_inet_addr): Move here from net.cc.
|
|
(fhandler_socket::bind): New method.
|
|
(fhandler_socket::connect): Ditto.
|
|
(fhandler_socket::listen): Ditto.
|
|
(fhandler_socket::accept): Ditto.
|
|
(fhandler_socket::getsockname): Ditto.
|
|
(fhandler_socket::getpeername): Ditto.
|
|
(fhandler_socket::recvfrom): Ditto.
|
|
(fhandler_socket::recvmsg): Ditto.
|
|
(fhandler_socket::sendto): Ditto.
|
|
(fhandler_socket::sendmsg): Ditto.
|
|
(fhandler_socket::shutdown): Ditto.
|
|
* net.cc: Various formatting cleanups throughout.
|
|
(get_inet_addr): Move to fhandler_socket.cc.
|
|
(cygwin_bind): Move base functionality to appropriate fhandler_socket
|
|
method.
|
|
(cygwin_connect): Ditto.
|
|
(cygwin_listen): Ditto.
|
|
(cygwin_accept): Ditto.
|
|
(cygwin_getsockname): Ditto.
|
|
(cygwin_getpeername): Ditto.
|
|
(cygwin_recvfrom): Ditto.
|
|
(cygwin_recvmsg): Ditto.
|
|
(cygwin_sendto): Ditto.
|
|
(cygwin_sendmsg): Ditto.
|
|
(cygwin_shutdown): Ditto.
|
|
|
|
2002-06-26 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* pwdgrp.h (pwdgrp_read::~pwdgrp_read): Avoid compiler warning.
|
|
|
|
2002-06-26 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dcrt0.cc (_dcrt0): Be more defensive when reserved block is used and
|
|
it's not cygwin info.
|
|
|
|
2002-06-26 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* autoload (noload): Avoid clobbering bx register.
|
|
|
|
* environ.cc (codepage_init): Use case insensitive match.
|
|
|
|
* fhandler_console.cc (cp_get_internal): Delete.
|
|
(con_to_str): Use get_cp to derive code page.
|
|
(str_to_con): Ditto.
|
|
* miscfuncs.cc (get_cp): New function.
|
|
(sys_wcstombs): New function. Converted from macro.
|
|
(sys_mbstowcs): Ditto.
|
|
* winsup.h: Reflect above changes.
|
|
|
|
2002-06-26 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* winsup.h: Minor cleanup.
|
|
* path.h (path_conv::[]): New operator.
|
|
* syscalls.cc (_link): Use path_conv operators rather than methods,
|
|
where appropriate. Minor white space cleanup.
|
|
|
|
2002-06-26 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor number.
|
|
|
|
2002-06-25 Thomas Pfaff <tpfaff@gmx.net>
|
|
|
|
* include/pthread.h (PTHREAD_CANCELED): Defined a reasonable value.
|
|
* pthread.cc (pthread_exit): Call method instead of function.
|
|
(pthread_setcancelstate): Ditto.
|
|
(pthread_setcanceltype): Ditto.
|
|
(pthread_testcancel): Ditto.
|
|
* thread.h (pthread::cancel_event): New member.
|
|
(__pthread_cancel_self): New prototype.
|
|
(pthread::exit): New Method.
|
|
(pthread::cancel): Ditto.
|
|
(pthread::testcancel): Ditto.
|
|
(pthread::cancel_self): Ditto.
|
|
(pthread::static_cancel_self): Ditto.
|
|
(pthread::setcancelstate): Ditto.
|
|
(pthread::setcanceltype): Ditto.
|
|
(__pthread_cancel): Give c++ linkage.
|
|
(__pthread_exit): Remove.
|
|
(__pthread_setcancelstate): Ditto.
|
|
(__pthread_setcanceltype): Ditto.
|
|
(__pthread_testcancel): Ditto.
|
|
* thread.cc (pthread::pthread): Inititialize cancel_event.
|
|
(pthread::~pthread): Close cancel_event if needed.
|
|
(pthread::create): Create cancel_event.
|
|
(pthread::exit): New method. Replacement for __pthread_exit.
|
|
(pthread::cancel): New method.
|
|
(pthread::testcancel): Ditto.
|
|
(pthread::static_cancel_self); New static method.
|
|
(pthread::setcancelstate): New method. Replacement for
|
|
__pthread_setcancelstate.
|
|
(pthread::setcanceltype): New method. Replacement for
|
|
__pthread_setcanceltype.
|
|
(pthread::pop_cleanup_handler): Added lock for async cancel safe
|
|
cancellation.
|
|
(pthread::thread_init_wrapper): Change __pthread_exit to
|
|
thread->exit().
|
|
(__pthread_cancel): Call method thread->cancel().
|
|
(__pthread_exit): Remove.
|
|
(__pthread_setcancelstate): Ditto.
|
|
(__pthread_setcanceltype): Ditto.
|
|
(__pthread_testcancel): Ditto.
|
|
|
|
2002-06-25 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dcrt0.cc (sm): Make NO_COPY.
|
|
|
|
2002-06-25 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (chown): Convert uid to 32 bit.
|
|
(lchown): Ditto.
|
|
(fchown): Ditto.
|
|
|
|
2002-06-24 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dtable.cc (dtable::find_unused_handle): Avoid coercion.
|
|
|
|
2002-06-24 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dtable.cc (fhandler_base::dup2): Cleanup. Ensure that lock is turned
|
|
off in error condition.
|
|
|
|
2002-06-24 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* uinfo.cc (internal_getlogin): Set myself->uid and myself->gid instead
|
|
of user.real_uid and user.real_gid.
|
|
(uinfo_init): Evaluate orig_uid and real_uid from myself->uid. Ditto
|
|
for gid.
|
|
|
|
2002-06-23 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* security.cc (get_group_sidlist): Add pw argument and use pw->pw_name
|
|
in call to get_supplementary_group_sidlist.
|
|
(create_token): Add pw argument and use it in call to
|
|
get_group_sidlist.
|
|
* security.h: Add pw argument in declaration of create_token.
|
|
* syscalls.cc (seteuid32): Add pw argument in call to create_token.
|
|
|
|
2002-06-23 Conrad Scott <conrad.scott@dsl.pipex.com>
|
|
|
|
* fhandler.cc (fhandler_base::fstat): Set S_IFIFO for pipes.
|
|
* fhandler_socket.cc (fhandler_socket.cc::fstat): Set S_IFSOCK.
|
|
|
|
2002-06-23 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* lib/_cygwin_S_IEXEC.cc: Remove obsolete file.
|
|
|
|
2002-06-23 Christopher Faylor <cgf@redhat.com>
|
|
|
|
Use cygwin_{shm,ipc}.h instead of /sys/{shm,ipc}.h throughout.
|
|
* sys/ipc.h: Remove.
|
|
* sys/shm.h: Remove.
|
|
* cygwin_ipc.h: New file.
|
|
* cygwin_shm.h: New file.
|
|
|
|
2002-06-23 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygwin.sc: Add recent changes from ld sources.
|
|
|
|
2002-06-23 Conrad Scott <conrad.scott@dsl.pipex.com>
|
|
|
|
* winsup.h: Move #ifdef EXPCGF code into "winbase.h".
|
|
* winbase.h: #ifdef EXPCGF code moved here from "winsup.h".
|
|
|
|
2002-06-12 Thomas Pfaff <tpfaff@gmx.net>
|
|
|
|
* thread.h (pthread::cleanup_stack): Renamed cleanup_handlers to
|
|
cleanup_stack.
|
|
* thread.cc (pthread::pthread): Ditto.
|
|
(pthread::create): Fixed mutex verification.
|
|
(pthread::push_cleanup_handler): Renamed cleanup_handlers to
|
|
cleanup_stack.
|
|
Mutex calls removed, used InterlockedExchangePointer instead.
|
|
(pthread::pop_cleanup_handler): Renamed cleanup_handlers to
|
|
cleanup_stack.
|
|
(pthread::pop_all_cleanup_handlers): Ditto.
|
|
(__pthread_once): Check state first and return if already done.
|
|
(__pthread_join): DEADLOCK test reverted to __pthread_equal
|
|
call.
|
|
(__pthread_detach): Unlock mutex before deletion.
|
|
|
|
2002-06-21 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* Makefile.in (cygrun.exe): Move -lgcc where it will do some good.
|
|
|
|
2002-06-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (stat64_to_stat32): Correctly evaluate st_rdev.
|
|
(fstat64): Set st_rdev to same value as st_dev.
|
|
(stat_worker): Ditto.
|
|
|
|
2002-06-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (alloc_sd): Carefully check owner_sid again after trying
|
|
SIDs from cygheap.
|
|
|
|
2002-06-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (alloc_sd): Remove unnecessary retrieval of owner name.
|
|
Check uid for current user first and use SIDs from cygheap if so.
|
|
Set errno to EINVAL if user SID isn't retrievable. Just print user SID
|
|
as debug output.
|
|
Don't bail out if group SID isn't retrievable. Change debug output
|
|
appropriately.
|
|
|
|
2002-06-21 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* errno.cc: Change text description for EBADF throughout.
|
|
|
|
2002-06-20 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* uinfo.cc (cygheap_user::ontherange): Use env_name for NetUserGetInfo.
|
|
(cygheap_user::env_logsrv): Verify env_domain is valid.
|
|
* environ.cc: Include child_info.h and keep spenvs[] sorted.
|
|
(environ_init): Check child_proc_info instead of myself->ppid_handle.
|
|
|
|
2002-06-19 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler.cc (fhandler_base::set_flags): Change priority of "linked
|
|
in" default binmode setting so that it has priority over optional
|
|
setting.
|
|
|
|
2002-06-19 Christopher Faylor <cgf@redhat.com>
|
|
|
|
Use hMainProc where appropriate, throughout.
|
|
* environ.cc (spenv::retrieve): Add debugging statements.
|
|
|
|
* pinfo.cc (set_myself): Don't call strace.hello if already stracing.
|
|
* strace.cc (strace): Move NO_COPY keyword so that it will actually
|
|
take effect.
|
|
|
|
2002-06-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* uinfo.cc (cygheap_user::ontherange): Call NetUserGetInfo() only with
|
|
non-NULL logserver parameter.
|
|
|
|
2002-06-16 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygheap.h (cygheap_user::issetuid): New method.
|
|
* dtable.cc (dtable::vfork_child_dup): Use new method to determine if
|
|
we are in "setuid mode."
|
|
* fork.cc (fork_parent): Ditto.
|
|
* spawn.cc (spawn_guts): Ditto.
|
|
* syscalls.cc (seteuid32): Ditto.
|
|
(setegid32): Ditto.
|
|
* environ.cc (spenv::retrieve): (Suggested by Pierre Humblet) Do
|
|
potential recalculation of cygheap_user stuff when in setuid mode.
|
|
Return special value when environment variable should be calculated but
|
|
not added.
|
|
(build_env): Don't add retrieved value to dstp if it is 'dont_add'.
|
|
|
|
2002-06-16 Christopher Faylor <cgf@redhat.com>
|
|
|
|
Changes suggested by Pierre Humblet.
|
|
* environ.cc (NL): New macro.
|
|
(conv_envvars): Use NL macro to fill in name and namelen.
|
|
(spenv::namelen): New field.
|
|
(spenvs): Use NL to fill in name and namelen.
|
|
(spenv::retrieve): Eliminate length argument. Instead, use namelen
|
|
throughout.
|
|
(build_env): Don't calculate length of initial FOO= part of
|
|
environment. Accommodate spenv::retrive argument change.
|
|
|
|
2002-06-16 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygheap.h (cygheap_user::winname): New field.
|
|
* cygheap.cc (cygheap_user::set_name): Clear winname when name changes.
|
|
* uinfo.cc (cygheap_user::env_logsrv): Avoid calculating server when
|
|
Windows user == SYSTEM.
|
|
(cygheap_user::env_domain): Set winname here too.
|
|
(cygheap_user::env_userprofile): Eliminate superfluous tests.
|
|
(cygheap_user::env_name): Seed winname by calling env_domain().
|
|
|
|
2002-06-12 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* spawn.cc (spawn_guts): Revert removal of ciresrv.moreinfo->uid =
|
|
ILLEGAL_UID.
|
|
|
|
2002-06-15 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* child_info.h (child_proc_info): Declare as base class.
|
|
(spawn_info): Declare as alias of child_proc_info to aid debugging.
|
|
(fork_info): Ditto.
|
|
* cygheap.cc (cygheap_fixup_in_child): Use child_proc_info global
|
|
rather than parameter.
|
|
* cygheap.h (cygheap_fixup_in_child): Reflect above change in
|
|
declaration.
|
|
* dcrt0.cc (_dll_crt0): Move 'si' definition here. Assign
|
|
child_proc_info.
|
|
(dll_crt0_1): Accommodate cygheap_fixup_in_child and *_info changes.
|
|
* environ.cc (spenv::retrieve): Make regparm.
|
|
* environ.h (environ_init): Ditto.
|
|
(win_env::add_cache): Ditto.
|
|
(build_env): Ditto.
|
|
(getwinenv): Ditto.
|
|
* fork.cc (sync_with_parent): Use fork_info global.
|
|
(fork_child): Ditto.
|
|
|
|
2002-06-14 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* uinfo.cc (cygheap_user::ontherange): Don't set HOMEDRIVE or HOMEPATH
|
|
unless one or the other is specified.
|
|
|
|
2002-06-14 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygheap.h (cygheap_user::userprofile_env_buf): New static member.
|
|
* environ.cc (build_env): Add debugging statement.
|
|
(spenvs): Switch functions for USERDOMAIN and USERNAME.
|
|
* spawn.cc (spawn_guts): Move environment initialization prior to
|
|
cygheap_setup_for_child or environment info will never be copied to
|
|
child.
|
|
|
|
2002-06-14 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygheap.h (cygheap_user): Add static members to hold home{drive,path}
|
|
info.
|
|
* uinfo.cc (cygheap_user::ontherange): Use static class members for
|
|
local HOME* storage.
|
|
|
|
2002-06-14 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygheap.cc (cygheap_user::set_logsrv): Remove.
|
|
(cygheap_user::set_domain): Ditto.
|
|
* cygheap.h (cygheap_user::set_logsrv): Remove declaration.
|
|
(cygheap_user::set_domain): Ditto.
|
|
(cygheap_user::env_domain): Declare new method.
|
|
(cygheap_user::env_name): Ditto.
|
|
* environ.cc (spenvs): Add two environment variables.
|
|
* spawn.cc (spawn_guts): Call build_env after RevertToSelf. Always set
|
|
ciresrv.mount_h.
|
|
(cygheap_user::ontherange): Recalculate homedrive/homepath if they are
|
|
empty. Use env_logsrv to get logon server.
|
|
(cygheap_user::env_logsrv): Calculate server name here rather than
|
|
relying on it having been previously calculated.
|
|
(cygheap_user::env_domain): Ditto for domain name.
|
|
(cygheap-user::env_name): New method.
|
|
|
|
2002-06-12 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* syscalls.cc (seteuid32): Do not get or set the environment. Do not
|
|
call LookupAccountSid nor internal_getlogin. Set cygheap->user name
|
|
and sid from the passwd entry.
|
|
* uinfo.cc (uinfo_init): Only call internal_getlogin when starting from
|
|
a non Cygwin process and use the values returned in user.
|
|
(internal_getlogin): Simplify to case where starting from a non Cygwin
|
|
process. Store return values in user and return void. Do not set the
|
|
Windows default environment.
|
|
* dcrt0.cc (dll_crt0_1): Call uinfo_init only when needed. Do not set
|
|
myself->uid nor reset user.sid.
|
|
* spawn.cc (spawn_guts): Get the sid from cygheap->user. Always
|
|
RevertToSelf(). Don't set uid in impersonated case.
|
|
* cygheap.cc (cygheap_user::set_sid): Do not set orig_sig.
|
|
(cygheap_user::set_orig_sid): New.
|
|
* cygheap.h: Declare cygheap_user::set_sid.
|
|
* winsup.h: Add argument to uinfo_init().
|
|
|
|
2002-06-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* environ.cc (build_env): If realloc moves envblock, move s with it.
|
|
|
|
2002-06-13 Nicholas S. Wourms <nwourms@netscape.net>
|
|
|
|
* winver.rc: Add more words to copyright.
|
|
|
|
2002-06-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygheap.cc (cygheap_user::set_name): Revert previous change.
|
|
* environ.cc (spenv::retrieve): Check return value of call to
|
|
cygheap->user.*from_cygheap().
|
|
|
|
2002-06-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygheap.cc (cygheap_user::set_name): Remove setting homedrive and
|
|
homepath to NULL.
|
|
(cygheap_user::set_logsrv): Fix free'ing of plogsrv.
|
|
* cygheap.h (cygheap_user::cygheap_user): Initialize homedrive and
|
|
homepath to NULL.
|
|
|
|
2002-06-13 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* security.cc (get_logon_server): Use strcasematch rather than
|
|
strcasecmp.
|
|
|
|
2002-06-12 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* path.cc (chdir): Minor cleanup.
|
|
|
|
2002-06-12 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* environ.cc (build_env): Correctly fill out windows environment block
|
|
with win32 paths rather than posix paths.
|
|
|
|
2002-06-12 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygheap.cc (cygheap_user::set_name): Set homedrive and homepath to
|
|
NULL on user name change.
|
|
(cygheap_user::set_logsrv): Allocate enough space for leading \\ so
|
|
that we can put this in the environment, if needed.
|
|
* cygheap.h (homebodies): New enum.
|
|
(cygheap_user::homedrive): New field.
|
|
(cygheap_user::homepath): Ditto.
|
|
(cygheap_user::env_logsrv): New method.
|
|
(cygheap_user::env_homepath): New method.
|
|
(cygheap_user::env_homedrive): New method.
|
|
(cygheap_user::env_userprofile): New method.
|
|
(cygheap_user::ontherange): New method.
|
|
* environ.cc (envsize): Eliminate debugging argument.
|
|
(environ_init): Assume that envc counts number of elments not total
|
|
size.
|
|
(spenv): New class.
|
|
(spenvs): New array, renamed from forced_winenv_vars, using spenv.
|
|
(spenv::retrieve): New method.
|
|
(build_env): Rename from 'winenv' -- one stop shopping for building new
|
|
environment blocks for both windows and "unix".
|
|
* environ.h (build_env: Declare.
|
|
(winenv): Delete declaration.
|
|
(envsize): Ditto.
|
|
* spawn.cc (spawn_guts): Use build_env to build windows and cygwin
|
|
environment blocks.
|
|
* uinfo.cc (internal_getlogin): Eliminate environment manipulation.
|
|
Default to info from GetUserName if it exists. Move HOMEPATH and
|
|
HOMEDRIVE stuff elsewhere. Move HOME setting elsewhere. Only set HOME
|
|
environment variable in processes that are not parented by a cygwin
|
|
process.
|
|
(cygheap_user::ontherange): Define new method.
|
|
(cygheap_user::env_logsrv): Ditto.
|
|
(cygheap_user::env_homepath): Ditto.
|
|
(cygheap_user::env_homedrive): Ditto.
|
|
(cygheap_user::env_userprofile): Ditto.
|
|
|
|
2002-06-11 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* spawn.cc (spawn_guts): More hToken removal cleanup.
|
|
|
|
2002-06-09 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* spawn.cc (spawn_guts): Define sec_attribs and call sec_user_nih()
|
|
only once.
|
|
|
|
2002-06-10 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* Makefile.in: Ensure that -MD gets added to CFLAGS regardless of
|
|
CFLAGS command-line setting.
|
|
|
|
* cygwin.din: Export sexec* functions as function which returns ENOSYS
|
|
(i.e., sexec* is deprecated).
|
|
* dtable.cc (dtable::vfork_child_dup): Ensure that impersonation is
|
|
restored even on failure.
|
|
* exec.cc: Throughout, remove references to sexec* and _spawnve.
|
|
* pinfo.h: Remove _spawnve declaration.
|
|
* spawn.cc: Rename _spawnve to spawnve and use throughout.
|
|
(spawn_guts): Eliminate hToken argument and processing of same. Just
|
|
perform special actions if impersonating.
|
|
(spawnve): Rename from _spawnve.
|
|
|
|
2002-06-10 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* include/sys/strace.h (strace): Avoid use of constructor.
|
|
|
|
2002-06-10 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dcrt0.cc (dll_crt0_1): Initialize wincap and check for sanity before
|
|
running global ctors.
|
|
* wincap.h (wincap): Eliminate constructor. Default is to zero memory,
|
|
anyway.
|
|
* wincap.cc (wincap): Copy this on fork to avoid initialization in
|
|
forked processes.
|
|
|
|
2002-06-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (fhandler_socket::fixup_after_fork): Revert patch from
|
|
2002-06-04.
|
|
* fhandler_socket.cc (fhandler_socket::fixup_after_fork): Ditto.
|
|
(fhandler_socket::dup): Ditto.
|
|
* net.cc (fdsock): Make sockets explicitely noninheritable on NT.
|
|
|
|
2002-06-09 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Correctly
|
|
set number of links for directory, if appropriate.
|
|
|
|
2002-06-10 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* thread.cc: Variation of a patch from Thomas Pffaf.
|
|
(__pthread_detach): Cleanup thread object if the thread has terminated.
|
|
(__pthread_join): Change order of error checks, and lock against
|
|
join/detach/exit races.
|
|
(__pthread_exit): Lock object against join/detach/exit races.
|
|
(pthread::thread_init_wrapper): Ditto.
|
|
(thread_init_wrapper): Rename to pthread::thread_init_wrapper.
|
|
(pthread::create): Check that the mutex initialized correctly.
|
|
(pthread::push_cleanup_handler): Lock against potential cancellation
|
|
race. NB: this may not be required if pthread_cleanup_push is non-
|
|
cancelable.
|
|
* thread.h (pthread::mutex): New member.
|
|
(thread_init_wrapper): Rename to pthread::thread_init_wrapper.
|
|
(pthread::thread_init_wrapper_: New static member.
|
|
|
|
2002-06-10 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* cygwin.din: Add _pthread_cleanup_push and _pthread_cleanup_pop.
|
|
* pthread.cc: Change __pthread_self to pthread::self() thruoghout.
|
|
(_pthread_cleanup_push): New function.
|
|
(_pthread_cleanup_pop): Ditto.
|
|
* thread.cc: Thanks to Thomas Pfaff for the pthread cleanup_push,_pop
|
|
patch, this work is derived from that.
|
|
Change __pthread_self to pthread::self() thruoghout.
|
|
(__pthread_self): Rename to pthread::self.
|
|
(pthread::self): New method.
|
|
(pthread::pthread): Initialize new member.
|
|
(pthread::push_cleanup_handler): New method.
|
|
(pthread::pop_cleanup_handler): New method.
|
|
(pthread::pop_all_cleanup_handlers): New method.
|
|
(__pthread_exit): Pop all cleanup handlers.
|
|
* thread.h (pthread::push_cleanup_handler): Declare.
|
|
(pthread::pop_cleanup_handler): Ditto.
|
|
(pthread::pop_all_cleanup_handlers): Ditto.
|
|
(pthread::self): New static method.
|
|
(__pthread_exit): Give C++ linkage.
|
|
(__pthread_join): Ditto.
|
|
(__pthread_detach): Ditto.
|
|
(__pthread_self): Remove.
|
|
|
|
2002-04-24 Thomas Pfaff <tpfaff@gmx.net>
|
|
|
|
* include/pthread.h (__pthread_cleanup_handler): New structure.
|
|
(pthread_cleanup_push): Rewritten.
|
|
(pthread_cleanup_pop): Ditto.
|
|
(_pthread_cleanup_push): New prototype.
|
|
(_pthread_cleanup_pop): Ditto.
|
|
|
|
2002-04-24 Thomas Pfaff <tpfaff@gmx.net>
|
|
|
|
* thread.cc (thread_init_wrapper): Check if thread is already joined.
|
|
(__pthread_join): Set joiner first.
|
|
(__pthread_detach): Ditto.
|
|
|
|
2002-06-10 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* cygserver_transport.cc (create_server_transport): Finish the split
|
|
out of sockets code from transport_layer_base. Thanks to Nicholas
|
|
Wourms and Conrad Scott for catching this.
|
|
|
|
2002-06-08 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* pinfo.cc (pinfo_dummy): Initialize to correct size.
|
|
|
|
2002-06-08 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* path.cc: Change MOUNT_AUTO to MOUNT_CYGDRIVE throughout.
|
|
* shared_info.h (CURR_MOUNT_MAGIC): Update.
|
|
|
|
2002-06-08 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* external.cc (cygwin_internal): Make v1 mount table access invalid.
|
|
* path.cc (mount_info::init): Remove had_to_create_mount_areas initialization.
|
|
(mount_info::from_registry): Remove v1 table import.
|
|
(mount_info::read_v1_mounts): Eliminate.
|
|
(mount_info::import_v1_mounts): Ditto.
|
|
* shared_info.h (mount_info): Ditto for both of above.
|
|
* sys/mount.h (MOUNT_DEVFS): New enum.
|
|
(MOUNT_PROC): Ditto.
|
|
|
|
2002-06-08 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* include/wchar.h: Define __need_size_t.
|
|
|
|
2002-06-07 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::fstat): Don't assume that socket
|
|
is unix-domain socket.
|
|
|
|
2002-06-07 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* times.cc (hires_ms::prime): Set init flag.
|
|
|
|
2002-06-07 Conrad Scott <conrad.scott@dsl.pipex.com>
|
|
|
|
* times.cc (hires_ms::prime): Adjust epoch of initime_us from 1601 to
|
|
1970.
|
|
|
|
2002-06-06 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* autoload.cc (timeGetDevCaps): Define new autoload function.
|
|
(timeGetTime): Ditto.
|
|
(timeBeginPeriod): Ditto.
|
|
(timeEndPeriod): Ditto.
|
|
* hires.h (hires_base): New class. Renamed from hires.
|
|
(hires_us): New class.
|
|
(hires_ms): New class.
|
|
* strace.cc (strace::microseconds): Use hires_us class.
|
|
* times.cc (gettimeofday): Use hires-ms class.
|
|
(hires_us::prime): Renamed from hires::prime.
|
|
(hires_us::usecs): Renamed from hires:usecs.
|
|
(hires_ms::prime): New method.
|
|
(hires_ms::usecs): New method.
|
|
(hires_ms::~hires_ms): New destructor.
|
|
|
|
2002-06-06 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* autoload.cc (noload): Correctly save argument count register.
|
|
|
|
2002-06-05 Conrad Scott <conrad.scott@dsl.pipex.com>
|
|
|
|
* fhandler.cc (fhandler_base::fstat): Initialise tv_nsec member of
|
|
st_atim, st_mtim, and st_ctim fields.
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Ditto.
|
|
* fhandler_process.cc (fhandler_process::fstat): Ditto.
|
|
* glob.c (stat32_to_STAT): Copy across the whole st_atim, st_mtime, and
|
|
st_ctim fields.
|
|
* syscalls.cc (stat64_to_stat32): Ditto.
|
|
* times.cc (to_timestruc_t): New function.
|
|
(time_as_timestruc_t): New function.
|
|
* winsup.h: Add to_timestruc_t and time_as_timestruc_t functions.
|
|
* include/cygwin/stat.h: Replace time_t with timestruc_t throughout for
|
|
all file times, removing the st_spare1, st_spare2, and st_spare3 fields
|
|
in the process. Add macros to access tv_sec fields by old names.
|
|
* include/cygwin/types.h: Typedef timespec_t and timestruc_t as struct
|
|
timespec.
|
|
|
|
2002-06-03 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* sec_helper.cc (lookup_name): Suppress.
|
|
* security.cc (alloc_sd): Remove logsrv argument.
|
|
Remove two calls to lookup_name.
|
|
(set_security_attribute): Remove logsrv argument.
|
|
Remove logsrv argument in call to alloc_sd.
|
|
(set_nt_attribute): Remove logsrv argument.
|
|
Remove logsrv argument in call to set_security_attribute.
|
|
(set_file_attribute): Remove logsrv argument.
|
|
Remove logsrv argument in call to set_nt_attribute.
|
|
(set_file_attribute): Remove logsrv argument.
|
|
Remove logsrv argument in call to set_file_attribute.
|
|
* syscalls.cc (chown_worker): Remove logserver argument in
|
|
call to set_file_attribute.
|
|
(chmod): Ditto.
|
|
* shm.cc (shmget): Remove logsrv argument in call to alloc_sd.
|
|
* uinfo.cc (internal_getlogin): Replace calls to
|
|
lookup_name by call to LookupAccountName.
|
|
* security.h: Remove logsrv in declarations of set_file_attribute
|
|
and alloc_sd. Remove declaration of lookup_name.
|
|
|
|
2002-06-05 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* child_info.h (CHILD_INFO_MAGIC): Oops. Revert previous change. gcc
|
|
3.1 bug?
|
|
|
|
2002-06-05 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* child_info.h (CHILD_INFO_MAGIC): Update.
|
|
|
|
2002-06-05 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* strace.cc (strace::hello): Set inited, when appropriate.
|
|
|
|
2002-06-05 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygwin.din: Eliminate some newlib wrappers.
|
|
* path.cc (get_devn): Only consider first 99 potential com devices.
|
|
(get_device_number): Ditto.
|
|
* times.cc (_times): Eliminate.
|
|
(_times): Renamed from times().
|
|
|
|
2002-06-05 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dir.cc (rmdir): Streamline. Detect attempts to remove directories
|
|
from "read-only" virtual devices. (Suggested by Pavel Tsekov)
|
|
* syscalls.cc (unlink): Detect attempts to remove directories from
|
|
"read-only" virtual devices. (From Pavel Tsekov)
|
|
|
|
2002-06-05 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dtable.cc (handle_to_fn): Check error return value from NtQueryObject
|
|
first before seeing if name buffer is NULL.
|
|
|
|
* grp.cc (read_etc_group): Fix gcc warning regarding snprintf format.
|
|
* passwd.cc (read_etc_passwd): Ditto.
|
|
|
|
2002-04-18 Thomas Pfaff <tpfaff@gmx.net>
|
|
|
|
* thread.h (pthread::joiner): New member.
|
|
* thread.cc (pthread::pthread): Initialize joiner to NULL
|
|
(pthread::create): Increment of thread counter moved from
|
|
__pthread_create to this location.
|
|
(__pthread_create): Increment thread counter removed.
|
|
(thread_init_wrapper): Set joiner to self when thread was created
|
|
detached.
|
|
(__pthread_exit): delete thread when it is detached and not
|
|
joined.
|
|
(__pthread_join): Check for deadlock and delete thread when it has
|
|
terminated.
|
|
(__pthread_detach): Set joiner to self when thread state
|
|
changed to detached.
|
|
|
|
2002-06-05 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* grp.cc (read_etc_group): When emulating nonexisting group file on
|
|
NT systems, read primary group SID from process token. Use that info
|
|
to create correct group entry. On error or on 9x systems fallback
|
|
to emulating Administrators group as before.
|
|
* passwd.cc (read_etc_passwd): When emulating nonexisting passwd file
|
|
on NT systems, read user and primary group SID from process token.
|
|
Use that info to create correct passwd entry. On error or on 9x
|
|
systems fallback to emulating user with Administrator user id and
|
|
Administrators group as before.
|
|
|
|
2002-06-05 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* grp.cc (etc_group): Removed.
|
|
(parse_grp): Make line parameter nonconst. Don't copy data into new
|
|
allocated memory. Check for CR instead of LF to accomodate new
|
|
read method.
|
|
(add_grp_line): Make line parameter nonconst.
|
|
(read_etc_group): Rearrange using new pwdgrp_read class.
|
|
* passwd.cc (parse_pwd): Don't copy data into new allocated memory.
|
|
Check for CR instead of LF to accomodate new read method.
|
|
(read_etc_passwd): Rearrange using new pwdgrp_read class.
|
|
* pwdgrp.h (pwdgrp_check::set_last_modified): Use different
|
|
parameters.
|
|
(class pwdgrp_read): New class for opening and reading passwd and
|
|
group files.
|
|
|
|
2002-06-04 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dtable.cc (handle_to_fn): Attempt to handle "raw" accesses to remote
|
|
shares.
|
|
* path.cc (mount_info::conv_to_win32_path): Set flags to binary when
|
|
mount entry is not found.
|
|
(mount_info::set_flags_from_win32_path): Ditto.
|
|
|
|
2002-06-04 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dtable.cc (handle_to_fn): Correct placement and length of name
|
|
buffer. (Suggested by Pavel Tsekov)
|
|
|
|
2002-06-04 Christopher Faylor <cgf@redhat.com>
|
|
|
|
Remove fcntl.h includes throughout.
|
|
* fhandler.h: Move fcntl.h include here.
|
|
(fhandler_base::set_flags): Accept supplied_bin argument. Make
|
|
non-inlined.
|
|
* dtable.cc (dtable::init_std_file_from_handle): Just use binmode from
|
|
pc.
|
|
(reset_to_open_binmode): Use set_flags.
|
|
* cygwin.din (open): Avoid newlib wrapper.
|
|
(read): Ditto.
|
|
(unlink): Ditto.
|
|
(write): Ditto.
|
|
* fhandler.cc (fhandler_base::set_flags): Accept supplied_bin argument.
|
|
Make binmode decisions here.
|
|
(fhandler_base::open): Avoid using pc if it is NULL. Eliminate binmode
|
|
logic. Just call set_flags with binmode argument.
|
|
(fhandler_base::init): Call set_flags with binmode argument.
|
|
* fhandler_clipboard.cc (fhandler_dev_clipboard::open): Ditto.
|
|
* fhandler_console.cc (fhandler_console::open): Ditto.
|
|
(fhandler_console::init): Force binary on open.
|
|
* fhandler_disk_file.cc (fhandler_disk_file::open): Don't set binmode
|
|
here. Let it happen in base class.
|
|
* fhandler_dsp.cc (fhandler_dev_dsp::open): Force binmode open. Set
|
|
return value appropriately if unable to open.
|
|
* fhandler_proc.cc (fhandler_proc::open): Make sure flags are set
|
|
before open_status.
|
|
* fhandler_process.cc (fhandler_process::open): Ditto.
|
|
* fhandler_registry.cc (fhandler_registry::open): Ditto.
|
|
* fhandler_random.cc (fhandler_dev_random::fhandler_dev_random): Ditto.
|
|
* fhandler_raw.cc (fhandler_dev_raw::open): Force O_BINARY by default.
|
|
* fhandler_serial.cc (fhandler_serial::init): Ditto.
|
|
* fhandler_tty.cc (fhandler_tty_slave::open): Ditto.
|
|
(fhandler_pty_master::open): Ditto.
|
|
* fhandler_virtual.cc (fhandler_virtual::open): Ditto.
|
|
* fhandler_windows.cc (fhandler_windows::open): Ditto.
|
|
* fhandler_zero.cc (fhandler_dev_zero::open): Ditto.
|
|
* net.cc (fdsock): Ditto.
|
|
* path.cc (path_conv::check): Avoid checking for executable extension
|
|
when directory. (Suggested by Pavel Tsekov)
|
|
(set_flags): Set PATH_TEXT explicitly, when appropriate.
|
|
(mount_info::conv_to_win32_path): Use set_flags() to set path flags.
|
|
* path.h (PATH_TEXT): New enum.
|
|
(path_conv::binmode): Return appropriate constant based on binmode.
|
|
* pipe.cc (make_pipe): Set binmode to O_TEXT xor O_BINARY.
|
|
* syscalls.cc (setmode_helper): Make debugging message a little
|
|
clearer.
|
|
(setmode): Set binmode via set_flags.
|
|
|
|
2002-06-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.h (class fhandler_socket): Add private method
|
|
fixup_after_fork (bool, HANDLE).
|
|
* fhandler_socket.cc (fhandler_socket::fixup_after_fork): Move
|
|
functionality to new private method. Add closing parent socket
|
|
if not called from dup(). Create method new calling private method
|
|
with appropriate parameter.
|
|
(fhandler_socket::fixup_after_exec): Call private method
|
|
fixup_after_fork with appropriate parameter.
|
|
(fhandler_socket::dup): Ditto.
|
|
|
|
2002-06-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler_dsp.cc (fhandler_dev_dsp::open): Set errno to EACCES if
|
|
requested mode isn't supported.
|
|
|
|
2002-06-03 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler.cc (fhandler_base::open): Don't set binmode if already set.
|
|
Don't check for file. Files should already be set. Report on binary
|
|
mode for debugging.
|
|
(fhandler_base::fhandler_base): Don't set default binmode here. That's
|
|
for later.
|
|
* fhandler_console.cc (fhandler_console::output_tcsetattr): Don't set
|
|
binmode, ever, for console.
|
|
* fhandler_disk_file.cc (fhandler_disk_file::open): Always set the
|
|
binary mode to the value derived from mount table.
|
|
* path.cc (mount_info::conv_to_win32_path): Default to binmode if path
|
|
does not translate into anything in the mount table.
|
|
|
|
2002-06-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* external.cc (cygwin_internal): Add CW_EXTRACT_DOMAIN_AND_USER
|
|
handling to call extract_nt_dom_user() from applications.
|
|
* include/sys/cygwin.h (cygwin_getinfo_types): Add
|
|
CW_EXTRACT_DOMAIN_AND_USER.
|
|
|
|
2002-06-03 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (stat64_to_stat32): Transform st_dev correctly.
|
|
(fstat64): Add evaluating st_ino and st_dev.
|
|
(stat_worker): Evaluate st_dev as 32 bit value.
|
|
* include/cygwin/stat.h: Use new dev_t definition throughout.
|
|
* include/cygwin/types.h: Define __dev16_t and __dev32_t. Define
|
|
dev_t according to __CYGWIN_USE_BIG_TYPES__ setting.
|
|
* include/sys/sysmacros.h: Define major, minor and makedev
|
|
according to __CYGWIN_USE_BIG_TYPES__ setting.
|
|
|
|
2002-06-03 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* syscalls.cc (setegid32): Verify the correctness of the gid
|
|
of the group returned by getgrgid32.
|
|
|
|
2002-06-03 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* security.cc (lsa2wchar): Suppressed.
|
|
(get_lsa_srv_inf): Suppressed.
|
|
(get_logon_server_and_user_domain): Suppressed.
|
|
(get_logon_server): Essentially new.
|
|
(get_user_groups): Add "domain" argument. Only lookup the
|
|
designated server and use "domain" in LookupAccountName.
|
|
(is_group_member): Simplify the arguments.
|
|
(get_user_local_groups): Simplify the arguments. Do only a
|
|
local lookup. Use "BUILTIN" and local domain in LookupAccountName.
|
|
(get_user_primary_group). Only lookup the designated server.
|
|
(get_group_sidlist): Remove logonserver argument. Do not lookup
|
|
any server for the SYSTEM account.
|
|
(create_token): Delete logonserver and call to get_logon_server.
|
|
Adjust arguments of get_group_sidlist, see above.
|
|
* security.h: Delete declaration of get_logon_server_and_user_domain
|
|
and add declaration of get_logon_server.
|
|
* uinfo.cc (internal_get_login): Call get_logon_server instead of
|
|
get_logon_server_and_user_domain.
|
|
|
|
2002-06-02 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dtable.cc (handle_to_fn): Use largest match for device. Correctly
|
|
(?) deal with remote drive weirdness.
|
|
|
|
2002-06-02 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name): Check
|
|
specifically for non-existent file, first.
|
|
(fhandler_disk_file::fstat): Perform fd open on files with funny
|
|
characters.
|
|
|
|
2002-06-02 Christopher January <chris@atomice.net>
|
|
|
|
* fhandler_process.cc (fhandler_process::open): Set fileid.
|
|
|
|
2002-06-02 Christopher Faylor <cgf@redhat.com>
|
|
|
|
Remove unneeded sigproc.h includes throughout.
|
|
* fhandler.h (fhandler_proc::fill_filebuf): Take a pinfo argument.
|
|
* fhandler_proc.cc (fhandler_proc::get_proc_fhandler): Simplify search
|
|
for given pid.
|
|
(fhandler_proc::readdir): Assume that pid exists if it shows up in the
|
|
winpid list.
|
|
* fhandler_process.cc (fhandler_process::open): Simplify search for
|
|
given pid. Call fill_filebuf with pinfo argument.
|
|
(fhandler_process::fill_filebuf): Pass pinfo here and assume that it
|
|
exists.
|
|
* pinfo.h (pinfo::remember): Define differently if sigproc.h is not
|
|
included.
|
|
|
|
2002-06-02 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dll_init.cc (dll_list::detach): Don't run destructor on exit.
|
|
|
|
2002-06-01 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler.cc (fhandler_base::fstat): Move dev and ino calculation into
|
|
caller.
|
|
* syscalls.cc (stat_worker): Calculate dev and ino calculation here, if
|
|
zero.
|
|
* fhandler_proc.cc (fhandler_proc::fhandler_proc): Minor reorg for
|
|
debugging.
|
|
* fhandler_process.cc (fhandler_process::exists): Return 0 on
|
|
nonexistence.
|
|
(fhandler_process::fstat): Simplify pid logic.
|
|
* fhandler_tape.cc (fhandler_dev_tape::fstat): Minor reformatting.
|
|
|
|
2002-06-01 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* path.cc (chdir): Don't allow cd'ing to a non-directory virtual path.
|
|
|
|
2002-05-31 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_disk_file.cc (readdir): Move inode calculation into caller.
|
|
(fhandler_cygdrive::readdir): Add "." and "..".
|
|
* dir.cc (readdir): Move inode calculation here so that fhandler
|
|
readdirs can benefit.
|
|
|
|
2002-05-31 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_console.cc (fhandler_console::open): Reinstate setting of
|
|
flags.
|
|
|
|
* dtable.cc (dtable::init_std_file_from_handle): Default to using
|
|
binmode derived from path_conv, when required.
|
|
* fhandler.h (fhandler_base::get_w_binary): Default to binmode if
|
|
nothing else is specified.
|
|
* fhandler.h (fhandler_base::get_r_binary): Ditto.
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fstat_by_handle): Work
|
|
around g++ warning.
|
|
|
|
* path.cc (path_conv::check): Remove a debugging statement.
|
|
|
|
2002-05-31 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_console.cc (fhandler_console::open): Always default to
|
|
binmode.
|
|
(fhandler_console::write_normal): Don't honor binmode setting. There
|
|
is already a termios setting for this.
|
|
(fhandler_console::init): Correct argument order in init call.
|
|
|
|
2002-05-31 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler.cc (fhandler_base::open): Make default open mode == binmode.
|
|
(fhandler_base::init): Set open flags based on derived binmode argument.
|
|
|
|
2002-05-31 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dll_init.cc (dll_list::init): Eliminate unneeded debugging statement.
|
|
|
|
2002-05-31 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_proc.cc (fhandler_proc::readdir): Set errno when no more
|
|
files.
|
|
* fhandler_process.cc (fhandler_process::readdir): Ditto.
|
|
* fhandler_registry.cc (fhandler_registry::readdir): Ditto.
|
|
|
|
2002-05-30 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* path.cc (path_conv::check): Set fileattr to INVALID_FILE_ATTRIBUTES
|
|
for nonexistent virtual device path.
|
|
(chdir): Set correct errno when attempt is made to cd to nonexistent
|
|
virtual device path.
|
|
|
|
2002-05-30 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fstat): Always call
|
|
fstat_by_name if fd is not opened to allow fstat_by_name to properly
|
|
set errno.
|
|
|
|
2002-05-30 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc: Replace autoload statments for ZwXXX by NtXXX.
|
|
Drop ZwQuerySystemInformation since NtQuerySystemInformation was
|
|
already available.
|
|
* fhandler_proc.cc (format_proc_uptime): Replace call to
|
|
ZwQuerySystemInformation by call to NtQuerySystemInformation.
|
|
(format_proc_stat): Ditto.
|
|
* fhandler_process.cc (format_process_stat): Replace call to
|
|
ZwQueryInformationProcess by call to NtQueryInformationProcess.
|
|
(get_process_state): Ditto.
|
|
(get_mem_values): Ditto. Replace call to ZwQueryVirtualMemory by
|
|
call to NtQueryVirtualMemory.
|
|
* ntdll.h: Cleanup. Drop ZwQuerySystemInformation since
|
|
NtQuerySystemInformation was already available. Replace declarations
|
|
of ZwXXX functions by declarations of NtXXX.
|
|
* pinfo.cc (winpids::enumNT): Replace call to ZwQuerySystemInformation
|
|
by call to NtQuerySystemInformation.
|
|
|
|
2002-05-29 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler.cc (binmode): Default to binmode when mode is not known.
|
|
|
|
2002-05-29 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* include/sys/cygwin.h (EXTERNAL_PINFO_VERSION): Reinstate.
|
|
* external.cc (fillout_pinfo): Use it.
|
|
|
|
2002-05-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* external.cc (fillout_pinfo): Use new version define.
|
|
* include/sys/cygwin.h (external_pinfo): Define
|
|
EXTERNAL_PINFO_VERSION_16_BIT and EXTERNAL_PINFO_VERSION_32_BIT
|
|
instead of just EXTERNAL_PINFO_VERSION.
|
|
|
|
2002-05-29 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* external.cc (fillout_pinfo): Set new version field in external_pinfo
|
|
structure.
|
|
* include/sys/cygwin.h (external_pinfo): Replace strace_file with
|
|
version field.
|
|
|
|
2002-05-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Change internal uid datatype from __uid16_t to __uid32_t
|
|
throughout.
|
|
* cygwin.din: Export new symbols getpwuid32, getpwuid_r32, getuid32,
|
|
geteuid32, setuid32, seteuid32.
|
|
* passwd.cc (getpwuid32): New function.
|
|
(getpwuid_r32): Ditto.
|
|
* syscalls.cc (seteuid32): Ditto.
|
|
(setuid32): Ditto.
|
|
* uinfo.cc (getuid32): Ditto.
|
|
(geteuid32): Ditto.
|
|
* winsup.h (uid16touid32): New macro, correct casting from __uid16_t
|
|
to __uid32_t.
|
|
(gid16togid32): Ditto fir gids.
|
|
(getuid32): Declare.
|
|
(geteuid32): Ditto.
|
|
(getpwuid32): Ditto.
|
|
* include/sys/cygwin.h (struct external_pinfo): Add members uid32 and
|
|
gid32.
|
|
|
|
2002-05-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/cygwin/socket.h: Protect some symbols against multiple
|
|
definition.
|
|
* include/netinet/ip.h: Ditto.
|
|
* include/netinet/tcp.h: Ditto.
|
|
|
|
2002-05-29 Wu Yongwei <adah@netstd.com>
|
|
|
|
* include/netinet/ip.h: Replace by BSD derived version of the file.
|
|
* include/netinet/tcp.h: Ditto.
|
|
* include/netinet/udp.h: New file.
|
|
* include/cygwin/ip.h: Remove.
|
|
|
|
2002-05-29 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dtable.cc (dtable::init_std_file_from_handle): Attempt stronger
|
|
detection of invalid handle.
|
|
(handle_to_fn): Detect pathological condition where NT resets the
|
|
buffer pointer to NULL on an invalid handle.
|
|
|
|
2002-05-28 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Properly
|
|
check for whether we should be opening the file to search for #!
|
|
characters. Set path_conv structure execability, too, when
|
|
appropriate.
|
|
|
|
2002-05-28 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (set_security_attribute): Call getegid32() instead of
|
|
getegid().
|
|
* include/cygwin/grp.h: Declare getegid32().
|
|
|
|
2002-05-28 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Change internal gid datatype from __gid16_t to __gid32_t
|
|
throughout.
|
|
* cygwin.din: Export new symbols chown32, fchown32, getegid32,
|
|
getgid32, getgrgid32, getgrnam32, getgroups32, initgroups32, lchown32,
|
|
setgid32, setegid32, getgrent32.
|
|
* grp.cc (grp32togrp16): New static function.
|
|
(getgrgid32): New function.
|
|
(getgrnam32): Ditto.
|
|
(getgrent32): Ditto.
|
|
(getgroups32): Change name of internal function from getgroups.
|
|
(getgroups32): New function.
|
|
(initgroups32): Ditto.
|
|
* syscalls.cc (chown32): Ditto.
|
|
(lchown32): Ditto.
|
|
(fchown32): Ditto.
|
|
(setegid32): Ditto.
|
|
(setgid32): Ditto.
|
|
* uinfo.cc (getgid32): Ditto.
|
|
(getegid32): Ditto.
|
|
* include/cygwin/grp.h: Remove declaration of getgrgid() and getgrnam().
|
|
Declare getgrgid32() and getgrnam32() instead. Declare getgid32().
|
|
|
|
2002-05-27 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* autoload.cc (noload): Properly mask low order word for determining
|
|
number of bytes to pop.
|
|
|
|
2002-05-27 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fstat): Minor logic
|
|
cleanup.
|
|
|
|
2002-05-27 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* autoload.cc (LoadFuncEx): Define via new LoadFuncEx2 macro.
|
|
(LoadFuncEx2): Adapted from LoadFuncEx. Provides control of return
|
|
value for nonexistent function.
|
|
(NtQueryObject): Declare.
|
|
(IsDebuggerPresent): Declare via LoadFuncEx2 and always return true if
|
|
not available.
|
|
* debug.h (being_debugged): Just rely on IsDebuggerPresent return
|
|
value.
|
|
* dtable.cc (handle_to_fn): New function.
|
|
(dtable::init_std_file_from_handle): Attempt to derive std handle's
|
|
name via handle_to_fn.
|
|
(dtable::build_fhandler_from_name): Fill in what we can in path_conv
|
|
structure when given a handle and path doesn't exist.
|
|
* fhandler.cc (fhandler_base::open): Don't set the file pointer here.
|
|
Use pc->exists () to determine if file exists rather than calling
|
|
GetFileAttributes again.
|
|
* fhandler.h (fhandler_base::exec_state_isknown): New method.
|
|
(fhandler_base::fstat_helper): Add extra arguments to declaration.
|
|
(fhandler_base::fstat_by_handle): Declare new method.
|
|
(fhandler_base::fstat_by_name): Declare new method.
|
|
* fhandler_disk_file (num_entries): Make __stdcall.
|
|
(fhandler_base::fstat_by_handle): Define new method.
|
|
(fhandler_base::fstat_by_name): Define new method.
|
|
(fhandler_base:fstat): Call fstat_by_{handle,name} as appropriate.
|
|
(fhandler_disk_file::fstat_helper): Accept extra arguments for filling
|
|
out stat structure. Move handle or name specific stuff to new methods
|
|
above.
|
|
(fhandler_disk_file::open): Use real_path->exists rather than calling
|
|
GetFileAttributes again.
|
|
* ntdll.h (FILE_NAME_INFORMATION): Define new structure.
|
|
(OBJECT_INFORMATION_CLASS): Partially define new enum.
|
|
(OBJECT_NAME_INFORMATION): Define new structure.
|
|
(NtQueryInformationFile): New declaration.
|
|
(NtQueryObject): New declaration.
|
|
* path.cc (path_conv::fillin): Define new method.
|
|
* path.h (path_conv::fillin): Declare new method.
|
|
(path_conv::drive_thpe): Rename from 'get_drive_type'.
|
|
(path_conv::volser): Declare new method.
|
|
(path_conv::volname): Declare new method.
|
|
(path_conv::root_dir): Declare new method.
|
|
* syscalls.cc (fstat64): Send real path_conv to fstat as second
|
|
argument.
|
|
|
|
2002-05-24 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* security.cc (lsa2str): New function.
|
|
(get_priv_list): Call lsa2str instead of sys_wcstombs.
|
|
|
|
2002-05-22 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* syscalls.cc (seteuid): Do not take allow_ntsec into account.
|
|
Attempt to use an existing or new token even when the uid
|
|
matches orig_uid, but the gid is not in the process token.
|
|
Major reorganization after several incremental changes.
|
|
(setegid): Do not take allow_ntsec into account. Minor
|
|
reorganization after several incremental changes.
|
|
|
|
2002-05-26 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* debug.h (being_debugged): New macro.
|
|
* dtable.cc (dtable::extend): Use new macro.
|
|
* exceptions.cc (try_to_debug): Ditto.
|
|
* strace.cc (strace::hello): Only output debugging info when we think
|
|
we're being debugged.
|
|
|
|
2002-05-25 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* winsup.h: Remove duplicate declarations of malloc_lock and
|
|
malloc_unlock.
|
|
|
|
2002-05-24 Christopher Faylor <cgf@redhat.com>
|
|
|
|
Remove unneeded sync.h, where appropriate, throughout.
|
|
Remove unneeded heap.h, where appropriate, throughout.
|
|
Remove unneeded exceptions.h, where appropriate, throughout.
|
|
Remove unneeded perprocess.h, where appropriate, throughout.
|
|
|
|
2002-05-22 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* security.cc (create_token): Call __sec_user() instead of
|
|
sec_user() to remove dependence on allow_ntsec. Verify that
|
|
the returned sd is non-null.
|
|
|
|
2002-05-25 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* gmon.c (fake_sbrk): Correctly return -1 on failed malloc's.
|
|
|
|
2002-05-24 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dtable.cc (dtable::build_fhandler_from_name): Just pass posix path
|
|
along to set_name via return_and_clear_normalized_path.
|
|
(dtable::build_fhandler): New method with const char * argument.
|
|
(dtable::reset_unix_path_name): Eliminate.
|
|
(dtable::dup_worker): Use correct build_fhandler method.
|
|
* mmap.cc (mmap_record::alloc_fh): Ditto.
|
|
* dtable.h (dtable::build_fhandler): New method.
|
|
(dtable::reset_unix_path_name): Eliminate.
|
|
* fhandler.cc (fhandler_base::set_name): Assume that unix_name has
|
|
already been cmalloced.
|
|
(fhandler_base::reset_unix_path_name): Eliminate.
|
|
(fhandler_base::~fhandler_base): Coercion for cfree.
|
|
* fhandler.h (fhandler_base::unix_path_name): Make const char *.
|
|
(fhandler_base::win32_path_name): Ditto.
|
|
(fhandler_base::reset_unix_path_name): Eliminate.
|
|
* fhandler_disk_file.cc (fhandler_cygdrive::set_drives): Accommodate
|
|
const char *ness of win32_path_name.
|
|
* fhandler_socket.cc (fhandler_socket::fstat): Accommodate new set_name
|
|
requirements.
|
|
* path.cc (path_conv::return_and_clear_normalized_path): New method.
|
|
(path_conv::clear_normalized_path): Eliminate.
|
|
(path_conv::~path_conv): Ditto.
|
|
(path_conv::check): Accommodate new build_fhandler method.
|
|
* path.h (path_conv::~path_conv): Eliminate.
|
|
(path_conv::clear_normalized_path): Ditto.
|
|
(path_conv::return_and_clear_normalized_path): Declare new method.
|
|
|
|
2002-05-23 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* path.cc (path_conv::check): Make sure any trailing path component is
|
|
part of potential normalized posix path.
|
|
|
|
2002-05-23 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* smallprint.c (__small_vsprintf): Implement '%o' after all these
|
|
years.
|
|
|
|
2002-05-22 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler.h (fhandler_virtual::exists): Eliminate path argument.
|
|
(fhandler_proc::exists): Ditto.
|
|
(fhandler_registry::exists): Ditto.
|
|
(fhandler_process::exists): Ditto.
|
|
* fhandler_proc.cc (fhandler_proc::exists): Ditto. Use built-in name.
|
|
* fhandler_process.cc (fhandler_process::exists): Ditto.
|
|
(fstat): Ditto.
|
|
* fhandler_registry.cc (fhandler_registry::exists): Ditto.
|
|
(fhandler_registry::fstat): Ditto.
|
|
* fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
|
|
* path.cc (path_conv::check): Ditto. Add debugging.
|
|
|
|
2002-05-22 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* syscalls.cc (dup): Always call dup2 for error handling.
|
|
|
|
2002-05-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/cygwin/types.h: Revert previous patch.
|
|
|
|
2002-05-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/cygwin/types.h: Define pthread stuff only if _POSIX_THREADS
|
|
is defined.
|
|
|
|
2002-05-19 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* security.cc (open_local_policy): Initialize lsa to
|
|
INVALID_HANDLE_VALUE instead of NULL.
|
|
(get_logon_server_and_user_domain): Test for INVALID_HANDLE_VALUE
|
|
instead of NULL.
|
|
(create_token): Both of the above.
|
|
|
|
2002-05-18 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fstat): Make handling of
|
|
nlink consistent for remote files.
|
|
|
|
2002-05-18 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* path.cc (path_conv::check): Always set executable bit for executable
|
|
extension.
|
|
|
|
2002-05-17 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler.cc (fhandler_base::lseek): Avoid calling SetFilePointer with
|
|
high order part of 64 bit address on OS's which do not support that
|
|
kind of operation. Otherwise Windows 95 will become confused.
|
|
|
|
2002-05-16 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* fhandler_raw.cc (fhandler_dev_raw::open): Replace set_errno()
|
|
by __seterrno_from_win_error().
|
|
* security.cc (open_local_policy): Ditto.
|
|
(get_lsa_srv_inf): Ditto.
|
|
(get_user_groups): Ditto.
|
|
(get_user_primary_group): Ditto.
|
|
(create_token): Ditto.
|
|
(subauth): Ditto.
|
|
|
|
2002-05-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* times.cc (utimes): Use FILE_WRITE_ATTRIBUTES even on 9x/Me when
|
|
opening file for writing timestamp.
|
|
* wincap.cc: Remove flag has_specific_access_rights.
|
|
* wincap.h: Ditto.
|
|
|
|
2002-05-13 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* syscalls.cc (seteuid): Set default dacl in process token.
|
|
Replace in-line code by call to verify_token().
|
|
(setegid): Reverse change from 2002-01-21. Add call to
|
|
RevertToSelf and set primary group in impersonation token.
|
|
* security.cc (create_token): Store pgrpsid in token security
|
|
descriptor, except if it already appears in my_grps.
|
|
Use sec_acl() in place of get_dacl().
|
|
(verify_token): Create from code in seteuid(), with tighter checks.
|
|
(get_dacl): Deleted.
|
|
(get_group_sidlist): Add argument to indicate if pgrpsid is already
|
|
in the groups.
|
|
* security.h: Define verify_token().
|
|
* autoload.cc: Load GetKernelObjectSecurity().
|
|
|
|
2002-05-13 Mark Bradshaw <bradshaw@staff.crosswalk.com>
|
|
|
|
* cygwin.din: Add strlcat and strlcpy.
|
|
* include/cygwin/version.h: Increment API minor version number.
|
|
|
|
2002-05-09 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* shared.cc (__sec_user): Split into sec_acl() and call orig_sid().
|
|
(sec_acl): Create from part of __sec_user(), except creator/owner.
|
|
* security.h: Define sec_acl() and MAX_DACL_LEN.
|
|
|
|
2002-05-12 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::open): Avoid using
|
|
O_DIROPEN when OS doesn't support it. Return proper errno in that
|
|
case.
|
|
|
|
2002-05-12 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* syscalls.cc (_read): Change error to EBADF if attempt to read from a
|
|
non-readable fd.
|
|
|
|
2002-05-11 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler.h (executable_states): For now, make dont_care_if_executable
|
|
equivalent to not_executable.
|
|
* sys/mount.h: Define MOUNT_NOTEXEC.
|
|
* path.h (fs_info): New class.
|
|
(path_conv): Move fs-specific fields to new 'fs' structure.
|
|
(path_conv::update_fs_info): Move to fs_info and rename to just 'update'.
|
|
* path.cc (fs_info::update): Ditto. Return 'true' if successful.
|
|
(fillout_mntent): Add ',noexec' to list of reported options.
|
|
|
|
2002-05-11 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_virtual.cc (fhandler_virtual::close): Quiet a compiler
|
|
warning.
|
|
|
|
2002-05-10 Christopher January <chris@atomice.net>
|
|
|
|
* autoload.cc: Add dynamic load statements for
|
|
'ZwQueryInformationProcess' and 'ZwQueryVirtualMemory'.
|
|
* fhandler.h: Change type of bufalloc and filesize members of
|
|
fhandler_virtual from int to size_t. Change type of position member
|
|
from __off32_t to __off64_t. Add new fileid member to fhandler_virtual
|
|
class. Make seekdir take an __off64_t argument. Make lseek take an
|
|
__off64_t argument. Add fill_filebuf method to fhandler_virtual. Add
|
|
fill_filebuf method to fhandler_proc. Add fill_filebuf method to
|
|
fhandler_registry. Add fill_filebuf method to fhandler_process. Add
|
|
saved_pid and saved_p members to fhandler_process.
|
|
* fhandler_proc.cc (proc_listing_array): Add 'loadavg', 'meminfo', and 'stat'.
|
|
(proc_fhandlers array): Ditto.
|
|
(fhandler_proc::open): Use fill_filebuf to flesh out the file contents.
|
|
(fhandler_proc::fill_filebuf): New method.
|
|
(fhandler_proc::format_proc_meminfo): Ditto.
|
|
(fhandler_proc::format_proc_stat): Ditto.
|
|
(fhandler_proc::format_proc_uptime): Ditto.
|
|
* fhandler_process.cc (process_listing): Add 'stat' and 'statm'.
|
|
(fhandler_process::fstat): Find the _pinfo structure for the process
|
|
named in the filename. Return ENOENT if the process is no longer
|
|
around. Set the gid and uid fields of the stat structure.
|
|
(fhandler_process::open): Store pid and pointer to _pinfo structure in
|
|
saved_pid and saved_p respectively. Use fill_filebuf to flesh out file
|
|
contents.
|
|
(fhandler_proc::fill_filebuf): New method.
|
|
(format_process_stat): New function.
|
|
(format_process_status): Ditto.
|
|
(format_process_statm): Ditto.
|
|
(get_process_state): Ditto.
|
|
(get_mem_values): Ditto.
|
|
* fhandler_registry.cc (fhandler_registry::seekdir): Change argument
|
|
type from __off32_t to __off64_t.
|
|
(fhandler_registry::fill_filebuf): New method.
|
|
* fhandler_virtual.cc (fhandler_virtual::seekdir): Change argument type
|
|
from __off32_t to __off64_t.
|
|
(fhandler_virtual::lseek): Ditto.
|
|
(fhandler_virtual::fill_filebuf): New method.
|
|
(fhandler_virtual::fhandler_virtual): Initialise fileid to -1.
|
|
* wincap.cc: Set flag has_process_io_counters appropriately.
|
|
* wincap.h: Add flag has_process_io_counters.
|
|
|
|
2002-05-09 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* syscalls.cc (_write): Change error to EBADF if attempt to write to a
|
|
non-writeable fd.
|
|
|
|
2002-05-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygheap.h (class cygheap_user): Add member `orig_psid'.
|
|
Add method `orig_sid()'.
|
|
* cygheap.cc (cygheap_user::set_sid): Maintain orig_psid.
|
|
|
|
2002-04-28 Norbert Schulze <norbert.schulze@web.de>
|
|
|
|
* localtime.cc (tzsetwall): Use wildabbr if generated timezone name
|
|
length < 3.
|
|
|
|
2002-05-05 Pierre Humblet <pierre.humblet@ieee.org>
|
|
|
|
* spawn.cc (spawn_guts): Move call to set_process_privilege()
|
|
to load_registry_hive().
|
|
* registry.cc (load_registry_hive): ditto.
|
|
* fork.cc (fork_parent): Call sec_user_nih() only once.
|
|
|
|
2002-05-04 Christopher January <chris@atomice.net>
|
|
|
|
* path.h (path_conv::path_conv): Initialise normalized_path to NULL.
|
|
|
|
2002-05-03 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* net.cc (getdomainname): Change second argument of getdomainname to
|
|
size_t.
|
|
|
|
2002-05-03 Christopher January <chris@atomice.net>
|
|
|
|
* fhandler_proc.cc (proc_listing): Add '.' and '..' to directory
|
|
listing.
|
|
(fhandler_proc::open): Change use of mode to flags. If the file does
|
|
not exist already, fail with EROFS if O_CREAT flag is set. Change
|
|
EROFS error to EACCES error when writing to a file. Use cmalloc to
|
|
allocate memory for filebuf.
|
|
(fhandler_proc::close): Use cfree to free filebuf.
|
|
(fhandler_proc::get_proc_fhandler): Properly detect attempts to access
|
|
unknown subdir.
|
|
* fhandler_process.cc (process_listing): Add '.' and '..' to directory
|
|
listing.
|
|
(fhandler_process::open): Use cmalloc to allocate memory for filebuf.
|
|
(fhandler_process::close): Use cfree to free filebuf.
|
|
* fhandler_registry.cc (registry_listing): Add . and '..' to directory
|
|
listing.
|
|
(fhandler_registry::open): Move check for open for writing before
|
|
open_key. Use cmalloc to allocate memory for filebuf.
|
|
(fhandler_registry::close): Use cfree to free filebuf.
|
|
(fhandler_registry::telldir): Use lower 16 bits of __d_position as
|
|
position in directory.
|
|
(fhandler_registry::seekdir): Ditto.
|
|
* fhandler_virtual.cc (fhandler_virtual::write): Change EROFS error to
|
|
EACCES error.
|
|
(fhandler_virtual::open): Set the NOHANDLE flag.
|
|
(fhandler_virtual::dup): Add call to fhandler_base::dup. Allocate
|
|
child's filebuf using cmalloc. Copy filebuf from parent to child.
|
|
(fhandler_virtual::close): Use cfree to free filebuf.
|
|
(fhandler_virtual::~fhandler_virtual): Ditto.
|
|
(from Chris Faylor <cgf@redhat.com>).
|
|
(fhandler_registry::readdir): Add support for '.' and '..' files in
|
|
subdirectories of /proc/registry.
|
|
* path.cc (path_conv::check): Do not return ENOENT if a file is not
|
|
found in /proc.
|
|
|
|
2002-05-02 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_proc.cc (fhandler_proc::fstat): Use fhandler name rather
|
|
than path_conv name.
|
|
(fhandler_proc::open): Ditto.
|
|
* fhandler_process.cc (fhandler_process::fstat): Use fhandler name
|
|
rather than path_conv name.
|
|
(fhandler_process::open): Ditto.
|
|
* fhandler_registry.cc (fhandler_registry::fstat): Use fhandler name
|
|
rather than path_conv name.
|
|
(fhandler_registry::open): Ditto.
|
|
* path.cc (path_conv::check): Don't copy posix path when virtual.
|
|
(mount_info::conv_to_win32_path): Don't zero string when isproc. Just
|
|
derive normal windows path.
|
|
|
|
* path.h (path_conv::clear_normalized_path): Declare new method.
|
|
* path.cc (path_conv::clear_normalized_path): Define new method.
|
|
* dtable.cc (build_fhandler_from_name): Clear normalized path when
|
|
finished to conserve space.
|
|
|
|
2002-05-02 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_proc.cc (fhandler_proc::fstat): Prime with information from
|
|
fhandler_base::fstat. Use defines rather than constants for permission
|
|
settings.
|
|
|
|
2002-04-30 Eric Blake <ebb9@email.byu.edu>
|
|
|
|
* path.cc (hash_path_name): Improve hash function strength.
|
|
|
|
2002-05-02 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* thread.cc (__pthread_cond_dowait): Fix a race on signalling from a
|
|
thread woken by the same condition variable it's signalling on. Thanks
|
|
to Michael Beach for the report and test case.
|
|
|
|
2002-05-02 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* path.h (pathconv_arg): Add PC_POSIX.
|
|
(path_conv): Add normalized_path field.
|
|
* path.cc (path_conv::~path_conv): New destructor.
|
|
(path_conv::check): Set normalized_path, where appropriate.
|
|
* dtable.cc (build_fhandler_from_name): Use normalized path from
|
|
path_conv.
|
|
* syscalls.cc (chroot): Ditto.
|
|
|
|
* cygheap.h: Remove path_prefix_p declaration.
|
|
|
|
2002-02-26 Christopher January <chris@atomice.net>
|
|
Christopher Faylor <cgf@redhat.com> (minor fixups)
|
|
|
|
* Makefile.in: Add fhandler_proc.o, fhandler_registry.o,
|
|
fhandler_process.o and fhandler_virtual.o.
|
|
* dtable.cc (dtable::build_fhandler): Add entries for FH_PROC,
|
|
FH_REGISTRY and FH_PROCESS. Set unix_name to the normalized posix
|
|
path.
|
|
* fhandler.h: Add constants for FH_PROC, FH_REGISTRY and FH_PROCESS.
|
|
Add class declarations for fhandler_virtual, fhandler_proc,
|
|
fhandler_registry and fhandler_virtual. Update fhandler_union
|
|
accordingly.
|
|
* fhandler_proc.cc: New file. Add implementation for fhandler_proc.
|
|
* fhandler_virtual.cc: New file. Add implementation for
|
|
fhandler_virtual.
|
|
* fhandler_process.cc: New file. Add implementation for
|
|
fhandler_process.
|
|
* fhandler_registry.cc: New file. Add implementation for
|
|
fhandler_registry.
|
|
* path.cc (isproc): New macro.
|
|
(isvirtual_dev): Ditto.
|
|
* path.cc (path_conv::check): Add check for virtual devices.
|
|
* path.cc (mount_info::conv_to_win32_path): Convert paths in /proc to
|
|
empty Win32 paths.
|
|
* path.cc (chdir): Replace check for FH_CYGDRIVE with more generic
|
|
isvirtual_dev macro. Force setting of posix path for virtual
|
|
fhandlers.
|
|
* path.h (path_prefix_p): Declare.
|
|
|
|
|
|
Wed May 1 16:06:02 2002 Jason Tishler <jason@tishler.net>
|
|
|
|
* include/cygwin/types.h: Include <sys/sysmacros.h>.
|
|
|
|
Wed Apr 17 11:27:04 2002 Jason Tishler <jason@tishler.net>
|
|
|
|
* security.cc (get_lsa_srv_inf): Prevent extraneous backslashes for
|
|
the NT Domain case.
|
|
|
|
2002-04-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (cygwin_accept): Set socket type for accepted socket.
|
|
(socketpair): Set socket type for both sockets.
|
|
|
|
2002-04-12 Egor Duda <deo@logos-m.ru>
|
|
|
|
* fhandler.h (class fhandler_socket): New member to store socket type.
|
|
(fhandler_socket::get_socket_type): Access it.
|
|
(fhandler_socket::set_socket_type): Ditto.
|
|
* net.cc (cygwin_socket): Store socket type.
|
|
(cygwin_connect): Disable security checks for connectionless sockets.
|
|
(cygwin_accept): Ditto.
|
|
|
|
2002-04-09 Mark Bradshaw <bradshaw@staff.crosswalk.com>
|
|
|
|
* cygwin.din: Add strptime.
|
|
* include/cygwin/version.h: Increment API version number.
|
|
|
|
2002-04-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fork.cc (fork_child): Call fixup_mmaps_after_fork() somewhat earlier.
|
|
|
|
2002-04-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fhandler.cc (fhandler_base::open): Set read-only bit in
|
|
file_attributes when adequate.
|
|
|
|
2002-03-28 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* times.cc (gettimeofday): Fix typo in previous patch.
|
|
|
|
2002-03-27 Wu Yongwei <adah@netstd.com>
|
|
|
|
* times.cc (gettimeofday): Revert to setting timezone info if tz !=
|
|
NULL.
|
|
|
|
2002-03-21 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Always set
|
|
st_[ug]id to value derived from get_file_attributes.
|
|
|
|
2002-03-21 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* spawn.cc (find_exec): Return input if file not found.
|
|
|
|
2002-03-19 Boris Schaeling <boriss@web.de>
|
|
|
|
* poll.cc (poll): Add support for invalid descriptors.
|
|
|
|
2002-03-15 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* fhandler.h (fhandler_termios::lseek): Override lseek.
|
|
* fhandler_termios.cc (fhandler_termios::lseek): Implement this.
|
|
|
|
2002-03-15 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygserver.cc: Include stdlib.h for exit declaration.
|
|
* threaded_queue.cc: Ditto.
|
|
|
|
2002-03-15 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* pinfo.cc (pinfo::init): Use PID_ALLPIDS flag to control when a
|
|
redirected block should be marked as nonexistent.
|
|
(winpids::add): Use PID_ALLPIDS when looking for all pids.
|
|
* cygwin.h (PID_ALLPIDS): New enum element.
|
|
|
|
2002-03-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* glob.c (stat32_to_STAT): New function.
|
|
(g_lstat): Call user space functions always with 32 bit struct stat
|
|
as a workaround.
|
|
(g_stat): Ditto.
|
|
* include/glob.h (struct glob): Don't prototype function pointers
|
|
when compiling Cygwin.
|
|
|
|
2002-03-14 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* pinfo.cc (pinfo::init): Properly handle execed process stub when
|
|
PID_NOREDIR is specified.
|
|
|
|
2002-03-13 Boris Schaeling <boriss@web.de>
|
|
|
|
* poll.cc (poll): Remove variable open_fds. Rearrange and add code to
|
|
fix settings of revents.
|
|
|
|
2002-03-13 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mmap.cc (mmap_record::map_map): Return -1 if VirtualProtect fails.
|
|
(list::erase): New method with no argument. Erase latest record
|
|
added.
|
|
(mmap64): Fail if map_map() fails.
|
|
|
|
2002-03-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* sysconf.cc (sysconf): Fix condition.
|
|
|
|
2002-03-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* mmap.cc (msync): Check area given by addr and len for being a
|
|
contigeous mmap'd region.
|
|
|
|
2002-03-11 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* fork.cc (fork_child): Call fixup_mmaps_after_fork() before
|
|
closing parent process handle. Call fixup_mmaps_after_fork()
|
|
with parent process handle as parameter.
|
|
* mmap.cc (mmap_record::access): New method.
|
|
(fixup_mmaps_after_fork): Take process handle as parameter.
|
|
In case of FILE_MAP_COPY access, copy valid memory regions to child.
|
|
* pinfo.h (fixup_mmaps_after_fork): Change prototype accordingly.
|
|
|
|
2002-03-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* autoload.cc (NetGetDCName): Add symbol.
|
|
(NetServerEnum): Remove symbol.
|
|
* security.cc (get_lsa_srv_inf): Call NetGetDCName() instead of
|
|
NetServerEnum() since it's faster. Don't call it at all if machine
|
|
is not a domain member.
|
|
|
|
2002-03-06 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* path.cc (normalize_posix_path): Avoid runs of '.'s > 2.
|
|
|
|
2002-03-05 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* errno.cc: Change EPERM associated text to "Operation not permitted"
|
|
throughout.
|
|
|
|
2002-03-05 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler_socket.cc (fhandler_socket::close): Respond to signals while
|
|
looping, waiting for socket to close. Superstitiously clear last error
|
|
when WSAEWOULDBLOCK.
|
|
|
|
2002-03-05 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* cygserver_transport_pipes.cc (transport_layer_pipes::transport_layer_pipes):
|
|
Always init - until static members work correctly.
|
|
* shm.cc (shmget): Initialize the security descriptor - thanks Corinna!
|
|
* include/sys/ipc.h: Make the ipc control constants partitioned off from the sem
|
|
control constants.
|
|
|
|
2002-03-04 Christian Lestrade <christian.lestrade@free.fr>
|
|
|
|
* include/sys/termios.h: Define _POSIX_VDISABLE. Define CCEQ macro.
|
|
* fhandler_termios.cc: Include <sys/termios.h>.
|
|
(line_edit): Recognize disabled c_cc[] chars. Ignore VDISCARD when
|
|
not in ICANON mode.
|
|
|
|
2002-03-04 Dmitry Timoshkov <dmitry@baikal.ru>
|
|
|
|
* syscalls.cc (truncate64): Use ftruncate64 directly to not lose
|
|
upper 32 bits.
|
|
|
|
2002-03-04 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* cygserver_shm.cc (delete_shmnode): New function.
|
|
(client_request_shm::serve): Use it.
|
|
|
|
2002-03-04 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* cygserver_shm.cc (client_request_shm::serve): Implement SHM_DETACH.
|
|
* shm.cc (shmdt): Implement.
|
|
|
|
2002-03-04 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* cygserver_shm.cc: Run indent.
|
|
(deleted_head): New global for storing shm id's pending deletion.
|
|
(client_request_shm::serve): Return ENOSYS for invalid request types.
|
|
Implement SHM_DEL - delete a shm id.
|
|
* cygserver_shm.h (SHM_DEL): New type value.
|
|
* shm.cc (delete_inprocess_shmds): New function, does what it's name implies.
|
|
(shmctl): Implement shm_rmid control type.
|
|
|
|
2002-03-04 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* Makefile.in (install): Remove install-bin to allow make install to work.
|
|
|
|
2002-03-03 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* shm.cc (shmat): Prevent a compile error.
|
|
(shmdt): Set errno as this function is incomplete.
|
|
|
|
2002-02-28 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* times.cc: Remove if 0'd code. Clean up slightly.
|
|
|
|
2002-02-28 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* Merged cygwin_daemon into head minus the new shm and ipc exports.
|
|
|
|
2002-02-28 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* fhandler_tty.cc (fhandler_tty_slave::open): More debugging.
|
|
(fhandler_tty_slave::read): Fix printf type for the handle.
|
|
* tty.cc (tty::common_init): Add a FIXME for security.
|
|
|
|
2002-01-29 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* Makefile.in (OBJS): Remove duplicate localtime.o.
|
|
|
|
2002-01-17 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* cygserver.cc (check_and_dup_handle): Consolidate the two variants for
|
|
simplicity.
|
|
Add Some basic debug output.
|
|
(client_request_attach_tty::serve): Use the new debug_printf for clarity.
|
|
Mark the duplicated handles as inheritable - fixup_after_fork() doesn't reopen
|
|
tty's.
|
|
|
|
2002-01-16 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* cygserver.cc (transport): Correct scope.
|
|
(client_request_attach_tty::serve): Add more debug information.
|
|
Fix erroneous use of transport instead of conn.
|
|
* cygserver_transport_pipes.cc (transport_layer_pipes::close): More debug.
|
|
(transport_layer_pipes::read): Ditto.
|
|
(transport_layer_pipes::write): Ditto.
|
|
(transport_layer_pipes::impersonate_client): Ditto.
|
|
|
|
Mon Oct 8 7:41:00 2001 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* cygserver.cc (server_request::process): Rename client_request_shm_get to
|
|
client_request_shm.
|
|
* cygserver_process.cc (process_cache::add): Rename to add_task.
|
|
Use process_cleanup instead of process_request.
|
|
(process_cache::remove_process): New method.
|
|
(process::process): Initialize new members.
|
|
(process::~process): New member.
|
|
(process::cleanup): New method.
|
|
(process::add_cleanup_routine): New method.
|
|
(process_request::process): Rename to process_cleanup.
|
|
Call the process object's cleanup method and then delete it.
|
|
(process_process_param::request_loop): Remove the signalling process.
|
|
* cygserver_shm.cc: Globally rename client_request_shm_get to client_request_shm.
|
|
(client_request_shm_get::serve): Handle attach request counting.
|
|
* cygserver_shm.h: Globally rename client_request_shm_get to client_request_shm.
|
|
(class shm_cleanup): New class.
|
|
* shm.cc: Globally rename client_request_shm_get to client_request_shm.
|
|
(client_request_shm::client_request_shm): New constructor for attach requests.
|
|
(shmat): Use it.
|
|
* include/cygwin/cygserver_process.h (class process_request): Rename to
|
|
process_cleanup.
|
|
(class cleanup_routine): New class.
|
|
(class process): New members and methods to allow calling back when the process
|
|
terminates.
|
|
|
|
Thu Oct 4 14:12:00 2001 Robert Collins <rbtcollins@hotmail.com>
|
|
* cygserver.cc (request_loop): Make static.
|
|
(main): Use new cache constructor syntax.
|
|
Start cache worker threads.
|
|
Cleanup the cache at shutdown.
|
|
* cygserver_process.cc: Run indent.
|
|
(process_cache::process_cache): Add a trigger to use when adding a process.
|
|
(process_cache::process): Move process_entry to process.
|
|
Insert at the end of the list.
|
|
Trigger the request loop when new process's inserted.
|
|
(process_cache::process_requests): Do it.
|
|
(process_cache::add): New method.
|
|
(process_cache::handle_snapshot): New method.
|
|
(process::process): Merge in the process_entry fields.
|
|
(process::handle): Make a stub function.
|
|
(process::exit_code): New method.
|
|
(process_request::process): New method.
|
|
(process_process_param::request_loop): New method.
|
|
* cygserver_shm.cc: New header dependency - threaded_queue.h.
|
|
* threaded_queue.cc (threaded_queue::cleanup): Clearer messages.
|
|
(queue_process_param::stop): Short spinlock on interruptible threads.
|
|
* threaded_queue.h (class threaded_queue): New constructor.
|
|
* include/cygwin/cygserver_process.h (process_request): New class.
|
|
(process_entry): Remove.
|
|
(process): Merge in process_entry.
|
|
(process_cache): Inherit from threaded_queue.
|
|
|
|
Tue Oct 2 23:24:00 2001 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* cygserver.cc (class server_process_param): Use new constructor syntax.
|
|
* cygserver_process.cc (process_cache::~process_cache): New function.
|
|
* threaded_queue.cc: Define condition debug_printf.
|
|
Run indent.
|
|
(threaded_queue::cleanup): Move queue_process_param guts to a method.
|
|
(threaded_queue::process_requests): Ditto.
|
|
(queue_process_param::queue_process_param): New method.
|
|
(queue_process_param::~queue_process_param): Ditto.
|
|
(queue_process_param::start): Ditto.
|
|
(queue_process_param::stop): Ditto.
|
|
* threaded_queue.h (class queue_process_param): Add support for
|
|
interruptible request loops.
|
|
* cygwin/include/cygwin/cygserver_process.h (class process_cache): Add
|
|
destructor.
|
|
|
|
Tue Oct 2 23:24:00 2001 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* cygserver_client.cc: New flag allow_daemon to disable the daemon completely.
|
|
(cygserver_request): Check it.
|
|
(cygserver_init): Ditto.
|
|
* environ.cc (parse_thing): Add (no)daemon option.
|
|
|
|
Tue Oct 2 23:00:00 2001 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* shm.cc: Update to handle include changes from HEAD.
|
|
|
|
Tue Oct 2 16:06:00 2001 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* Makefile.in: Remove cygserver_shm.o from cygwin1.dll.
|
|
Rename cygserver_shm_outside.o to cygserver_shm.o.
|
|
* cygserver.cc (server_request::process): Use the new client_request
|
|
constructor.
|
|
* cygserver_client.cc: Remove the #ifdef's stubs for the server method
|
|
within cygwin.
|
|
(client_request_attach_tty::client_request_attach_tty): Use the new
|
|
client_request constructor.
|
|
(client_request_shutdown::client_request_shutdown): Ditto.
|
|
(client_request::client_request): Ditto.
|
|
* cygserver_shm.cc (client_request_shm_get::serve): Remove the
|
|
#ifdef'd stub for in-cygwin builds.
|
|
(client_request_shm_get::client_request_shm_get): Use the new
|
|
client_request constructor, and remove the in-cygwin variants.
|
|
* cygserver_shm.h (class client_request_shm_get): #ifndef test the
|
|
serve method - it's only used in cygserver.
|
|
* shm.cc (client_request_shm_get::client_request_shm_get): New function.
|
|
* include/cygwin/cygserver.h (request_header): New constructor.
|
|
(class client_request): Use it.
|
|
New constructor accepting the header size.
|
|
#ifndef test the server method - it's only used within cygserver.
|
|
(client_request_get_version): #ifdef test the server method.
|
|
(client_request_shutdown): Ditto.
|
|
(client_request_attach_tty): Ditto.
|
|
|
|
Tue Oct 2 9:57:00 2001 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* Makefile.in: add threaded_queue.o to cygserver.exe.
|
|
* cygserver.cc: Include threaded_queue.h
|
|
(class server_request): Inherit from queue_request.
|
|
(class server_process_param): Inherit from queue_process_param.
|
|
(class server_request_queue): Inherit from threaded_queue.
|
|
(request_loop): Adjust for new types.
|
|
(server_request_queue::process_requests): Remove guts to
|
|
threaded_queue::process_requests.
|
|
(server_request::server_request): Adjust for new types.
|
|
(worker_function): Delete.
|
|
(server_request_queue::create_workers): Delete.
|
|
(server_request_queue::cleanup): Delete.
|
|
(server_request_queue::add): Move guts to threaded_queue::add.
|
|
* threaded_queue.cc: New file.
|
|
* threaded_queue.h: New file.
|
|
|
|
Mon Oct 1 12:38:00 2001 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* cygserver.cc (client_request::serve): New function.
|
|
* cygserver_process.cc: Inlude <pthread.h> for pthread_once.
|
|
(process_cache::process_cache): Initialise a crtiical section for write access.
|
|
(process_cache::process): Use the critical section. Also add missing entries to
|
|
the cache.
|
|
(do_process_init): New function to initalise class process static variables.
|
|
(process::process): Ensure that the process access critical section is
|
|
initialised.
|
|
(process::handle): Close the handle of old process's when they have terminated
|
|
and we are returning the handle for a process with the same pid.
|
|
* cygserver_shm.cc: Run indent.
|
|
Include cygserver_process.h to allow process cache functionality.
|
|
(client_request_shm_get::serve): New parameter for process cache support.
|
|
Use the process cache, not OpenProcess to get a handle to the originating process.
|
|
Fix a handle leak with token_handle.
|
|
* cygserver_shm.h (class client_request_shm_get): Update ::serve for process
|
|
cache support.
|
|
* cygserver_transport_pipes.cc: Redefine debug_printf to be conditional on DEBUG.
|
|
* include/cygwin/cygserver.h: Do not implement client_request::serve in the
|
|
header.
|
|
* include/cygwin/cygserver_process.h (class process_cache): Add a write access
|
|
critical section to prevent races when requests from a multithreaded
|
|
application arrive.
|
|
|
|
Sun Sep 30 23:41:00 2001 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* Makefile.in: Add cygserver_process.o to cygserver.exe.
|
|
* cygserver.cc: Include signal.h and cygwin_version.h.
|
|
Define debug_printf as a macro.
|
|
Define DEBUG to a value.
|
|
(client_request_attach_tty::serve): Add beginning of process cache support.
|
|
Change from #ifdef DEBUG to work with new DEBUG style.
|
|
(client_request_get_version::serve): Add beginning of process cache support.
|
|
(class server_request): New prototype for support of process cache.
|
|
(class queue_process_param): New class to allow request loop threading.
|
|
(class server_request_queue): Add beginning of process cache support.
|
|
Allow request loop threading.
|
|
(request_loop): Thread function for request loops.
|
|
(server_request_queue::process_requests): Initiator for threaded request loops.
|
|
(client_request_shutdown::serve): Add beginning of process cache support.
|
|
(server_request::server_request): Ditto.
|
|
(server_request::process): Use debug_printf. Add beginning of process cache
|
|
support.
|
|
(server_request_queue::cleanup): Kill off any request loop threads.
|
|
(server_request_queue::add): Add beginning of process cache support.
|
|
(handle_signal): Trigger a shutdown.
|
|
(main): Print out some useful info at startup - version, date time.
|
|
Add process cache support.
|
|
Spawn a separate thread for the transport request loop, thus allowing concurrent
|
|
support for multiple transports.
|
|
* cygserver_client.cc (client_request_get_version::serve): Add process cache
|
|
support.
|
|
(client_request_attach_tty::serve): Add process cache support.
|
|
(client_request_shutdown::serve): Add process cache support.
|
|
* cygsserver_process.cc: New file with the process cache support.
|
|
* cygserver_shm.cc: Redefine debug_printf to allow conditional output.
|
|
* cygwin.din: Export shmdt().
|
|
* shm.cc: Run indent.
|
|
Update FIXME's.
|
|
(shmdt): New function.
|
|
* include/cygwin/cygserver.h (class client_request): Add process cache support.
|
|
(class client_request_get_version): Ditto.
|
|
(class client_request_shutdown): Ditto.
|
|
(class client_request_attach_tty): Ditto.
|
|
* include/cygwin/cygserver_process.h: New header for process cache support.
|
|
|
|
Sun Sep 30 8:52:00 2001 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* include/cygwin/cygserver_transport.h: Add copyright header.
|
|
* include/cygwin/cygserver_transport_pipes.h: Ditto.
|
|
* include/cygwin/cygserver_transport_sockets.h: Ditto.
|
|
|
|
Sat Sep 29 20:40:00 2001 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* Makefile.in: Add cygserver_transport_sockets.o to DLL_OFILES.
|
|
Add cygserver_transport_sockets_outside.o to cygserver.exe.
|
|
* cygserver.cc: Include new include files.
|
|
* cygserver_client.cc: Ditto.
|
|
* cygserver_shm.h: No need to include <sys/socket.h> now.
|
|
* cygerver_transport.cc: Include new include files.
|
|
(transport_layer_base::transport_layer_base): Strip back to a stub.
|
|
(transport_layer_base::listen): Ditto.
|
|
(transport_layer_base::accept): Ditto.
|
|
(transport_layer_base::close): Ditto.
|
|
(transport_layer_base::read): Ditto.
|
|
(transport_layer_base::write): Ditto.
|
|
(transport_layer_base::connect): Ditto.
|
|
* cygserver_transport_pipes.cc: Include new header
|
|
"cygwin/cygserver_transport_pipes.h".
|
|
* cygserver_transport_sockets.cc: New file.
|
|
* dcrt0.cc: No need to include <sys/socket.h> now.
|
|
* fhandler_tty.cc: Ditto.
|
|
* tty.cc: Ditto.
|
|
* include/cygwin/cygserver_transport.h: Strip the base class to a stub.
|
|
Remove the cygserver_transport_pipes class.
|
|
* include/cygwin/cygserver_transport_pipes.h: New file.
|
|
* include/cygwin/cygserver_transport_sockets.h: New file.
|
|
|
|
Tue Sep 25 16:22:00 2001 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* autoload.cc: Add dynamic load statement for 'ImpersonateNamedPipeClient'.
|
|
* Makefile.in: Add new object files, and build instructions for cygserver.exe.
|
|
* cygwin.din: Export ftok, shmat, shmctl and shmget.
|
|
* dcrt0.cc: Additional includes for cygserver support.
|
|
(dll_crt0_1): Initialise the cygserver client.
|
|
* fhandler.h (fhandler_tty): New method cygserver_attach_tty.
|
|
* fhandler_tty.cc: Additional includes for cygserver support.
|
|
(fhandler_tty_slave::open): Attempt to use the cygserver when obtaining
|
|
handles from the parent process. On failure or 9x use the current method.
|
|
(fhandler_tty_slave::cygserver_attach_tty): New function.
|
|
* fork.cc (fork_child): Fixup shm memory mapped areas.
|
|
* pinfo.h: Declare fixup_shms_after_fork().
|
|
* security.h: Declare alloc_sd().
|
|
* tty.cc: Additonal includes to support cygserver.
|
|
(tty::common_init): Don't allow others to open us if the cygserver is running.
|
|
* winsup.h: Declare cygserver_running.
|
|
* cygserver.cc: New file.
|
|
* cygserver_client.cc: New file.
|
|
* cygserver_shm.cc: New file.
|
|
* cygserver_shm.h: New file.
|
|
* cygserver_transport.cc: New file.
|
|
* cygserver_transport_pipes.cc: New file.
|
|
* ipc.cc: New file.
|
|
* shm.cc: New file.
|
|
* include/cygwin/cygserver.h: New file.
|
|
* include/cygwin/cygserver_transport.h: New file.
|
|
* include/sys/ipc.h: New file.
|
|
* include/sys/shm.h: New file.
|
|
|
|
2002-02-28 Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* thread.cc (semaphore::TryWait): Set errno as required by posix 1003.1.
|
|
(__sem_wait): Ditto.
|
|
(__sem_trywait): Ditto.
|
|
|
|
2002-02-27 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor number.
|
|
|
|
2002-02-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* cygwin.din (fstat64): New symbol.
|
|
(ftruncate64): Ditto.
|
|
(lseek64): Ditto.
|
|
(lstat64): Ditto.
|
|
(mmap64): Ditto.
|
|
(seekdir64): Ditto.
|
|
(stat64): Ditto.
|
|
(telldir64): Ditto.
|
|
(truncate64): Ditto.
|
|
* dir.cc (telldir64): New function.
|
|
(telldir): Call telldir64().
|
|
(seekdir64): New function.
|
|
(seekdir): Call seekdir64().
|
|
* fhandler.h: Redefine all methods using __off32_t to use __off64_t.
|
|
* fhandler.cc: Use __off64_t and struct __stat64 throughout.
|
|
* fhandler_clipboard.cc: Ditto.
|
|
* fhandler_disk_file.cc: Ditto.
|
|
* fhandler_dsp.cc: Ditto.
|
|
* fhandler_floppy.cc: Ditto.
|
|
* fhandler_mem.cc: Ditto.
|
|
* fhandler_random.cc: Ditto.
|
|
* fhandler_socket.cc: Ditto.
|
|
* fhandler_tape.cc: Ditto.
|
|
* fhandler_zero.cc: Ditto.
|
|
* pipe.cc: Ditto.
|
|
* glob.c: Ditto, call lstat64 and stat64 in Cygwin.
|
|
* mmap.cc: Use __off64_t throughout.
|
|
(mmap64): New function.
|
|
* sec_acl.cc (acl_worker): Use struct __stat64, call stat64 and lstat64.
|
|
* syscalls.cc (lseek64): New function.
|
|
(stat64_to_stat32): Ditto.
|
|
(fstat64): Ditto.
|
|
(stat64): Ditto.
|
|
(lstat64): Ditto.
|
|
(ftruncate64): Ditto.
|
|
(truncate64): Ditto.
|
|
(_fstat): Call fstat64.
|
|
(_stat): Call stat64.
|
|
(cygwin_lstat): Rename to avoid declaration problem. Call lstat64.
|
|
(stat_worker): Use struct __stat64.
|
|
(access): Ditto.
|
|
(ftruncate): Call ftruncate64.
|
|
(truncate): Call truncate64.
|
|
* wincap.cc: Set flag has_64bit_file_access appropriately.
|
|
* wincap.h: Add flag has_64bit_file_access.
|
|
* winsup.h (ILLEGAL_SEEK): Define as __off64_t.
|
|
(stat_dev): Declare using struct __stat64.
|
|
(stat_worker): Ditto.
|
|
* include/cygwin/stat.h (struct __stat32): Define if compiling Cygwin.
|
|
(struct __stat64): Ditto.
|
|
(struct stat): Revert definition with explicitly sized datatypes.
|
|
Eliminate sized field names.
|
|
* include/cygwin/types.h (blksize_t): New type.
|
|
(__blkcnt32_t): Ditto.
|
|
(__blkcnt64_t): Ditto.
|
|
(blkcnt_t): Ditto.
|
|
|
|
2002-02-22 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* sync.h (new_muto): Just accept an argument which denotes the name of
|
|
the muto. Use this argument to construct static storage.
|
|
* cygheap.cc (cygheap_init): Reflect above change.
|
|
* exceptions.cc (events_init): Ditto.
|
|
* malloc.cc (malloc_init): Ditto.
|
|
* path.cc (cwdstuff::init): Ditto.
|
|
* cygheap.h (cwdstuff): Change name of lock element to make it less
|
|
generic.
|
|
* path.cc (cwdstuff::get_hash): Ditto.
|
|
(cwdstuff::get_initial): Ditto.
|
|
(cwdstuff::set): Ditto.
|
|
(cwdstuff::get): Ditto.
|
|
* sigproc.cc (proc_subproc): Ditto.
|
|
|
|
* debug.cc (lock_debug): Change to method. Use method rather than
|
|
macro throughout.
|
|
|
|
* tty.h (tty_min::kill_pgrp): Declare new method.
|
|
* fhandler_termios.cc (tty_min::kill_pgrp): New method.
|
|
(fhandler_termios::line_edit): Use new method for killing process.
|
|
* dcrt0.cc (do_exit): Ditto.
|
|
|
|
* dtable.cc (dtable::get_debugger_info): New method for inheriting
|
|
dtable info from a debugger.
|
|
* tty.cc (tty_init): Attempt to grab file handle info from parent
|
|
debugger, if appropriate.
|
|
|
|
# dtable.cc (dtable::stdio_init): Make this a method.
|
|
(dtable::init_std_file_from_handle): Don't set fd unless it's not open.
|
|
(dtable::build_fhandler_from_name): Move name setting to
|
|
dtable::build_fhandler.
|
|
(dtable::build_fhandler): Add win32 name parameter.
|
|
* dcrt0.cc (dll_crt0_1): Change to use dtable stdio_init.
|
|
* dtable.h (dtable): Reflect build_fhandler parameter change.
|
|
* mmap.cc (mmap_record::alloc_fh): Don't set name parameter in
|
|
build_fhandler.
|
|
* net.cc (fdsock): Remove set_name call since it is now handled by
|
|
build_fhandler.
|
|
|
|
* sigproc.cc (proc_subproc): Release muto as early as possible.
|
|
|
|
2001-02-22 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* smallprint.c (rn): Allow long long values.
|
|
(__small_vsprintf): Add 'D', 'U' and 'X' formats for long long
|
|
parameters.
|
|
|
|
2002-02-19 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fhandler.cc (fhandler_base::puts_readahead): Remove default parameter
|
|
setting. Newer gcc's complain about this.
|
|
(fhandler_base::set_readahead_valid): Ditto.
|
|
* fhandler_dsp.cc (Audio::open): Ditto.
|
|
(fhandler_dev_dsp::open): Ditto.
|
|
|
|
2002-02-19 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* fork.cc (fork_parent): Use sec_user_nih to control process/thread
|
|
inheritance/permission.
|
|
* spawn.cc (spawn_guts): Ditto.
|
|
* security.cc (create_token): Initialize token so that it is not tested
|
|
for bogus value later. Use sec_user to control process/thread
|
|
creation.
|
|
* security.h (__sec_user): Rename declaration from sec_user.
|
|
(sec_user_nih): Declare here as inline function wrapper for __sec_user.
|
|
(sec_user): Ditto.
|
|
* sigproc.cc (czombies): Allocate a character array for zombies to
|
|
avoid constructor overhead
|
|
(extremely hackish, I know).
|
|
(cpchildren): Ditto.
|
|
(pchildren): New define.
|
|
(zombies): Ditto.
|
|
(getsem): Use sec_user_nih to control semaphore inheritance/permission.
|
|
|
|
2002-02-16 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* times.cc (hires::prime): Restore thread priority on failure
|
|
condition.
|
|
|
|
* uinfo.cc (uinfo_init): Use more robust method for determining if
|
|
process was invoked from a non-cygwin process.
|
|
|
|
* sync.h (muto::init): Eliminate "inheritance" parameter.
|
|
(new_muto): Reflect removal of parameter.
|
|
* sync.cc (muto::init): Ditto.
|
|
* cygheap.cc (cygheap_init): Ditto.
|
|
* debug.cc (threadname_init): Ditto.
|
|
* exceptions.cc (events_init): Ditto.
|
|
* malloc.cc (malloc_init): Ditto.
|
|
* path.cc (cwdstuff::init): Ditto.
|
|
* sigproc.cc (sigproc_init): Ditto.
|
|
|
|
* grp.cc (group_lock): Use different method for locking with static
|
|
member.
|
|
(read_etc_group): REALLY ensure that read lock mutex is released.
|
|
* passwd.cc (passwd_lock): Use different method for locking with static
|
|
member.
|
|
(read_etc_passwd): REALLY ensure that read lock mutex is released.
|
|
|
|
* shared.cc (sec_user): Correct reversed inheritance test.
|
|
|
|
2002-02-15 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* hires.h (hires::usecs): Rename from utime. Accept an argument.
|
|
* strace.cc (strace::microseconds): Use hires class for calculating
|
|
times.
|
|
* sync.h (new_muto): Use NO_COPY explicitly in declaration.
|
|
* times.cc (gettimeofday): Reflect change in usecs argument.
|
|
(hires::usecs): Ditto. Changed name from utime.
|
|
* winsup.h (NO_COPY): Add nocommon attribute to force setting aside
|
|
space for variable.
|
|
* regcomp.c (REQUIRE): Add a void cast to bypass a warning.
|
|
|
|
2002-02-15 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* hires.h: New file.
|
|
* times.cc (gettimeofday): Use hires class for calculating current time.
|
|
(hires::prime): New method.
|
|
(hires::utime): Ditto.
|
|
|
|
2002-02-14 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* include/sys/cygwin.h (cygwin_getinfo_types): New CW_STRACE_ACTIVE.
|
|
* external.cc (cygwin_internal): Handle CW_STRACE_ACTIVE.
|
|
|
|
2002-02-14 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* exceptions.cc (unused_sig_wrapper): Eliminate unused parameter to
|
|
asm.
|
|
* external.cc (cygwin_internal): Change CW_STRACE_ON to
|
|
CW_STRACE_TOGGLE.
|
|
* strace.cc (strace::hello): Toggle strace on and off.
|
|
* sync.cc (muto::init): Renamed from constructor.
|
|
* sync.h (muto::new): Delete.
|
|
(muto::delete): Ditto.
|
|
(new_muto): Simplify. Use muto.init for nearly everything.
|
|
* uinfo.cc (uinfo_init): Avoid closing a NULL handle.
|
|
* include/sys/cygwin.h (cygwin_getinfo_types): Rename CW_STRACE_OFF to
|
|
CW_STRACE_TOGGLE. Delete CW_STRACE_OFF.
|
|
* include/sys/strace.h (strace): Add "inited" field.
|
|
|
|
2001-02-12 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/cygwin/acl.h: Fix definition of aclent_t.
|
|
|
|
2002-02-10 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* Makefile.in (DLL_OFILES): Consolidate object files.
|
|
|
|
2002-02-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* child_info.h, cygheap.h, fhandler_clipboard.cc, fhandler_dsp.cc,
|
|
fhandler_floppy.cc, fhandler_mem.cc, fhandler_random.cc,
|
|
fhandler_tape.cc, fhandler_zero.cc, grp.cc, mmap.cc, passwd.cc,
|
|
pinfo.cc, pinfo.h, pipe.cc, sec_acl.cc, sec_helper.cc, security.cc,
|
|
security.h, thread.h, uinfo.cc, include/cygwin/acl.h: Fix copyright.
|
|
|
|
2002-02-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* child_info.h, cygheap.h, dcrt0.cc, dir.cc, fhandler.cc, fhandler.h,
|
|
fhandler_clipboard.cc, fhandler_disk_file.cc, fhandler_dsp.cc,
|
|
fhandler_floppy.cc, fhandler_mem.cc, fhandler_random.cc,
|
|
fhandler_tape.cc, fhandler_zero.cc, grp.cc, mmap.cc, passwd.cc,
|
|
pinfo.cc, pinfo.h, pipe.cc, sec_acl.cc, sec_helper.cc, security.cc,
|
|
security.h, spawn.cc, syscalls.cc, thread.h, uinfo.cc, winsup.h:
|
|
Change usage of uid_t to __uid16_t, gid_t to __gid16_t and
|
|
off_t to __off32_t throughout. Use INVALID_UID, INVALID_GID and
|
|
INVALID_SEEK instead casting -1 to the appropriate type.
|
|
* winsup.h: Define INVALID_UID, INVALID_GID and INVALID_SEEK.
|
|
* include/cygwin/acl.h: Define internal __aclent16_t and __aclent32_t
|
|
types. Don't declare acl functions when compiling Cygwin.
|
|
* include/cygwin/grp.h: Declare getgrgid() and getgrnam() with
|
|
correct types for internal usage.
|
|
|
|
2002-02-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
Patch suggested by Pierre A. Humblet <Pierre.Humblet@ieee.org>:
|
|
* uinfo.cc (internal_getlogin): Try evaluating user by SID even if
|
|
ntsec is off.
|
|
(uinfo_init): Set primary group even if ntsec is off.
|
|
|
|
2002-02-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/cygwin/grp.h: New file.
|
|
* include/cygwin/stat.h: Ditto.
|
|
* include/cygwin/types.h: Add definitions for __off32_t,
|
|
__off64_t, off_t, __uid16_t, __uid32_t, uid_t, __gid16_t,
|
|
__gid32_t and gid_t.
|
|
* include/sys/cygwin.h: Use correct uid and gid types.
|
|
|
|
2002-02-09 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dtable.cc (dtable::dup2): Revert previous patch.
|
|
* fhandler.h: Ditto.
|
|
(fhandler_socket::recv): Define new method.
|
|
(fhandler_socket::send): Ditto.
|
|
* fhandler_socket.cc (fhandler_socket::recv): New method.
|
|
(fhandler_socket::send): Ditto.
|
|
(fhandler_socket::read): Call fhandler_socket::recv() now.
|
|
(fhandler_socket::write): Call fhandler_socket::send() now.
|
|
* net.cc (class wsock_event): Move definition to wsock_event.h.
|
|
(fdsock): Revert previous patch.
|
|
(cygwin_recv): Move implementation to fhandler_socket::recv().
|
|
(cygwin_send): Move implementation to fhandler_socket::send().
|
|
* wsock_event.h: New file.
|
|
|
|
2002-02-06 Alexander Gottwald <Alexander.Gottwald@s1999.tuchemnitz.de>
|
|
|
|
* net.cc (get_2k_ifconf): Create interface entries for tokenring cards.
|
|
|
|
2002-02-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dtable.cc (dtable::dup2): Store fd for fhandler_socket.
|
|
* fhandler.h (fhandler_base::set_fd): New virtual method.
|
|
(fhandler_base::get_fd): Ditto.
|
|
(fhandler_socket::set_fd): Ditto.
|
|
(fhandler_socket::get_fd): Ditto.
|
|
* fhandler_socket.cc (fhandler_socket::read): Call cygwin_recv instead
|
|
of native Winsock recv.
|
|
(fhandler_socket::write): Call cygwin_send instead of native Winsock
|
|
send.
|
|
* net.cc (fdsock): Store fd in fhandler_socket.
|
|
|
|
2002-02-07 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (cygwin_getsockname): Fix handling of NULL sun_path.
|
|
|
|
2002-01-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (getdomainname): Fix registry key for 9x systems, too.
|
|
|
|
2002-01-29 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (getdomainname): Fix registry key for NT systems.
|
|
|
|
2002-01-28 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* external.cc (cygwin_internal): Initialize various internal settings
|
|
if required to allow use of some things from user loaded DLL.
|
|
(CW_STRACE_ON): Add new feature.
|
|
(CW_CYGWIN_PID_TO_WINPID): Ditto.
|
|
* pinfo.cc (set_myself): Call "strace.hello" to initiate possible
|
|
strace session.
|
|
(pinfo::init): Guard against dereferencing uninitialized myself.
|
|
* sigproc.cc (wait_sig): Call strace.hello() when __SIGTRACE "signal"
|
|
received.
|
|
* strace.cc (strace::hello): New method.
|
|
* wincap.cc (wincapc::init): Avoid initializing if already initialized.
|
|
* wincap.h (wincapc::wincapc): New method.
|
|
* include/sys/cygwin.h: Add new CW_ enums. Kludge typedefs of
|
|
{g,u}id_t if required.
|
|
* strace.h (strace::hello): Declare new method.
|
|
|
|
2002-01-28 Earnie Boyd <earnie@users.sf.net>
|
|
|
|
* include/sys/strace.h (_STRACE_ON): Define.
|
|
(_STRACE_OFF): Ditto.
|
|
|
|
2002-01-24 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* speclib: Ensure that temporary def file is removed.
|
|
|
|
2002-01-23 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* speclib: Use rm -f to remove temp file just to quiet any potential
|
|
warnings.
|
|
|
|
2002-01-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (create_token): Use sec_user() to create
|
|
SECURITY_ATTRIBUTES structure for primary token. Use
|
|
MAXIMUM_ALLOWED access rights instead of TOKEN_ALL_ACCESS.
|
|
|
|
2002-01-23 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (symlink): Fix check for already existing file.
|
|
|
|
2002-01-21 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygmagic: Suppress error output when figuring out if sum takes an
|
|
option.
|
|
|
|
2002-01-21 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygmagic: Attempt to figure out if sum takes an option.
|
|
|
|
2002-01-21 DJ Delorie <dj@redhat.com>
|
|
|
|
* Makefile.in (libpthread.a): Pass the assembler also.
|
|
(libm.a): Ditto.
|
|
(libc.a): Ditto.
|
|
* speclib: Specify the assembler to dlltool.
|
|
|
|
2002-01-21 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor number.
|
|
|
|
2002-01-21 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* grp.cc (getgrgid): Don't return default gid entry when ntsec is on.
|
|
* syscalls.cc (setegid): Don't set primary group in process token.
|
|
|
|
2002-01-21 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* speclib: Don't use /dev/null as DLL name. Just default to what's
|
|
already in .def file.
|
|
|
|
2002-01-21 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* exceptions.cc (sig_handle): Remove last vestiges of SA_NOCLDSTOP code
|
|
which caused SIGCHLD to be ignored.
|
|
|
|
2002-01-20 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor number.
|
|
|
|
2002-01-20 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* syscalls.cc (regfree): Make dll_export.
|
|
|
|
2002-01-20 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* exceptions.cc (ctrl_c_handler): Convert windows pid to cygwin pid
|
|
when detecting if we should actually handle CTRL-C.
|
|
|
|
2002-01-19 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* Makefile.in (new-cygwin1.dll): Revert previous change. libsupc++.a
|
|
is only available in libstdc++-v3.
|
|
|
|
2002-01-19 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* exceptions.cc (sig_handle_tty_stop): Don't send SIGCHLD if parent
|
|
doesn't want it.
|
|
(sig_handle): Don't check for SA_NOCLDSTOP here. We don't have enough
|
|
information.
|
|
|
|
2002-01-19 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* include/cygwin/version.h: Bump DLL minor number.
|
|
|
|
2002-01-19 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* Makefile.in (new-cygwin1.dll): Just use -lsupc++ for link.
|
|
* sigproc.cc (proc_exists): Change existence criteria.
|
|
* sync.h (new_muto): Add volatile to definition to avoid gcc
|
|
optimization problems.
|
|
|
|
2002-01-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* include/cygwin/version.h: Bump API minor version to 51.
|
|
|
|
2002-01-19 Mark Bradshaw <bradshaw@staff.crosswalk.com>
|
|
|
|
* cygwin.din: Add recvmsg and sendmsg.
|
|
* net.cc: Add cygwin_recvmsg and cygwin_sendmsg.
|
|
* /usr/include/sys/socket.h: Add recvmsg and sendmsg.
|
|
|
|
2002-01-19 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* security.cc (create_token): Close processes token handle as soon
|
|
as it's not used anymore.
|
|
|
|
2002-01-17 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* Makefile.in: Add fnmatch.o to DLL_OFILES.
|
|
* cygwin.din: Add fnmatch export symbol.
|
|
* fnmatch.c: New file.
|
|
* include/fnmatch.h: Ditto.
|
|
* include/cygwin/version.h: Bump API minor version to 50.
|
|
|
|
2002-01-15 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* path.cc (fchdir): Call chdir with full windows path.
|
|
|
|
2002-01-14 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dir.cc: Use INVALID_FILE_ATTRIBUTES instead of "(DWORD) -1"
|
|
for file attributes throughout.
|
|
* fhandler.cc: Ditto.
|
|
* fhandler_disk_file.cc: Ditto.
|
|
* path.cc: Ditto.
|
|
* path.h: Ditto.
|
|
* syscalls.cc: Ditto.
|
|
* times.cc (utimes): Use path_conv::isdir() instead of explicit
|
|
GetFileAttributes() call.
|
|
|
|
2002-01-13 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dcrt0.cc (multiple_cygwin_problem): Clarify logic and make
|
|
CYGWIN_MISMATCH_OK more powerful.
|
|
|
|
2002-01-10 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* exceptions.cc (sig_handle): Accept a second argument indicating
|
|
whether the signal came from this process or not.
|
|
* sigproc.h: Reflect sig_handle arg change.
|
|
* signal.cc (kill_pgrp): Add sigframe info.
|
|
(abort): New function. Eliminates newlib function of same name.
|
|
* sigproc.cc (wait_sig): Pass "signal from this process" value as arg
|
|
2.
|
|
|
|
2002-01-10 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* syscalls.cc (pathconf): Guard _PC_PATH_MAX branch against invalid
|
|
file parameter.
|
|
|
|
2002-01-09 Christopher Faylor <cgf@redhat.com>
|
|
Robert Collins <rbtcollins@hotmail.com>
|
|
|
|
* exceptions.cc (early_stuff_init): Rename from misnamed
|
|
set_console_handler.
|
|
(ctrl_c_handler): Attempt to work around potential signal duplication
|
|
during process startup.
|
|
(sig_handle): Ignore SIGINT when we're just an "exec stub".
|
|
* spawn.cc (spawn_guts): Store pid of spawned process in global for use
|
|
by ctrl_c_handler.
|
|
* dcrt0.cc (dll_crt0_1): Call renamed initialization function.
|
|
* winsup.h: Reflect function name change.
|
|
|
|
2002-01-08 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc (cygwin_accept): Set sun_path for newly connected socket.
|
|
|
|
2002-01-07 Ralf Habacker <Ralf.Habacker@freenet.de>
|
|
|
|
* Makefile.in: Add uninstall target.
|
|
|
|
2002-01-07 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* sigproc.cc (getsem): Clean up debugging output.
|
|
|
|
2002-01-07 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* sigproc.cc (getsem): Set errno when unable to create own semaphore.
|
|
Reorganize to make clearer that error should only come from initial
|
|
creation of process semaphore.
|
|
|
|
2002-01-06 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dtable.cc (dtable::init_std_file_from_handle): Add some defensive
|
|
code to invalid handle case.
|
|
|
|
2002-01-06 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* ioctl.cc (ioctl): Make third argument optional.
|
|
* include/sys/ioctl.h: Ditto in declaration.
|
|
* dtable.cc (dtable::init_std_file_from_handle): Revert previous
|
|
bogus patch.
|
|
* window.cc (WndProc): Raise SIGURG instead of SIGIO in case of FD_OOB
|
|
message.
|
|
|
|
2002-01-05 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dir.cc (opendir): Guarantee release of alloced fhandler structure on
|
|
error.
|
|
|
|
2002-01-05 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* exceptions.cc (sig_handle): Set default action for SIGURG to SIG_IGN.
|
|
|
|
2002-01-05 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* dtable.cc (dtable::init_std_file_from_handle): Don't treat NULL
|
|
handle as errorneous.
|
|
|
|
2002-01-04 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* cygmagic: Change logic for equality test.
|
|
|
|
2002-01-04 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* dir.cc (opendir): Don't attempt to call sub-opendir if ENOENT.
|
|
|
|
2002-01-04 Corinna Vinschen <corinna@vinschen.de>
|
|
|
|
* net.cc: Replace usage of AF_UNIX by Posix compliant AF_LOCAL
|
|
throughout.
|
|
(socketpair): Explicitly allow SOCK_STREAM and SOCK_DGRAM socket types
|
|
in families AF_UNIX and AF_LOCAL. Explicitly allow PF_UNSPEC, PF_LOCAL
|
|
and PF_INET protocols. Return error otherwise. Implement datagram
|
|
socketpairs.
|
|
|
|
2002-01-01 Christopher Faylor <cgf@redhat.com>
|
|
|
|
* speclib: Remove temp files automatically.
|
|
|
|
2002-01-01 Corinna Vinschen <corinna@vinschen.de>
|
|
* fhandler.h (fhandler_socket::sun_path): New private member.
|
|
(fhandler_socket::set_sun_path): New method.
|
|
(fhandler_socket::get_sun_path): Ditto.
|
|
* fhandler_socket.cc (fhandler_socket::fhandler_socket): Initialize
|
|
sun_path to NULL.
|
|
(fhandler_socket::~fhandler_socket): Free sun_path if needed.
|
|
(fhandler_socket::set_sun_path): New method.
|
|
* net.cc (cygwin_bind): Set sun_path to path of local socket file.
|
|
(cygwin_getsockname): Add code to return correct sockaddr for unix
|
|
domain sockets.
|