From: Timo Sirainen Date: Wed, 16 Dec 2015 13:25:22 +0000 (+0200) Subject: doveadm-server: Fixed loading doveadm plugins that use doveadm_dump_register() X-Git-Tag: 2.2.22.rc1~400 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c6be98b5270900746f35ebe28bd636019976e29e;p=thirdparty%2Fdovecot%2Fcore.git doveadm-server: Fixed loading doveadm plugins that use doveadm_dump_register() --- diff --git a/src/doveadm/Makefile.am b/src/doveadm/Makefile.am index b3936d6ddf..ab51e0f8e4 100644 --- a/src/doveadm/Makefile.am +++ b/src/doveadm/Makefile.am @@ -97,9 +97,22 @@ doveadm_common_mail_cmds = \ doveadm-mail-search.c \ doveadm-mail-server.c +# these aren't actually useful in doveadm-server, but plugins may implement +# both dumping and some other commands inside a single plugin. not having the +# dump functions in doveadm-server fails to load such plugins. +doveadm_common_dump_cmds = \ + doveadm-dump.c \ + doveadm-dump-dbox.c \ + doveadm-dump-index.c \ + doveadm-dump-log.c \ + doveadm-dump-mailboxlog.c \ + doveadm-dump-thread.c \ + doveadm-zlib.c + common = \ $(doveadm_common_cmds) \ $(doveadm_common_mail_cmds) \ + $(doveadm_common_dump_cmds) \ doveadm-cmd.c \ doveadm-print.c \ doveadm-settings.c \ @@ -109,18 +122,11 @@ common = \ doveadm_SOURCES = \ $(common) \ doveadm.c \ - doveadm-dump.c \ - doveadm-dump-dbox.c \ - doveadm-dump-index.c \ - doveadm-dump-log.c \ - doveadm-dump-mailboxlog.c \ - doveadm-dump-thread.c \ doveadm-print-flow.c \ doveadm-print-pager.c \ doveadm-print-tab.c \ doveadm-print-table.c \ - doveadm-pw.c \ - doveadm-zlib.c + doveadm-pw.c doveadm_server_SOURCES = \ $(common) \ diff --git a/src/doveadm/main.c b/src/doveadm/main.c index cc8679ade5..917a228640 100644 --- a/src/doveadm/main.c +++ b/src/doveadm/main.c @@ -7,6 +7,7 @@ #include "settings-parser.h" #include "client-connection.h" #include "doveadm-settings.h" +#include "doveadm-dump.h" #include "doveadm-mail.h" #include "doveadm-print-private.h" #include "doveadm-server.h" @@ -57,6 +58,7 @@ static void main_init(void) pool_datastack_create()); doveadm_cmds_init(); + doveadm_dump_init(); doveadm_mail_init(); doveadm_load_modules(); doveadm_print_init(DOVEADM_PRINT_TYPE_SERVER); @@ -67,6 +69,7 @@ static void main_deinit(void) if (doveadm_client != NULL) client_connection_destroy(&doveadm_client); doveadm_mail_deinit(); + doveadm_dump_deinit(); doveadm_unload_modules(); doveadm_print_deinit(); doveadm_cmds_deinit();