summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
Commit message (Collapse)AuthorAgeFilesLines
* * grp.cc: Add missing Copyright date 2001.Corinna Vinschen2001-07-162-1/+5
|
* Change well_known_admin_sid to well_known_admins_sid throughout.Corinna Vinschen2001-07-157-35/+73
| | | | | | | | | | | | | * sec_acl.cc (setacl): Never set DELETE permission. Set FILE_DELETE_CHILD only on readable and executable directories. * sec_helper.cc: Add constructor for `well_known_null_sid'. * security.cc (get_nt_attribute): Set S_ISVTX for directories if FILE_WRITE_DATA and FILE_EXECUTE but not FILE_DELETE_CHILD is set. Add evaluation of S_ISVTX, S_ISGID and S_ISUID from NULL ACE. (alloc_sd): Never set DELETE permission. Set FILE_DELETE_CHILD only on readable and executable directories. Add creation of NULL ACE for S_ISVTX, S_ISGID and S_ISUID permissions. * security.h: Add extern declaration for `well_known_null_sid'.
* * syscalls.cc (stat_worker): Simplify previous change.Christopher Faylor2001-07-142-6/+7
|
* * syscalls.cc (_unlink): Correct (?) logic which determines when to report anChristopher Faylor2001-07-132-16/+26
| | | | | access violation and when to queue file for eventual deletion. (stat_worker): Check for invalid buf argument.
* * mmap.cc (fhandler_disk_file::mmap): Try to open file mappingsCorinna Vinschen2001-07-102-7/+33
| | | | | by a unified name when running under 9x/ME. If that failes, create the file mapping using the unified name.
* * uinfo.cc (internal_getlogin): Add pointer check.Corinna Vinschen2001-07-092-3/+11
|
* * security.cc (alloc_sd): Don't set inheritance attribute forCorinna Vinschen2001-07-092-0/+21
| | | | permissions given to directories.
* * fhandler_dsp.cc (fhandler_dev_dsp::ioctl): Return 0 for success.Christopher Faylor2001-06-292-6/+10
|
* Change check_null_empty_path* to check_null_empty_str* throughout.Christopher Faylor2001-06-2810-54/+88
| | | | | | | | | | | | | | | * path.cc (path_conv::check): Add signal protection here since retrieving info about remote shares can take some time. * path.h (check_null_empty_str_errno): Convert to a function prototype. * path.cc (check_null_empty_str): Move to miscfuncs.cc. * miscfuncs.cc (check_null_empty_str_errno): New function. (__check_null_invalid_struct): Ditto. (__check_null_invalid_struct_errno): Ditto. (check_null_empty_str): Change from VirtualQuery to IsBadWritePtr. * thread.cc (check_valid_pointer): Ditto. * resource.cc (getrlimit): Use check_null_invalid_struct macro for checking validity of pointer. (setrlimit): Ditto.
* * fhandler.cc (fhandler_disk_file::fstat): Don't rely on exactly 3 charactersChristopher Faylor2001-06-264-5/+28
| | | | | | | | | being read for executable test since we could be checking for less than that. * syscalls.cc (stat_worker): Try opening the file the "correct" way first so that #! processing can potentially happen. If that fails, then use "query open" method. * spawn.cc (spawn_guts): Delay processing of signal until after we've notified parent about reparenting.
* Remove trailing tabs.Christopher Faylor2001-06-262-2/+2
|
* * mmap.cc: Clean up *ResourceLock calls throughout.Christopher Faylor2001-06-2615-460/+484
| | | | | | | * thread.cc (pthread_cond::TimedWait): Check for WAIT_TIMEOUT as well as WAIT_ABANDONED. (__pthread_cond_timedwait): Calculate a relative wait from the abstime parameter.
* forced commitChristopher Faylor2001-06-241-0/+3
|
* Fix typoChristopher Faylor2001-06-241-1/+1
|
* * exceptions.cc (interrupt_setup): Move actions from setup_handler to here.Christopher Faylor2001-06-246-75/+84
| | | | | | | | | (setup_handler): Move actions after a successful interrupt to interrupt_setup. * fork.cc (vfork): Augment debugging output. * sigproc.cc (proc_subproc): Ditto. * spawn.cc (spawn_guts): Ditto. Correctly fill out progname when spawn NO_WAIT. Call signal handler when a signal arrives. * sigproc.h: Declare a function.
* * fhandler.h class fhandler_socket): Declare new methodCorinna Vinschen2001-06-223-0/+17
| | | | | | `set_close_on_exec'. * fhandler_socket.cc (fhandler_socket::set_close_on_exec): New method.
* * fhandler_tape.cc (fhandler_dev_tape::tape_erase): Set sizeCorinna Vinschen2001-06-222-1/+6
| | | | parameter to value expected by GetTapeParameters().
* * fhandler_console.cc (fhandler_console::read): Detect AltGr moreCorinna Vinschen2001-06-222-2/+25
| | | | robustly on WinNT.
* 2001-06-22 Robert Collins rbtcollins@hotmail.comRobert Collins2001-06-212-2/+8
| | | | | | * thread.cc (__pthread_cond_timedwait): Lock the waiting mutex before the condition protect mutex to avoid deadlocking. (Found by Greg Smith). (__pthread_cond_wait): Ditto.
* * fhandler.cc (fhandler_base::open): Work around windows bug whenEgor Duda2001-06-202-0/+17
| | | | | CreateFile() with dwDesiredAccess == 0 called on remote share returns valid handle even if file doesn't exist.
* * fhandler_socket.cc (fhandler_socket::signal_secret_event): NewEgor Duda2001-06-204-15/+44
| | | | | | | | | | | function. * fhandler.h: Declare it. * fhandler_socket.cc (fhandler_socket::create_secret_event): Don't signal secret event immediately. (fhandler_socket::check_peer_secret_event): Do it after peer event was opened. * net.cc (cygwin_connect): Or if socket is non-blocking. (cygwin_accept): Ditto.
* * fhandler_tty.cc (fhandler_tty_slave::init): Revert 2001-06-16 change.Christopher Faylor2001-06-184-64/+99
| | | | | | | | | * fork.cc (fork_copy): Print more debugging info. (fork_parent): Change order of arguments to accomdate buggy gcc. (fork): Ditto. * syscalls.cc (_unlink): Reorganize to try harder to delete file with DeleteFile and to recover more gracefully if FILE_FLAG_DELETE_ON_CLOSE doesn't work properly.
* * exceptions.cc (sig_handle_tty_stop): Reset PID_STOPPED if not actuallyChristopher Faylor2001-06-166-8/+25
| | | | | | | | | | stopping. * fhandler_console.cc (fhandler_console::fixup_after_fork): Don't set controlling terminal if just inheriting a handle. (fhandler_console::fixup_after_exec): Ditto. * fhandler_tty.cc (fhandler_tty_slave::init): Ditto. * signal.cc (kill_worker): Set appropriate errno if proc_exists determines that process does not really exist.
* * path.cc (path_conv::check): Deal more robustly with foo/ behavior.Christopher Faylor2001-06-152-6/+10
|
* * fhandler_tape.cc (fhandler_dev_tape::tape_status): Set sizeCorinna Vinschen2001-06-152-1/+9
| | | | parameter to value expected by GetTapeParameters().
* * fhandler.cc (fhandler_disk_file::fstat): Properly set executable bits forChristopher Faylor2001-06-152-44/+40
| | | | | directory when !ntsec && !ntea. Also move common code prior to call to get_attributes.
* * thread.cc (pthread_cond::Signal): Release the condition access variableChristopher Faylor2001-06-142-1/+11
| | | | correctly.
* * fhandler.cc (fhandler_base::open): Set win32 access flagsEgor Duda2001-06-144-21/+40
| | | | | | | | to 0, when requested. * fhandler.h: New status flag FH_QUERYOPEN. (fhandler::get_query_open): New function. (fhandler::set_query_open): Ditto. * syscalls.cc (stat_worker): Request query-only open mode.
* * environ.cc (set_file_api_mode): New function. Move settingEgor Duda2001-06-124-4/+29
| | | | | | | of file APIs mode (OEM/ANSI) here. (codepage_init): From here. * winsup.h (set_file_api_mode): Declare it. * fork.cc (fork_child): Set file APIs mode in forkee.
* Add missing entry.Christopher Faylor2001-06-111-1/+5
|
* * pinfo.cc: Use autoloaded ToolHelp functions throughout for Win9x.Christopher Faylor2001-06-114-36/+31
| | | | * autoload.cc: Autoload ToolHelp functions.
* * path.cc (chdir): Fix call to path_conv constructor so that it REALLY doesn'tChristopher Faylor2001-06-112-2/+7
| | | | check for the null/non-empty path.
* * path.cc (path_conv::update_fs_info): Don't consider remote drives to be NTFS.Christopher Faylor2001-06-112-18/+22
| | | | | Set root_dir before invoking GetDriveType (from Kazuhiro Fujieda <fujieda@jaist.ac.jp>). Eliminate extra checks for rootdir.
* * path.cc (chdir): Pre-check path for validity before eating trailing space.Christopher Faylor2001-06-112-7/+32
| | | | Then, ensure that path_conv doesn't check the path for validity again.
* * exceptions.cc (sigdelayed): Ensure that signal is cleared as the lastChristopher Faylor2001-06-103-4/+17
| | | | | operation or suffer races. * sigproc.cc (proc_subproc): Deal with zombie array overflow.
* * cygwin.din: Add fchdir symbols.Corinna Vinschen2001-06-105-10/+36
| | | | | | | * path.cc (chdir): Guard against invalid parameter. (fchdir): New function. * include/cygwin/version.h: Bump API minor version to 40. * uinfo.cc (internal_getlogin): Remove unused variable.
* * syscalls.cc (seteuid): Set environment variables USERNAME andCorinna Vinschen2001-06-093-84/+185
| | | | | | | | | USERDOMAIN before impersonation to workaround a LookupAccountSid() misbehaviour. * uinfo.cc (internal_getlogin): Revert most of the previous change. Don't set environment variables USERNAME and USERDOMAIN. That's the job of seteuid() now. Try to get logon server from Lsa only if logon server isn't already known.
* * thread.cc (pthread_cond::Broadcast): Don't print error messages on invalidChristopher Faylor2001-06-072-1/+16
| | | | | | mutexs - user programs are allowed to call pthread_cond_broadcast like that. (__pthread_cond_timedwait): Initialise themutex properly. (__pthread_cond_wait): Initialise themutex properly.
* * fhandler_console.cc (fhandler_console::dup): Allocate space forCorinna Vinschen2001-06-052-6/+12
| | | | | savebuf on Cygwin heap. (fhandler_console::char_command): Ditto. Use correct values for size.
* * security.h (NTWriteEA): Change prototype.Egor Duda2001-06-057-38/+140
| | | | | | | | | | | | | | | | | | | * ntea.cc (NTReadEA): Don't check for global ntea setting, now it's caller responsibility. (NTWriteEA): Ditto. * security.cc (get_file_attribute): Read attribute from EA only if 'ntea' is enabled. (set_file_attribute): Ditto. * path.h: (class path_conv): Add members to store file system information. (path_conv::get_drive_type): New function. * syscalls.cc (stat_worker): Use it. * path.cc (path_conv::update_fs_info): New functions. (path_conv::check): Get file system information from device where file resides. On NTFS, try to read symlink contents from EA. (get_symlink_ea): New function. (set_symlink_ea): Ditto. (symlink): Store symlink in extended attribute, if possible.
* * fhandler.cc (fhandler_disk_file::fstat): Always reset file positionCorinna Vinschen2001-06-052-8/+20
| | | | to original value after checking for executable magic.
* * cygheap.h (cygheap_user::cygheap_user): Initialize token toCorinna Vinschen2001-06-043-1/+10
| | | | | INVALID_HANDLE_VALUE. * uinfo.cc (uinfo_init): Close token handle if needed.
* * path.cc (normalize_posix_path): Revert .. check removed by previous changes.Christopher Faylor2001-06-045-26/+39
| | | | * cygheap.h: Temporarily declare path_prefix_p here.
* * net.cc (wsock_event): Add destructor.Corinna Vinschen2001-06-032-0/+10
|
* * dlfcn.cc (dlclose): Do not call FreeLibrary if the symbol to close wasChristopher Faylor2001-06-032-1/+8
| | | | obtained by dlopen(NULL,...).
* * syscalls.cc (sleep): Try to be a little more accomodating of signal arrival.Christopher Faylor2001-06-032-7/+17
| | | | Ensure that the signal handler is called.
* * cygheap.cc (cygheap_root::cygheap_rot): Remove constructor.Christopher Faylor2001-06-037-138/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cygheap_root::~cygheap_root): Remove destructor. (cygheap_root::operator =): Remove. (cygheap_root::set): New method. * cygheap.h (cygheap_root): Reflect above changes. Store root info in mount-like structure. (cygheap_root:posix_ok): New method. (cygheap_root::ischroot_native): Ditto. (cygheap_root::unchroot): Ditto. (cygheap_root::exists): Ditto. (cygheap_root::posix_length): Ditto. (cygheap_root::posix_path): Ditto. (cygheap_root::native_length): Ditto. (cygheap_root::native_path): Ditto. * dir.cc (opendir): Remove special chroot test. * path.cc (path_prefix_p): Remove front end. (normalize_posix_path): Reorganize chroot tests to accomodate new convention of allowing paths using posix chroot prefix. (path_conv::check): Pass a "already ran normalize" option to conv_to_win32_path. Return if there is an error from this function. (mount_info::conv_to_win32_path): Add extra argument. Don't call normalize_posix_path if caller has already done so. Substitute chroot setting, if any, for root translation. Add chroot checking to final output step. * shared_info (mount_info): Accomodate additional argument to conv_to_win32_path. * syscalls.cc (chroot): Store both normalized posix path and native path in chroot.
* * path.cc (chdir): Really make sure that isspace gets only an unsigned char.Christopher Faylor2001-06-012-1/+6
|
* * syscalls.cc (_rename): Handle the case that `foo' is renamed toCorinna Vinschen2001-06-012-8/+33
| | | | `bar' while `bar.lnk' is an existing shortcut-symlink.
* revert.Christopher Faylor2001-06-011-14/+14
|