Module: wine Branch: master Commit: 57271ca1869067f1556ca0c2bc3e45884bb013a0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=57271ca1869067f1556ca0c2bc...
Author: Francois Gouget fgouget@free.fr Date: Sun Apr 24 12:32:34 2016 +0200
schannel: Add declarations for SECPKG version 7.
Signed-off-by: Francois Gouget fgouget@free.fr Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/schannel/lsamode.c | 4 +++- dlls/schannel/tests/main.c | 6 +++++- include/ntsecpkg.h | 12 +++++++++++- 3 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/dlls/schannel/lsamode.c b/dlls/schannel/lsamode.c index f43150e..96ca240 100644 --- a/dlls/schannel/lsamode.c +++ b/dlls/schannel/lsamode.c @@ -115,6 +115,7 @@ static SECPKG_FUNCTION_TABLE secPkgFunctionTable[2] = NULL, /* GetCredUIContext */ NULL, /* UpdateCredentials */ NULL, /* ValidateTargetInfo */ + NULL, /* PostLogonUser */ }, { NULL, /* InitializePackage */ NULL, /* LsaLogonUser */ @@ -151,6 +152,7 @@ static SECPKG_FUNCTION_TABLE secPkgFunctionTable[2] = NULL, /* GetCredUIContext */ NULL, /* UpdateCredentials */ NULL, /* ValidateTargetInfo */ + NULL, /* PostLogonUser */ } };
@@ -162,7 +164,7 @@ NTSTATUS WINAPI SpLsaModeInitialize(ULONG LsaVersion, PULONG PackageVersion, { TRACE("(%u, %p, %p, %p)\n", LsaVersion, PackageVersion, ppTables, pcTables);
- *PackageVersion = SECPKG_INTERFACE_VERSION_6; + *PackageVersion = SECPKG_INTERFACE_VERSION_7; *pcTables = 2; *ppTables = secPkgFunctionTable;
diff --git a/dlls/schannel/tests/main.c b/dlls/schannel/tests/main.c index d8ade9a..4240dd7 100644 --- a/dlls/schannel/tests/main.c +++ b/dlls/schannel/tests/main.c @@ -43,7 +43,9 @@ QueryMetaData) #define SECPKG_FUNCTION_TABLE_SIZE_5 FIELD_OFFSET(SECPKG_FUNCTION_TABLE, \ ValidateTargetInfo) -#define SECPKG_FUNCTION_TABLE_SIZE_6 sizeof(SECPKG_FUNCTION_TABLE) +#define SECPKG_FUNCTION_TABLE_SIZE_6 FIELD_OFFSET(SECPKG_FUNCTION_TABLE, \ + PostLogonUser) +#define SECPKG_FUNCTION_TABLE_SIZE_7 sizeof(SECPKG_FUNCTION_TABLE)
#define LSA_BASE_CAPS ( \ SECPKG_FLAG_INTEGRITY | \ @@ -152,6 +154,8 @@ static PSECPKG_FUNCTION_TABLE getNextSecPkgTable(PSECPKG_FUNCTION_TABLE pTable, size = SECPKG_FUNCTION_TABLE_SIZE_5; else if (Version == SECPKG_INTERFACE_VERSION_6) size = SECPKG_FUNCTION_TABLE_SIZE_6; + else if (Version == SECPKG_INTERFACE_VERSION_7) + size = SECPKG_FUNCTION_TABLE_SIZE_7; else { ok(FALSE, "Unknown package version 0x%x\n", Version); return NULL; diff --git a/include/ntsecpkg.h b/include/ntsecpkg.h index b83d364..0df345d 100644 --- a/include/ntsecpkg.h +++ b/include/ntsecpkg.h @@ -37,6 +37,7 @@ extern "C" { #define SECPKG_INTERFACE_VERSION_4 0x80000 #define SECPKG_INTERFACE_VERSION_5 0x100000 #define SECPKG_INTERFACE_VERSION_6 0x200000 +#define SECPKG_INTERFACE_VERSION_7 0x400000
/* enum definitions for Secure Service Provider/Authentication Packages */ typedef enum _LSA_TOKEN_INFORMATION_TYPE { @@ -147,11 +148,17 @@ typedef struct _SECPKG_EXTENDED_INFORMATION { } Info; } SECPKG_EXTENDED_INFORMATION, *PSECPKG_EXTENDED_INFORMATION;
-typedef struct _SECPKG_TARGETINFO { +typedef struct _SECPKG_TARGETINFO { PSID DomainSid; PCWSTR ComputerName; } SECPKG_TARGETINFO, *PSECPKG_TARGETINFO;
+typedef struct _SECPKG_POST_LOGON_USER_INFO { + ULONG Flags; + LUID LogonId; + LUID LinkedLogonId; +} SECPKG_POST_LOGON_USER_INFO, *PSECPKG_POST_LOGON_USER_INFO; + /* callbacks implemented by SSP/AP dlls and called by the LSA */ typedef VOID (NTAPI *PLSA_CALLBACK_FUNCTION)(ULONG_PTR, ULONG_PTR, PSecBuffer, PSecBuffer); @@ -365,6 +372,7 @@ typedef NTSTATUS (NTAPI SpUpdateCredentialsFn)(LSA_SEC_HANDLE, GUID *, ULONG, PUCHAR); typedef NTSTATUS (NTAPI SpValidateTargetInfoFn)(PLSA_CLIENT_REQUEST, PVOID, PVOID, ULONG, PSECPKG_TARGETINFO); +typedef NTSTATUS (NTAPI LSA_AP_POST_LOGON_USER)(PSECPKG_POST_LOGON_USER_INFO);
/* User-mode functions implemented by SSP/AP obtainable by a dispatch table */ typedef NTSTATUS (NTAPI SpInstanceInitFn)(ULONG, PSECPKG_DLL_FUNCTIONS, @@ -435,6 +443,8 @@ typedef struct SECPKG_FUNCTION_TABLE { /* Packages with version SECPKG_INTERFACE_VERSION_5 end here */ SpValidateTargetInfoFn *ValidateTargetInfo; /* Packages with version SECPKG_INTERFACE_VERSION_6 end here */ + LSA_AP_POST_LOGON_USER* PostLogonUser; + /* Packages with version SECPKG_INTERFACE_VERSION_7 end here */ } SECPKG_FUNCTION_TABLE, *PSECPKG_FUNCTION_TABLE;