diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2016-09-16 05:06:40 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2016-09-16 05:06:40 +0300 |
commit | 2b3f7138f02cd89dfb4f79a75b816e3a52f03aff (patch) | |
tree | f9f9bdd4ec14b9df814a2a8ff3a13bdc609e25a4 /src/token.hpp | |
parent | refactoring (diff) | |
download | privilege-check-2b3f7138f02cd89dfb4f79a75b816e3a52f03aff.tar.gz privilege-check-2b3f7138f02cd89dfb4f79a75b816e3a52f03aff.zip |
refactoring
Diffstat (limited to 'src/token.hpp')
-rw-r--r-- | src/token.hpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/token.hpp b/src/token.hpp index 5669970..bc5083f 100644 --- a/src/token.hpp +++ b/src/token.hpp @@ -44,10 +44,10 @@ namespace token return open_for_process(Handle{GetCurrentProcess()}, permissions); } - Handle get_linked(Handle&& token) + bool get_linked(Handle& token) { if (!os::is_vista_or_later()) - return std::move(token); + return false; auto type = TokenElevationTypeDefault; DWORD cb = 0; @@ -56,17 +56,18 @@ namespace token error::raise("GetTokenInformation"); if (type != TokenElevationTypeLimited) - return std::move(token); + return false; HANDLE raw; if (!GetTokenInformation(token, TokenLinkedToken, &raw, sizeof(raw), &cb)) error::raise("GetTokenInformation"); - return Handle{raw}; + token = Handle{raw}; + return true; } - Handle impersonate(const Handle& token) + Handle get_for_identification(const Handle& token) { HANDLE raw; @@ -152,7 +153,7 @@ namespace token return it->second; } - bool belongs(const Handle& token, const SidBuffer& sid) + bool check_belongs(const Handle& token, const SidBuffer& sid) { BOOL b = FALSE; @@ -162,7 +163,7 @@ namespace token return b != FALSE; } - bool is_elevated(const Handle& token) + bool query_elevation(const Handle& token) { TOKEN_ELEVATION elevation; DWORD cb = 0; |