mirror of
https://github.com/reactos/reactos.git
synced 2025-05-29 14:08:22 +00:00
[MSV1_0] Create stubs for SECPKG_USER_FUNCTION_TABLE
This commit fixes a bug as well: old code of SpUserModeInitialze returns a pointer to a local variable (SECPKG_USER_FUNCTION_TABLE).
This commit is contained in:
parent
1c82bf0324
commit
0901077f8c
12 changed files with 377 additions and 34 deletions
|
@ -4,7 +4,9 @@ spec2def(msv1_0.dll msv1_0.spec)
|
||||||
list(APPEND SOURCE
|
list(APPEND SOURCE
|
||||||
lsa.c
|
lsa.c
|
||||||
msv1_0.c
|
msv1_0.c
|
||||||
precomp.h
|
ntlm/global.c
|
||||||
|
user.c
|
||||||
|
usercontext.c
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/msv1_0_stubs.c
|
${CMAKE_CURRENT_BINARY_DIR}/msv1_0_stubs.c
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/msv1_0.def)
|
${CMAKE_CURRENT_BINARY_DIR}/msv1_0.def)
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* PROJECT: Authentication Package DLL
|
* PROJECT: Authentication Package DLL
|
||||||
* LICENSE: GPL - See COPYING in the top level directory
|
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||||
* FILE: dll/win32/msv1_0/lsa.c
|
* PURPOSE: NTLM functions returned from SpLsaModeInitialize (PSECPKG_FUNCTION_TABLE)
|
||||||
* PURPOSE: NTLM-functions returned from SpLsaModeInitialize
|
|
||||||
(PSECPKG_FUNCTION_TABLE)
|
|
||||||
* COPYRIGHT: Copyright 2019-2020 Andreas Maier <staubim@quantentunnel.de>
|
* COPYRIGHT: Copyright 2019-2020 Andreas Maier <staubim@quantentunnel.de>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* PROJECT: Authentication Package DLL
|
* PROJECT: Authentication Package DLL
|
||||||
* LICENSE: GPL - See COPYING in the top level directory
|
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||||
* FILE: dll/win32/msv1_0/lsa.h
|
* PURPOSE: Header for lsa.c
|
||||||
* PURPOSE: header for lsa.c
|
|
||||||
* COPYRIGHT: Copyright 2019-2020 Andreas Maier <staubim@quantentunnel.de>
|
* COPYRIGHT: Copyright 2019-2020 Andreas Maier <staubim@quantentunnel.de>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _MSV1_0_LSA_H_
|
#pragma once
|
||||||
#define _MSV1_0_LSA_H_
|
|
||||||
|
|
||||||
// functions we provide to LSA in SpLsaModeInitialize
|
// functions we provide to LSA in SpLsaModeInitialize
|
||||||
extern SECPKG_FUNCTION_TABLE NtlmLsaFn[1];
|
extern SECPKG_FUNCTION_TABLE NtlmLsaFn[1];
|
||||||
|
@ -138,5 +136,3 @@ NTAPI
|
||||||
LsaSpSetExtendedInformation(
|
LsaSpSetExtendedInformation(
|
||||||
_In_ SECPKG_EXTENDED_INFORMATION_CLASS Class,
|
_In_ SECPKG_EXTENDED_INFORMATION_CLASS Class,
|
||||||
_In_ PSECPKG_EXTENDED_INFORMATION Info);
|
_In_ PSECPKG_EXTENDED_INFORMATION Info);
|
||||||
|
|
||||||
#endif /* _MSV1_0_LSA_H_ */
|
|
||||||
|
|
|
@ -1769,7 +1769,6 @@ SpLsaModeInitialize(
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @unimplemented
|
||||||
*/
|
*/
|
||||||
|
@ -1781,8 +1780,6 @@ SpUserModeInitialize(
|
||||||
_Out_ PSECPKG_USER_FUNCTION_TABLE *ppTables,
|
_Out_ PSECPKG_USER_FUNCTION_TABLE *ppTables,
|
||||||
_Out_ PULONG pcTables)
|
_Out_ PULONG pcTables)
|
||||||
{
|
{
|
||||||
SECPKG_USER_FUNCTION_TABLE Tables[1];
|
|
||||||
|
|
||||||
TRACE("SpUserModeInitialize(0x%lx %p %p %p)\n",
|
TRACE("SpUserModeInitialize(0x%lx %p %p %p)\n",
|
||||||
LsaVersion, PackageVersion, ppTables, pcTables);
|
LsaVersion, PackageVersion, ppTables, pcTables);
|
||||||
|
|
||||||
|
@ -1791,24 +1788,7 @@ SpUserModeInitialize(
|
||||||
|
|
||||||
*PackageVersion = SECPKG_INTERFACE_VERSION;
|
*PackageVersion = SECPKG_INTERFACE_VERSION;
|
||||||
|
|
||||||
RtlZeroMemory(&Tables, sizeof(Tables));
|
*ppTables = NtlmUsrFn;
|
||||||
|
|
||||||
// Tables[0].InstanceInit = SpInstanceInit;
|
|
||||||
// Tables[0].InitUserModeContext = NULL;
|
|
||||||
// Tables[0].MakeSignature = NULL;
|
|
||||||
// Tables[0].VerifySignature = NULL;
|
|
||||||
// Tables[0].SealMessage = NULL;
|
|
||||||
// Tables[0].UnsealMessage = NULL;
|
|
||||||
// Tables[0].GetContextToken = NULL;
|
|
||||||
// Tables[0].SpQueryContextAttributes = NULL;
|
|
||||||
// Tables[0].CompleteAuthToken = NULL;
|
|
||||||
// Tables[0].DeleteUserModeContext = NULL;
|
|
||||||
// Tables[0].FormatCredentials = NULL;
|
|
||||||
// Tables[0].MarshallSupplementalCreds = NULL;
|
|
||||||
// Tables[0].ExportContext = NULL;
|
|
||||||
// Tables[0].ImportContext = NULL;
|
|
||||||
|
|
||||||
*ppTables = Tables;
|
|
||||||
*pcTables = 1;
|
*pcTables = 1;
|
||||||
|
|
||||||
return STATUS_SUCCESS;
|
return STATUS_SUCCESS;
|
||||||
|
|
|
@ -11,6 +11,6 @@
|
||||||
@ stub MsvSamValidate
|
@ stub MsvSamValidate
|
||||||
@ stub MsvValidateTarget
|
@ stub MsvValidateTarget
|
||||||
@ stdcall SpInitialize(long ptr ptr)
|
@ stdcall SpInitialize(long ptr ptr)
|
||||||
@ stub SpInstanceInit
|
@ stdcall SpInstanceInit(long ptr ptr)
|
||||||
@ stdcall SpLsaModeInitialize(long ptr ptr ptr)
|
@ stdcall SpLsaModeInitialize(long ptr ptr ptr)
|
||||||
@ stdcall SpUserModeInitialize(long ptr ptr ptr)
|
@ stdcall SpUserModeInitialize(long ptr ptr ptr)
|
||||||
|
|
34
dll/win32/msv1_0/ntlm/global.c
Normal file
34
dll/win32/msv1_0/ntlm/global.c
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: Authentication Package DLL
|
||||||
|
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||||
|
* PURPOSE: NTLM globals definitions (header)
|
||||||
|
* COPYRIGHT: Copyright 2011 Samuel Serapión
|
||||||
|
* Copyright 2020 Andreas Maier <staubim@quantentunnel.de>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../precomp.h"
|
||||||
|
|
||||||
|
#include "wine/debug.h"
|
||||||
|
WINE_DEFAULT_DEBUG_CHANNEL(ntlm);
|
||||||
|
|
||||||
|
/* globals */
|
||||||
|
PSECPKG_DLL_FUNCTIONS UsrFunctions = NULL;
|
||||||
|
SECPKG_USER_FUNCTION_TABLE NtlmUsrFn[1] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.InstanceInit = SpInstanceInit,
|
||||||
|
.InitUserModeContext = UsrSpInitUserModeContext,
|
||||||
|
.MakeSignature = UsrSpMakeSignature,
|
||||||
|
.VerifySignature = UsrSpVerifySignature,
|
||||||
|
.SealMessage = UsrSpSealMessage,
|
||||||
|
.UnsealMessage = UsrSpUnsealMessage,
|
||||||
|
.GetContextToken = UsrSpGetContextToken,
|
||||||
|
.SpQueryContextAttributes = UsrSpQueryContextAttributes,
|
||||||
|
.CompleteAuthToken = UsrSpCompleteAuthToken,
|
||||||
|
.DeleteUserModeContext = UsrSpDeleteUserModeContext,
|
||||||
|
.FormatCredentials = UsrSpFormatCredentials,
|
||||||
|
.MarshallSupplementalCreds = UsrSpMarshallSupplementalCreds,
|
||||||
|
.ExportContext = UsrSpExportSecurityContext,
|
||||||
|
.ImportContext = UsrSpImportSecurityContext
|
||||||
|
}
|
||||||
|
};
|
17
dll/win32/msv1_0/ntlm/global.h
Normal file
17
dll/win32/msv1_0/ntlm/global.h
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: Authentication Package DLL
|
||||||
|
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||||
|
* PURPOSE: ntlm globals definitions (header)
|
||||||
|
* COPYRIGHT: Copyright 2011 Samuel Serapión
|
||||||
|
* Copyright 2020 Andreas Maier (staubim@quantentunnel.de)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _MSV1_0_NTLM_GLOBALS_H_
|
||||||
|
#define _MSV1_0_NTLM_GLOBALS_H_
|
||||||
|
|
||||||
|
/* functions provided by LSA in SpInstanceInit */
|
||||||
|
extern PSECPKG_DLL_FUNCTIONS UsrFunctions;
|
||||||
|
/* functions we provide to LSA in SpUserModeInitialize */
|
||||||
|
extern SECPKG_USER_FUNCTION_TABLE NtlmUsrFn[1];
|
||||||
|
|
||||||
|
#endif
|
|
@ -30,8 +30,12 @@
|
||||||
#include <samsrv/samsrv.h>
|
#include <samsrv/samsrv.h>
|
||||||
//#include <lsass/lsasrv.h>
|
//#include <lsass/lsasrv.h>
|
||||||
|
|
||||||
|
#include "ntlm/global.h"
|
||||||
#include "lsa.h"
|
#include "lsa.h"
|
||||||
#include "msv1_0.h"
|
#include "msv1_0.h"
|
||||||
|
#include "user.h"
|
||||||
|
#include "usercontext.h"
|
||||||
|
|
||||||
|
|
||||||
#include <wine/debug.h>
|
#include <wine/debug.h>
|
||||||
|
|
||||||
|
|
176
dll/win32/msv1_0/user.c
Normal file
176
dll/win32/msv1_0/user.c
Normal file
|
@ -0,0 +1,176 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: Authentication Package DLL
|
||||||
|
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||||
|
* PURPOSE: NTLM Functions returned from SpUserModeInitialize (PSECPKG_USER_FUNCTION_TABLE)
|
||||||
|
* COPYRIGHT: Copyright 2019-2020 Andreas Maier <staubim@quantentunnel.de>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "precomp.h"
|
||||||
|
|
||||||
|
#include "wine/debug.h"
|
||||||
|
WINE_DEFAULT_DEBUG_CHANNEL(msv1_0);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
SpInstanceInit(
|
||||||
|
_In_ ULONG Version,
|
||||||
|
_In_ PSECPKG_DLL_FUNCTIONS FunctionTable,
|
||||||
|
_Inout_ PVOID *UserFunctions)
|
||||||
|
{
|
||||||
|
TRACE("SpInstanceInit(Version 0x%lx, 0x%p, 0x%p)\n",
|
||||||
|
Version, FunctionTable, UserFunctions);
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpMakeSignature(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_In_ ULONG QualityOfProtection,
|
||||||
|
_Inout_ PSecBufferDesc MessageBuffers,
|
||||||
|
_In_ ULONG MessageSequenceNumber)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpMakeSignature(0x%p 0x%x 0x%p 0x%x)\n",
|
||||||
|
ContextHandle, QualityOfProtection,
|
||||||
|
MessageBuffers, MessageSequenceNumber);
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpVerifySignature(
|
||||||
|
_In_ LSA_SEC_HANDLE phContext,
|
||||||
|
_In_ PSecBufferDesc pMessage,
|
||||||
|
_In_ ULONG MessageSeqNo,
|
||||||
|
_In_ PULONG pfQOP)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpVerifySignature(0x%p 0x%x 0x%x 0x%p)\n",
|
||||||
|
phContext, pMessage, MessageSeqNo, pfQOP);
|
||||||
|
|
||||||
|
return ERROR_NOT_SUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpSealMessage(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_In_ ULONG QualityOfProtection,
|
||||||
|
_Inout_ PSecBufferDesc MessageBuffers,
|
||||||
|
_In_ ULONG MessageSequenceNumber)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpSealMessage(0x%p 0x%x 0x%p 0x%x)\n",
|
||||||
|
ContextHandle, QualityOfProtection,
|
||||||
|
MessageBuffers, MessageSequenceNumber);
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpUnsealMessage(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_Inout_ PSecBufferDesc MessageBuffers,
|
||||||
|
_In_ ULONG MessageSequenceNumber,
|
||||||
|
_In_ PULONG QualityOfProtection)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpUnsealMessage(0x%p 0x%x 0x%p 0x%x)\n",
|
||||||
|
ContextHandle, MessageBuffers,
|
||||||
|
MessageSequenceNumber, QualityOfProtection);
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpGetContextToken(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_Inout_ PHANDLE ImpersonationToken)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpGetContextToken(0x%p 0x%p)\n",
|
||||||
|
ContextHandle, ImpersonationToken);
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpQueryContextAttributes(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_In_ ULONG ContextAttribute,
|
||||||
|
_Inout_ PVOID Buffer)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpQueryContextAttributes(0x%p 0x%x 0x%p)\n",
|
||||||
|
ContextHandle, ContextAttribute, Buffer);
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpCompleteAuthToken(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_In_ PSecBufferDesc InputBuffer)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpCompleteAuthToken(0x%p 0x%p)\n",
|
||||||
|
ContextHandle, InputBuffer);
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpDeleteUserModeContext(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpDeleteUserModeContext(0x%p)\n",
|
||||||
|
ContextHandle);
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpFormatCredentials(
|
||||||
|
_In_ PSecBuffer Credentials,
|
||||||
|
_Inout_ PSecBuffer FormattedCredentials)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpFormatCredentials(0x%p 0x%p)\n",
|
||||||
|
Credentials, FormattedCredentials);
|
||||||
|
|
||||||
|
return ERROR_NOT_SUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpMarshallSupplementalCreds(
|
||||||
|
_In_ ULONG CredentialSize,
|
||||||
|
_In_ PUCHAR Credentials,
|
||||||
|
_Inout_ PULONG MarshalledCredSize,
|
||||||
|
_Inout_ PVOID *MarshalledCreds)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpMarshallSupplementalCreds(0x%x 0x%p 0x%p 0x%p)\n",
|
||||||
|
CredentialSize, Credentials, MarshalledCredSize, MarshalledCreds);
|
||||||
|
|
||||||
|
return ERROR_NOT_SUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpExportSecurityContext(
|
||||||
|
_In_ LSA_SEC_HANDLE phContext,
|
||||||
|
_In_ ULONG fFlags,
|
||||||
|
_Inout_ PSecBuffer pPackedContext,
|
||||||
|
_Inout_ PHANDLE pToken)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpExportSecurityContext(0x%p 0x%x 0x%p 0x%p)\n",
|
||||||
|
phContext, fFlags, pPackedContext, pToken);
|
||||||
|
|
||||||
|
return ERROR_NOT_SUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpImportSecurityContext(
|
||||||
|
_In_ PSecBuffer pPackedContext,
|
||||||
|
_In_ HANDLE Token,
|
||||||
|
_Inout_ PLSA_SEC_HANDLE phContext)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpImportSecurityContext(0x%p 0x%x 0x%p)\n",
|
||||||
|
pPackedContext, Token, phContext);
|
||||||
|
|
||||||
|
return ERROR_NOT_SUPPORTED;
|
||||||
|
}
|
100
dll/win32/msv1_0/user.h
Normal file
100
dll/win32/msv1_0/user.h
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: Authentication Package DLL
|
||||||
|
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||||
|
* PURPOSE: Header for user.c
|
||||||
|
* COPYRIGHT: Copyright 2019-2020 Andreas Maier <staubim@quantentunnel.de>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
SpInstanceInit(
|
||||||
|
_In_ ULONG Version,
|
||||||
|
_In_ PSECPKG_DLL_FUNCTIONS FunctionTable,
|
||||||
|
_Inout_ PVOID *UserFunctions);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpMakeSignature(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_In_ ULONG QualityOfProtection,
|
||||||
|
_Inout_ PSecBufferDesc MessageBuffers,
|
||||||
|
_In_ ULONG MessageSequenceNumber);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpVerifySignature(
|
||||||
|
_In_ LSA_SEC_HANDLE phContext,
|
||||||
|
_In_ PSecBufferDesc pMessage,
|
||||||
|
_In_ ULONG MessageSeqNo,
|
||||||
|
_In_ PULONG pfQOP);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpSealMessage(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_In_ ULONG QualityOfProtection,
|
||||||
|
_Inout_ PSecBufferDesc MessageBuffers,
|
||||||
|
_In_ ULONG MessageSequenceNumber);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpUnsealMessage(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_Inout_ PSecBufferDesc MessageBuffers,
|
||||||
|
_In_ ULONG MessageSequenceNumber,
|
||||||
|
_In_ PULONG QualityOfProtection);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpGetContextToken(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_Inout_ PHANDLE ImpersonationToken);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpQueryContextAttributes(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_In_ ULONG ContextAttribute,
|
||||||
|
_Inout_ PVOID Buffer);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpCompleteAuthToken(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_In_ PSecBufferDesc InputBuffer);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpDeleteUserModeContext(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpFormatCredentials(
|
||||||
|
_In_ PSecBuffer Credentials,
|
||||||
|
_Inout_ PSecBuffer FormattedCredentials);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpMarshallSupplementalCreds(
|
||||||
|
_In_ ULONG CredentialSize,
|
||||||
|
_In_ PUCHAR Credentials,
|
||||||
|
_Inout_ PULONG MarshalledCredSize,
|
||||||
|
_Inout_ PVOID *MarshalledCreds);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpExportSecurityContext(
|
||||||
|
_In_ LSA_SEC_HANDLE phContext,
|
||||||
|
_In_ ULONG fFlags,
|
||||||
|
_Inout_ PSecBuffer pPackedContext,
|
||||||
|
_Inout_ PHANDLE pToken);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpImportSecurityContext(
|
||||||
|
_In_ PSecBuffer pPackedContext,
|
||||||
|
_In_ HANDLE Token,
|
||||||
|
_Inout_ PLSA_SEC_HANDLE phContext);
|
22
dll/win32/msv1_0/usercontext.c
Normal file
22
dll/win32/msv1_0/usercontext.c
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: Authentication Package DLL
|
||||||
|
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||||
|
* PURPOSE: Manage user mode contexts (create, destroy, reference)
|
||||||
|
* COPYRIGHT: Copyright 2019-2020 Andreas Maier (staubim@quantentunnel.de)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "precomp.h"
|
||||||
|
|
||||||
|
#include "wine/debug.h"
|
||||||
|
WINE_DEFAULT_DEBUG_CHANNEL(msv1_0);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpInitUserModeContext(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_In_ PSecBuffer PackedContext)
|
||||||
|
{
|
||||||
|
TRACE("UsrSpInitUserModeContext(%p %p)\n",
|
||||||
|
ContextHandle, PackedContext);
|
||||||
|
return STATUS_NOT_IMPLEMENTED;
|
||||||
|
}
|
14
dll/win32/msv1_0/usercontext.h
Normal file
14
dll/win32/msv1_0/usercontext.h
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: Authentication Package DLL
|
||||||
|
* LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
|
||||||
|
* PURPOSE: Manage user mode contexts (create, destroy, reference)
|
||||||
|
* COPYRIGHT: Copyright 2019-2020 Andreas Maier <staubim@quantentunnel.de>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
UsrSpInitUserModeContext(
|
||||||
|
_In_ LSA_SEC_HANDLE ContextHandle,
|
||||||
|
_In_ PSecBuffer PackedContext);
|
Loading…
Reference in a new issue