SampRemoveUserFromAllGroups:
- Do not treat a STATUS_MEMBER_NOT_IN_GROUP, returned by SampRemoveMemberFromGroup, as error but as success.
- Clear the Groups attribute at the end.

svn path=/trunk/; revision=64169
This commit is contained in:
Eric Kohl 2014-09-16 10:32:04 +00:00
parent 0c86291749
commit 6342a92b28

View file

@ -361,6 +361,8 @@ SampRemoveUserFromAllGroups(IN PSAM_DB_OBJECT UserObject)
Status = SampRemoveMemberFromGroup(GroupObject,
UserObject->RelativeId);
if (Status == STATUS_MEMBER_NOT_IN_GROUP)
Status = STATUS_SUCCESS;
SampCloseDbObject(GroupObject);
@ -370,6 +372,13 @@ SampRemoveUserFromAllGroups(IN PSAM_DB_OBJECT UserObject)
}
}
/* Remove all groups from the Groups attribute */
Status = SampSetObjectAttribute(UserObject,
L"Groups",
REG_BINARY,
NULL,
0);
done:
if (GroupsBuffer != NULL)
midl_user_free(GroupsBuffer);