From: Timo Sirainen Date: Fri, 21 Apr 2017 10:27:18 +0000 (+0300) Subject: imap: Add imap_client_vfuncs.send_tagline() X-Git-Tag: 2.2.30.rc1~104 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3d235c3e6d99a57da26524822ebba4d4d87b24f5;p=thirdparty%2Fdovecot%2Fcore.git imap: Add imap_client_vfuncs.send_tagline() This allows plugins to catch all the IMAP command replies. --- diff --git a/src/imap/imap-client.c b/src/imap/imap-client.c index c9e890351c..51d3d71657 100644 --- a/src/imap/imap-client.c +++ b/src/imap/imap-client.c @@ -575,6 +575,12 @@ client_cmd_append_timing_stats(struct client_command_context *cmd, } void client_send_tagline(struct client_command_context *cmd, const char *data) +{ + cmd->client->v.send_tagline(cmd, data); +} + +static void +client_default_send_tagline(struct client_command_context *cmd, const char *data) { struct client *client = cmd->client; const char *tag = cmd->tag; @@ -1409,5 +1415,6 @@ void clients_destroy_all(struct mail_storage_service_ctx *storage_service) struct imap_client_vfuncs imap_client_vfuncs = { imap_state_export_base, imap_state_import_base, - client_default_destroy + client_default_destroy, + client_default_send_tagline, }; diff --git a/src/imap/imap-client.h b/src/imap/imap-client.h index e97998f7c0..4dce90e4bc 100644 --- a/src/imap/imap-client.h +++ b/src/imap/imap-client.h @@ -130,6 +130,9 @@ struct imap_client_vfuncs { const unsigned char *data, size_t size, const char **error_r); void (*destroy)(struct client *client, const char *reason); + + void (*send_tagline)(struct client_command_context *cmd, + const char *data); }; struct client {