mech.c revision 704fbadd78375da18dcaf2c5d93ac8cfe2c61358
02c335c23bf5fa225a467c19f2c063fb0dc7b8c3Timo Sirainen/* Copyright (c) 2002-2008 Dovecot authors, see the included COPYING file */
b565a6a7a66fb9f224d00c06a950e3c1c585c18eTimo Sirainenvoid mech_register_module(const struct mech_module *module)
b565a6a7a66fb9f224d00c06a950e3c1c585c18eTimo Sirainenvoid mech_unregister_module(const struct mech_module *module)
b565a6a7a66fb9f224d00c06a950e3c1c585c18eTimo Sirainen for (pos = &mech_modules; *pos != NULL; pos = &(*pos)->next) {
b565a6a7a66fb9f224d00c06a950e3c1c585c18eTimo Sirainen if (strcmp((*pos)->module.mech_name, module->mech_name) == 0) {
b565a6a7a66fb9f224d00c06a950e3c1c585c18eTimo Sirainenconst struct mech_module *mech_module_find(const char *name)
9929820d587fb6aa527a6baf89267b06950921c2Timo Sirainen for (list = mech_modules; list != NULL; list = list->next) {
b565a6a7a66fb9f224d00c06a950e3c1c585c18eTimo Sirainen if (strcasecmp(list->module.mech_name, name) == 0)
b565a6a7a66fb9f224d00c06a950e3c1c585c18eTimo Sirainenvoid mech_generic_auth_initial(struct auth_request *request,
b565a6a7a66fb9f224d00c06a950e3c1c585c18eTimo Sirainen request->callback(request, AUTH_CLIENT_RESULT_CONTINUE,
b565a6a7a66fb9f224d00c06a950e3c1c585c18eTimo Sirainen request->mech->auth_continue(request, data, data_size);
b565a6a7a66fb9f224d00c06a950e3c1c585c18eTimo Sirainenvoid mech_generic_auth_free(struct auth_request *request)
b565a6a7a66fb9f224d00c06a950e3c1c585c18eTimo Sirainenextern const struct mech_module mech_digest_md5;
b565a6a7a66fb9f224d00c06a950e3c1c585c18eTimo Sirainenextern const struct mech_module mech_anonymous;
#ifdef HAVE_GSSAPI
#ifdef HAVE_GSSAPI_SPNEGO
void mech_init(void)
#ifdef BUILTIN_GSSAPI
#ifdef HAVE_GSSAPI_SPNEGO
void mech_deinit(void)
#ifdef BUILTIN_GSSAPI
#ifdef HAVE_GSSAPI_SPNEGO