diff --git a/server/file.c b/server/file.c index fcfd572c2b17afea3de55fe91777e62ee8f94da9..07dab39ff1c8ea7bf99d334901ef376209f1fc8a 100644 --- a/server/file.c +++ b/server/file.c @@ -505,15 +505,15 @@ mode_t sd_to_mode( const struct security_descriptor *sd, const SID *owner ) { denied_mode |= (mode << 6) | (mode << 3) | mode; /* all */ } - else if (security_equal_sid( sid, owner )) - { - denied_mode |= (mode << 6); /* user only */ - } else if ((security_equal_sid( user, owner ) && token_sid_present( current->process->token, sid, TRUE ))) { denied_mode |= (mode << 6) | (mode << 3); /* user + group */ } + else if (security_equal_sid( sid, owner )) + { + denied_mode |= (mode << 6); /* user only */ + } break; case ACCESS_ALLOWED_ACE_TYPE: aa_ace = (const ACCESS_ALLOWED_ACE *)ace; @@ -523,15 +523,15 @@ mode_t sd_to_mode( const struct security_descriptor *sd, const SID *owner ) { new_mode |= (mode << 6) | (mode << 3) | mode; /* all */ } - else if (security_equal_sid( sid, owner )) - { - new_mode |= (mode << 6); /* user only */ - } else if ((security_equal_sid( user, owner ) && token_sid_present( current->process->token, sid, FALSE ))) { new_mode |= (mode << 6) | (mode << 3); /* user + group */ } + else if (security_equal_sid( sid, owner )) + { + new_mode |= (mode << 6); /* user only */ + } break; } }