passdb.c revision 1f1e81aab38d833d1c9cdc244c91fd762e0080d4
25757faf029c369a8318349dafe952e2358df1d8Timo Sirainen/* Copyright (C) 2002-2003 Timo Sirainen */
70cb37c37e4dce8f57cd3f882f7444e76b918befTimo Sirainenstatic struct auth_module *passdb_module = NULL;
473080c7c0d25ddfdf77e7dfa0ba8f73c6c669d5Timo Sirainenstatic const char *
473080c7c0d25ddfdf77e7dfa0ba8f73c6c669d5Timo Sirainenpassdb_credentials_to_str(enum passdb_credentials credentials)
473080c7c0d25ddfdf77e7dfa0ba8f73c6c669d5Timo Sirainen return "PLAIN";
473080c7c0d25ddfdf77e7dfa0ba8f73c6c669d5Timo Sirainen return "CRYPT";
6c07b8ddc5e894feead4d422075b079451721241Timo Sirainen return "HMAC-MD5";
473080c7c0d25ddfdf77e7dfa0ba8f73c6c669d5Timo Sirainen return "DIGEST-MD5";
d43c646d4b84635aa795946555be04a553d5413aTimo Sirainen return "LANMAN";
c7480644202e5451fbed448508ea29a25cffc99cTimo Sirainen return "NTLM";
a4ac325c2802693c6b761e5a8fda961e5d7490eaTimo Sirainen return "RPA";
473080c7c0d25ddfdf77e7dfa0ba8f73c6c669d5Timo Sirainenvoid passdb_handle_credentials(enum passdb_credentials credentials,
473080c7c0d25ddfdf77e7dfa0ba8f73c6c669d5Timo Sirainen if (credentials == PASSDB_CREDENTIALS_CRYPT) {
473080c7c0d25ddfdf77e7dfa0ba8f73c6c669d5Timo Sirainen /* anything goes */
473080c7c0d25ddfdf77e7dfa0ba8f73c6c669d5Timo Sirainen password = t_strdup_printf("{%s}%s", scheme, password);
473080c7c0d25ddfdf77e7dfa0ba8f73c6c669d5Timo Sirainen wanted_scheme = passdb_credentials_to_str(credentials);
ff487c974815bdaa2d05a3b834f4c2c841f4cc34Timo Sirainen /* we can generate anything out of plaintext
ff487c974815bdaa2d05a3b834f4c2c841f4cc34Timo Sirainen "scheme, but we have only %s",
1f1e81aab38d833d1c9cdc244c91fd762e0080d4Timo Sirainenstatic void mech_list_verify_passdb(struct passdb_module *passdb)
d1414c09cf0d58ac983054e2f4e1a1f329272dcfTimo Sirainen for (list = mech_modules; list != NULL; list = list->next) {
d1414c09cf0d58ac983054e2f4e1a1f329272dcfTimo Sirainen i_fatal("Passdb %s doesn't support %s method",