{
struct client *client = backend->client;
- client_default_backend_started(client, caps);
+ if (backend == client->backend_default)
+ client_default_backend_started(client, caps);
}
void submission_backends_client_input_pre(struct client *client)
}
}
+static void
+client_create_backend_default(struct client *client,
+ const struct submission_settings *set)
+{
+ client_proxy_create(client, set);
+ client->backend_default = &client->backend.backend;
+}
+
static void client_init_urlauth(struct client *client)
{
static const char *access_apps[] = { "submit+", NULL };
fd_in, fd_out, user->conn.remote_ip, user->conn.remote_port,
FALSE, &smtp_set, &smtp_callbacks, client);
- client_proxy_create(client, set);
+ client_create_backend_default(client, set);
smtp_server_connection_login(client->conn,
client->user->username, helo,
enum smtp_capability backend_capabilities;
struct submission_backend_relay backend;
+ struct submission_backend *backend_default;
struct submission_backend *backends;
unsigned int backends_count;