* COPYRIGHT: Copyright 2013 Eric Kohl
*/
-/* INCLUDES ****************************************************************/
-
#include "samsrv.h"
-WINE_DEFAULT_DEBUG_CHANNEL(samsrv);
-
-
/* FUNCTIONS ***************************************************************/
NTSTATUS
Status = SampRemoveMemberFromGroup(GroupObject,
UserObject->RelativeId);
+ if (Status == STATUS_MEMBER_NOT_IN_GROUP)
+ Status = STATUS_SUCCESS;
SampCloseDbObject(GroupObject);
}
}
+ /* Remove all groups from the Groups attribute */
+ Status = SampSetObjectAttribute(UserObject,
+ L"Groups",
+ REG_BINARY,
+ NULL,
+ 0);
+
done:
if (GroupsBuffer != NULL)
midl_user_free(GroupsBuffer);
}
+NTSTATUS
+SampRemoveUserFromAllAliases(IN PSAM_DB_OBJECT UserObject)
+{
+ FIXME("(%p)\n", UserObject);
+ return STATUS_SUCCESS;
+}
+
+
NTSTATUS
SampSetUserPassword(IN PSAM_DB_OBJECT UserObject,
IN PENCRYPTED_NT_OWF_PASSWORD NtPassword,
NTSTATUS Status;
UseNtPassword =
- ((memcmp(NtPassword, &EmptyNtHash, sizeof(ENCRYPTED_NT_OWF_PASSWORD)) != 0) &&
- (NtPasswordPresent != FALSE));
+ ((NtPasswordPresent != FALSE) &&
+ (NtPassword != NULL) &&
+ (memcmp(NtPassword, &EmptyNtHash, sizeof(ENCRYPTED_NT_OWF_PASSWORD)) != 0));
UseLmPassword =
- ((memcmp(LmPassword, &EmptyLmHash, sizeof(ENCRYPTED_LM_OWF_PASSWORD)) != 0) &&
- (LmPasswordPresent != FALSE));
+ ((LmPasswordPresent != FALSE) &&
+ (LmPassword != NULL) &&
+ (memcmp(LmPassword, &EmptyLmHash, sizeof(ENCRYPTED_LM_OWF_PASSWORD)) != 0));
/* Update the NT password history only if we have a new non-empty NT password */
if (UseNtPassword)