dovecot-1.2: expire-tool: Load plugins from mail_plugins setting.
dovecot at dovecot.org
dovecot at dovecot.org
Mon Jun 1 02:59:51 EEST 2009
details: http://hg.dovecot.org/dovecot-1.2/rev/6fd725b94504
changeset: 9101:6fd725b94504
user: Timo Sirainen <tss at iki.fi>
date: Sun May 31 19:59:47 2009 -0400
description:
expire-tool: Load plugins from mail_plugins setting.
diffstat:
2 files changed, 21 insertions(+), 2 deletions(-)
src/plugins/expire/Makefile.am | 6 ++++--
src/plugins/expire/expire-tool.c | 17 +++++++++++++++++
diffs (64 lines):
diff -r f144ef760714 -r 6fd725b94504 src/plugins/expire/Makefile.am
--- a/src/plugins/expire/Makefile.am Sun May 31 19:48:46 2009 -0400
+++ b/src/plugins/expire/Makefile.am Sun May 31 19:59:47 2009 -0400
@@ -9,7 +9,8 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src/lib-index \
-I$(top_srcdir)/src/lib-storage \
-I$(top_srcdir)/src/lib-storage/index \
- -DPKG_RUNDIR=\""$(rundir)"\"
+ -DPKG_RUNDIR=\""$(rundir)"\" \
+ -DMODULEDIR=\""$(moduledir)"\"
lib20_expire_plugin_la_LDFLAGS = -module -avoid-version
@@ -37,7 +38,8 @@ libs = \
expire_tool_LDADD = \
$(libs) \
- $(LIBICONV)
+ $(LIBICONV) \
+ $(MODULE_LIBS)
expire_tool_DEPENDENCIES = $(libs)
diff -r f144ef760714 -r 6fd725b94504 src/plugins/expire/expire-tool.c
--- a/src/plugins/expire/expire-tool.c Sun May 31 19:48:46 2009 -0400
+++ b/src/plugins/expire/expire-tool.c Sun May 31 19:59:47 2009 -0400
@@ -6,6 +6,7 @@
#include "file-lock.h"
#include "randgen.h"
#include "lib-signals.h"
+#include "module-dir.h"
#include "dict.h"
#include "mail-index.h"
#include "mail-search-build.h"
@@ -37,6 +38,7 @@ uid_t global_mail_uid;
uid_t global_mail_uid;
gid_t global_mail_gid;
static struct env_backup *env_backup;
+static struct module *modules;
static int user_init(struct expire_context *ctx, const char *user)
{
@@ -230,6 +232,21 @@ static void expire_run(bool testrun)
const char *userp, *mailbox;
int ret;
+ if (getenv("MAIL_PLUGINS") == NULL)
+ modules = NULL;
+ else {
+ const char *plugin_dir = getenv("MAIL_PLUGIN_DIR");
+ const char *version;
+
+ if (plugin_dir == NULL)
+ plugin_dir = MODULEDIR"/lda";
+
+ version = getenv("VERSION_IGNORE") != NULL ?
+ NULL : PACKAGE_VERSION;
+ modules = module_dir_load(plugin_dir, getenv("MAIL_PLUGINS"),
+ TRUE, version);
+ }
+
dict_drivers_register_builtin();
mail_users_init(getenv("AUTH_SOCKET_PATH"), getenv("DEBUG") != NULL);
mail_storage_init();
More information about the dovecot-cvs
mailing list