passdb.c revision e9503210d3521a6833ed62dc332fc42ffb0e7a13
/* Copyright (C) 2002-2003 Timo Sirainen */
#include "common.h"
#include "auth-module.h"
#include "password-scheme.h"
#include "auth-worker-server.h"
#include "passdb.h"
#include <stdlib.h>
extern struct passdb_module passdb_passwd;
extern struct passdb_module passdb_bsdauth;
extern struct passdb_module passdb_shadow;
extern struct passdb_module passdb_passwd_file;
extern struct passdb_module passdb_pam;
extern struct passdb_module passdb_checkpassword;
extern struct passdb_module passdb_vpopmail;
extern struct passdb_module passdb_ldap;
extern struct passdb_module passdb_sql;
struct passdb_module *passdbs[] = {
#ifdef PASSDB_PASSWD
#endif
#ifdef PASSDB_BSDAUTH
#endif
#ifdef PASSDB_PASSWD_FILE
#endif
#ifdef PASSDB_PAM
#endif
#ifdef PASSDB_CHECKPASSWORD
#endif
#ifdef PASSDB_SHADOW
#endif
#ifdef PASSDB_VPOPMAIL
#endif
#ifdef PASSDB_LDAP
#endif
#ifdef PASSDB_SQL
#endif
};
static const char *
{
switch (credentials) {
break;
return "PLAIN";
case PASSDB_CREDENTIALS_CRYPT:
return "CRYPT";
return "HMAC-MD5";
return "DIGEST-MD5";
return "LANMAN";
case PASSDB_CREDENTIALS_NTLM:
return "NTLM";
case PASSDB_CREDENTIALS_RPA:
return "RPA";
}
return "??";
}
struct auth_request *auth_request)
{
const char *wanted_scheme;
if (result != PASSDB_RESULT_OK) {
return;
}
if (credentials == PASSDB_CREDENTIALS_CRYPT) {
/* anything goes */
return;
}
"Requested %s scheme, but we have only %s",
NULL, auth_request);
return;
}
/* we can generate anything out of plaintext passwords */
}
}
{
struct passdb_module **p;
auth_passdb->num++;
*dest = auth_passdb;
auth_passdb->passdb = *p;
break;
}
}
#ifdef HAVE_MODULES
}
#endif
}
{
/* blocking passdb - we need an auth server */
}
}
{
#ifdef HAVE_MODULES
#endif
}