Skip to content

Commit

Permalink
doveadm-server: Fixed loading doveadm plugins that use doveadm_dump_r…
Browse files Browse the repository at this point in the history
…egister()
  • Loading branch information
sirainen committed Dec 16, 2015
1 parent 879dfd4 commit c6be98b
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
22 changes: 14 additions & 8 deletions src/doveadm/Makefile.am
Expand Up @@ -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 \
Expand All @@ -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) \
Expand Down
3 changes: 3 additions & 0 deletions src/doveadm/main.c
Expand Up @@ -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"
Expand Down Expand Up @@ -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);
Expand All @@ -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();
Expand Down

0 comments on commit c6be98b

Please sign in to comment.