userdb-dict.c revision 5a580c3a38ced62d4bcc95b8ac7c4f2935b5d294
/* Copyright (c) 2013 Dovecot authors, see the included COPYING file */
#include "auth-common.h"
#include "userdb.h"
#include "ioloop.h"
#include "array.h"
#include "str.h"
#include "var-expand.h"
#include "auth-cache.h"
#include "db-dict.h"
#include <dict.h>
#include <stdlib.h>
struct dict_userdb_module {
struct userdb_module module;
struct dict_connection *conn;
};
struct dict_userdb_iterate_context {
struct userdb_iterate_context ctx;
const char *key_prefix;
unsigned int key_prefix_len;
struct dict_iterate_context *iter;
};
static int
{
struct db_dict_value_iter *iter;
}
"Value '%s' not in valid %s format: %s",
return -1;
}
return 0;
}
{
struct dict_userdb_module *module =
(struct dict_userdb_module *)_module;
enum userdb_result userdb_result;
const char *value;
int ret;
"user_key not specified");
return;
}
if (ret < 0) {
} else if (ret == 0) {
} else {
"result: %s", value);
else
}
}
static struct userdb_iterate_context *
{
struct dict_userdb_module *module =
(struct dict_userdb_module *)_module;
struct dict_userdb_iterate_context *ctx;
const struct var_expand_table *vars;
"iterate: iterate_prefix not set");
}
}
ctx->key_prefix);
}
static const char *
{
}
{
struct dict_userdb_iterate_context *ctx =
(struct dict_userdb_iterate_context *)_ctx;
else
}
{
struct dict_userdb_iterate_context *ctx =
(struct dict_userdb_iterate_context *)_ctx;
ret = -1;
}
return ret;
}
static struct userdb_module *
{
struct dict_userdb_module *module;
struct dict_connection *conn;
}
{
struct dict_userdb_module *module =
(struct dict_userdb_module *)_module;
}
struct userdb_module_interface userdb_dict =
{
"dict",
NULL,
};