[MSV1_0] Export LsaApLogonUserEx2 instead of LsaApLogonUser and remove the outdated logon functions.

This commit is contained in:
Eric Kohl 2019-03-04 10:20:10 +01:00
parent ef4ee94feb
commit 6748d72c9f
2 changed files with 23 additions and 87 deletions

View file

@ -1012,19 +1012,22 @@ LsaApLogonTerminated(IN PLUID LogonId)
*/ */
NTSTATUS NTSTATUS
NTAPI NTAPI
LsaApLogonUser(IN PLSA_CLIENT_REQUEST ClientRequest, LsaApLogonUserEx2(IN PLSA_CLIENT_REQUEST ClientRequest,
IN SECURITY_LOGON_TYPE LogonType, IN SECURITY_LOGON_TYPE LogonType,
IN PVOID AuthenticationInformation, IN PVOID ProtocolSubmitBuffer,
IN PVOID ClientAuthenticationBase, IN PVOID ClientBufferBase,
IN ULONG AuthenticationInformationLength, IN ULONG SubmitBufferSize,
OUT PVOID *ProfileBuffer, OUT PVOID *ProfileBuffer,
OUT PULONG ProfileBufferLength, OUT PULONG ProfileBufferSize,
OUT PLUID LogonId, OUT PLUID LogonId,
OUT PNTSTATUS SubStatus, OUT PNTSTATUS SubStatus,
OUT PLSA_TOKEN_INFORMATION_TYPE TokenInformationType, OUT PLSA_TOKEN_INFORMATION_TYPE TokenInformationType,
OUT PVOID *TokenInformation, OUT PVOID *TokenInformation,
OUT PLSA_UNICODE_STRING *AccountName, OUT PUNICODE_STRING *AccountName,
OUT PLSA_UNICODE_STRING *AuthenticatingAuthority) OUT PUNICODE_STRING *AuthenticatingAuthority,
OUT PUNICODE_STRING *MachineName,
OUT PSECPKG_PRIMARY_CRED PrimaryCredentials,
OUT PSECPKG_SUPPLEMENTAL_CRED_ARRAY *SupplementalCredentials)
{ {
PMSV1_0_INTERACTIVE_LOGON LogonInfo; PMSV1_0_INTERACTIVE_LOGON LogonInfo;
@ -1048,11 +1051,11 @@ LsaApLogonUser(IN PLSA_CLIENT_REQUEST ClientRequest,
TRACE("LsaApLogonUser()\n"); TRACE("LsaApLogonUser()\n");
TRACE("LogonType: %lu\n", LogonType); TRACE("LogonType: %lu\n", LogonType);
TRACE("AuthenticationInformation: %p\n", AuthenticationInformation); TRACE("ProtocolSubmitBuffer: %p\n", ProtocolSubmitBuffer);
TRACE("AuthenticationInformationLength: %lu\n", AuthenticationInformationLength); TRACE("SubmitBufferSize: %lu\n", SubmitBufferSize);
*ProfileBuffer = NULL; *ProfileBuffer = NULL;
*ProfileBufferLength = 0; *ProfileBufferSize = 0;
*SubStatus = STATUS_SUCCESS; *SubStatus = STATUS_SUCCESS;
*AccountName = NULL; *AccountName = NULL;
*AuthenticatingAuthority = NULL; *AuthenticatingAuthority = NULL;
@ -1063,10 +1066,10 @@ LsaApLogonUser(IN PLSA_CLIENT_REQUEST ClientRequest,
{ {
ULONG_PTR PtrOffset; ULONG_PTR PtrOffset;
LogonInfo = (PMSV1_0_INTERACTIVE_LOGON)AuthenticationInformation; LogonInfo = (PMSV1_0_INTERACTIVE_LOGON)ProtocolSubmitBuffer;
/* Fix-up pointers in the authentication info */ /* Fix-up pointers in the authentication info */
PtrOffset = (ULONG_PTR)AuthenticationInformation - (ULONG_PTR)ClientAuthenticationBase; PtrOffset = (ULONG_PTR)ProtocolSubmitBuffer - (ULONG_PTR)ClientBufferBase;
LogonInfo->LogonDomainName.Buffer = FIXUP_POINTER(LogonInfo->LogonDomainName.Buffer, PtrOffset); LogonInfo->LogonDomainName.Buffer = FIXUP_POINTER(LogonInfo->LogonDomainName.Buffer, PtrOffset);
LogonInfo->UserName.Buffer = FIXUP_POINTER(LogonInfo->UserName.Buffer, PtrOffset); LogonInfo->UserName.Buffer = FIXUP_POINTER(LogonInfo->UserName.Buffer, PtrOffset);
@ -1319,7 +1322,7 @@ LsaApLogonUser(IN PLSA_CLIENT_REQUEST ClientRequest,
UserInfo, UserInfo,
&LogonServer, &LogonServer,
(PMSV1_0_INTERACTIVE_PROFILE*)ProfileBuffer, (PMSV1_0_INTERACTIVE_PROFILE*)ProfileBuffer,
ProfileBufferLength); ProfileBufferSize);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
TRACE("BuildInteractiveProfileBuffer failed (Status %08lx)\n", Status); TRACE("BuildInteractiveProfileBuffer failed (Status %08lx)\n", Status);
@ -1429,69 +1432,4 @@ done:
return Status; return Status;
} }
/*
* @unimplemented
*/
#if 0
NTSTATUS
NTAPI
LsaApLogonUserEx(IN PLSA_CLIENT_REQUEST ClientRequest,
IN SECURITY_LOGON_TYPE LogonType,
IN PVOID AuthenticationInformation,
IN PVOID ClientAuthenticationBase,
IN ULONG AuthenticationInformationLength,
OUT PVOID *ProfileBuffer,
OUT PULONG ProfileBufferLength,
OUT PLUID LogonId,
OUT PNTSTATUS SubStatus,
OUT PLSA_TOKEN_INFORMATION_TYPE TokenInformationType,
OUT PVOID *TokenInformation,
OUT PUNICODE_STRING *AccountName,
OUT PUNICODE_STRING *AuthenticatingAuthority,
OUT PUNICODE_STRING *MachineName)
{
TRACE("()\n");
TRACE("LogonType: %lu\n", LogonType);
TRACE("AuthenticationInformation: %p\n", AuthenticationInformation);
TRACE("AuthenticationInformationLength: %lu\n", AuthenticationInformationLength);
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
NTAPI
LsaApLogonUserEx2(IN PLSA_CLIENT_REQUEST ClientRequest,
IN SECURITY_LOGON_TYPE LogonType,
IN PVOID ProtocolSubmitBuffer,
IN PVOID ClientBufferBase,
IN ULONG SubmitBufferSize,
OUT PVOID *ProfileBuffer,
OUT PULONG ProfileBufferSize,
OUT PLUID LogonId,
OUT PNTSTATUS SubStatus,
OUT PLSA_TOKEN_INFORMATION_TYPE TokenInformationType,
OUT PVOID *TokenInformation,
OUT PUNICODE_STRING *AccountName,
OUT PUNICODE_STRING *AuthenticatingAuthority,
OUT PUNICODE_STRING *MachineName,
OUT PSECPKG_PRIMARY_CRED PrimaryCredentials,
OUT PSECPKG_SUPPLEMENTAL_CRED_ARRAY *SupplementalCredentials)
{
TRACE("()\n");
TRACE("LogonType: %lu\n", LogonType);
TRACE("ProtocolSubmitBuffer: %p\n", ProtocolSubmitBuffer);
TRACE("SubmitBufferSize: %lu\n", SubmitBufferSize);
return STATUS_NOT_IMPLEMENTED;
}
#endif
/* EOF */ /* EOF */

View file

@ -3,9 +3,7 @@
@ stdcall LsaApCallPackageUntrusted(ptr ptr ptr long ptr ptr ptr) @ stdcall LsaApCallPackageUntrusted(ptr ptr ptr long ptr ptr ptr)
@ stdcall LsaApInitializePackage(long ptr ptr ptr ptr) @ stdcall LsaApInitializePackage(long ptr ptr ptr ptr)
@ stdcall LsaApLogonTerminated(ptr) @ stdcall LsaApLogonTerminated(ptr)
@ stdcall LsaApLogonUser(ptr long ptr ptr long ptr ptr ptr ptr ptr ptr ptr ptr) @ stdcall LsaApLogonUserEx2(ptr long ptr ptr long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr)
#@ stdcall LsaApLogonUserEx(ptr long ptr ptr long ptr ptr ptr ptr ptr ptr ptr ptr ptr)
#@ stdcall LsaApLogonUserEx2(ptr long ptr ptr long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr)
@ stub Msv1_0ExportSubAuthenticationRoutine @ stub Msv1_0ExportSubAuthenticationRoutine
@ stub Msv1_0SubAuthenticationPresent @ stub Msv1_0SubAuthenticationPresent
@ stub MsvGetLogonAttemptCount @ stub MsvGetLogonAttemptCount