i_free(client->virtual_user_orig);
i_free(client->virtual_auth_user);
i_free(client->auth_mech_name);
+ i_free(client->last_proxy_auth_failure_reason);
i_free(client->master_data_prefix);
pool_unref(&client->pool);
}
str_printfa(str, "in %u secs", auth_secs);
+ if (client->last_proxy_auth_failure_reason != NULL) {
+ str_printfa(str, ", last failure: %s",
+ str_sanitize(client->last_proxy_auth_failure_reason, 160));
+ }
*human_reason_r = str_c(str);
i_assert(*event_reason_r != NULL);
return TRUE;
unsigned int bad_counter;
unsigned int auth_attempts, auth_successes;
+ char *last_proxy_auth_failure_reason;
enum client_auth_fail_code last_auth_fail;
enum login_proxy_failure_type proxy_last_failure;
pid_t mail_pid;
return TRUE;
}
+ i_free(proxy->client->last_proxy_auth_failure_reason);
+ proxy->client->last_proxy_auth_failure_reason =
+ i_strdup_printf("%s%s", log_prefix, reason);
+
if (type != LOGIN_PROXY_FAILURE_TYPE_AUTH_REPLIED &&
type != LOGIN_PROXY_FAILURE_TYPE_AUTH_NOT_REPLIED &&
type != LOGIN_PROXY_FAILURE_TYPE_AUTH_TEMPFAIL)