[newlib-cygwin] Cygwin: drop cyglsa.h. LSA subauth is not supported anymore

Corinna Vinschen corinna@sourceware.org
Thu Jul 14 18:09:12 GMT 2022


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=4ce1a1ddc489f13e45abaf563e601e4df1e1c21c

commit 4ce1a1ddc489f13e45abaf563e601e4df1e1c21c
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Thu Jul 14 12:48:39 2022 +0200

    Cygwin: drop cyglsa.h.  LSA subauth is not supported anymore
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/cygwin/cyglsa.h    | 211 ----------------------------------------------
 winsup/cygwin/sec_auth.cc |   1 -
 2 files changed, 212 deletions(-)

diff --git a/winsup/cygwin/cyglsa.h b/winsup/cygwin/cyglsa.h
deleted file mode 100644
index f9da70735..000000000
--- a/winsup/cygwin/cyglsa.h
+++ /dev/null
@@ -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 */
diff --git a/winsup/cygwin/sec_auth.cc b/winsup/cygwin/sec_auth.cc
index a15778db0..8489a47a0 100644
--- a/winsup/cygwin/sec_auth.cc
+++ b/winsup/cygwin/sec_auth.cc
@@ -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>


More information about the Cygwin-cvs mailing list