changeset 14909:f12f2f2f7459

quota-status: Load plugins after all. They may be needed for user initialization to work (e.g. virtual plugin) or maybe even for quota itself to work (external quota backend plugin).
author Timo Sirainen <tss@iki.fi>
date Wed, 20 Feb 2013 16:58:45 +0200
parents 980be1dc80c2
children 20ea109b30a7
files src/plugins/quota/Makefile.am src/plugins/quota/quota-status.c
diffstat 2 files changed, 9 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/plugins/quota/Makefile.am	Tue Feb 19 17:36:59 2013 +0200
+++ b/src/plugins/quota/Makefile.am	Wed Feb 20 16:58:45 2013 +0200
@@ -53,8 +53,16 @@
 quota_status_SOURCES = \
 	quota-status.c
 
+if !BUILD_SHARED_LIBS
+unused_objects = \
+	../../lib/mountpoint.o \
+	../../lib-imap/imap-util.o \
+	../../lib-storage/mail-search-parser-imap.o
+endif
+
 quota_status_LDADD = \
 	$(quota_common_objects) \
+	$(unused_objects) \
 	$(LIBDOVECOT_STORAGE) \
 	$(LIBDOVECOT) \
 	$(MODULE_LIBS)
--- a/src/plugins/quota/quota-status.c	Tue Feb 19 17:36:59 2013 +0200
+++ b/src/plugins/quota/quota-status.c	Wed Feb 20 16:58:45 2013 +0200
@@ -1,7 +1,6 @@
 /* Copyright (c) 2013 Dovecot authors, see the included COPYING file */
 
 #include "lib.h"
-#include "module-dir.h"
 #include "ostream.h"
 #include "connection.h"
 #include "restrict-access.h"
@@ -28,11 +27,6 @@
 static struct mail_storage_service_ctx *storage_service;
 static struct connection_list *clients;
 
-static struct module quota_module = {
-	.path = "quota",
-	.name = "quota"
-};
-
 static void client_connected(struct master_service_connection *conn)
 {
 	struct quota_client *client;
@@ -168,15 +162,12 @@
 		MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP |
 		MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP |
 		MAIL_STORAGE_SERVICE_FLAG_ENABLE_CORE_DUMPS |
-		MAIL_STORAGE_SERVICE_FLAG_NO_CHDIR |
-		MAIL_STORAGE_SERVICE_FLAG_NO_PLUGINS);
-	quota_plugin_init(&quota_module);
+		MAIL_STORAGE_SERVICE_FLAG_NO_CHDIR);
 }
 
 static void main_deinit(void)
 {
 	connection_list_deinit(&clients);
-	quota_plugin_deinit();
 	mail_storage_service_deinit(&storage_service);
 }