Check that SID is enabled while checking for Windows admin privileges.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 10 Feb 2006 21:52:34 +0000 (21:52 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 10 Feb 2006 21:52:34 +0000 (21:52 +0000)
Magnus

src/backend/port/win32/security.c

index 29a0cde0065925e2cfab2ec68646e31dfea57c24..dd16063aea21c90e43f7498c9058f8e46eabc5dc 100644 (file)
@@ -78,8 +78,8 @@ pgwin32_is_admin(void)
 
        for (x = 0; x < Groups->GroupCount; x++)
        {
-               if (EqualSid(AdministratorsSid, Groups->Groups[x].Sid) ||
-                       EqualSid(PowerUsersSid, Groups->Groups[x].Sid))
+               if ((EqualSid(AdministratorsSid, Groups->Groups[x].Sid) && (Groups->Groups[x].Attributes & SE_GROUP_ENABLED)) ||
+                       (EqualSid(PowerUsersSid, Groups->Groups[x].Sid) && (Groups->Groups[x].Attributes & SE_GROUP_ENABLED)))
                {
                        success = TRUE;
                        break;