/* Copyright (c) 2011-2018 Dovecot authors, see the included COPYING file */
#include "auth-common.h"
#include "ioloop.h"
#include "passdb.h"
#include "str.h"
#include "imap-resp-code.h"
#include "imapc-client.h"
struct imap_passdb_module {
bool set_have_vars;
};
struct imap_auth_request {
};
static enum passdb_result
{
return PASSDB_RESULT_PASSWORD_MISMATCH;
return PASSDB_RESULT_PASSWORD_MISMATCH;
return PASSDB_RESULT_PASS_EXPIRED;
return PASSDB_RESULT_INTERNAL_FAILURE;
}
{
}
static void
void *context)
{
case IMAPC_COMMAND_STATE_OK:
break;
case IMAPC_COMMAND_STATE_NO:
break;
case IMAPC_COMMAND_STATE_BAD:
break;
}
/* imapc_client can't be freed in this callback, so do it in a
separate callback. FIXME: remove this once imapc supports proper
refcounting. */
}
static void
const char *password,
{
(struct imap_passdb_module *)_module;
const char *error;
if (module->set_have_vars) {
"Failed to expand username=%s: %s",
return;
}
str_truncate(str, 0);
"Failed to expand host=%s: %s",
return;
}
}
}
static struct passdb_module *
{
char **tmp;
value = "";
else
if (!port_set)
} else {
i_fatal("passdb imap: Invalid ssl mode: %s",
value);
}
} else {
i_fatal("passdb imap: Invalid allow_invalid_cert value: %s",
value);
}
} else {
}
}
i_fatal("passdb imap: Cannot verify certificate without ssl_ca_dir or ssl_ca_file setting");
}
i_fatal("passdb imap: Missing host parameter");
}
"imap",
NULL,
NULL,
NULL,
};
void authdb_imap_init(void);
void authdb_imap_deinit(void);
void authdb_imap_init(void)
{
}
void authdb_imap_deinit(void)
{
}