const char *password;
const char *crypted, *scheme, *error;
unsigned int passdb_id;
- int ret;
+ enum passdb_result ret;
if (str_to_uint(args[0], &passdb_id) < 0 || args[1] == NULL ||
args[2] == NULL) {
str = t_str_new(128);
str_printfa(str, "%u\t", request->id);
- if (ret == 1) {
+ if (ret == PASSDB_RESULT_OK) {
str_printfa(str, "OK\t\t");
error = NULL;
- } else if (ret == 0) {
- str_printfa(str, "FAIL\t%d", PASSDB_RESULT_PASSWORD_MISMATCH);
- error = passdb_result_to_string(PASSDB_RESULT_PASSWORD_MISMATCH);
} else {
- str_printfa(str, "FAIL\t%d", PASSDB_RESULT_INTERNAL_FAILURE);
- error = passdb_result_to_string(PASSDB_RESULT_INTERNAL_FAILURE);
+ str_printfa(str, "FAIL\t%d", ret);
+ error = passdb_result_to_string(ret);
}
str_append_c(str, '\n');
{
const char *value, *cached_pw, *scheme, *const *list;
struct auth_cache_node *node;
- int ret;
+ enum passdb_result ret;
bool neg_expired;
if (passdb_cache == NULL || key == NULL)
/* NULL password */
e_info(authdb_event(request),
"Cached NULL password access");
- ret = 1;
+ ret = PASSDB_RESULT_OK;
} else if (request->set->cache_verify_password_with_worker) {
string_t *str;
scheme, AUTH_SUBSYS_DB,
!(node->last_success || neg_expired));
- if (ret == 0 && (node->last_success || neg_expired)) {
+ if (ret == PASSDB_RESULT_PASSWORD_MISMATCH &&
+ (node->last_success || neg_expired)) {
/* a) the last authentication was successful. assume
that the password was changed and cache is expired.
b) negative TTL reached, use it for password
return FALSE;
}
}
- node->last_success = ret > 0;
+ node->last_success = ret == PASSDB_RESULT_OK;
/* save the extra_fields only after we know we're using the
cached data */
auth_request_set_fields(request, list + 1, NULL);
- *result_r = ret > 0 ? PASSDB_RESULT_OK :
- PASSDB_RESULT_PASSWORD_MISMATCH;
+ *result_r = ret;
auth_request_verify_plain_callback_finish(*result_r, request);
return TRUE;
(struct dict_passdb_module *)_module;
const char *password = NULL, *scheme = NULL;
enum passdb_result passdb_result;
- int ret;
if (array_count(&module->conn->set.passdb_fields) == 0 &&
array_count(&module->conn->set.parsed_passdb_objects) == 0) {
auth_request);
} else {
if (password != NULL) {
- ret = auth_request_password_verify(auth_request,
+ passdb_result =
+ auth_request_password_verify(auth_request,
auth_request->mech_password,
password, scheme, AUTH_SUBSYS_DB);
- passdb_result = ret > 0 ? PASSDB_RESULT_OK :
- PASSDB_RESULT_PASSWORD_MISMATCH;
}
dict_request->callback.verify_plain(passdb_result,
{
enum passdb_result passdb_result;
const char *password = NULL, *scheme;
- int ret;
if (res == NULL) {
passdb_result = PASSDB_RESULT_INTERNAL_FAILURE;
auth_request);
} else {
if (password != NULL) {
- ret = auth_request_password_verify(auth_request,
+ passdb_result =
+ auth_request_password_verify(auth_request,
auth_request->mech_password,
password, scheme, AUTH_SUBSYS_DB);
- passdb_result = ret > 0 ? PASSDB_RESULT_OK :
- PASSDB_RESULT_PASSWORD_MISMATCH;
}
ldap_request->callback.verify_plain(passdb_result,
if (result == PASSDB_RESULT_OK) {
if (lua_scheme == NULL)
lua_scheme = "PLAIN";
- if ((auth_request_password_verify(request, password, lua_password,
- lua_scheme, AUTH_SUBSYS_DB)) <=0) {
- result = PASSDB_RESULT_PASSWORD_MISMATCH;
- }
+ result = auth_request_password_verify(request, password,
+ lua_password,
+ lua_scheme,
+ AUTH_SUBSYS_DB);
}
}
callback(result, request);
(struct passwd_file_passdb_module *)_module;
struct passwd_user *pu;
const char *scheme, *crypted_pass;
+ enum passdb_result result;
int ret;
ret = db_passwd_file_lookup(module->pwf, request,
return;
}
- ret = auth_request_password_verify(request, password, crypted_pass,
- scheme, AUTH_SUBSYS_DB);
+ result = auth_request_password_verify(request, password, crypted_pass,
+ scheme, AUTH_SUBSYS_DB);
- callback(ret > 0 ? PASSDB_RESULT_OK : PASSDB_RESULT_PASSWORD_MISMATCH,
- request);
+ callback(result, request);
}
static void
{
struct passwd pw;
enum passdb_result res;
- int ret;
res = passwd_lookup(request, &pw);
if (res != PASSDB_RESULT_OK) {
return;
}
/* check if the password is valid */
- ret = auth_request_password_verify(request, password, pw.pw_passwd,
+ res = auth_request_password_verify(request, password, pw.pw_passwd,
PASSWD_PASS_SCHEME, AUTH_SUBSYS_DB);
/* clear the passwords from memory */
safe_memset(pw.pw_passwd, 0, strlen(pw.pw_passwd));
- if (ret <= 0) {
- callback(PASSDB_RESULT_PASSWORD_MISMATCH, request);
+ if (res != PASSDB_RESULT_OK) {
+ callback(res, request);
return;
}
/* make sure we're using the username exactly as it's in the database */
auth_request_set_field(request, "user", pw.pw_name, NULL);
- callback(PASSDB_RESULT_OK, request);
+ callback(res, request);
}
static void
return;
}
- ret = auth_request_password_verify(auth_request,
- auth_request->mech_password,
- password, scheme, AUTH_SUBSYS_DB);
+ passdb_result = auth_request_password_verify(auth_request,
+ auth_request->mech_password,
+ password, scheme, AUTH_SUBSYS_DB);
- sql_request->callback.verify_plain(ret > 0 ? PASSDB_RESULT_OK :
- PASSDB_RESULT_PASSWORD_MISMATCH,
- auth_request);
+ sql_request->callback.verify_plain(passdb_result, auth_request);
auth_request_unref(&auth_request);
}
const char *static_password;
const char *static_scheme;
- int ret;
-
result = static_save_fields(request, &static_password, &static_scheme);
if (result != PASSDB_RESULT_OK) {
callback(result, request);
return;
}
- ret = auth_request_password_verify(request, password, static_password,
- static_scheme, AUTH_SUBSYS_DB);
- if (ret <= 0) {
- callback(PASSDB_RESULT_PASSWORD_MISMATCH, request);
- return;
- }
-
- callback(PASSDB_RESULT_OK, request);
+ result = auth_request_password_verify(request, password, static_password,
+ static_scheme, AUTH_SUBSYS_DB);
+ callback(result, request);
}
static void