]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imap: Add "mailbox" field to imap command events that use mailboxes
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 21 Nov 2019 13:38:25 +0000 (15:38 +0200)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Mon, 25 Nov 2019 17:49:29 +0000 (19:49 +0200)
src/imap/cmd-append.c
src/imap/cmd-create.c
src/imap/cmd-delete.c
src/imap/cmd-getmetadata.c
src/imap/cmd-resetkey.c
src/imap/cmd-select.c
src/imap/cmd-setmetadata.c
src/imap/cmd-status.c
src/imap/cmd-subscribe.c
src/imap/imap-commands-util.c

index 920fe187e1485cf7ee553527f063b217db653c10..9b9afd4ddfafe4f526a8795960cfa980c5f4e3f1 100644 (file)
@@ -933,6 +933,8 @@ bool cmd_append(struct client_command_context *cmd)
        if (client_open_save_dest_box(cmd, mailbox, &ctx->box) < 0)
                ctx->failed = TRUE;
        else {
+               event_add_str(cmd->event, "mailbox",
+                             mailbox_get_vname(ctx->box));
                ctx->t = mailbox_transaction_begin(ctx->box,
                                        MAILBOX_TRANSACTION_FLAG_EXTERNAL |
                                        MAILBOX_TRANSACTION_FLAG_ASSIGN_UIDS,
index c745fb258728fb85771f9e6061077dd1c4564810..e7805fb089d0ad05ffe5f8fc68b2e986b50bbaf6 100644 (file)
@@ -38,6 +38,7 @@ bool cmd_create(struct client_command_context *cmd)
        }
 
        box = mailbox_alloc(ns->list, mailbox, 0);
+       event_add_str(cmd->event, "mailbox", mailbox_get_vname(box));
        mailbox_set_reason(box, "CREATE");
        if (mailbox_create(box, NULL, directory) < 0)
                client_send_box_error(cmd, box);
index 929b1fe3f445f12d61d8aac250ffbc81f0459812..e6f37262d6d653055a8e46833b7c3d860ac29e34 100644 (file)
@@ -21,6 +21,7 @@ bool cmd_delete(struct client_command_context *cmd)
                return TRUE;
 
        box = mailbox_alloc(ns->list, name, 0);
+       event_add_str(cmd->event, "mailbox", mailbox_get_vname(box));
        mailbox_set_reason(box, "DELETE");
        if (mailbox_is_any_inbox(box)) {
                /* IMAP protocol allows this, but I think it's safer to
index 3a789adee0f6a0d9fec4328d8672b656df2349c9..a24855e86502d17872addc141a27eafd25b8b93d 100644 (file)
@@ -439,6 +439,7 @@ cmd_getmetadata_try_mailbox(struct imap_getmetadata_context *ctx,
                            struct mail_namespace *ns, const char *mailbox)
 {
        ctx->box = mailbox_alloc(ns->list, mailbox, MAILBOX_FLAG_READONLY);
+       event_add_str(ctx->cmd->event, "mailbox", mailbox_get_vname(ctx->box));
        mailbox_set_reason(ctx->box, "GETMETADATA");
        if (mailbox_open(ctx->box) < 0)
                return -1;
index a2e6e79fcd224574a6b095e6cb8bb8363e2e7fa2..3a58ef4a229e749c166c420295876c3dd82528b5 100644 (file)
@@ -49,6 +49,7 @@ cmd_resetkey_mailbox(struct client_command_context *cmd,
 
        /* open mailbox */
        box = mailbox_alloc(ns->list, mailbox, flags);
+       event_add_str(cmd->event, "mailbox", mailbox_get_vname(box));
        mailbox_set_reason(box, "RESETKEY");
        if (mailbox_open(box) < 0) {
                client_send_box_error(cmd, box);
index db7f5ef3acb9b5a33ae3e6fc5cbaaa1963b06ab8..619fa82b57c271155291f7c4dc2454770573882b 100644 (file)
@@ -283,6 +283,7 @@ select_open(struct imap_select_context *ctx, const char *mailbox, bool readonly)
        else
                flags |= MAILBOX_FLAG_DROP_RECENT;
        ctx->box = mailbox_alloc(ctx->ns->list, mailbox, flags);
+       event_add_str(ctx->cmd->event, "mailbox", mailbox_get_vname(ctx->box));
        mailbox_set_reason(ctx->box, readonly ? "EXAMINE" : "SELECT");
        if (mailbox_open(ctx->box) < 0) {
                client_send_box_error(ctx->cmd, ctx->box);
index d5fe3e5ce1507d8e8c6eb40814bd2084f0e17a2e..841507c815433b128958a317995d0fa1fb95082c 100644 (file)
@@ -320,6 +320,7 @@ cmd_setmetadata_mailbox(struct imap_setmetadata_context *ctx,
                        return TRUE;
                }
        }
+       event_add_str(ctx->cmd->event, "mailbox", mailbox_get_vname(ctx->box));
        ctx->trans = imap_metadata_transaction_begin(ctx->box);
        return cmd_setmetadata_start(ctx);
 }
index 20c6f6fb128994e2a72630692208e0f7e9d4748c..d90aef2a3e7923e29fa88cc27a2fbee861e183c5 100644 (file)
@@ -35,6 +35,7 @@ bool cmd_status(struct client_command_context *cmd)
        if (ns == NULL)
                return TRUE;
 
+       event_add_str(cmd->event, "mailbox", mailbox);
        selected_mailbox = client->mailbox != NULL &&
                mailbox_equals(client->mailbox, ns, mailbox);
        if (imap_status_get(cmd, ns, mailbox, &items, &result) < 0) {
index e02856b47f5e76a5884ca86e3dfede221e05a8ae..761b47875ce7efb0c77dc505d7bb07a641230cef 100644 (file)
@@ -49,6 +49,7 @@ bool cmd_subscribe_full(struct client_command_context *cmd, bool subscribe)
                return TRUE;
 
        box = mailbox_alloc(ns->list, mailbox, 0);
+       event_add_str(cmd->event, "mailbox", mailbox_get_vname(box));
        mailbox_set_reason(box, subscribe ? "SUBSCRIBE" : "UNSUBSCRIBE");
        if (subscribe) {
                if (!subscribe_is_valid_name(cmd, box)) {
index 3e6f0827b7a122e5dbb319c95c940b3fc6a4a39a..0a2f3543d22239a5d762a7e72043e92257bfaafb 100644 (file)
@@ -66,9 +66,11 @@ client_find_namespace(struct client_command_context *cmd, const char **mailbox)
 
 bool client_verify_open_mailbox(struct client_command_context *cmd)
 {
-       if (cmd->client->mailbox != NULL)
+       if (cmd->client->mailbox != NULL) {
+               event_add_str(cmd->event, "mailbox",
+                             mailbox_get_vname(cmd->client->mailbox));
                return TRUE;
-       else {
+       else {
                client_send_tagline(cmd, "BAD No mailbox selected.");
                return FALSE;
        }