passdb-passwd-file.c revision d5abbb932a0a598f002da39a8b3326643b1b5efc
/* Copyright (c) 2002-2008 Dovecot authors, see the included COPYING file */
#include "common.h"
#include "passdb.h"
#ifdef PASSDB_PASSWD_FILE
#include "str.h"
#include "auth-cache.h"
#include "var-expand.h"
#include "password-scheme.h"
#include "db-passwd-file.h"
struct passwd_file_passdb_module {
struct passdb_module module;
struct db_passwd_file *pwf;
};
const struct passwd_user *pu,
const char **crypted_pass_r,
const char **scheme_r)
{
const struct var_expand_table *table;
char **p;
/* save the password so cache can use it */
if (*crypted_pass_r != NULL) {
*crypted_pass_r, *scheme_r);
}
str_truncate(str, 0);
} else {
key = *p;
value = "";
}
}
}
}
static void
{
struct passwd_file_passdb_module *module =
(struct passwd_file_passdb_module *)_module;
struct passwd_user *pu;
const char *scheme, *crypted_pass;
int ret;
return;
}
scheme, "passwd-file");
request);
}
static void
{
struct passwd_file_passdb_module *module =
(struct passwd_file_passdb_module *)_module;
struct passwd_user *pu;
const char *crypted_pass, *scheme;
return;
}
}
static struct passdb_module *
{
struct passwd_file_passdb_module *module;
const char *scheme = PASSWD_FILE_DEFAULT_SCHEME;
const char *format = PASSWD_FILE_DEFAULT_USERNAME_FORMAT;
while (*args != '\0') {
if (*args == '/')
break;
value = "";
} else {
}
args = "";
else
args++;
}
struct passwd_file_passdb_module, 1);
else {
}
}
const char *args ATTR_UNUSED)
{
struct passwd_file_passdb_module *module =
(struct passwd_file_passdb_module *)_module;
}
{
struct passwd_file_passdb_module *module =
(struct passwd_file_passdb_module *)_module;
}
struct passdb_module_interface passdb_passwd_file = {
"passwd-file",
};
#else
struct passdb_module_interface passdb_passwd_file = {
};
#endif