return ret;
}
+enum passdb_result auth_request_password_missing(struct auth_request *request)
+{
+ e_info(authdb_event(request),
+ "No password returned (and no nopassword)");
+ return PASSDB_RESULT_PASSWORD_MISMATCH;
+}
+
void auth_request_get_log_prefix(string_t *str, struct auth_request *auth_request,
const char *subsystem)
{
const char *crypted_password,
const char *scheme, const char *subsystem,
bool log_password_mismatch);
+enum passdb_result auth_request_password_missing(struct auth_request *request);
void auth_request_get_log_prefix(string_t *str, struct auth_request *auth_request,
const char *subsystem);
if (auth_request->passdb_password == NULL &&
!auth_fields_exists(auth_request->extra_fields, "nopassword")) {
- e_info(authdb_event(auth_request),
- "No password returned (and no nopassword)");
- return PASSDB_RESULT_PASSWORD_MISMATCH;
+ return auth_request_password_missing(auth_request);
} else {
return PASSDB_RESULT_OK;
}
} else if (auth_request->passdb_password == NULL &&
ldap_request->require_password &&
!auth_fields_exists(auth_request->extra_fields, "nopassword")) {
- e_info(authdb_event(auth_request),
- "No password returned (and no nopassword)");
- passdb_result = PASSDB_RESULT_PASSWORD_MISMATCH;
+ passdb_result = auth_request_password_missing(auth_request);
} else {
/* passdb_password may change on the way,
so we'll need to strdup. */
/* skip next bit */
} else if (!auth_fields_exists(request->extra_fields, "nopassword")) {
if (*password_r == NULL || **password_r == '\0') {
- e_info(authdb_event(request),
- "No password returned (and no nopassword)");
- result = PASSDB_RESULT_PASSWORD_MISMATCH;
+ result = auth_request_password_missing(request);
} else {
if (*scheme_r == NULL)
*scheme_r = request->passdb->passdb->default_pass_scheme;
"Password query returned multiple matches");
} else if (auth_request->passdb_password == NULL &&
!auth_fields_exists(auth_request->extra_fields, "nopassword")) {
- e_info(authdb_event(auth_request),
- "Empty password returned without nopassword");
- passdb_result = PASSDB_RESULT_PASSWORD_MISMATCH;
+ passdb_result = auth_request_password_missing(auth_request);
} else {
/* passdb_password may change on the way,
so we'll need to strdup. */
} else if (auth_fields_exists(request->extra_fields, "nopassword")) {
*password_r = "";
} else {
- e_info(authdb_event(request),
- "No password returned (and no nopassword)");
- return PASSDB_RESULT_PASSWORD_MISMATCH;
+ return auth_request_password_missing(request);
}
*scheme_r = password_get_scheme(password_r);