Mercurial > dovecot > core-2.2
changeset 19520:05ba8c869fb7
doveadm-server: Fixed loading doveadm plugins that use doveadm_dump_register()
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Wed, 16 Dec 2015 15:25:22 +0200 |
parents | 7de67ada80b3 |
children | 9cdee0911f4f |
files | src/doveadm/Makefile.am src/doveadm/main.c |
diffstat | 2 files changed, 17 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/doveadm/Makefile.am Wed Dec 16 15:06:52 2015 +0200 +++ b/src/doveadm/Makefile.am Wed Dec 16 15:25:22 2015 +0200 @@ -97,9 +97,22 @@ 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 @@ 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) \
--- a/src/doveadm/main.c Wed Dec 16 15:06:52 2015 +0200 +++ b/src/doveadm/main.c Wed Dec 16 15:25:22 2015 +0200 @@ -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 @@ 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 @@ if (doveadm_client != NULL) client_connection_destroy(&doveadm_client); doveadm_mail_deinit(); + doveadm_dump_deinit(); doveadm_unload_modules(); doveadm_print_deinit(); doveadm_cmds_deinit();