Mercurial > dovecot > core-2.3
changeset 26330:17a5d0c88f2f
lda: Add support for event API.
author | Stephan Bosch <stephan.bosch@dovecot.fi> |
---|---|
date | Mon, 04 Mar 2019 01:12:55 +0100 |
parents | 949e2dcbce55 |
children | ba43cccd88e5 |
files | src/lda/main.c |
diffstat | 1 files changed, 21 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lda/main.c Mon Mar 04 01:08:21 2019 +0100 +++ b/src/lda/main.c Mon Mar 04 01:12:55 2019 +0100 @@ -39,6 +39,10 @@ where to read the mail. */ #define MAIL_MAX_MEMORY_BUFFER (1024*128) +struct event_category event_category_lda = { + .name = "lda", +}; + static const char *wanted_headers[] = { "From", "To", "Message-ID", "Subject", "Return-Path", NULL @@ -360,6 +364,7 @@ struct mail_storage_service_ctx *storage_service; struct mail_storage_service_user *service_user; struct mail_storage_service_input service_input; + struct event *event; const char *user_source = "", *rcpt_to_source = ""; uid_t process_euid; bool stderr_rejection = FALSE; @@ -391,6 +396,9 @@ MASTER_SERVICE_FLAG_NO_INIT_DATASTACK_FRAME, &argc, &argv, "a:d:ef:m:p:r:"); + event = event_create(NULL); + event_add_category(event, &event_category_lda); + i_zero(&dinput); dinput.session = mail_deliver_session_init(); dinput.rcpt_default_mailbox = "INBOX"; @@ -506,6 +514,17 @@ dinput.mail_from = mail_from; dinput.rcpt_to = final_rcpt_to; + event_add_str(event, "user", user); + if (mail_from != NULL) { + event_add_str(event, "mail_from", + smtp_address_encode(mail_from)); + } + if (final_rcpt_to != NULL) { + event_add_str(event, "rcpt_to", + smtp_address_encode(final_rcpt_to)); + } + dinput.event_parent = event; + i_zero(&service_input); service_input.module = "lda"; service_input.service = "lda"; @@ -553,6 +572,8 @@ mail_deliver_session_deinit(&dinput.session); mail_storage_service_deinit(&storage_service); + + event_unref(&event); master_service_deinit(&master_service); return ret; }