* cygheap.cc (cygheap_user::set_saved_sid): Rename from set_orig_sid.
* cygheap.h (class cygheap_user): Rename orig_psid, orig_uid and orig_gid to saved_psid, saved_uid and saved_gid respectively. Rename methods orig_sid and set_orig_sid to saved_sid and set_saved_sid respectively. * sec_helper.cc (sec_acl): Accomodate above changes. * spawn.cc (spawn_guts): Ditto. * uinfo.cc (uinfo_init): Ditto.
This commit is contained in:
@@ -625,11 +625,11 @@ spawn_guts (const char * prog_arg, const char *const *argv,
|
||||
/* When ruid != euid we create the new process under the current original
|
||||
account and impersonate in child, this way maintaining the different
|
||||
effective vs. real ids.
|
||||
FIXME: If ruid != euid and ruid != orig_uid we currently give
|
||||
FIXME: If ruid != euid and ruid != saved_uid we currently give
|
||||
up on ruid. The new process will have ruid == euid. */
|
||||
if (!cygheap->user.issetuid ()
|
||||
|| (cygheap->user.orig_uid == cygheap->user.real_uid
|
||||
&& cygheap->user.orig_gid == cygheap->user.real_gid
|
||||
|| (cygheap->user.saved_uid == cygheap->user.real_uid
|
||||
&& cygheap->user.saved_gid == cygheap->user.real_gid
|
||||
&& !cygheap->user.groups.issetgroups ()))
|
||||
{
|
||||
PSECURITY_ATTRIBUTES sec_attribs = sec_user_nih (sa_buf);
|
||||
|
Reference in New Issue
Block a user