NT4/private/lsa/server/aumsp.c
2020-09-30 17:12:29 +02:00

142 lines
2.2 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
Copyright (c) 1989 Microsoft Corporation
Module Name:
aumsp.c
Abstract:
This module provides private LSA services available to Microsoft
authentication packages.
Author:
Jim Kelly (JimK) 3-May-1991
Revision History:
--*/
#include "ausrvp.h"
#include <string.h>
NTSTATUS
LsapAuImpersonateClient (
PLSA_CLIENT_REQUEST ClientRequest
);
BOOLEAN
LsapAuMspInitialize()
/*++
Routine Description:
This function initializes data structures related to the private
services provided to Microsoft authentication packages.
Arguments:
None.
Return Value:
TRUE - Initialization completed successfully.
FALSE - Initialization failed.
--*/
{
//
// Initialize the table of private LSA routines provided to Microsoft
// authentication packages.
//
LsapPrivateLsaApi.GetOperationalMode = NULL; //FIX, FIX
LsapPrivateLsaApi.ImpersonateClient = &LsapAuImpersonateClient;
return TRUE;
}
NTSTATUS
LsapAuImpersonateClient (
PLSA_CLIENT_REQUEST ClientRequest
)
/*++
Routine Description:
Called by Microsoft authentication packages to impersonate
LSA's client
Arguments:
ClientRequest - Is a pointer to an opaque data structure
representing the client's request.
Return Value:
NTSTATUS
--*/
{
//
// Cast the opaque structure
//
PLSAP_CLIENT_REQUEST IClientRequest = (LSAP_CLIENT_REQUEST *)ClientRequest;
return NtImpersonateClientOfPort( IClientRequest->LogonProcessContext->CommPort,
&IClientRequest->Request->PortMessage
);
}
NTSTATUS
LsapAuGetOperationalMode(
OUT PLSA_OPERATIONAL_MODE OperationalMode
)
/*++
Routine Description:
This function returns the operational mode of the system.
Arguments:
None.
Return Value:
STATUS_SUCCESS - The service has completed successfully.
--*/
{
//FIX, FIX - get THIS from configuration control database when available.
(*OperationalMode) = (LSA_MODE_PASSWORD_PROTECTED |
LSA_MODE_INDIVIDUAL_ACCOUNTS);
return STATUS_SUCCESS;
}