submission-backend-relay.c (dovecot-2.3.16) | : | submission-backend-relay.c (dovecot-2.3.17) | ||
---|---|---|---|---|
skipping to change at line 1060 | skipping to change at line 1060 | |||
struct mail_user *user = client->user; | struct mail_user *user = client->user; | |||
struct ssl_iostream_settings ssl_set; | struct ssl_iostream_settings ssl_set; | |||
struct smtp_client_settings smtp_set; | struct smtp_client_settings smtp_set; | |||
pool_t pool; | pool_t pool; | |||
pool = pool_alloconly_create("submission relay backend", 1024); | pool = pool_alloconly_create("submission relay backend", 1024); | |||
backend = p_new(pool, struct submission_backend_relay, 1); | backend = p_new(pool, struct submission_backend_relay, 1); | |||
submission_backend_init(&backend->backend, pool, client, | submission_backend_init(&backend->backend, pool, client, | |||
&backend_relay_vfuncs); | &backend_relay_vfuncs); | |||
i_zero(&ssl_set); | ||||
mail_user_init_ssl_client_settings(user, &ssl_set); | mail_user_init_ssl_client_settings(user, &ssl_set); | |||
if (set->ssl_verify) | if (set->ssl_verify) | |||
ssl_set.verbose_invalid_cert = TRUE; | ssl_set.verbose_invalid_cert = TRUE; | |||
else | else | |||
ssl_set.allow_invalid_cert = TRUE; | ssl_set.allow_invalid_cert = TRUE; | |||
/* make relay connection */ | /* make relay connection */ | |||
i_zero(&smtp_set); | i_zero(&smtp_set); | |||
smtp_set.my_hostname = set->my_hostname; | smtp_set.my_hostname = set->my_hostname; | |||
smtp_set.extra_capabilities = set->extra_capabilities; | smtp_set.extra_capabilities = set->extra_capabilities; | |||
smtp_set.ssl = &ssl_set; | smtp_set.ssl = &ssl_set; | |||
smtp_set.debug = user->mail_debug; | smtp_set.debug = user->mail_debug; | |||
if (set->rawlog_dir != NULL) { | if (set->rawlog_dir != NULL) { | |||
smtp_set.rawlog_dir = | smtp_set.rawlog_dir = | |||
mail_user_home_expand(user, set->rawlog_dir); | mail_user_home_expand(user, set->rawlog_dir); | |||
} | } | |||
if (set->trusted) { | if (set->trusted) { | |||
struct smtp_server_helo_data *helo_data = | ||||
smtp_server_connection_get_helo_data(client->conn); | ||||
backend->trusted = TRUE; | backend->trusted = TRUE; | |||
smtp_set.peer_trusted = TRUE; | smtp_set.peer_trusted = TRUE; | |||
smtp_set.proxy_data.helo = helo_data->domain; | smtp_server_connection_get_proxy_data(client->conn, | |||
smtp_set.proxy_data.proto = SMTP_PROXY_PROTOCOL_ESMTP; | &smtp_set.proxy_data); | |||
if (user->conn.remote_ip != NULL) { | if (user->conn.remote_ip != NULL) { | |||
smtp_set.proxy_data.source_ip = | smtp_set.proxy_data.source_ip = | |||
*user->conn.remote_ip; | *user->conn.remote_ip; | |||
smtp_set.proxy_data.source_port = | smtp_set.proxy_data.source_port = | |||
user->conn.remote_port; | user->conn.remote_port; | |||
} | } | |||
smtp_set.proxy_data.login = user->username; | smtp_set.proxy_data.login = user->username; | |||
smtp_set.xclient_defer = TRUE; | smtp_set.xclient_defer = TRUE; | |||
} | } | |||
End of changes. 3 change blocks. | ||||
6 lines changed or deleted | 2 lines changed or added |