mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 02:15:47 +00:00
[SYSSETUP] SamQueryInformationDomain expects a pointer
This commit is contained in:
parent
aec3d9cc8f
commit
c59ab8fce1
1 changed files with 32 additions and 26 deletions
|
@ -766,7 +766,7 @@ ApplyPasswordSettings(
|
||||||
_In_ PWSTR pszSectionName)
|
_In_ PWSTR pszSectionName)
|
||||||
{
|
{
|
||||||
INFCONTEXT InfContext;
|
INFCONTEXT InfContext;
|
||||||
DOMAIN_PASSWORD_INFORMATION PasswordInfo;
|
PDOMAIN_PASSWORD_INFORMATION PasswordInfo = NULL;
|
||||||
PPOLICY_ACCOUNT_DOMAIN_INFO OrigInfo = NULL;
|
PPOLICY_ACCOUNT_DOMAIN_INFO OrigInfo = NULL;
|
||||||
LSA_OBJECT_ATTRIBUTES ObjectAttributes;
|
LSA_OBJECT_ATTRIBUTES ObjectAttributes;
|
||||||
LSA_HANDLE PolicyHandle = NULL;
|
LSA_HANDLE PolicyHandle = NULL;
|
||||||
|
@ -828,7 +828,7 @@ ApplyPasswordSettings(
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("MaximumPasswordAge (OldValue) : 0x%I64x\n", PasswordInfo.MaxPasswordAge.QuadPart);
|
DPRINT("MaximumPasswordAge (OldValue) : 0x%I64x\n", PasswordInfo->MaxPasswordAge.QuadPart);
|
||||||
if (SetupFindFirstLineW(hSecurityInf,
|
if (SetupFindFirstLineW(hSecurityInf,
|
||||||
pszSectionName,
|
pszSectionName,
|
||||||
L"MaximumPasswordAge",
|
L"MaximumPasswordAge",
|
||||||
|
@ -839,17 +839,17 @@ ApplyPasswordSettings(
|
||||||
DPRINT("Value: %ld\n", nValue);
|
DPRINT("Value: %ld\n", nValue);
|
||||||
if (nValue == -1)
|
if (nValue == -1)
|
||||||
{
|
{
|
||||||
PasswordInfo.MaxPasswordAge.QuadPart = 0x8000000000000000;
|
PasswordInfo->MaxPasswordAge.QuadPart = 0x8000000000000000;
|
||||||
}
|
}
|
||||||
else if ((nValue >= 1) && (nValue < 1000))
|
else if ((nValue >= 1) && (nValue < 1000))
|
||||||
{
|
{
|
||||||
PasswordInfo.MaxPasswordAge.QuadPart = (LONGLONG)nValue * TICKS_PER_DAY;
|
PasswordInfo->MaxPasswordAge.QuadPart = (LONGLONG)nValue * TICKS_PER_DAY;
|
||||||
}
|
}
|
||||||
DPRINT("MaximumPasswordAge (NewValue) : 0x%I64x\n", PasswordInfo.MaxPasswordAge.QuadPart);
|
DPRINT("MaximumPasswordAge (NewValue) : 0x%I64x\n", PasswordInfo->MaxPasswordAge.QuadPart);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("MinimumPasswordAge (OldValue) : 0x%I64x\n", PasswordInfo.MinPasswordAge.QuadPart);
|
DPRINT("MinimumPasswordAge (OldValue) : 0x%I64x\n", PasswordInfo->MinPasswordAge.QuadPart);
|
||||||
if (SetupFindFirstLineW(hSecurityInf,
|
if (SetupFindFirstLineW(hSecurityInf,
|
||||||
pszSectionName,
|
pszSectionName,
|
||||||
L"MinimumPasswordAge",
|
L"MinimumPasswordAge",
|
||||||
|
@ -860,14 +860,14 @@ ApplyPasswordSettings(
|
||||||
DPRINT("Wert: %ld\n", nValue);
|
DPRINT("Wert: %ld\n", nValue);
|
||||||
if ((nValue >= 0) && (nValue < 1000))
|
if ((nValue >= 0) && (nValue < 1000))
|
||||||
{
|
{
|
||||||
if (PasswordInfo.MaxPasswordAge.QuadPart < (LONGLONG)nValue * TICKS_PER_DAY)
|
if (PasswordInfo->MaxPasswordAge.QuadPart < (LONGLONG)nValue * TICKS_PER_DAY)
|
||||||
PasswordInfo.MinPasswordAge.QuadPart = (LONGLONG)nValue * TICKS_PER_DAY;
|
PasswordInfo->MinPasswordAge.QuadPart = (LONGLONG)nValue * TICKS_PER_DAY;
|
||||||
}
|
}
|
||||||
DPRINT("MinimumPasswordAge (NewValue) : 0x%I64x\n", PasswordInfo.MinPasswordAge.QuadPart);
|
DPRINT("MinimumPasswordAge (NewValue) : 0x%I64x\n", PasswordInfo->MinPasswordAge.QuadPart);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("MinimumPasswordLength (OldValue) : %lu\n", PasswordInfo.MinPasswordLength);
|
DPRINT("MinimumPasswordLength (OldValue) : %lu\n", PasswordInfo->MinPasswordLength);
|
||||||
if (SetupFindFirstLineW(hSecurityInf,
|
if (SetupFindFirstLineW(hSecurityInf,
|
||||||
pszSectionName,
|
pszSectionName,
|
||||||
L"MinimumPasswordLength",
|
L"MinimumPasswordLength",
|
||||||
|
@ -878,13 +878,13 @@ ApplyPasswordSettings(
|
||||||
DPRINT("Value: %ld\n", nValue);
|
DPRINT("Value: %ld\n", nValue);
|
||||||
if ((nValue >= 0) && (nValue <= 65535))
|
if ((nValue >= 0) && (nValue <= 65535))
|
||||||
{
|
{
|
||||||
PasswordInfo.MinPasswordLength = nValue;
|
PasswordInfo->MinPasswordLength = nValue;
|
||||||
}
|
}
|
||||||
DPRINT("MinimumPasswordLength (NewValue) : %lu\n", PasswordInfo.MinPasswordLength);
|
DPRINT("MinimumPasswordLength (NewValue) : %lu\n", PasswordInfo->MinPasswordLength);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DPRINT("PasswordHistoryLength (OldValue) : %lu\n", PasswordInfo.PasswordHistoryLength);
|
DPRINT("PasswordHistoryLength (OldValue) : %lu\n", PasswordInfo->PasswordHistoryLength);
|
||||||
if (SetupFindFirstLineW(hSecurityInf,
|
if (SetupFindFirstLineW(hSecurityInf,
|
||||||
pszSectionName,
|
pszSectionName,
|
||||||
L"PasswordHistorySize",
|
L"PasswordHistorySize",
|
||||||
|
@ -895,9 +895,9 @@ ApplyPasswordSettings(
|
||||||
DPRINT("Value: %ld\n", nValue);
|
DPRINT("Value: %ld\n", nValue);
|
||||||
if ((nValue >= 0) && (nValue <= 65535))
|
if ((nValue >= 0) && (nValue <= 65535))
|
||||||
{
|
{
|
||||||
PasswordInfo.PasswordHistoryLength = nValue;
|
PasswordInfo->PasswordHistoryLength = nValue;
|
||||||
}
|
}
|
||||||
DPRINT("PasswordHistoryLength (NewValue) : %lu\n", PasswordInfo.PasswordHistoryLength);
|
DPRINT("PasswordHistoryLength (NewValue) : %lu\n", PasswordInfo->PasswordHistoryLength);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -910,11 +910,11 @@ ApplyPasswordSettings(
|
||||||
{
|
{
|
||||||
if (nValue == 0)
|
if (nValue == 0)
|
||||||
{
|
{
|
||||||
PasswordInfo.PasswordProperties &= ~DOMAIN_PASSWORD_COMPLEX;
|
PasswordInfo->PasswordProperties &= ~DOMAIN_PASSWORD_COMPLEX;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PasswordInfo.PasswordProperties |= DOMAIN_PASSWORD_COMPLEX;
|
PasswordInfo->PasswordProperties |= DOMAIN_PASSWORD_COMPLEX;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -928,11 +928,11 @@ ApplyPasswordSettings(
|
||||||
{
|
{
|
||||||
if (nValue == 0)
|
if (nValue == 0)
|
||||||
{
|
{
|
||||||
PasswordInfo.PasswordProperties &= ~DOMAIN_PASSWORD_STORE_CLEARTEXT;
|
PasswordInfo->PasswordProperties &= ~DOMAIN_PASSWORD_STORE_CLEARTEXT;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PasswordInfo.PasswordProperties |= DOMAIN_PASSWORD_STORE_CLEARTEXT;
|
PasswordInfo->PasswordProperties |= DOMAIN_PASSWORD_STORE_CLEARTEXT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -941,7 +941,7 @@ ApplyPasswordSettings(
|
||||||
|
|
||||||
Status = SamSetInformationDomain(DomainHandle,
|
Status = SamSetInformationDomain(DomainHandle,
|
||||||
DomainPasswordInformation,
|
DomainPasswordInformation,
|
||||||
(PVOID*)&PasswordInfo);
|
PasswordInfo);
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
{
|
{
|
||||||
DPRINT1("SamSetInformationDomain() failed (Status %08lx)\n", Status);
|
DPRINT1("SamSetInformationDomain() failed (Status %08lx)\n", Status);
|
||||||
|
@ -949,6 +949,9 @@ ApplyPasswordSettings(
|
||||||
}
|
}
|
||||||
|
|
||||||
done:
|
done:
|
||||||
|
if (PasswordInfo != NULL)
|
||||||
|
SamFreeMemory(PasswordInfo);
|
||||||
|
|
||||||
if (DomainHandle != NULL)
|
if (DomainHandle != NULL)
|
||||||
SamCloseHandle(DomainHandle);
|
SamCloseHandle(DomainHandle);
|
||||||
|
|
||||||
|
@ -970,7 +973,7 @@ ApplyLockoutSettings(
|
||||||
_In_ PWSTR pszSectionName)
|
_In_ PWSTR pszSectionName)
|
||||||
{
|
{
|
||||||
INFCONTEXT InfContext;
|
INFCONTEXT InfContext;
|
||||||
DOMAIN_LOCKOUT_INFORMATION LockoutInfo;
|
PDOMAIN_LOCKOUT_INFORMATION LockoutInfo = NULL;
|
||||||
PPOLICY_ACCOUNT_DOMAIN_INFO OrigInfo = NULL;
|
PPOLICY_ACCOUNT_DOMAIN_INFO OrigInfo = NULL;
|
||||||
LSA_OBJECT_ATTRIBUTES ObjectAttributes;
|
LSA_OBJECT_ATTRIBUTES ObjectAttributes;
|
||||||
LSA_HANDLE PolicyHandle = NULL;
|
LSA_HANDLE PolicyHandle = NULL;
|
||||||
|
@ -1041,7 +1044,7 @@ ApplyLockoutSettings(
|
||||||
{
|
{
|
||||||
if (nValue >= 0)
|
if (nValue >= 0)
|
||||||
{
|
{
|
||||||
LockoutInfo.LockoutThreshold = nValue;
|
LockoutInfo->LockoutThreshold = nValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1055,7 +1058,7 @@ ApplyLockoutSettings(
|
||||||
{
|
{
|
||||||
if (nValue >= 0)
|
if (nValue >= 0)
|
||||||
{
|
{
|
||||||
LockoutInfo.LockoutObservationWindow.QuadPart = (LONGLONG)nValue * TICKS_PER_MINUTE;
|
LockoutInfo->LockoutObservationWindow.QuadPart = (LONGLONG)nValue * TICKS_PER_MINUTE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1069,18 +1072,18 @@ ApplyLockoutSettings(
|
||||||
{
|
{
|
||||||
if (nValue == -1)
|
if (nValue == -1)
|
||||||
{
|
{
|
||||||
LockoutInfo.LockoutDuration.QuadPart = 0x8000000000000000LL;
|
LockoutInfo->LockoutDuration.QuadPart = 0x8000000000000000LL;
|
||||||
}
|
}
|
||||||
else if ((nValue >= 0) && (nValue < 100000))
|
else if ((nValue >= 0) && (nValue < 100000))
|
||||||
{
|
{
|
||||||
LockoutInfo.LockoutDuration.QuadPart = (LONGLONG)nValue * TICKS_PER_MINUTE;
|
LockoutInfo->LockoutDuration.QuadPart = (LONGLONG)nValue * TICKS_PER_MINUTE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Status = SamSetInformationDomain(DomainHandle,
|
Status = SamSetInformationDomain(DomainHandle,
|
||||||
DomainLockoutInformation,
|
DomainLockoutInformation,
|
||||||
(PVOID*)&LockoutInfo);
|
LockoutInfo);
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
{
|
{
|
||||||
DPRINT1("SamSetInformationDomain() failed (Status %08lx)\n", Status);
|
DPRINT1("SamSetInformationDomain() failed (Status %08lx)\n", Status);
|
||||||
|
@ -1088,6 +1091,9 @@ ApplyLockoutSettings(
|
||||||
}
|
}
|
||||||
|
|
||||||
done:
|
done:
|
||||||
|
if (LockoutInfo != NULL)
|
||||||
|
SamFreeMemory(LockoutInfo);
|
||||||
|
|
||||||
if (DomainHandle != NULL)
|
if (DomainHandle != NULL)
|
||||||
SamCloseHandle(DomainHandle);
|
SamCloseHandle(DomainHandle);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue