mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
[PSDK] Extend struct _SECPKG_DLL_FUNCTIONS, fix definitions.
* Add missing enums to MSV1_0_PROTOCOL_MESSAGE_TYPE and SECPKG_EXTENDED_INFORMATION_CLASS * Add missing function entries to LSA_SECPKG_FUNCTION_TABLE and add needed definitions. * Fix params of PLSA_AP_CALL_PACKAGE * Fix SpInitializeFn (+ NTAPI)
This commit is contained in:
parent
00adb1a3f9
commit
11fe17c3a1
3 changed files with 66 additions and 10 deletions
|
@ -226,7 +226,10 @@ typedef enum _MSV1_0_PROTOCOL_MESSAGE_TYPE {
|
|||
MsV1_0CacheLogon,
|
||||
MsV1_0SubAuth,
|
||||
MsV1_0DeriveCredential,
|
||||
MsV1_0CacheLookup
|
||||
MsV1_0CacheLookup,
|
||||
#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
|
||||
MsV1_0SetProcessOption,
|
||||
#endif
|
||||
} MSV1_0_PROTOCOL_MESSAGE_TYPE, *PMSV1_0_PROTOCOL_MESSAGE_TYPE;
|
||||
typedef enum _POLICY_LSA_SERVER_ROLE {
|
||||
PolicyServerRoleBackup = 2,
|
||||
|
|
|
@ -51,6 +51,8 @@ typedef enum _SECPKG_EXTENDED_INFORMATION_CLASS
|
|||
SecpkgGssInfo = 1,
|
||||
SecpkgContextThunks,
|
||||
SecpkgMutualAuthLevel,
|
||||
SecpkgWowClientDll,
|
||||
SecpkgExtraOids,
|
||||
SecpkgMaxInfo
|
||||
} SECPKG_EXTENDED_INFORMATION_CLASS;
|
||||
|
||||
|
@ -131,9 +133,9 @@ typedef struct _SECPKG_CLIENT_INFO {
|
|||
*PSECPKG_CLIENT_INFO;
|
||||
|
||||
typedef struct _SECURITY_USER_DATA {
|
||||
UNICODE_STRING UserName;
|
||||
UNICODE_STRING LogonDomainName;
|
||||
UNICODE_STRING LogonServer;
|
||||
SECURITY_STRING UserName;
|
||||
SECURITY_STRING LogonDomainName;
|
||||
SECURITY_STRING LogonServer;
|
||||
PSID pSid;
|
||||
} SECURITY_USER_DATA, *PSECURITY_USER_DATA,
|
||||
SecurityUserData, *PSecurityUserData;
|
||||
|
@ -152,6 +154,22 @@ typedef struct _SECPKG_MUTUAL_AUTH_LEVEL {
|
|||
ULONG MutualAuthLevel;
|
||||
} SECPKG_MUTUAL_AUTH_LEVEL, *PSECPKG_MUTUAL_AUTH_LEVEL;
|
||||
|
||||
typedef struct _SECPKG_WOW_CLIENT_DLL {
|
||||
SECURITY_STRING WowClientDllPath;
|
||||
} SECPKG_WOW_CLIENT_DLL, *PSECPKG_WOW_CLIENT_DLL;
|
||||
|
||||
#define SECPKG_MAX_OID_LENGTH 32
|
||||
typedef struct _SECPKG_SERIALIZED_OID {
|
||||
ULONG OidLength;
|
||||
ULONG OidAttributes;
|
||||
UCHAR OidValue[SECPKG_MAX_OID_LENGTH];
|
||||
} SECPKG_SERIALIZED_OID, *PSECPKG_SERIALIZED_OID;
|
||||
|
||||
typedef struct _SECPKG_EXTRA_OIDS {
|
||||
ULONG OidCount;
|
||||
SECPKG_SERIALIZED_OID Oids[1];
|
||||
} SECPKG_EXTRA_OIDS, *PSECPKG_EXTRA_OIDS;
|
||||
|
||||
typedef struct _SECPKG_CALL_INFO {
|
||||
ULONG ProcessId;
|
||||
ULONG ThreadId;
|
||||
|
@ -165,6 +183,8 @@ typedef struct _SECPKG_EXTENDED_INFORMATION {
|
|||
SECPKG_GSS_INFO GssInfo;
|
||||
SECPKG_CONTEXT_THUNKS ContextThunks;
|
||||
SECPKG_MUTUAL_AUTH_LEVEL MutualAuthLevel;
|
||||
SECPKG_WOW_CLIENT_DLL WowClientDll;
|
||||
SECPKG_EXTRA_OIDS ExtraOids;
|
||||
} Info;
|
||||
} SECPKG_EXTENDED_INFORMATION, *PSECPKG_EXTENDED_INFORMATION;
|
||||
|
||||
|
@ -235,8 +255,8 @@ typedef PVOID (NTAPI *PLSA_CREATE_SHARED_MEMORY)(ULONG, ULONG);
|
|||
typedef PVOID (NTAPI *PLSA_ALLOCATE_SHARED_MEMORY)(PVOID, ULONG);
|
||||
typedef VOID (NTAPI *PLSA_FREE_SHARED_MEMORY)(PVOID, PVOID);
|
||||
typedef BOOLEAN (NTAPI *PLSA_DELETE_SHARED_MEMORY)(PVOID);
|
||||
typedef NTSTATUS (NTAPI *PLSA_OPEN_SAM_USER)(PUNICODE_STRING, SECPKG_NAME_TYPE,
|
||||
PUNICODE_STRING, BOOLEAN, ULONG, PVOID*);
|
||||
typedef NTSTATUS (NTAPI *PLSA_OPEN_SAM_USER)(PSECURITY_STRING, SECPKG_NAME_TYPE,
|
||||
PSECURITY_STRING, BOOLEAN, ULONG, PVOID*);
|
||||
typedef NTSTATUS (NTAPI *PLSA_GET_USER_CREDENTIALS)(PVOID, PVOID *, PULONG,
|
||||
PVOID *, PULONG);
|
||||
typedef NTSTATUS (NTAPI *PLSA_GET_USER_AUTH_DATA)(PVOID, PUCHAR *, PULONG);
|
||||
|
@ -247,8 +267,8 @@ typedef NTSTATUS (NTAPI *PLSA_CONVERT_AUTH_DATA_TO_TOKEN)(PVOID, ULONG,
|
|||
typedef NTSTATUS (NTAPI *PLSA_CLIENT_CALLBACK)(PCHAR, ULONG_PTR, ULONG_PTR,
|
||||
PSecBuffer, PSecBuffer);
|
||||
typedef NTSTATUS (NTAPI *PLSA_UPDATE_PRIMARY_CREDENTIALS)(PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED_ARRAY);
|
||||
typedef NTSTATUS (NTAPI *PLSA_GET_AUTH_DATA_FOR_USER)(PUNICODE_STRING,
|
||||
SECPKG_NAME_TYPE, PUNICODE_STRING, PUCHAR *, PULONG, PUNICODE_STRING);
|
||||
typedef NTSTATUS (NTAPI *PLSA_GET_AUTH_DATA_FOR_USER)(PSECURITY_STRING,
|
||||
SECPKG_NAME_TYPE, PSECURITY_STRING, PUCHAR *, PULONG, PUNICODE_STRING);
|
||||
typedef NTSTATUS (NTAPI *PLSA_CRACK_SINGLE_NAME)(ULONG, BOOLEAN,
|
||||
PUNICODE_STRING, PUNICODE_STRING, ULONG, PUNICODE_STRING, PUNICODE_STRING,
|
||||
PULONG);
|
||||
|
@ -256,6 +276,11 @@ typedef NTSTATUS (NTAPI *PLSA_AUDIT_ACCOUNT_LOGON)(ULONG, BOOLEAN,
|
|||
PUNICODE_STRING, PUNICODE_STRING, PUNICODE_STRING, NTSTATUS);
|
||||
typedef NTSTATUS (NTAPI *PLSA_CALL_PACKAGE_PASSTHROUGH)(PUNICODE_STRING, PVOID,
|
||||
PVOID, ULONG, PVOID*, PULONG, PNTSTATUS);
|
||||
typedef VOID (NTAPI *PLSA_PROTECT_MEMORY)(PVOID, ULONG);
|
||||
typedef NTSTATUS (NTAPI *PLSA_OPEN_TOKEN_BY_LOGON_ID)(PLUID, HANDLE *);
|
||||
typedef NTSTATUS (NTAPI *PLSA_EXPAND_AUTH_DATA_FOR_DOMAIN)(PUCHAR, ULONG, PVOID, PUCHAR *, PULONG);
|
||||
typedef PVOID (NTAPI *PLSA_ALLOCATE_PRIVATE_HEAP)(SIZE_T);
|
||||
typedef VOID (NTAPI *PLSA_FREE_PRIVATE_HEAP)(PVOID);
|
||||
|
||||
/* Dispatch tables of functions used by SSP/AP */
|
||||
typedef struct _SECPKG_DLL_FUNCTIONS {
|
||||
|
@ -322,6 +347,21 @@ typedef struct _LSA_SECPKG_FUNCTION_TABLE {
|
|||
PLSA_CRACK_SINGLE_NAME CrackSingleName;
|
||||
PLSA_AUDIT_ACCOUNT_LOGON AuditAccountLogon;
|
||||
PLSA_CALL_PACKAGE_PASSTHROUGH CallPackagePassthrough;
|
||||
#ifdef _WINCRED_H_
|
||||
CredReadFn *CrediRead;
|
||||
CredReadDomainCredentialsFn *CrediReadDomainCredentials;
|
||||
CredFreeCredentialsFn *CrediFreeCredentials;
|
||||
#else
|
||||
PLSA_PROTECT_MEMORY DummyFunction1;
|
||||
PLSA_PROTECT_MEMORY DummyFunction2;
|
||||
PLSA_PROTECT_MEMORY DummyFunction3;
|
||||
#endif
|
||||
PLSA_PROTECT_MEMORY LsaProtectMemory;
|
||||
PLSA_PROTECT_MEMORY LsaUnprotectMemory;
|
||||
PLSA_OPEN_TOKEN_BY_LOGON_ID OpenTokenByLogonId;
|
||||
PLSA_EXPAND_AUTH_DATA_FOR_DOMAIN ExpandAuthDataForDomain;
|
||||
PLSA_ALLOCATE_PRIVATE_HEAP AllocatePrivateHeap;
|
||||
PLSA_FREE_PRIVATE_HEAP FreePrivateHeap;
|
||||
} LSA_SECPKG_FUNCTION_TABLE,
|
||||
*PLSA_SECPKG_FUNCTION_TABLE;
|
||||
|
||||
|
@ -330,7 +370,7 @@ typedef NTSTATUS (NTAPI *PLSA_AP_INITIALIZE_PACKAGE)(ULONG, PLSA_DISPATCH_TABLE,
|
|||
PLSA_STRING, PLSA_STRING, PLSA_STRING *);
|
||||
typedef NTSTATUS (NTAPI *PLSA_AP_LOGON_USER)(LPWSTR, LPWSTR, LPWSTR, LPWSTR,
|
||||
DWORD, DWORD, PHANDLE);
|
||||
typedef NTSTATUS (NTAPI *PLSA_AP_CALL_PACKAGE)(PUNICODE_STRING, PVOID, ULONG,
|
||||
typedef NTSTATUS (NTAPI *PLSA_AP_CALL_PACKAGE)(PLSA_CLIENT_REQUEST, PVOID, PVOID, ULONG,
|
||||
PVOID *, PULONG, PNTSTATUS);
|
||||
typedef VOID (NTAPI *PLSA_AP_LOGON_TERMINATED)(PLUID);
|
||||
typedef NTSTATUS (NTAPI *PLSA_AP_CALL_PACKAGE_UNTRUSTED)(PLSA_CLIENT_REQUEST,
|
||||
|
@ -345,7 +385,7 @@ typedef NTSTATUS (NTAPI *PLSA_AP_LOGON_USER_EX2)(PLSA_CLIENT_REQUEST,
|
|||
SECURITY_LOGON_TYPE, PVOID, PVOID, ULONG, PVOID *, PULONG, PLUID, PNTSTATUS,
|
||||
PLSA_TOKEN_INFORMATION_TYPE, PVOID *, PUNICODE_STRING *, PUNICODE_STRING *,
|
||||
PUNICODE_STRING *, PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED_ARRAY *);
|
||||
typedef NTSTATUS (SpInitializeFn)(ULONG_PTR, PSECPKG_PARAMETERS,
|
||||
typedef NTSTATUS (NTAPI SpInitializeFn)(ULONG_PTR, PSECPKG_PARAMETERS,
|
||||
PLSA_SECPKG_FUNCTION_TABLE);
|
||||
typedef NTSTATUS (NTAPI SpShutDownFn)(void);
|
||||
typedef NTSTATUS (NTAPI SpGetInfoFn)(PSecPkgInfoW);
|
||||
|
|
|
@ -77,6 +77,19 @@ typedef struct _SECURITY_INTEGER
|
|||
} SECURITY_INTEGER, *PSECURITY_INTEGER;
|
||||
typedef SECURITY_INTEGER TimeStamp, *PTimeStamp;
|
||||
|
||||
// UNICODE_STRING should have the same memory layout in 32 bit and 64 bit mode.
|
||||
// In 32 bit mode SECURITY_STRING is simply a clone of UNICODE_STRING.
|
||||
// It is used internal in kernel an security components.
|
||||
#ifndef _NTDEF_
|
||||
typedef struct _SECURITY_STRING {
|
||||
unsigned short Length;
|
||||
unsigned short MaximumLength;
|
||||
unsigned short *Buffer;
|
||||
} SECURITY_STRING, *PSECURITY_STRING;
|
||||
#else
|
||||
typedef UNICODE_STRING SECURITY_STRING, *PSECURITY_STRING;
|
||||
#endif
|
||||
|
||||
#define SSPIPFC_CREDPROV_DO_NOT_SAVE 0x00000001
|
||||
#define SSPIPFC_NO_CHECKBOX 0x00000002
|
||||
|
||||
|
|
Loading…
Reference in a new issue