Cygwin: drop cyglsa.h. LSA subauth is not supported anymore
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
cb4b49470f
commit
4ce1a1ddc4
|
@ -1,211 +0,0 @@
|
|||
/* cyglsa.h: Header file for Cygwin LSA authentication
|
||||
|
||||
Written by Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
This file is part of Cygwin.
|
||||
|
||||
This software is a copyrighted work licensed under the terms of the
|
||||
Cygwin license. Please consult the file "CYGWIN_LICENSE" for details. */
|
||||
|
||||
#ifndef _CYGLSA_H
|
||||
#define _CYGLSA_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define CYG_LSA_PKGNAME "CygwinLsa"
|
||||
|
||||
#define CYG_LSA_MAGIC_OLD1 0x0379f014LU
|
||||
/* First change to cyglsa_t.
|
||||
- Username and domain are now of type WCHAR instead of char.
|
||||
- domain is MAX_DOMAIN_NAME_LEN instead of INTERNET_MAX_HOST_NAME_LENGTH. */
|
||||
#define CYG_LSA_MAGIC 0x0379f115LU
|
||||
|
||||
/* Datastructures not defined in w32api. */
|
||||
typedef PVOID *PLSA_CLIENT_REQUEST;
|
||||
|
||||
typedef UNICODE_STRING SECURITY_STRING, *PSECURITY_STRING;
|
||||
|
||||
typedef struct _SECPKG_CLIENT_INFO
|
||||
{
|
||||
LUID LogonId;
|
||||
ULONG ProcessID;
|
||||
ULONG ThreadID;
|
||||
BOOLEAN HasTcbPrivilege;
|
||||
BOOLEAN Impersonating;
|
||||
BOOLEAN Restricted;
|
||||
} SECPKG_CLIENT_INFO, *PSECPKG_CLIENT_INFO;
|
||||
|
||||
typedef enum _SECPKG_NAME_TYPE
|
||||
{
|
||||
SecNameSamCompatible,
|
||||
SecNameAlternateId,
|
||||
SecNameFlat,
|
||||
SecNameDN,
|
||||
SecNameSPN
|
||||
} SECPKG_NAME_TYPE, *PSECPKG_NAME_TYPE;
|
||||
|
||||
typedef struct _SECPKG_CALL_INFO
|
||||
{
|
||||
ULONG ProcessId;
|
||||
ULONG ThreadId;
|
||||
ULONG Attributes;
|
||||
ULONG CallCount;
|
||||
} SECPKG_CALL_INFO, *PSECPKG_CALL_INFO;
|
||||
|
||||
/* The table returned by LsaApInitializePackage is actually a
|
||||
LSA_SECPKG_FUNCTION_TABLE even though that's not documented.
|
||||
We need only a subset of this table, basically the LSA_DISPATCH_TABLE
|
||||
plus the pointer to the GetClientInfo function. */
|
||||
typedef struct _LSA_SECPKG_FUNCS
|
||||
{
|
||||
NTSTATUS (NTAPI *CreateLogonSession)(PLUID);
|
||||
NTSTATUS (NTAPI *DeleteLogonSession)(PLUID);
|
||||
NTSTATUS (NTAPI *AddCredentials)(PLUID, ULONG, PLSA_STRING, PLSA_STRING);
|
||||
NTSTATUS (NTAPI *GetCredentials)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *DeleteCredentials)(PVOID); /* wrong prototype, unused */
|
||||
PVOID (NTAPI *AllocateLsaHeap)(ULONG);
|
||||
VOID (NTAPI *FreeLsaHeap)(PVOID);
|
||||
NTSTATUS (NTAPI *AllocateClientBuffer)(PLSA_CLIENT_REQUEST, ULONG, PVOID *);
|
||||
NTSTATUS (NTAPI *FreeClientBuffer)(PLSA_CLIENT_REQUEST, PVOID);
|
||||
NTSTATUS (NTAPI *CopyToClientBuffer)(PLSA_CLIENT_REQUEST, ULONG,
|
||||
PVOID, PVOID);
|
||||
NTSTATUS (NTAPI *CopyFromClientBuffer)(PLSA_CLIENT_REQUEST, ULONG,
|
||||
PVOID, PVOID);
|
||||
NTSTATUS (NTAPI *ImpersonateClient)(VOID);
|
||||
NTSTATUS (NTAPI *UnloadPackage)(VOID);
|
||||
NTSTATUS (NTAPI *DuplicateHandle)(HANDLE, PHANDLE);
|
||||
NTSTATUS (NTAPI *SaveSupplementalCredentials)(VOID);
|
||||
NTSTATUS (NTAPI *CreateThread)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *GetClientInfo)(PSECPKG_CLIENT_INFO);
|
||||
NTSTATUS (NTAPI *RegisterNotification)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *CancelNotification)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *MapBuffer)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *CreateToken)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *AuditLogon)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *CallPackage)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *FreeReturnBuffer)(PVOID); /* wrong prototype, unused */
|
||||
BOOLEAN (NTAPI *GetCallInfo)(PSECPKG_CALL_INFO);
|
||||
NTSTATUS (NTAPI *CallPackageEx)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *CreateSharedMemory)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *AllocateSharedMemory)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *FreeSharedMemory)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *DeleteSharedMemory)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *OpenSamUser)(PSECURITY_STRING, SECPKG_NAME_TYPE,
|
||||
PSECURITY_STRING, BOOLEAN, ULONG, PVOID *);
|
||||
NTSTATUS (NTAPI *GetUserCredentials)(PVOID, PVOID, PULONG, PVOID *, PULONG);
|
||||
NTSTATUS (NTAPI *GetUserAuthData)(PVOID, PUCHAR *, PULONG);
|
||||
NTSTATUS (NTAPI *CloseSamUser)(PVOID);
|
||||
NTSTATUS (NTAPI *ConvertAuthDataToToken)(PVOID, ULONG,
|
||||
SECURITY_IMPERSONATION_LEVEL,
|
||||
PTOKEN_SOURCE, SECURITY_LOGON_TYPE,
|
||||
PUNICODE_STRING, PHANDLE, PLUID,
|
||||
PUNICODE_STRING, PNTSTATUS);
|
||||
NTSTATUS (NTAPI *ClientCallback)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *UpdateCredentials)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *GetAuthDataForUser)(PSECURITY_STRING, SECPKG_NAME_TYPE,
|
||||
PSECURITY_STRING, PUCHAR *, PULONG,
|
||||
PUNICODE_STRING);
|
||||
NTSTATUS (NTAPI *CrackSingleName)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *AuditAccountLogon)(PVOID); /* wrong prototype, unused */
|
||||
NTSTATUS (NTAPI *CallPackagePassthrough)(PVOID); /* wrong prototype, unused */
|
||||
} LSA_SECPKG_FUNCS, *PLSA_SECPKG_FUNCS;
|
||||
|
||||
typedef enum _LSA_TOKEN_INFORMATION_TYPE
|
||||
{
|
||||
LsaTokenInformationNull,
|
||||
LsaTokenInformationV1,
|
||||
LsaTokenInformationV2
|
||||
} LSA_TOKEN_INFORMATION_TYPE, *PLSA_TOKEN_INFORMATION_TYPE;
|
||||
|
||||
typedef struct _LSA_TOKEN_INFORMATION_V2
|
||||
{
|
||||
LARGE_INTEGER ExpirationTime;
|
||||
TOKEN_USER User;
|
||||
PTOKEN_GROUPS Groups;
|
||||
TOKEN_PRIMARY_GROUP PrimaryGroup;
|
||||
PTOKEN_PRIVILEGES Privileges;
|
||||
TOKEN_OWNER Owner;
|
||||
TOKEN_DEFAULT_DACL DefaultDacl;
|
||||
} LSA_TOKEN_INFORMATION_V2, *PLSA_TOKEN_INFORMATION_V2;
|
||||
|
||||
/* These structures are eqivalent to the appropriate Windows structures,
|
||||
using 32 bit offsets instead of pointers. These datastructures are
|
||||
used to transfer the logon information to the LSA authentication package.
|
||||
We can't use the LSA_TOKEN_INFORMATION_V2 structure directly, because
|
||||
its size differs between 32 bit and 64 bit Windows. */
|
||||
|
||||
typedef DWORD OFFSET;
|
||||
|
||||
typedef struct _CYG_SID_AND_ATTRIBUTES
|
||||
{
|
||||
OFFSET Sid;
|
||||
DWORD Attributes;
|
||||
} CYG_SID_AND_ATTRIBUTES, *PCYG_SID_AND_ATTRIBUTES;
|
||||
|
||||
typedef struct _CYG_TOKEN_USER
|
||||
{
|
||||
CYG_SID_AND_ATTRIBUTES User;
|
||||
} CYG_TOKEN_USER, *PCYG_TOKEN_USER;
|
||||
|
||||
typedef struct _CYG_TOKEN_GROUPS
|
||||
{
|
||||
DWORD GroupCount;
|
||||
CYG_SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];
|
||||
} CYG_TOKEN_GROUPS, *PCYG_TOKEN_GROUPS;
|
||||
|
||||
typedef struct _CYG_TOKEN_PRIMARY_GROUP
|
||||
{
|
||||
OFFSET PrimaryGroup;
|
||||
} CYG_TOKEN_PRIMARY_GROUP, *PCYG_TOKEN_PRIMARY_GROUP;
|
||||
|
||||
typedef struct _CYG_TOKEN_OWNER
|
||||
{
|
||||
OFFSET Owner;
|
||||
} CYG_TOKEN_OWNER, *PCYG_TOKEN_OWNER;
|
||||
|
||||
typedef struct _CYG_TOKEN_DEFAULT_DACL
|
||||
{
|
||||
OFFSET DefaultDacl;
|
||||
} CYG_TOKEN_DEFAULT_DACL, *PCYG_TOKEN_DEFAULT_DACL;
|
||||
|
||||
typedef struct _CYG_LSA_TOKEN_INFORMATION
|
||||
{
|
||||
LARGE_INTEGER ExpirationTime;
|
||||
CYG_TOKEN_USER User;
|
||||
OFFSET Groups;
|
||||
CYG_TOKEN_PRIMARY_GROUP PrimaryGroup;
|
||||
OFFSET Privileges;
|
||||
CYG_TOKEN_OWNER Owner;
|
||||
CYG_TOKEN_DEFAULT_DACL DefaultDacl;
|
||||
} CYG_LSA_TOKEN_INFORMATION, *PCYG_LSA_TOKEN_INFORMATION;
|
||||
|
||||
/* This is the structure created by security.cc:lsaauth(), which is given to
|
||||
LsaApLogonUser to create the token information returned to the LSA. */
|
||||
typedef struct
|
||||
{
|
||||
DWORD magic;
|
||||
DWORD checksum;
|
||||
WCHAR username[UNLEN + 1];
|
||||
WCHAR domain[MAX_DOMAIN_NAME_LEN + 1];
|
||||
ULONG inf_size;
|
||||
CYG_LSA_TOKEN_INFORMATION inf;
|
||||
BYTE data[1];
|
||||
} cyglsa_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD magic_pre;
|
||||
HANDLE token;
|
||||
DWORD magic_post;
|
||||
} cygprf_t;
|
||||
|
||||
#define MAGIC_PRE 0x12345678UL
|
||||
#define MAGIC_POST 0x87654321UL
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _CYGLSA_H */
|
|
@ -25,7 +25,6 @@ details. */
|
|||
#include <userenv.h>
|
||||
#define SECURITY_WIN32
|
||||
#include <secext.h>
|
||||
#include "cyglsa.h"
|
||||
#include "cygserver_setpwd.h"
|
||||
#include <cygwin/version.h>
|
||||
|
||||
|
|
Loading…
Reference in New Issue