diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-05-27 17:30:24 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-05-27 17:30:24 +0200 |
commit | 8ff1386df120119927ae8d211b154d1412bb2870 (patch) | |
tree | 37e1e6d50e2f247426eda698c5a8359c145c59a7 /services | |
parent | ui: do not pass pointer into closure from loop (diff) | |
download | wireguard-windows-8ff1386df120119927ae8d211b154d1412bb2870.tar.xz wireguard-windows-8ff1386df120119927ae8d211b154d1412bb2870.zip |
global: several helpers are now upstream
Diffstat (limited to 'services')
-rw-r--r-- | services/tokens.go | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/services/tokens.go b/services/tokens.go index aa6f2c4a..d3854f2d 100644 --- a/services/tokens.go +++ b/services/tokens.go @@ -14,10 +14,6 @@ import ( ) func TokenIsMemberOfBuiltInAdministrator(token windows.Token) bool { - adminSid, err := windows.CreateWellKnownSid(windows.WinBuiltinAdministratorsSid) - if err != nil { - return false - } gs, err := token.GetTokenGroups() if err != nil { return false @@ -25,7 +21,7 @@ func TokenIsMemberOfBuiltInAdministrator(token windows.Token) bool { groups := (*[(1 << 28) - 1]windows.SIDAndAttributes)(unsafe.Pointer(&gs.Groups[0]))[:gs.GroupCount] isAdmin := false for _, g := range groups { - if (g.Attributes&windows.SE_GROUP_USE_FOR_DENY_ONLY != 0 || g.Attributes&windows.SE_GROUP_ENABLED != 0) && windows.EqualSid(g.Sid, adminSid) { + if (g.Attributes&windows.SE_GROUP_USE_FOR_DENY_ONLY != 0 || g.Attributes&windows.SE_GROUP_ENABLED != 0) && g.Sid.IsWellKnown(windows.WinBuiltinAdministratorsSid) { isAdmin = true break } |