passdb.c revision 0727e38ac12efb8963a339daf56255e2be1f29fc
/* Copyright (C) 2002-2003 Timo Sirainen */
#include "common.h"
#include "mech.h"
#include "auth-module.h"
#include "password-scheme.h"
#include "passdb.h"
#include <stdlib.h>
#ifdef HAVE_MODULES
#endif
struct passdb_module *passdb;
static const char *
{
switch (credentials) {
break;
return "PLAIN";
case PASSDB_CREDENTIALS_CRYPT:
return "CRYPT";
return "HMAC-MD5";
return "DIGEST-MD5";
}
return "??";
}
const char *scheme,
struct auth_request *auth_request)
{
const char *wanted_scheme;
if (credentials == PASSDB_CREDENTIALS_CRYPT) {
/* anything goes */
return;
}
/* we can generate anything out of plaintext
passwords */
} else {
if (verbose) {
i_info("password(%s): Requested %s "
"scheme, but we have only %s",
}
}
}
}
}
static void
{
struct mech_module_list *list;
break;
break;
}
i_fatal("Passdb %s doesn't support %s method",
}
}
void passdb_init(void)
{
i_fatal("PASSDB environment is unset");
args++;
#ifdef PASSDB_PASSWD
passdb = &passdb_passwd;
#endif
#ifdef PASSDB_BSDAUTH
passdb = &passdb_bsdauth;
#endif
#ifdef PASSDB_PASSWD_FILE
#endif
#ifdef PASSDB_PAM
passdb = &passdb_pam;
#endif
#ifdef PASSDB_CHECKPASSWORD
#endif
#ifdef PASSDB_SHADOW
passdb = &passdb_shadow;
#endif
#ifdef PASSDB_VPOPMAIL
#endif
#ifdef PASSDB_LDAP
passdb = &passdb_ldap;
#endif
#ifdef PASSDB_PGSQL
passdb = &passdb_pgsql;
#endif
#ifdef PASSDB_MYSQL
passdb = &passdb_mysql;
#endif
#ifdef HAVE_MODULES
if (passdb_module != NULL) {
}
#endif
/* initialize */
}
void passdb_deinit(void)
{
#ifdef HAVE_MODULES
if (passdb_module != NULL)
#endif
}