mech.c revision 59beb411159176b39e48a52d60dd3239732e67b4
90adcaa0a00eba29b7fbd50ca66be11c8d086d6aTimo Sirainen/* Copyright (c) 2002-2009 Dovecot authors, see the included COPYING file */
8fcff4c5b52f24d9c681805fdf06b486f1d0fcbeTimo Sirainenvoid mech_register_module(const struct mech_module *module)
a0b0d629931773c17a236f6214adbe0e13b9b3fdTimo Sirainenvoid mech_unregister_module(const struct mech_module *module)
a0b0d629931773c17a236f6214adbe0e13b9b3fdTimo Sirainen for (pos = &mech_modules; *pos != NULL; pos = &(*pos)->next) {
a0b0d629931773c17a236f6214adbe0e13b9b3fdTimo Sirainen if (strcmp((*pos)->module.mech_name, module->mech_name) == 0) {
f1901fd21906911f7be075c965ac882f6a87b4c3Timo Sirainenconst struct mech_module *mech_module_find(const char *name)
4b41116563110d00330896a568eff1078c382827Timo Sirainen for (list = mech_modules; list != NULL; list = list->next) {
4b41116563110d00330896a568eff1078c382827Timo Sirainen if (strcasecmp(list->module.mech_name, name) == 0)
fe6c1556d3529a6376d4cbb3766c34aebde0de99Timo Sirainenvoid mech_generic_auth_initial(struct auth_request *request,
fe6c1556d3529a6376d4cbb3766c34aebde0de99Timo Sirainen request->callback(request, AUTH_CLIENT_RESULT_CONTINUE,
fe6c1556d3529a6376d4cbb3766c34aebde0de99Timo Sirainen /* initial reply given, even if it was 0 bytes */
fe6c1556d3529a6376d4cbb3766c34aebde0de99Timo Sirainen request->mech->auth_continue(request, data, data_size);
fe6c1556d3529a6376d4cbb3766c34aebde0de99Timo Sirainenvoid mech_generic_auth_free(struct auth_request *request)
fe6c1556d3529a6376d4cbb3766c34aebde0de99Timo Sirainenextern const struct mech_module mech_digest_md5;
fe6c1556d3529a6376d4cbb3766c34aebde0de99Timo Sirainenextern const struct mech_module mech_anonymous;
8fcff4c5b52f24d9c681805fdf06b486f1d0fcbeTimo Sirainenextern const struct mech_module mech_gssapi_spnego;
fe6c1556d3529a6376d4cbb3766c34aebde0de99Timo Sirainenextern const struct mech_module mech_winbind_ntlm;
6060b7c8edf8fce73470d0df6a2479b69b01c537Timo Sirainenextern const struct mech_module mech_winbind_spnego;
fe6c1556d3529a6376d4cbb3766c34aebde0de99Timo Sirainenvoid mech_init(const struct auth_settings *set)
8000c86be02008b74acc71fa422444dc432e2c01Timo Sirainen#if defined(HAVE_GSSAPI_SPNEGO) && defined(BUILTIN_GSSAPI)
345212e8f61ebf14ff4f80df26df9e655eb5121eTimo Sirainenvoid mech_deinit(const struct auth_settings *set)
90adcaa0a00eba29b7fbd50ca66be11c8d086d6aTimo Sirainen#if defined(HAVE_GSSAPI_SPNEGO) && defined(BUILTIN_GSSAPI)