smtp_client_connection_uncork(backend->conn);
}
-uoff_t client_proxy_get_max_mail_size(struct client *client)
+static uoff_t
+backend_relay_get_max_mail_size(struct submission_backend *_backend)
{
- struct submission_backend_relay *backend = &client->backend;
+ struct submission_backend_relay *backend =
+ (struct submission_backend_relay *)_backend;
return smtp_client_connection_get_size_capability(backend->conn);
}
.client_input_pre = backend_relay_client_input_pre,
.client_input_post = backend_relay_client_input_post,
+ .get_max_mail_size = backend_relay_get_max_mail_size,
+
.cmd_helo = backend_relay_cmd_helo,
.cmd_mail = backend_relay_cmd_mail,
max_size = client->set->submission_max_mail_size;
if (max_size == 0)
max_size = UOFF_T_MAX;
- limit = client_proxy_get_max_mail_size(client);
- if (limit > SUBMISSION_MAX_ADDITIONAL_MAIL_SIZE) {
- limit -= SUBMISSION_MAX_ADDITIONAL_MAIL_SIZE;
- if (limit < max_size)
- max_size = limit;
- }
for (backend = client->backends; backend != NULL;
backend = backend->next) {
limit = submission_backend_get_max_mail_size(backend);