diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2007-07-16 20:01:15 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2007-07-16 20:01:15 +0000 |
commit | 77ee88050494f6fb0921f7d29c1a7ca7dfa7dcd7 (patch) | |
tree | d83fb4f7f01a80e7242fc24c90fbb184cbe94eda /winsup/cygwin/syscalls.cc | |
parent | 6f76c68713a2bc3945cc4c3d27a5c266ed8284ca (diff) | |
download | cygnal-77ee88050494f6fb0921f7d29c1a7ca7dfa7dcd7.tar.gz cygnal-77ee88050494f6fb0921f7d29c1a7ca7dfa7dcd7.tar.bz2 cygnal-77ee88050494f6fb0921f7d29c1a7ca7dfa7dcd7.zip |
* cygheap.h (cygheap_user::curr_imp_token): Rename from current_token.
Accommodate changge throughout Cygwin.
(cygheap_user::imp_token): Rename from token. Accommodate changge
throughout Cygwin.
(rcygheap_user::eimpersonate): Use primary token for impersonation.
* grp.cc (internal_getgroups): Use primary impersonation token when
impersonated.
* security.h (_push_thread_privilege): Use primary impersonation token
when impersonated.
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r-- | winsup/cygwin/syscalls.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc index e564eddc5..3d9cba259 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc @@ -2228,22 +2228,22 @@ seteuid32 (__uid32_t uid) cygheap->user.set_sid (usersid); cygheap->user.curr_primary_token = new_token == hProcToken ? NO_IMPERSONATION : new_token; - if (cygheap->user.current_token != NO_IMPERSONATION) + if (cygheap->user.curr_imp_token != NO_IMPERSONATION) { - CloseHandle (cygheap->user.current_token); - cygheap->user.current_token = NO_IMPERSONATION; + CloseHandle (cygheap->user.curr_imp_token); + cygheap->user.curr_imp_token = NO_IMPERSONATION; } if (cygheap->user.curr_primary_token != NO_IMPERSONATION) { if (!DuplicateTokenEx (cygheap->user.curr_primary_token, MAXIMUM_ALLOWED, &sec_none, SecurityImpersonation, - TokenImpersonation, &cygheap->user.current_token)) + TokenImpersonation, &cygheap->user.curr_imp_token)) { __seterrno (); cygheap->user.curr_primary_token = NO_IMPERSONATION; return -1; } - set_cygwin_privileges (cygheap->user.current_token); + set_cygwin_privileges (cygheap->user.curr_imp_token); } if (!cygheap->user.reimpersonate ()) { @@ -2338,7 +2338,7 @@ setegid32 (__gid32_t gid) TokenPrimaryGroup, &gsid, sizeof gsid)) debug_printf ("SetTokenInformation(primary_token, " "TokenPrimaryGroup), %E"); - if (!SetTokenInformation (cygheap->user.token (), TokenPrimaryGroup, + if (!SetTokenInformation (cygheap->user.imp_token (), TokenPrimaryGroup, &gsid, sizeof gsid)) debug_printf ("SetTokenInformation(token, TokenPrimaryGroup), %E"); } |