summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/shared.h
Commit message (Collapse)AuthorAgeFilesLines
* * grp.cc (read_etc_group): Open file in text mode.Christopher Faylor2000-06-251-1/+1
| | | | | * pwd.cc (read_etc_passwd): Ditto. * shared.h: Bump PROC_MAGIC.
* * dcrt0.cc: Add load statements for `GetSidIdentifierAuthority'Corinna Vinschen2000-06-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and `RegLoadKeyA'. * registry.cc (get_registry_hive_path): New function. (load_registry_hive): Ditto. * security.cc (convert_sid_to_string_sid): New function. (get_ssid): Renamed to `convert_string_sid_to_sid'. (get_pw_sid): Call `convert_string_sid_to_sid' instead of `get_ssid'. (get_gr_sid): Ditto. (get_admin_sid): Ditto. (get_system_sid): Ditto. (get_creator_owner_sid): Ditto. (get_world_sid): Ditto. * shared.h: New prototypes for `get_registry_hive_path' and `load_registry_hive'. * spawn.cc (spawn_guts): Set child->psid to NULL to force calling `internal_getlogin' from child process in case of changing user context. Call `load_registry_hive' in case of changing user context. (_spawnve): Copy user infos only if user context remains the same. * uinfo.cc: Add load statement for `NetUserGetInfo'. Remove load statement for `NetGetDCName'. (internal_getlogin): Rewrite to speed up process startup and to correct user environment in case user context changes. (uinfo_init): Call internal_getlogin only if myself->psid is NULL, that is user context changes. * winsup.h: Add prototypes for `convert_sid_to_string_sid', `convert_string_sid_to_sid' and `get_pw_sid'.
* * cygwin.din: Define symbols for `cygwin_logon_user' andCorinna Vinschen2000-06-161-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `cygwin_set_impersonation_token'. * dcrt0.cc (dll_crt0_1): Eliminate superfluous conditional statements. Add load statements for `ImpersonateLoggedOnUser', `LogonUserA' and `RevertToSelf'. * fork.cc (fork): Care for correct impersonation of parent and child process. * security.cc (cygwin_set_impersonation_token): New function. (cygwin_logon_user): Ditto. shared.h (class pinfo): New members `orig_uid', `orig_gid', `real_uid' nad `real_gid'. spawn.cc (spawn_guts): Care for impersonation when starting child process in a different user context. * syscalls.cc (setgid): Call `setegid' now. Set real_gid. (setuid): Call `seteuid' now. Set real_uid. (seteuid): Functionality moved from setuid to here. Care for correct impersonation. (setegid): Functionality moved from setgid to here. * uinfo.cc (uinfo_init): Initialization of additional pinfo members. (getuid): Return real uid. (getgid): Return real gid. (geteuid): Return effective uid. (getegid): Return effective gid. include/sys/cygwin.h: Add prototypes for `cygwin_logon_user' and `cygwin_set_impersonation_token'. include/cygwin/version.h: Bumb API minor version to 22.
* path.cc (mount_info::init): Eliminate the mount_slash feature.Corinna Vinschen2000-06-081-3/+2
| | | | | | | | | | | | | | | | | (mount_slash): Eliminated. (mount_info::read_mounts): Eliminate looking up existing entries. The loop for deleting cygpath entries is done only when such entries exist. (mount_info::from_registry): Eliminate sorting. (mount_info::add_item): Call add_reg_mount if necessary. Check nmounts more precisely. Use strcasematch in looking up existing entries. (mount_info::del_item): Call del_reg_mount if necessary. Use strcasematch. Use memmove instead of memcpy. (mount_info::import_v1_registry): Everything is done in this method. (mount_info::to_registry): Eliminated. (mount_info::from_v1_registry): Eliminated. (cygwin_umount): Simply call del_item. shared.h: Modify the declaration of add_item and del_item. Remove the declaration of from_v1_registry.
* * path.cc (mount_info::conv_to_posix_path): Avoid putting a trailing slash on aChristopher Faylor2000-05-231-1/+1
| | | | | | | | | | | | | directory name when the ms-dos path spec is a root directory of a device. * registry.cc (reg_key::build_reg): Set 'key_is_invalid' flag rather than using an INVALID_HANDLE_KEY. (reg_key::get_int): Test for key validity before performing registry operations. (reg_key::set_int): Ditto. (reg_key::get_string): Ditto. (reg_key::set_string): Ditto. (reg_key::kill): Ditto. (reg_key::~reg_key): Ditto.
* * select.cc (thread_pipe): Add paranoid check to ensure thread termination.Christopher Faylor2000-05-181-24/+0
| | | | | | | | | * external.cc: Eliminate obsolete include. * getopt.c (getopt_long): Fix compiler warning. * shared.h: Moved PID_ definitions to include/sys/cygwin so that they can be used by external programs. * include/sys/cygwin.h: Move external definitions here. Include sys/resource.h to avoid having to do this everywhere.
* * shared.h: Bump PROC_MAGIC.Christopher Faylor2000-05-151-1/+1
| | | | * include/cygwin/version.h: Bump API minor to accomodate two recent exports.
* * exceptions.cc (interruptible): Allocate slightly more space for directoryChristopher Faylor2000-04-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | name check. Windows 95 seems to null-terminate the directory otherwise. (interrupt_on_return): Issue a fatal error if we can't find the caller's stack. * spawn.cc (find_exec): Accept a path_conv argument rather than a buffer so that the caller can find things out about a translated path. (perhaps_suffix): Ditto. (spawn_guts): Allocate path_conv stuff here so that we can find out stuff about the translated path (this is work in progress). * environ.cc (environ_init): Accept an as-yet unused argument indicating whether we were invoked from a cygwin parent or not. (winenv): Ditto. (posify): Accept an argument indicating whether the path has already been translated. * dlfcn.cc (check_access): Provide a path_conv buffer to find_exec. * exec.cc (sexecvpe): Ditto. * path.cc (path_conv::check): Rename from path_conv::path_conv. (mount_item::getmntent): Recognize "Cygwin executable" bit. (symlink_info::check): Remove debugging statements. * path.h (class path_conv): Add iscygexec method. Rewrite constructor to call "check" method to allow multiple operations on a path_conv variable. * pinfo.cc (pinfo_init): Pass argument to environ_init. * shared.h: Bump PROC_MAGIC. * winsup.h: Reflect above changes to function arguments. * include/sys/mount.h: Add MOUNT_CYGWIN_EXEC type.
* * exceptions.cc (sigsave): Copy on fork so that we can restore correct behaviorChristopher Faylor2000-04-081-1/+0
| | | | | | | | | | | | | in forked process. (interruptible): Flag as interruptible when running in main process module. (interrupt_setup): Save return address and address of return address. (signal_fixup_after_fork): New function. Uses above two values to restore proper behavior to forked process. (interrupt_on_return): Pass return address address to interupt_setup. (interrupt_now): Pass NULL for return address address to interrupt_setup. * fork.cc (fork): Call signal_fixup_after_fork. * shared.h: Lint cleanups. * winsup.h: Ditto.
* Change fork/exec magic number.Christopher Faylor2000-02-261-1/+1
|
* Respond to a multitude of g++ warnings.Christopher Faylor2000-02-211-4/+6
|
* import winsup-2000-02-17 snapshotChristopher Faylor2000-02-171-0/+552