userdb-sql.c revision f93c833d644ecff0b0f80bee4f1cdde3e697b5c8
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz/* Copyright (c) 2004-2011 Dovecot authors, see the included COPYING file */
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarzstatic void userdb_sql_iterate_next(struct userdb_iterate_context *_ctx);
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarzstatic int userdb_sql_iterate_deinit(struct userdb_iterate_context *_ctx);
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarzsql_query_get_result(struct sql_result *result,
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz unsigned int i, fields_count;
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz auth_request_init_userdb_reply(auth_request);
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz fields_count = sql_result_get_fields_count(result);
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz for (i = 0; i < fields_count; i++) {
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz name = sql_result_get_field_name(result, i);
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz value = sql_result_get_field_value(result, i);
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz auth_request_set_userdb_field(auth_request,
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarzstatic void sql_query_callback(struct sql_result *sql_result,
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz struct auth_request *auth_request = sql_request->auth_request;
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz struct userdb_module *_module = auth_request->userdb->userdb;
51ed197520dd9ea534fbc3bc1790ebe3cb5421e2Michael M Slusarz enum userdb_result result = USERDB_RESULT_INTERNAL_FAILURE;
int ret;
if (ret >= 0)
if (ret < 0) {
} else if (ret == 0) {
static struct userdb_iterate_context *
const char **user_r)
const char *domain;
int idx;
if (idx == 0) {
if (idx < 0) {
const char *user;
int ret;
if (ret >= 0)
if (ret > 0) {
} else if (ret < 0) {
return ret;
static struct userdb_module *