va_end(args);
}
-bool smtp_client_connection_send_xclient(struct smtp_client_connection *conn,
+void smtp_client_connection_send_xclient(struct smtp_client_connection *conn,
struct smtp_proxy_data *xclient)
{
const char **xclient_args = conn->caps.xclient_args;
string_t *str;
if (!conn->set.peer_trusted)
- return TRUE;
+ return;
if ((conn->caps.standard & SMTP_CAPABILITY_XCLIENT) == 0 ||
conn->caps.xclient_args == NULL)
- return TRUE;
+ return;
i_assert(conn->xclient_replies_expected == 0);
/* final XCLIENT command */
if (str_len(str) > offset)
smtp_client_connection_xclient_submit(conn, str_c(str));
-
- return (conn->xclient_replies_expected == 0);
}
static bool
{
if (!conn->initial_xclient_sent) {
conn->initial_xclient_sent = TRUE;
- if (!smtp_client_connection_send_xclient(conn,
- &conn->set.proxy_data))
+ smtp_client_connection_send_xclient(conn, &conn->set.proxy_data);
+ if (conn->xclient_replies_expected > 0)
return FALSE;
}
void smtp_client_connection_connect(struct smtp_client_connection *conn,
smtp_client_command_callback_t login_callback, void *login_context);
void smtp_client_connection_disconnect(struct smtp_client_connection *conn);
-bool smtp_client_connection_send_xclient(struct smtp_client_connection *conn,
+void smtp_client_connection_send_xclient(struct smtp_client_connection *conn,
struct smtp_proxy_data *xclient);
void smtp_client_connection_switch_ioloop(struct smtp_client_connection *conn);
proxy_data.proto = (data->helo.old_smtp ?
SMTP_PROXY_PROTOCOL_SMTP : SMTP_PROXY_PROTOCOL_ESMTP);
- (void)smtp_client_connection_send_xclient(backend->conn, &proxy_data);
+ smtp_client_connection_send_xclient(backend->conn, &proxy_data);
backend->xclient_sent = TRUE;
}
proxy_data.helo = helo_data->domain;
proxy_data.proto = SMTP_PROXY_PROTOCOL_ESMTP;
- (void)smtp_client_connection_send_xclient(backend->conn, &proxy_data);
+ smtp_client_connection_send_xclient(backend->conn, &proxy_data);
backend->xclient_sent = TRUE;
}