2010-02-26 Pierre Humblet <Pierre.Humblet@ieee.org>

* security.cc (check_access): Use user.imp_token if appropriate.
        Set errno and return if DuplicateTokenEx fails .
This commit is contained in:
Pierre Humblet 2010-02-26 14:51:59 +00:00
parent e5ddf94aa1
commit a90dc29d18
2 changed files with 16 additions and 10 deletions

View File

@ -1,3 +1,8 @@
2010-02-26 Pierre Humblet <Pierre.Humblet@ieee.org>
* security.cc (check_access): Use user.imp_token if appropriate.
Set errno and return if DuplicateTokenEx fails .
2010-02-26 Corinna Vinschen <corinna@vinschen.de> 2010-02-26 Corinna Vinschen <corinna@vinschen.de>
Remove all traces of __CYGWIN_USE_BIG_TYPES__. Remove all traces of __CYGWIN_USE_BIG_TYPES__.

View File

@ -751,16 +751,17 @@ check_access (security_descriptor &sd, GENERIC_MAPPING &mapping,
? cygheap->user.imp_token () ? cygheap->user.imp_token ()
: hProcImpToken); : hProcImpToken);
if (!tok && !DuplicateTokenEx (hProcToken, MAXIMUM_ALLOWED, NULL, if (!tok)
SecurityImpersonation, TokenImpersonation, {
&hProcImpToken)) if (!DuplicateTokenEx (hProcToken, MAXIMUM_ALLOWED, NULL,
#ifdef DEBUGGING SecurityImpersonation, TokenImpersonation,
system_printf ("DuplicateTokenEx failed, %E"); &hProcImpToken))
#else {
syscall_printf ("DuplicateTokenEx failed, %E"); __seterrno ();
#endif return ret;
else }
tok = hProcImpToken; tok = hProcImpToken;
}
if (!AccessCheck (sd, tok, desired, &mapping, pset, &plen, &granted, &status)) if (!AccessCheck (sd, tok, desired, &mapping, pset, &plen, &granted, &status))
__seterrno (); __seterrno ();