mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-04-19 03:58:05 -05:00
Fix filename of the 64-bit MIT Kerberos DLL.
64-bit PuTTY should be loading gssapi64.dll, not gssapi32.dll. (In contrast to the Windows system API DLLs, such as secur32.dll which is also mentioned in the same source file; those keep the "32" in their name whether we're in Win32 or Win64.)
This commit is contained in:
parent
0a93b5d9bc
commit
55efbc56a0
@ -13,9 +13,15 @@
|
|||||||
|
|
||||||
/* Windows code to set up the GSSAPI library list. */
|
/* Windows code to set up the GSSAPI library list. */
|
||||||
|
|
||||||
|
#ifdef _WIN64
|
||||||
|
#define MIT_KERB_SUFFIX "64"
|
||||||
|
#else
|
||||||
|
#define MIT_KERB_SUFFIX "32"
|
||||||
|
#endif
|
||||||
|
|
||||||
const int ngsslibs = 3;
|
const int ngsslibs = 3;
|
||||||
const char *const gsslibnames[3] = {
|
const char *const gsslibnames[3] = {
|
||||||
"MIT Kerberos GSSAPI32.DLL",
|
"MIT Kerberos GSSAPI"MIT_KERB_SUFFIX".DLL",
|
||||||
"Microsoft SSPI SECUR32.DLL",
|
"Microsoft SSPI SECUR32.DLL",
|
||||||
"User-specified GSSAPI DLL",
|
"User-specified GSSAPI DLL",
|
||||||
};
|
};
|
||||||
@ -90,7 +96,6 @@ struct ssh_gss_liblist *ssh_gss_setup(Conf *conf)
|
|||||||
list->nlibraries = 0;
|
list->nlibraries = 0;
|
||||||
|
|
||||||
/* MIT Kerberos GSSAPI implementation */
|
/* MIT Kerberos GSSAPI implementation */
|
||||||
/* TODO: For 64-bit builds, check for gssapi64.dll */
|
|
||||||
module = NULL;
|
module = NULL;
|
||||||
if (RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\MIT\\Kerberos", ®key)
|
if (RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\MIT\\Kerberos", ®key)
|
||||||
== ERROR_SUCCESS) {
|
== ERROR_SUCCESS) {
|
||||||
@ -115,7 +120,7 @@ struct ssh_gss_liblist *ssh_gss_setup(Conf *conf)
|
|||||||
p_AddDllDirectory(dllPath);
|
p_AddDllDirectory(dllPath);
|
||||||
sfree(dllPath);
|
sfree(dllPath);
|
||||||
}
|
}
|
||||||
strcat (buffer, "\\gssapi32.dll");
|
strcat (buffer, "\\gssapi"MIT_KERB_SUFFIX".dll");
|
||||||
module = LoadLibraryEx (buffer, NULL,
|
module = LoadLibraryEx (buffer, NULL,
|
||||||
LOAD_LIBRARY_SEARCH_SYSTEM32 |
|
LOAD_LIBRARY_SEARCH_SYSTEM32 |
|
||||||
LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR |
|
LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR |
|
||||||
@ -130,7 +135,7 @@ struct ssh_gss_liblist *ssh_gss_setup(Conf *conf)
|
|||||||
&list->libraries[list->nlibraries++];
|
&list->libraries[list->nlibraries++];
|
||||||
|
|
||||||
lib->id = 0;
|
lib->id = 0;
|
||||||
lib->gsslogmsg = "Using GSSAPI from GSSAPI32.DLL";
|
lib->gsslogmsg = "Using GSSAPI from GSSAPI"MIT_KERB_SUFFIX".DLL";
|
||||||
lib->handle = (void *)module;
|
lib->handle = (void *)module;
|
||||||
|
|
||||||
#define BIND_GSS_FN(name) \
|
#define BIND_GSS_FN(name) \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user