From 13edc1476dc00ac09f5ec553bc904b978b0cb2c4 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sat, 16 Nov 2013 09:07:37 +0000 Subject: [PATCH] [SAMSRV] SamrDeleteUser: Prepare the removal of a user from groups and aliases. svn path=/trunk/; revision=61005 --- reactos/dll/win32/samsrv/samrpc.c | 16 ++++++++++++++-- reactos/dll/win32/samsrv/samsrv.h | 3 +++ reactos/dll/win32/samsrv/user.c | 8 ++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/reactos/dll/win32/samsrv/samrpc.c b/reactos/dll/win32/samsrv/samrpc.c index bb1b0688acd..24f684db213 100644 --- a/reactos/dll/win32/samsrv/samrpc.c +++ b/reactos/dll/win32/samsrv/samrpc.c @@ -5427,9 +5427,21 @@ SamrDeleteUser(IN OUT SAMPR_HANDLE *UserHandle) goto done; } - /* FIXME: Remove the user from all groups */ + /* Remove the user from all groups */ + Status = SampRemoveUserFromAllGroups(UserObject); + if (!NT_SUCCESS(Status)) + { + TRACE("SampRemoveUserFromAllGroups() failed (Status 0x%08lx)\n", Status); + goto done; + } - /* FIXME: Remove the user from all aliases */ + /* Remove the user from all aliases */ + Status = SampRemoveUserFromAllAliases(UserObject); + if (!NT_SUCCESS(Status)) + { + TRACE("SampRemoveUserFromAllAliases() failed (Status 0x%08lx)\n", Status); + goto done; + } /* Delete the user from the database */ Status = SampDeleteAccountDbObject(UserObject); diff --git a/reactos/dll/win32/samsrv/samsrv.h b/reactos/dll/win32/samsrv/samsrv.h index c7767d7f261..ffd2617d855 100644 --- a/reactos/dll/win32/samsrv/samsrv.h +++ b/reactos/dll/win32/samsrv/samsrv.h @@ -383,6 +383,9 @@ SampSetUserGroupAttributes(IN PSAM_DB_OBJECT DomainObject, NTSTATUS SampRemoveUserFromAllGroups(IN PSAM_DB_OBJECT UserObject); +NTSTATUS +SampRemoveUserFromAllAliases(IN PSAM_DB_OBJECT UserObject); + NTSTATUS SampSetUserPassword(IN PSAM_DB_OBJECT UserObject, IN PENCRYPTED_NT_OWF_PASSWORD NtPassword, diff --git a/reactos/dll/win32/samsrv/user.c b/reactos/dll/win32/samsrv/user.c index 9c8a65145d3..cd38732e20e 100644 --- a/reactos/dll/win32/samsrv/user.c +++ b/reactos/dll/win32/samsrv/user.c @@ -383,6 +383,14 @@ done: } +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,