smtp_client_transaction_rcpt_update_event(
struct smtp_client_transaction_rcpt *rcpt)
{
- struct smtp_client_connection *conn = rcpt->trans->conn;
const char *to = smtp_address_encode(rcpt->rcpt_to);
event_set_append_log_prefix(rcpt->event,
t_strdup_printf("rcpt <%s>: ", to));
event_add_str(rcpt->event, "rcpt_to", to);
- smtp_params_rcpt_add_to_event(&rcpt->rcpt_params, conn->caps.standard,
- rcpt->event);
+ smtp_params_rcpt_add_to_event(&rcpt->rcpt_params, rcpt->event);
}
static struct smtp_client_transaction_rcpt *
smtp_client_transaction_mail_cb(const struct smtp_reply *reply,
struct smtp_client_transaction *trans)
{
- struct smtp_client_connection *conn = trans->conn;
struct smtp_client_transaction_mail *mail = trans->mail_head;
bool success = smtp_reply_is_success(reply);
event_add_str(trans->event, "mail_from",
smtp_address_encode(mail->mail_from));
smtp_params_mail_add_to_event(&mail->mail_params,
- conn->caps.standard,
trans->event);
}
event_add_str(trans->event, "mail_from",
smtp_address_encode(mail->mail_from));
smtp_params_mail_add_to_event(&mail->mail_params,
- conn->caps.standard,
trans->event);
struct event_passthrough *e =
static void
smtp_params_mail_add_auth_to_event(const struct smtp_params_mail *params,
- enum smtp_capability caps,
struct event *event)
{
/* AUTH: RFC 4954 */
- if ((caps & SMTP_CAPABILITY_AUTH) == 0)
- return;
if (params->auth == NULL)
return;
static void
smtp_params_mail_add_body_to_event(const struct smtp_params_mail *params,
- enum smtp_capability caps,
struct event *event)
{
/* BODY: RFC 6152 */
event_add_str(event, "mail_param_body", "7BIT");
break;
case SMTP_PARAM_MAIL_BODY_TYPE_8BITMIME:
- i_assert((caps & SMTP_CAPABILITY_8BITMIME) != 0);
event_add_str(event, "mail_param_body", "8BITMIME");
break;
case SMTP_PARAM_MAIL_BODY_TYPE_BINARYMIME:
- i_assert((caps & SMTP_CAPABILITY_BINARYMIME) != 0 &&
- (caps & SMTP_CAPABILITY_CHUNKING) != 0);
event_add_str(event, "mail_param_body", "BINARYMIME");
break;
case SMTP_PARAM_MAIL_BODY_TYPE_EXTENSION:
static void
smtp_params_mail_add_envid_to_event(const struct smtp_params_mail *params,
- enum smtp_capability caps,
struct event *event)
{
/* ENVID: RFC 3461, Section 4.4 */
- if ((caps & SMTP_CAPABILITY_DSN) == 0)
- return;
if (params->envid == NULL)
return;
static void
smtp_params_mail_add_ret_to_event(const struct smtp_params_mail *params,
- enum smtp_capability caps,
struct event *event)
{
/* RET: RFC 3461, Section 4.3 */
- if ((caps & SMTP_CAPABILITY_DSN) == 0)
- return;
switch (params->ret) {
case SMTP_PARAM_MAIL_RET_UNSPECIFIED:
break;
static void
smtp_params_mail_add_size_to_event(const struct smtp_params_mail *params,
- enum smtp_capability caps,
struct event *event)
{
/* SIZE: RFC 1870 */
- if ((caps & SMTP_CAPABILITY_SIZE) == 0)
- return;
if (params->size == 0)
return;
}
void smtp_params_mail_add_to_event(const struct smtp_params_mail *params,
- enum smtp_capability caps,
struct event *event)
{
- smtp_params_mail_add_auth_to_event(params, caps, event);
- smtp_params_mail_add_body_to_event(params, caps, event);
- smtp_params_mail_add_envid_to_event(params, caps, event);
- smtp_params_mail_add_ret_to_event(params, caps, event);
- smtp_params_mail_add_size_to_event(params, caps, event);
+ smtp_params_mail_add_auth_to_event(params, event);
+ smtp_params_mail_add_body_to_event(params, event);
+ smtp_params_mail_add_envid_to_event(params, event);
+ smtp_params_mail_add_ret_to_event(params, event);
+ smtp_params_mail_add_size_to_event(params, event);
}
/*
static void
smtp_params_rcpt_add_notify_to_event(const struct smtp_params_rcpt *params,
- enum smtp_capability caps,
struct event *event)
{
/* NOTIFY: RFC 3461, Section 4.1 */
- if ((caps & SMTP_CAPABILITY_DSN) == 0)
- return;
if (params->notify == SMTP_PARAM_RCPT_NOTIFY_UNSPECIFIED)
return;
if ((params->notify & SMTP_PARAM_RCPT_NOTIFY_NEVER) != 0) {
static void
smtp_params_rcpt_add_orcpt_to_event(const struct smtp_params_rcpt *params,
- enum smtp_capability caps,
struct event *event)
{
/* ORCPT: RFC 3461, Section 4.2 */
if (params->orcpt.addr_type == NULL)
return;
- if ((caps & SMTP_CAPABILITY_DSN) == 0 &&
- (caps & SMTP_CAPABILITY__ORCPT) == 0)
- return;
event_add_str(event, "rcpt_param_orcpt_type",
params->orcpt.addr_type);
}
void smtp_params_rcpt_add_to_event(const struct smtp_params_rcpt *params,
- enum smtp_capability caps,
struct event *event)
{
- smtp_params_rcpt_add_notify_to_event(params, caps, event);
- smtp_params_rcpt_add_orcpt_to_event(params, caps, event);
+ smtp_params_rcpt_add_notify_to_event(params, event);
+ smtp_params_rcpt_add_orcpt_to_event(params, event);
}