diff options
Diffstat (limited to 'winsup/cygwin/ChangeLog')
-rw-r--r-- | winsup/cygwin/ChangeLog | 2301 |
1 files changed, 0 insertions, 2301 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog deleted file mode 100644 index 42c0604d1..000000000 --- a/winsup/cygwin/ChangeLog +++ /dev/null @@ -1,2301 +0,0 @@ -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. |