]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm-server: Fixed loading doveadm plugins that use doveadm_dump_register()
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 16 Dec 2015 13:25:22 +0000 (15:25 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 16 Dec 2015 13:25:22 +0000 (15:25 +0200)
src/doveadm/Makefile.am
src/doveadm/main.c

index b3936d6ddf8dd93f0df66c73d83a4fed075e312d..ab51e0f8e4b285d50bf32b116380376865bf00e5 100644 (file)
@@ -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) \
index cc8679ade562336170343cf87ff593305715b035..917a2286402443ccb100d6ca713959e76e1e1f83 100644 (file)
@@ -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();