krb5 commit: Remove windows/gina

Greg Hudson ghudson at mit.edu
Thu Aug 27 13:17:20 EDT 2015


https://github.com/krb5/krb5/commit/f9e79bfdfaa6eb7c2059fb496b296b4316ca6352
commit f9e79bfdfaa6eb7c2059fb496b296b4316ca6352
Author: Thomas Sondergaard <thomas.sondergaard at karoshealth.com>
Date:   Wed Aug 12 21:29:27 2015 +0200

    Remove windows/gina
    
    It has only received cosmetic and build fix changes since it was
    introduced in 1997 and doesn't do anything useful.  The motivation for
    removal at this point is to avoid spending time on build fixes for
    newer tool chains like VS2015, and because GINA modules are only
    supported by Windows versions prior to Windows Vista.
    
    https://support.microsoft.com/en-us/kb/925520
    
    ticket: 8231

 src/Makefile.in              |    5 +-
 src/windows/Makefile.in      |    2 +-
 src/windows/gina/Makefile.in |   36 ----
 src/windows/gina/gina.def    |   21 ---
 src/windows/gina/ginastub.c  |  364 ------------------------------------------
 src/windows/gina/ginastub.h  |   39 -----
 6 files changed, 2 insertions(+), 465 deletions(-)

diff --git a/src/Makefile.in b/src/Makefile.in
index 3f57573..3233345 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -189,8 +189,7 @@ WINMAKEFILES=Makefile \
 	util\windows\Makefile \
 	util\wshelper\Makefile \
 	windows\Makefile windows\lib\Makefile \
-	windows\cns\Makefile windows\gina\Makefile \
-	windows\ms2mit\Makefile \
+	windows\cns\Makefile windows\ms2mit\Makefile \
 	windows\wintel\Makefile windows\kfwlogon\Makefile \
 	windows\leashdll\Makefile windows\leash\Makefile \
 	windows\leash\htmlhelp\Makefile
@@ -311,8 +310,6 @@ WINMAKEFILES=Makefile \
 ##DOS##	$(WCONFIG) config < $@.in > $@
 ##DOS##windows\cns\Makefile: windows\cns\Makefile.in $(MKFDEP)
 ##DOS##	$(WCONFIG) config < $@.in > $@
-##DOS##windows\gina\Makefile: windows\gina\Makefile.in $(MKFDEP)
-##DOS##	$(WCONFIG) config < $@.in > $@
 ##DOS##windows\ms2mit\Makefile: windows\ms2mit\Makefile.in $(MKFDEP)
 ##DOS##	$(WCONFIG) config < $@.in > $@
 ##DOS##windows\wintel\Makefile: windows\wintel\Makefile.in $(MKFDEP)
diff --git a/src/windows/Makefile.in b/src/windows/Makefile.in
index da1427f..fb9c2d7 100644
--- a/src/windows/Makefile.in
+++ b/src/windows/Makefile.in
@@ -1,3 +1,3 @@
 BUILDTOP=..
 NO_OUTPRE=1
