[newlib-cygwin] Cygwin: seteuid: allow inheriting impersonation user profile handle
Corinna Vinschen
corinna@sourceware.org
Sat Feb 23 20:06:00 GMT 2019
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=dd3730ed9c1c78176f1aab1b429bb5a105d90a44
commit dd3730ed9c1c78176f1aab1b429bb5a105d90a44
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Sat Feb 23 20:48:59 2019 +0100
Cygwin: seteuid: allow inheriting impersonation user profile handle
The child process needs access to the handle to be able to
unload it when switching user context.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/cygwin/syscalls.cc | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index b103976..a73af67 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -3612,7 +3612,11 @@ seteuid32 (uid_t uid)
cygheap->user.imp_profile = load_user_profile (new_token, pw_new,
usersid);
if (cygheap->user.imp_profile)
- cygheap->user.imp_profile_token = new_token;
+ {
+ cygheap->user.imp_profile_token = new_token;
+ SetHandleInformation (cygheap->user.imp_profile,
+ HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT);
+ }
}
/* Try setting owner to same value as user. */
More information about the Cygwin-cvs
mailing list