mech.c revision 5965eaa2d972e6264cecaf54091cd43019bc7d1f
/* Copyright (c) 2002-2016 Dovecot authors, see the included COPYING file */
#include "auth-common.h"
#include "ioloop.h"
#include "mech.h"
#include "str.h"
#include "passdb.h"
#include <ctype.h>
static struct mech_module_list *mech_modules;
{
struct mech_module_list *list;
mech_modules = list;
}
{
break;
}
}
}
{
struct mech_module_list *list;
}
return NULL;
}
{
} else {
/* initial reply given, even if it was 0 bytes */
}
}
{
}
extern const struct mech_module mech_plain;
extern const struct mech_module mech_login;
extern const struct mech_module mech_apop;
extern const struct mech_module mech_cram_md5;
extern const struct mech_module mech_digest_md5;
extern const struct mech_module mech_external;
extern const struct mech_module mech_ntlm;
extern const struct mech_module mech_otp;
extern const struct mech_module mech_scram_sha1;
extern const struct mech_module mech_skey;
extern const struct mech_module mech_rpa;
extern const struct mech_module mech_anonymous;
#ifdef HAVE_GSSAPI
extern const struct mech_module mech_gssapi;
#endif
#ifdef HAVE_GSSAPI_SPNEGO
extern const struct mech_module mech_gssapi_spnego;
#endif
extern const struct mech_module mech_winbind_ntlm;
extern const struct mech_module mech_winbind_spnego;
const struct mech_module *mech)
{
struct mech_module_list *list;
}
static const char *mech_get_plugin_name(const char *name)
{
if (*name == '-')
else
}
}
struct mechanisms_register *
{
struct mechanisms_register *reg;
const struct mech_module *mech;
const char *const *mechanisms;
const char *name = *mechanisms;
i_fatal("ANONYMOUS listed in mechanisms, "
"but anonymous_username not set");
}
}
/* maybe it's a plugin. try to load it. */
}
}
i_fatal("No authentication mechanisms configured");
return reg;
}
{
}
const struct mech_module *
{
const struct mech_module_list *list;
}
return NULL;
}
{
if (set->use_winbind) {
} else {
#if defined(HAVE_GSSAPI_SPNEGO) && defined(BUILTIN_GSSAPI)
#endif
}
#ifdef BUILTIN_GSSAPI
#endif
}
{
if (set->use_winbind) {
} else {
#if defined(HAVE_GSSAPI_SPNEGO) && defined(BUILTIN_GSSAPI)
#endif
}
#ifdef BUILTIN_GSSAPI
#endif
}