# HG changeset patch # User Timo Sirainen # Date 1450272322 -7200 # Node ID 05ba8c869fb7319f3b8c48c3d9d9153f9aeaf82a # Parent 7de67ada80b3bcb74d91e6b1f08ea3543717865c doveadm-server: Fixed loading doveadm plugins that use doveadm_dump_register() diff -r 7de67ada80b3 -r 05ba8c869fb7 src/doveadm/Makefile.am --- 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) \ diff -r 7de67ada80b3 -r 05ba8c869fb7 src/doveadm/main.c --- 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();