-SUBDIRS= lib leashdll leash cns gina ms2mit kfwlogon
+SUBDIRS= lib leashdll leash cns ms2mit kfwlogon
diff --git a/src/windows/gina/Makefile.in b/src/windows/gina/Makefile.in
deleted file mode 100644
index c2f7ada..0000000
--- a/src/windows/gina/Makefile.in
+++ /dev/null
@@ -1,36 +0,0 @@
-BUILDTOP=..\..
-
-OBJS=	$(OUTPRE)ginastub.$(OBJEXT)
-
-# Set NODEBUG if building release instead of debug
-
-LOCALINCLUDES = -I$(BUILDTOP)\include
-
-WINLIBS = advapi32.lib comctl32.lib \
-	libcmt.lib kernel32.lib ws2_32.lib user32.lib shell32.lib oldnames.lib
-
-WINDLLFLAGS = /nodefaultlib /incremental:no /release \
-	/nologo /base:0x1c000000 /dll $(LOPTS)
-
-DEFINES = -DUNICODE -D_UNICODE
-!ifdef NODEBUG
-DEFINES = $(DEFINES)
-!else
-DEFINES = $(DEFINES) -DDBG
-!endif
-
-all-windows::
-all-windows:: $(OUTPRE)kgina.dll
-
-clean-windows::
-	$(RM) $(OUTPRE)kgina.dll
-
-$(OUTPRE)kgina.dll: $(OBJS) $(KLIB) $(CLIB)
-	link $(WINDLLFLAGS) -def:gina.def -out:$*.dll \
-	   $** $(WINLIBS) $(SCLIB)
-	$(_VC_MANIFEST_EMBED_DLL)
-
-$(OUTPRE)ginastub.obj: ginastub.h
-
-#$(OUTPRE)gina.res: res.rc
-#	$(RC) $(RFLAGS) -r -fo $@ res.rc
diff --git a/src/windows/gina/gina.def b/src/windows/gina/gina.def
deleted file mode 100644
index 99e066b..0000000
--- a/src/windows/gina/gina.def
+++ /dev/null
@@ -1,21 +0,0 @@
-LIBRARY         KGINA
-
-DESCRIPTION     'Alternate Windows NT Logon GUI'
-
-EXPORTS
-; Version 1.0
-        WlxNegotiate
-        WlxInitialize
-        WlxDisplaySASNotice
-        WlxLoggedOutSAS
-        WlxActivateUserShell
-        WlxLoggedOnSAS
-        WlxDisplayLockedNotice
-        WlxWkstaLockedSAS
-        WlxIsLockOk
-        WlxIsLogoffOk
-        WlxLogoff
-        WlxShutdown
-; Version 1.1
-	WlxScreenSaverNotify
-	WlxStartApplication
diff --git a/src/windows/gina/ginastub.c b/src/windows/gina/ginastub.c
deleted file mode 100644
index 0e807a0..0000000
--- a/src/windows/gina/ginastub.c
+++ /dev/null
@@ -1,364 +0,0 @@
-/*
-  Copyright (c) 1996 Microsoft Corporation
-
-Module Name:
-  ginastub.c
-
-Abstract:
-  This sample illustrates a pass-thru "stub" gina which can be used
-  in some cases to simplify gina development.
-
-  A common use for a gina is to implement code which requires the
-  credentials of the user logging onto the workstation. The credentials
-  may be required for syncronization with foreign account databases
-  or custom authentication activities.
-
-  In this example case, it is possible to implement a simple gina
-  stub layer which simply passes control for the required functions
-  to the previously installed gina, and captures the interesting
-  parameters from that gina. In this scenario, the existing functionality
-  in the existent gina is retained. In addition, the development time
-  is reduced drastically, as existing functionality does not need to
-  be duplicated.
-
-  When dealing with credentials, take steps to maintain the security
-  of the credentials. For instance, if transporting credentials over
-  a network, be sure to encrypt the credentials.
-
-Author:
-  Scott Field (sfield) 18-Jul-96
-*/
-
-
-#include <windows.h>
-#include <stdio.h>
-#include <winwlx.h>
-#include "ginastub.h"
-
-
-/* Location of the real msgina. */
-
-#define REALGINA_PATH TEXT("MSGINA.DLL")
-
-
-/* winlogon function dispatch table */
-PGWLX_DISPATCH_VERSION pWlxFuncs;
-
-
-/* winlogon version */
-DWORD WlxVersion;
-
-
-/* Functions pointers to the real msgina which we will call. */
-
-PGWLX_Negotiate GWlxNegotiate;
-PGWLX_Initialize GWlxInitialize;
-PGWLX_DisplaySASNotice GWlxDisplaySASNotice;
-PGWLX_LoggedOutSAS GWlxLoggedOutSAS;
-PGWLX_ActivateUserShell GWlxActivateUserShell;
-PGWLX_LoggedOnSAS GWlxLoggedOnSAS;
-PGWLX_DisplayLockedNotice GWlxDisplayLockedNotice;
-PGWLX_WkstaLockedSAS GWlxWkstaLockedSAS;
-PGWLX_IsLockOk GWlxIsLockOk;
-PGWLX_IsLogoffOk GWlxIsLogoffOk;
-PGWLX_Logoff GWlxLogoff;
-PGWLX_Shutdown GWlxShutdown;
-
-
-/* NEW for version 1.1 */
-
-PGWLX_StartApplication GWlxStartApplication;
-PGWLX_ScreenSaverNotify GWlxScreenSaverNotify;
-
-
-/* hook into the real GINA. */
-
-static BOOL
-MyInitialize(void)
-{
-    HINSTANCE hDll;
-
-    /* Load MSGINA.DLL. */
-
-    if (! (hDll = LoadLibrary(REALGINA_PATH)))
-	return FALSE;
-
-
-    /* Get pointers to all of the WLX functions in the real MSGINA. */
-
-    GWlxNegotiate = (PGWLX_Negotiate)
-	GetProcAddress(hDll, "WlxNegotiate");
-    if (! GWlxNegotiate)
-	return FALSE;
-
-    GWlxInitialize = (PGWLX_Initialize)
-	GetProcAddress(hDll, "WlxInitialize");
-    if (! GWlxInitialize)
-	return FALSE;
-
-    GWlxDisplaySASNotice = (PGWLX_DisplaySASNotice)
-	GetProcAddress(hDll, "WlxDisplaySASNotice");
-    if (! GWlxDisplaySASNotice)
-	return FALSE;
-
-    GWlxLoggedOutSAS = (PGWLX_LoggedOutSAS)
-	GetProcAddress(hDll, "WlxLoggedOutSAS");
-    if (! GWlxLoggedOutSAS)
-	return FALSE;
-
-    GWlxActivateUserShell = (PGWLX_ActivateUserShell)
-	GetProcAddress(hDll, "WlxActivateUserShell");
-    if (! GWlxActivateUserShell)
-	return FALSE;
-
-    GWlxLoggedOnSAS = (PGWLX_LoggedOnSAS)
-	GetProcAddress(hDll, "WlxLoggedOnSAS");
-    if (! GWlxLoggedOnSAS)
-	return FALSE;
-
-    GWlxDisplayLockedNotice = (PGWLX_DisplayLockedNotice)
-	GetProcAddress(hDll, "WlxDisplayLockedNotice");
-    if (! GWlxDisplayLockedNotice)
-	return FALSE;
-
-    GWlxIsLockOk = (PGWLX_IsLockOk)
-	GetProcAddress(hDll, "WlxIsLockOk");
-    if (! GWlxIsLockOk)
-	return FALSE;
-
-    GWlxWkstaLockedSAS = (PGWLX_WkstaLockedSAS)
-	GetProcAddress(hDll, "WlxWkstaLockedSAS");
-    if (! GWlxWkstaLockedSAS)
-	return FALSE;
-
-    GWlxIsLogoffOk = (PGWLX_IsLogoffOk)
-	GetProcAddress(hDll, "WlxIsLogoffOk");
-    if (! GWlxIsLogoffOk)
-	return FALSE;
-
-    GWlxLogoff = (PGWLX_Logoff)
-	GetProcAddress(hDll, "WlxLogoff");
-    if (! GWlxLogoff)
-	return FALSE;
-
-    GWlxShutdown = (PGWLX_Shutdown)
-	GetProcAddress(hDll, "WlxShutdown");
-    if (! GWlxShutdown)
-	return FALSE;
-
-
-    /* Don't check for failure because these don't exist prior to NT 4.0 */
-
-    GWlxStartApplication = (PGWLX_StartApplication)
-	GetProcAddress(hDll, "WlxStartApplication");
-    GWlxScreenSaverNotify = (PGWLX_ScreenSaverNotify)
-	GetProcAddress(hDll, "WlxScreenSaverNotify");
-
-
-    /* Everything loaded ok. Return success. */
-    return TRUE;
-}
-
-BOOL
-WINAPI
-WlxNegotiate(
-	DWORD dwWinlogonVersion,
-	DWORD *pdwDllVersion)
-{
-    if (! MyInitialize())
-	return FALSE;
-
-    WlxVersion = dwWinlogonVersion;
-    return (* GWlxNegotiate)(dwWinlogonVersion, pdwDllVersion);
-}
-
-BOOL
-WINAPI
-WlxInitialize(
-	LPWSTR lpWinsta,
-	HANDLE hWlx,
-	PVOID pvReserved,
-	PVOID pWinlogonFunctions,
-	PVOID *pWlxContext)
-{
-    pWlxFuncs = (PGWLX_DISPATCH_VERSION) pWinlogonFunctions;
-
-    return (* GWlxInitialize)(
-	lpWinsta,
-	hWlx,
-	pvReserved,
-	pWinlogonFunctions,
-	pWlxContext
-	);
-}
-
-VOID
-WINAPI
-WlxDisplaySASNotice(
-	PVOID pWlxContext)
-{
-    (* GWlxDisplaySASNotice)(pWlxContext);
-}
-
-int
-WINAPI
-WlxLoggedOutSAS(
-	PVOID pWlxContext,
-	DWORD dwSasType,
-	PLUID pAuthenticationId,
-	PSID pLogonSid,
-	PDWORD pdwOptions,
-	PHANDLE phToken,
-	PWLX_MPR_NOTIFY_INFO pMprNotifyInfo,
-	PVOID *pProfile)
-{
-    int iRet;
-
-    iRet = (* GWlxLoggedOutSAS)(
-	pWlxContext,
-	dwSasType,
-	pAuthenticationId,
-	pLogonSid,
-	pdwOptions,
-	phToken,
-	pMprNotifyInfo,
-	pProfile
-	);
-
-    if (iRet == WLX_SAS_ACTION_LOGON) {
-	/* copy pMprNotifyInfo and pLogonSid for later use */
-
-	/* pMprNotifyInfo->pszUserName */
-	/* pMprNotifyInfo->pszDomain */
-	/* pMprNotifyInfo->pszPassword */
-	/* pMprNotifyInfo->pszOldPassword */
-    }
-
-    return iRet;
-}
-
-BOOL
-WINAPI
-WlxActivateUserShell(
-	PVOID pWlxContext,
-	PWSTR pszDesktopName,
-	PWSTR pszMprLogonScript,
-	PVOID pEnvironment)
-{
-    return (* GWlxActivateUserShell)(
-	pWlxContext,
-	pszDesktopName,
-	pszMprLogonScript,
-	pEnvironment
-	);
-}
-
-int
-WINAPI
-WlxLoggedOnSAS(
-	PVOID pWlxContext,
-	DWORD dwSasType,
-	PVOID pReserved)
-{
-    return (* GWlxLoggedOnSAS)(pWlxContext, dwSasType, pReserved);
-}
-
-VOID
-WINAPI
-WlxDisplayLockedNotice(
-	PVOID pWlxContext)
-{
-    (* GWlxDisplayLockedNotice)(pWlxContext);
-}
-
-BOOL
-WINAPI
-WlxIsLockOk(
-	PVOID pWlxContext)
-{
-    return (* GWlxIsLockOk)(pWlxContext);
-}
-
-int
-WINAPI
-WlxWkstaLockedSAS(
-	PVOID pWlxContext,
-	DWORD dwSasType)
-{
-    return (* GWlxWkstaLockedSAS)(pWlxContext, dwSasType);
-}
-
-BOOL
-WINAPI
-WlxIsLogoffOk(
-	PVOID pWlxContext
-	)
-{
-    BOOL bSuccess;
-
-    bSuccess = (* GWlxIsLogoffOk)(pWlxContext);
-    if (bSuccess) {
-	/* if it's ok to logoff, finish with the stored credentials */
-	/* and scrub the buffers */
-    }
-
-    return bSuccess;
-}
-
-VOID
-WINAPI
-WlxLogoff(
-	PVOID pWlxContext
-	)
-{
-    (* GWlxLogoff)(pWlxContext);
-}
-
-VOID
-WINAPI
-WlxShutdown(
-PVOID pWlxContext,
-DWORD ShutdownType
-)
-{
-    (* GWlxShutdown)(pWlxContext, ShutdownType);
-}
-
-
-/* NEW for version 1.1 */
-
-BOOL
-WINAPI
-WlxScreenSaverNotify(
-PVOID pWlxContext,
-BOOL * pSecure
-)
-{
-    if (GWlxScreenSaverNotify)
-	return (* GWlxScreenSaverNotify)(pWlxContext, pSecure);
-
-    /* if not exported, return something intelligent */
-    *pSecure = TRUE;
-    return TRUE;
-}
-
-BOOL
-WINAPI
-WlxStartApplication(
-	PVOID pWlxContext,
-	PWSTR pszDesktopName,
-	PVOID pEnvironment,
-	PWSTR pszCmdLine
-	)
-{
-    if (GWlxStartApplication)
-	return (* GWlxStartApplication)(
-		pWlxContext,
-		pszDesktopName,
-		pEnvironment,
-		pszCmdLine
-		);
-
-    /* if not exported, return something intelligent */
-    return TRUE;	/* ??? */
-}
diff --git a/src/windows/gina/ginastub.h b/src/windows/gina/ginastub.h
deleted file mode 100644
index e9c8334..0000000
--- a/src/windows/gina/ginastub.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* WinLogin 1.0 */
-typedef BOOL	(CALLBACK * PGWLX_Negotiate)
-	(DWORD, DWORD *);
-typedef BOOL	(CALLBACK * PGWLX_Initialize)
-	(LPWSTR, HANDLE, PVOID, PVOID, PVOID);
-typedef VOID	(CALLBACK * PGWLX_DisplaySASNotice)
-	(PVOID);
-typedef int	(CALLBACK * PGWLX_LoggedOutSAS)
-	(PVOID, DWORD, PLUID, PSID, PDWORD, PHANDLE,
-	 PWLX_MPR_NOTIFY_INFO, PVOID *);
-typedef BOOL	(CALLBACK * PGWLX_ActivateUserShell)
-	(PVOID, PWSTR, PWSTR, PVOID);
-typedef int	(CALLBACK * PGWLX_LoggedOnSAS)
-	(PVOID, DWORD, PVOID);
-typedef VOID	(CALLBACK * PGWLX_DisplayLockedNotice)
-	(PVOID);
-typedef int	(CALLBACK * PGWLX_WkstaLockedSAS)
-	(PVOID, DWORD);
-typedef BOOL	(CALLBACK * PGWLX_IsLockOk)
-	(PVOID);
-typedef BOOL	(CALLBACK * PGWLX_IsLogoffOk)
-	(PVOID);
-typedef VOID	(CALLBACK * PGWLX_Logoff)
-	(PVOID);
-typedef VOID	(CALLBACK * PGWLX_Shutdown)
-	(PVOID, DWORD);
-
-/* WinLogin 1.1 */
-typedef BOOL	(CALLBACK * PGWLX_StartApplication)
-	(PVOID, PWSTR, PVOID, PWSTR);
-typedef BOOL	(CALLBACK * PGWLX_ScreenSaverNotify)
-	(PVOID, BOOL *);
-
-
-#if defined(WLX_VERSION_1_1)
-typedef PWLX_DISPATCH_VERSION_1_1 PGWLX_DISPATCH_VERSION;
-#else
-typedef PWLX_DISPATCH_VERSION_1_0 PGWLX_DISPATCH_VERSION;
-#endif


More information about the cvs-krb5 mailing list