diff options
Diffstat (limited to 'tools/plink/wingss.c')
-rw-r--r-- | tools/plink/wingss.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/tools/plink/wingss.c b/tools/plink/wingss.c index 4efad5d58..91d2d45b5 100644 --- a/tools/plink/wingss.c +++ b/tools/plink/wingss.c @@ -18,10 +18,10 @@ const char *const gsslibnames[3] = { "Microsoft SSPI SECUR32.DLL",
"User-specified GSSAPI DLL",
};
-const struct keyval gsslibkeywords[] = {
- { "gssapi32", 0 },
- { "sspi", 1 },
- { "custom", 2 },
+const struct keyvalwhere gsslibkeywords[] = {
+ { "gssapi32", 0, -1, -1 },
+ { "sspi", 1, -1, -1 },
+ { "custom", 2, -1, -1 },
};
DECL_WINDOWS_FUNCTION(static, SECURITY_STATUS,
@@ -65,11 +65,12 @@ const char *gsslogmsg = NULL; static void ssh_sspi_bind_fns(struct ssh_gss_library *lib);
-struct ssh_gss_liblist *ssh_gss_setup(const Config *cfg)
+struct ssh_gss_liblist *ssh_gss_setup(Conf *conf)
{
HMODULE module;
HKEY regkey;
struct ssh_gss_liblist *list = snew(struct ssh_gss_liblist);
+ char *path;
list->libraries = snewn(3, struct ssh_gss_library);
list->nlibraries = 0;
@@ -148,8 +149,9 @@ struct ssh_gss_liblist *ssh_gss_setup(const Config *cfg) * Custom GSSAPI DLL.
*/
module = NULL;
- if (cfg->ssh_gss_custom.path[0]) {
- module = LoadLibrary(cfg->ssh_gss_custom.path);
+ path = conf_get_filename(conf, CONF_ssh_gss_custom)->path;
+ if (*path) {
+ module = LoadLibrary(path);
}
if (module) {
struct ssh_gss_library *lib =
@@ -157,7 +159,7 @@ struct ssh_gss_liblist *ssh_gss_setup(const Config *cfg) lib->id = 2;
lib->gsslogmsg = dupprintf("Using GSSAPI from user-specified"
- " library '%s'", cfg->ssh_gss_custom.path);
+ " library '%s'", path);
lib->handle = (void *)module;
#define BIND_GSS_FN(name) \
|