Author: ekohl Date: Sat Oct 27 19:38:12 2012 New Revision: 57626
URL: http://svn.reactos.org/svn/reactos?rev=57626&view=rev Log: [SAMSRV] - Fix MSVC build warnings. - Implement SamrAddMultipeMembersToAlias. - Add missing user attributes to the user setup code.
Modified: trunk/reactos/dll/win32/samsrv/database.c trunk/reactos/dll/win32/samsrv/samrpc.c trunk/reactos/dll/win32/samsrv/setup.c
Modified: trunk/reactos/dll/win32/samsrv/database.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/samsrv/database.c... ============================================================================== --- trunk/reactos/dll/win32/samsrv/database.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/samsrv/database.c [iso-8859-1] Sat Oct 27 19:38:12 2012 @@ -764,8 +764,8 @@ goto done; }
- String->Length = Length - sizeof(WCHAR); - String->MaximumLength = Length; + String->Length = (USHORT)(Length - sizeof(WCHAR)); + String->MaximumLength = (USHORT)Length; String->Buffer = midl_user_allocate(Length); if (String->Buffer == NULL) {
Modified: trunk/reactos/dll/win32/samsrv/samrpc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/samsrv/samrpc.c?r... ============================================================================== --- trunk/reactos/dll/win32/samsrv/samrpc.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/samsrv/samrpc.c [iso-8859-1] Sat Oct 27 19:38:12 2012 @@ -16,6 +16,7 @@ /* GLOBALS ********************************************************************/
static SID_IDENTIFIER_AUTHORITY NtSidAuthority = {SECURITY_NT_AUTHORITY}; +
/* FUNCTIONS ***************************************************************/
@@ -3051,6 +3052,8 @@ Use->Count = 0; }
+ TRACE("Returned Status %lx\n", Status); + return Status; }
@@ -3145,8 +3148,8 @@
if (NT_SUCCESS(Status)) { - Names->Element[i].MaximumLength = DataLength; - Names->Element[i].Length = DataLength - sizeof(WCHAR); + Names->Element[i].MaximumLength = (USHORT)DataLength; + Names->Element[i].Length = (USHORT)(DataLength - sizeof(WCHAR));
Status = SampRegQueryValue(AccountKeyHandle, L"Name", @@ -3201,8 +3204,8 @@
if (NT_SUCCESS(Status)) { - Names->Element[i].MaximumLength = DataLength; - Names->Element[i].Length = DataLength - sizeof(WCHAR); + Names->Element[i].MaximumLength = (USHORT)DataLength; + Names->Element[i].Length = (USHORT)(DataLength - sizeof(WCHAR));
Status = SampRegQueryValue(AccountKeyHandle, L"Name", @@ -3259,8 +3262,8 @@
if (NT_SUCCESS(Status)) { - Names->Element[i].MaximumLength = DataLength; - Names->Element[i].Length = DataLength - sizeof(WCHAR); + Names->Element[i].MaximumLength = (USHORT)DataLength; + Names->Element[i].Length = (USHORT)(DataLength - sizeof(WCHAR));
Status = SampRegQueryValue(AccountKeyHandle, L"Name", @@ -4319,6 +4322,7 @@ return Status; }
+ /* Function 34 */ NTSTATUS NTAPI @@ -4366,6 +4370,7 @@
return STATUS_SUCCESS; } +
/* Function 35 */ NTSTATUS @@ -4676,8 +4681,6 @@
return Status; } - -
static @@ -6283,6 +6286,7 @@ return Status; }
+ /* Function 51 */ NTSTATUS NTAPI @@ -6299,15 +6303,34 @@ return STATUS_NOT_IMPLEMENTED; }
+ /* Function 52 */ NTSTATUS NTAPI SamrAddMultipleMembersToAlias(IN SAMPR_HANDLE AliasHandle, IN PSAMPR_PSID_ARRAY MembersBuffer) { - UNIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; -} + ULONG i; + NTSTATUS Status = STATUS_SUCCESS; + + TRACE("SamrAddMultipleMembersToAlias(%p %p)\n", + AliasHandle, MembersBuffer); + + for (i = 0; i < MembersBuffer->Count; i++) + { + Status = SamrAddMemberToAlias(AliasHandle, + ((PSID *)MembersBuffer->Sids)[i]); + + if (Status == STATUS_MEMBER_IN_ALIAS) + Status = STATUS_SUCCESS; + + if (!NT_SUCCESS(Status)) + break; + } + + return Status; +} +
/* Function 53 */ NTSTATUS
Modified: trunk/reactos/dll/win32/samsrv/setup.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/samsrv/setup.c?re... ============================================================================== --- trunk/reactos/dll/win32/samsrv/setup.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/samsrv/setup.c [iso-8859-1] Sat Oct 27 19:38:12 2012 @@ -224,6 +224,7 @@ ULONG ulRelativeId) { SAM_USER_FIXED_DATA FixedUserData; + LPWSTR lpEmptyString = L""; DWORD dwDisposition; WCHAR szAccountKeyName[32]; HKEY hAccountKey = NULL; @@ -260,6 +261,62 @@ REG_SZ, (LPVOID)lpAccountName, (wcslen(lpAccountName) + 1) * sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"FullName", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"HomeDirectory", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"HomeDirectoryDrive", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"ScriptPath", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"ProfilePath", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"AdminComment", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"UserComment", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR)); + + RegSetValueEx(hAccountKey, + L"WorkStations", + 0, + REG_SZ, + (LPVOID)lpEmptyString, + sizeof(WCHAR));
RegCloseKey(hAccountKey); }