imap_client->proxy_rcvd_state = IMAP_PROXY_RCVD_STATE_LOGIN;
line += 2;
- if (client->set->auth_verbose) {
- const char *log_line = line;
-
- if (strncasecmp(log_line, "NO ", 3) == 0)
- log_line += 3;
- client_proxy_log_failure(client, log_line);
- }
+ const char *log_line = line;
+ if (strncasecmp(log_line, "NO ", 3) == 0)
+ log_line += 3;
#define STR_NO_IMAP_RESP_CODE_AUTHFAILED "NO ["IMAP_RESP_CODE_AUTHFAILED"]"
if (str_begins(line, STR_NO_IMAP_RESP_CODE_AUTHFAILED)) {
/* the remote sent a generic "authentication failed"
login_proxy_failed(client->login_proxy,
login_proxy_get_event(client->login_proxy),
- LOGIN_PROXY_FAILURE_TYPE_AUTH, NULL);
+ LOGIN_PROXY_FAILURE_TYPE_AUTH, log_line);
return -1;
} else if (strncasecmp(line, "* CAPABILITY ", 13) == 0) {
i_free(imap_client->proxy_backend_capability);
i_unreached();
}
- if (reason != NULL)
+ if (type != LOGIN_PROXY_FAILURE_TYPE_AUTH)
e_error(event, "%s%s", log_prefix, reason);
+ else if (proxy->client->set->auth_verbose)
+ client_proxy_log_failure(proxy->client, reason);
proxy->failure_callback(proxy->client, type, reason, FALSE);
}
client_send_raw(client, t_strconcat(line, "\r\n", NULL));
}
- if (client->set->auth_verbose) {
- if (str_begins(line, "-ERR "))
- line += 5;
- client_proxy_log_failure(client, line);
- }
+ if (str_begins(line, "-ERR "))
+ line += 5;
login_proxy_failed(client->login_proxy,
login_proxy_get_event(client->login_proxy),
- LOGIN_PROXY_FAILURE_TYPE_AUTH, NULL);
+ LOGIN_PROXY_FAILURE_TYPE_AUTH, line);
return -1;
}
smtp_server_reply_submit(subm_client->proxy_reply);
subm_client->pending_auth = NULL;
- if (client->set->auth_verbose) {
- client_proxy_log_failure(client, text);
- }
login_proxy_failed(client->login_proxy,
login_proxy_get_event(client->login_proxy),
- LOGIN_PROXY_FAILURE_TYPE_AUTH, NULL);
+ LOGIN_PROXY_FAILURE_TYPE_AUTH, text);
return -1;
}