schannel: Update SECPKG_FUNCTION_TABLE to SECPKG_INTERFACE_VERSION_8.
Signed-off-by: Sven Baars <sven.wine@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
431a21d95e
commit
01de4d3399
|
@ -116,6 +116,8 @@ static SECPKG_FUNCTION_TABLE secPkgFunctionTable[2] =
|
||||||
NULL, /* UpdateCredentials */
|
NULL, /* UpdateCredentials */
|
||||||
NULL, /* ValidateTargetInfo */
|
NULL, /* ValidateTargetInfo */
|
||||||
NULL, /* PostLogonUser */
|
NULL, /* PostLogonUser */
|
||||||
|
NULL, /* GetRemoteCredGuardLogonBuffer */
|
||||||
|
NULL, /* GetRemoteCredGuardSupplementalCreds */
|
||||||
}, {
|
}, {
|
||||||
NULL, /* InitializePackage */
|
NULL, /* InitializePackage */
|
||||||
NULL, /* LsaLogonUser */
|
NULL, /* LsaLogonUser */
|
||||||
|
@ -153,6 +155,8 @@ static SECPKG_FUNCTION_TABLE secPkgFunctionTable[2] =
|
||||||
NULL, /* UpdateCredentials */
|
NULL, /* UpdateCredentials */
|
||||||
NULL, /* ValidateTargetInfo */
|
NULL, /* ValidateTargetInfo */
|
||||||
NULL, /* PostLogonUser */
|
NULL, /* PostLogonUser */
|
||||||
|
NULL, /* GetRemoteCredGuardLogonBuffer */
|
||||||
|
NULL, /* GetRemoteCredGuardSupplementalCreds */
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -164,7 +168,7 @@ NTSTATUS WINAPI SpLsaModeInitialize(ULONG LsaVersion, PULONG PackageVersion,
|
||||||
{
|
{
|
||||||
TRACE("(%u, %p, %p, %p)\n", LsaVersion, PackageVersion, ppTables, pcTables);
|
TRACE("(%u, %p, %p, %p)\n", LsaVersion, PackageVersion, ppTables, pcTables);
|
||||||
|
|
||||||
*PackageVersion = SECPKG_INTERFACE_VERSION_7;
|
*PackageVersion = SECPKG_INTERFACE_VERSION_8;
|
||||||
*pcTables = 2;
|
*pcTables = 2;
|
||||||
*ppTables = secPkgFunctionTable;
|
*ppTables = secPkgFunctionTable;
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,9 @@
|
||||||
ValidateTargetInfo)
|
ValidateTargetInfo)
|
||||||
#define SECPKG_FUNCTION_TABLE_SIZE_6 FIELD_OFFSET(SECPKG_FUNCTION_TABLE, \
|
#define SECPKG_FUNCTION_TABLE_SIZE_6 FIELD_OFFSET(SECPKG_FUNCTION_TABLE, \
|
||||||
PostLogonUser)
|
PostLogonUser)
|
||||||
#define SECPKG_FUNCTION_TABLE_SIZE_7 sizeof(SECPKG_FUNCTION_TABLE)
|
#define SECPKG_FUNCTION_TABLE_SIZE_7 FIELD_OFFSET(SECPKG_FUNCTION_TABLE, \
|
||||||
|
GetRemoteCredGuardLogonBuffer)
|
||||||
|
#define SECPKG_FUNCTION_TABLE_SIZE_8 sizeof(SECPKG_FUNCTION_TABLE)
|
||||||
|
|
||||||
#define LSA_BASE_CAPS ( \
|
#define LSA_BASE_CAPS ( \
|
||||||
SECPKG_FLAG_INTEGRITY | \
|
SECPKG_FLAG_INTEGRITY | \
|
||||||
|
@ -156,6 +158,8 @@ static PSECPKG_FUNCTION_TABLE getNextSecPkgTable(PSECPKG_FUNCTION_TABLE pTable,
|
||||||
size = SECPKG_FUNCTION_TABLE_SIZE_6;
|
size = SECPKG_FUNCTION_TABLE_SIZE_6;
|
||||||
else if (Version == SECPKG_INTERFACE_VERSION_7)
|
else if (Version == SECPKG_INTERFACE_VERSION_7)
|
||||||
size = SECPKG_FUNCTION_TABLE_SIZE_7;
|
size = SECPKG_FUNCTION_TABLE_SIZE_7;
|
||||||
|
else if (Version == SECPKG_INTERFACE_VERSION_8)
|
||||||
|
size = SECPKG_FUNCTION_TABLE_SIZE_8;
|
||||||
else {
|
else {
|
||||||
ok(FALSE, "Unknown package version 0x%x\n", Version);
|
ok(FALSE, "Unknown package version 0x%x\n", Version);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -38,6 +38,7 @@ extern "C" {
|
||||||
#define SECPKG_INTERFACE_VERSION_5 0x100000
|
#define SECPKG_INTERFACE_VERSION_5 0x100000
|
||||||
#define SECPKG_INTERFACE_VERSION_6 0x200000
|
#define SECPKG_INTERFACE_VERSION_6 0x200000
|
||||||
#define SECPKG_INTERFACE_VERSION_7 0x400000
|
#define SECPKG_INTERFACE_VERSION_7 0x400000
|
||||||
|
#define SECPKG_INTERFACE_VERSION_8 0x800000
|
||||||
|
|
||||||
/* enum definitions for Secure Service Provider/Authentication Packages */
|
/* enum definitions for Secure Service Provider/Authentication Packages */
|
||||||
typedef enum _LSA_TOKEN_INFORMATION_TYPE {
|
typedef enum _LSA_TOKEN_INFORMATION_TYPE {
|
||||||
|
@ -305,6 +306,28 @@ typedef struct _LSA_SECPKG_FUNCTION_TABLE {
|
||||||
} LSA_SECPKG_FUNCTION_TABLE,
|
} LSA_SECPKG_FUNCTION_TABLE,
|
||||||
*PLSA_SECPKG_FUNCTION_TABLE;
|
*PLSA_SECPKG_FUNCTION_TABLE;
|
||||||
|
|
||||||
|
/* Functions for redirected credentials */
|
||||||
|
typedef NTSTATUS (NTAPI *PLSA_REDIRECTED_LOGON_INIT)(HANDLE,
|
||||||
|
const UNICODE_STRING *, ULONG, const LUID *);
|
||||||
|
typedef NTSTATUS (NTAPI *PLSA_REDIRECTED_LOGON_CALLBACK)(HANDLE, PVOID, ULONG,
|
||||||
|
PVOID *, ULONG *);
|
||||||
|
typedef VOID (NTAPI *PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK)(HANDLE);
|
||||||
|
typedef NTSTATUS (NTAPI *PLSA_REDIRECTED_LOGON_GET_LOGON_CREDS)(HANDLE, PBYTE *,
|
||||||
|
PULONG);
|
||||||
|
typedef NTSTATUS (NTAPI *PLSA_REDIRECTED_LOGON_GET_SUPP_CREDS)(HANDLE,
|
||||||
|
PSECPKG_SUPPLEMENTAL_CRED_ARRAY *);
|
||||||
|
|
||||||
|
typedef struct _SECPKG_REDIRECTED_LOGON_BUFFER {
|
||||||
|
GUID RedirectedLogonGuid;
|
||||||
|
HANDLE RedirectedLogonHandle;
|
||||||
|
PLSA_REDIRECTED_LOGON_INIT Init;
|
||||||
|
PLSA_REDIRECTED_LOGON_CALLBACK Callback;
|
||||||
|
PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK CleanupCallback;
|
||||||
|
PLSA_REDIRECTED_LOGON_GET_LOGON_CREDS GetLogonCreds;
|
||||||
|
PLSA_REDIRECTED_LOGON_GET_SUPP_CREDS GetSupplementalCreds;
|
||||||
|
} SECPKG_REDIRECTED_LOGON_BUFFER,
|
||||||
|
*PSECPKG_REDIRECTED_LOGON_BUFFER;
|
||||||
|
|
||||||
/* LSA-mode functions implemented by SSP/AP obtainable by a dispatch table */
|
/* LSA-mode functions implemented by SSP/AP obtainable by a dispatch table */
|
||||||
typedef NTSTATUS (NTAPI *PLSA_AP_INITIALIZE_PACKAGE)(ULONG, PLSA_DISPATCH_TABLE,
|
typedef NTSTATUS (NTAPI *PLSA_AP_INITIALIZE_PACKAGE)(ULONG, PLSA_DISPATCH_TABLE,
|
||||||
PLSA_STRING, PLSA_STRING, PLSA_STRING *);
|
PLSA_STRING, PLSA_STRING, PLSA_STRING *);
|
||||||
|
@ -374,6 +397,12 @@ typedef NTSTATUS (NTAPI SpUpdateCredentialsFn)(LSA_SEC_HANDLE, GUID *, ULONG,
|
||||||
typedef NTSTATUS (NTAPI SpValidateTargetInfoFn)(PLSA_CLIENT_REQUEST, PVOID,
|
typedef NTSTATUS (NTAPI SpValidateTargetInfoFn)(PLSA_CLIENT_REQUEST, PVOID,
|
||||||
PVOID, ULONG, PSECPKG_TARGETINFO);
|
PVOID, ULONG, PSECPKG_TARGETINFO);
|
||||||
typedef NTSTATUS (NTAPI LSA_AP_POST_LOGON_USER)(PSECPKG_POST_LOGON_USER_INFO);
|
typedef NTSTATUS (NTAPI LSA_AP_POST_LOGON_USER)(PSECPKG_POST_LOGON_USER_INFO);
|
||||||
|
typedef NTSTATUS (NTAPI SpGetRemoteCredGuardLogonBufferFn)(LSA_SEC_HANDLE,
|
||||||
|
const UNICODE_STRING *, PHANDLE, PLSA_REDIRECTED_LOGON_CALLBACK *,
|
||||||
|
PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK *, PULONG, PVOID *);
|
||||||
|
typedef NTSTATUS (NTAPI SpGetRemoteCredGuardSupplementalCredsFn)(LSA_SEC_HANDLE,
|
||||||
|
const UNICODE_STRING *, PHANDLE, PLSA_REDIRECTED_LOGON_CALLBACK *,
|
||||||
|
PLSA_REDIRECTED_LOGON_CLEANUP_CALLBACK *, PULONG, PVOID *);
|
||||||
|
|
||||||
/* User-mode functions implemented by SSP/AP obtainable by a dispatch table */
|
/* User-mode functions implemented by SSP/AP obtainable by a dispatch table */
|
||||||
typedef NTSTATUS (NTAPI SpInstanceInitFn)(ULONG, PSECPKG_DLL_FUNCTIONS,
|
typedef NTSTATUS (NTAPI SpInstanceInitFn)(ULONG, PSECPKG_DLL_FUNCTIONS,
|
||||||
|
@ -446,6 +475,9 @@ typedef struct SECPKG_FUNCTION_TABLE {
|
||||||
/* Packages with version SECPKG_INTERFACE_VERSION_6 end here */
|
/* Packages with version SECPKG_INTERFACE_VERSION_6 end here */
|
||||||
LSA_AP_POST_LOGON_USER* PostLogonUser;
|
LSA_AP_POST_LOGON_USER* PostLogonUser;
|
||||||
/* Packages with version SECPKG_INTERFACE_VERSION_7 end here */
|
/* Packages with version SECPKG_INTERFACE_VERSION_7 end here */
|
||||||
|
SpGetRemoteCredGuardLogonBufferFn* GetRemoteCredGuardLogonBuffer;
|
||||||
|
SpGetRemoteCredGuardSupplementalCredsFn* GetRemoteCredGuardSupplementalCreds;
|
||||||
|
/* Packages with version SECPKG_INTERFACE_VERSION_8 end here */
|
||||||
} SECPKG_FUNCTION_TABLE,
|
} SECPKG_FUNCTION_TABLE,
|
||||||
*PSECPKG_FUNCTION_TABLE;
|
*PSECPKG_FUNCTION_TABLE;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue