| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
name under specific error conditions.
(is_group_member): Ditto.
(get_user_local_groups): Ditto.
(get_user_primary_group): Ditto.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(class child_info): Add an element.
* cygheap.cc (init_cheap): Allocate cygwin heap in shared memory area.
(cygheap_fixup_in_child): Map cygwin heap, passed from parent via shared memory
into correct address.
(cygheap_setup_for_child): New function.
* cygheap.h: Declare new functions.
* dcrt0.cc (dll_crt0_1): Accomodate new cygheap_fixup_in_child arguments.
Avoid protecting subproc_ready unless it is spawn/nowait.
* fork.cc (fork_parent): Use new cygheap_setup_for_child function to setup
cygwin heap info. Close passed cygheap shared memory handle.
* spawn.cc (spawn_guts): Ditto. Also, reorganize to avoid synchronization
between parent and child in non-P_OVERLAY case.
* sigproc.cc (wait_sig): Only signal subproc_ready when execing.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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'.
|
| |
|
|
|
|
|
| |
access violation and when to queue file for eventual deletion.
(stat_worker): Check for invalid buf argument.
|
|
|
|
|
| |
by a unified name when running under 9x/ME. If that failes, create
the file mapping using the unified name.
|
| |
|
|
|
|
| |
permissions given to directories.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
(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.
|
|
|
|
|
|
| |
`set_close_on_exec'.
* fhandler_socket.cc (fhandler_socket::set_close_on_exec):
New method.
|
|
|
|
| |
parameter to value expected by GetTapeParameters().
|
|
|
|
| |
robustly on WinNT.
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
CreateFile() with dwDesiredAccess == 0 called on remote share returns
valid handle even if file doesn't exist.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
parameter to value expected by GetTapeParameters().
|
|
|
|
|
| |
directory when !ntsec && !ntea. Also move common code prior to call to
get_attributes.
|
|
|
|
| |
correctly.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
* autoload.cc: Autoload ToolHelp functions.
|
|
|
|
| |
check for the null/non-empty path.
|
|
|
|
|
| |
Set root_dir before invoking GetDriveType (from Kazuhiro Fujieda
<fujieda@jaist.ac.jp>). Eliminate extra checks for rootdir.
|
|
|
|
| |
Then, ensure that path_conv doesn't check the path for validity again.
|
|
|
|
|
| |
operation or suffer races.
* sigproc.cc (proc_subproc): Deal with zombie array overflow.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
mutexs - user programs are allowed to call pthread_cond_broadcast like that.
(__pthread_cond_timedwait): Initialise themutex properly.
(__pthread_cond_wait): Initialise themutex properly.
|
|
|
|
|
| |
savebuf on Cygwin heap.
(fhandler_console::char_command): Ditto. Use correct values for size.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
to original value after checking for executable magic.
|
|
|
|
|
| |
INVALID_HANDLE_VALUE.
* uinfo.cc (uinfo_init): Close token handle if needed.
|
|
|
|
| |
* cygheap.h: Temporarily declare path_prefix_p here.
|
| |
|
|
|
|
| |
obtained by dlopen(NULL,...).
|
|
|
|
| |
Ensure that the signal handler is called.
|