1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
| | Subject: [PATCH] Use static path for moduledir.
Patch was taken from NixOS repo. Make dovecot look for plugins in
/etc/dovecot/modules so we can symlink plugins from several packages
there.
The rational behind the patch can be found here:
https://dovecot.org/pipermail/dovecot/2013-April/089931.html
---
src/auth/main.c | 4 ++--
src/config/config-parser.c | 2 +-
src/config/config-parser.h | 2 +-
src/dict/main.c | 2 +-
src/doveadm/doveadm-util.c | 4 ++--
src/lib-fs/fs-api.c | 2 +-
src/lib-ssl-iostream/iostream-ssl.c | 4 ++--
src/lib-storage/mail-storage-settings.c | 2 +-
9 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/src/auth/main.c b/src/auth/main.c
index 2dbf9e176..b1e778ab7 100644
--- a/src/auth/main.c
+++ b/src/auth/main.c
@@ -192,7 +192,7 @@ static void main_preinit(void)
mod_set.debug = global_auth_settings->debug;
mod_set.filter_callback = auth_module_filter;
- modules = module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set);
+ modules = module_dir_load("/etc/dovecot/modules/auth", NULL, &mod_set);
module_dir_init(modules);
if (!worker)
@@ -223,7 +223,7 @@ void auth_module_load(const char *names)
mod_set.debug = global_auth_settings->debug;
mod_set.ignore_missing = TRUE;
- modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, names,
+ modules = module_dir_load_missing(modules, "/etc/dovecot/modules/auth", names,
&mod_set);
module_dir_init(modules);
}
diff --git a/src/config/config-parser.c b/src/config/config-parser.c
index 6894123ea..07e9fecb4 100644
--- a/src/config/config-parser.c
+++ b/src/config/config-parser.c
@@ -1077,7 +1077,7 @@ void config_parse_load_modules(void)
i_zero(&mod_set);
mod_set.abi_version = DOVECOT_ABI_VERSION;
- modules = module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set);
+ modules = module_dir_load("/etc/dovecot/modules/settings", NULL, &mod_set);
module_dir_init(modules);
i_array_init(&new_roots, 64);
diff --git a/src/config/config-parser.h b/src/config/config-parser.h
index e0a0a5bea..32bd76804 100644
--- a/src/config/config-parser.h
+++ b/src/config/config-parser.h
@@ -1,7 +1,7 @@
#ifndef CONFIG_PARSER_H
#define CONFIG_PARSER_H
-#define CONFIG_MODULE_DIR MODULEDIR"/settings"
+#define CONFIG_MODULE_DIR "/etc/dovecot/modules/settings"
#define IS_WHITE(c) ((c) == ' ' || (c) == '\t')
diff --git a/src/dict/main.c b/src/dict/main.c
index 722ed025f..4ed12ae5e 100644
--- a/src/dict/main.c
+++ b/src/dict/main.c
@@ -104,7 +104,7 @@ static void main_init(void)
mod_set.abi_version = DOVECOT_ABI_VERSION;
mod_set.require_init_funcs = TRUE;
- modules = module_dir_load(DICT_MODULE_DIR, NULL, &mod_set);
+ modules = module_dir_load("/etc/dovecot/modules/dict", NULL, &mod_set);
module_dir_init(modules);
/* Register only after loading modules. They may contain SQL drivers,
diff --git a/src/doveadm/doveadm-util.c b/src/doveadm/doveadm-util.c
index a65ef7f72..c19eba06c 100644
--- a/src/doveadm/doveadm-util.c
+++ b/src/doveadm/doveadm-util.c
@@ -33,7 +33,7 @@ void doveadm_load_modules(void)
mod_set.debug = doveadm_debug;
mod_set.ignore_dlopen_errors = TRUE;
- modules = module_dir_load_missing(modules, DOVEADM_MODULEDIR,
+ modules = module_dir_load_missing(modules, "/etc/dovecot/modules/doveadm",
NULL, &mod_set);
module_dir_init(modules);
}
@@ -58,7 +58,7 @@ bool doveadm_has_unloaded_plugin(const char *name)
return FALSE;
}
- dir = opendir(DOVEADM_MODULEDIR);
+ dir = opendir("/etc/dovecot/modules/doveadm");
if (dir == NULL)
return FALSE;
diff --git a/src/lib-fs/fs-api.c b/src/lib-fs/fs-api.c
index a939f612d..846cf86e6 100644
--- a/src/lib-fs/fs-api.c
+++ b/src/lib-fs/fs-api.c
@@ -114,7 +114,7 @@ static void fs_class_try_load_plugin(const char *driver)
mod_set.abi_version = DOVECOT_ABI_VERSION;
mod_set.ignore_missing = TRUE;
- fs_modules = module_dir_load_missing(fs_modules, MODULE_DIR,
+ fs_modules = module_dir_load_missing(fs_modules, "/etc/dovecot/modules",
module_name, &mod_set);
module_dir_init(fs_modules);
diff --git a/src/lib-ssl-iostream/iostream-ssl.c b/src/lib-ssl-iostream/iostream-ssl.c
index f62c80d37..900ab46c4 100644
--- a/src/lib-ssl-iostream/iostream-ssl.c
+++ b/src/lib-ssl-iostream/iostream-ssl.c
@@ -54,8 +54,8 @@ int ssl_module_load(const char **error_r)
mod_set.abi_version = DOVECOT_ABI_VERSION;
mod_set.setting_name = "<built-in lib-ssl-iostream lookup>";
mod_set.require_init_funcs = TRUE;
- ssl_module = module_dir_load(MODULE_DIR, plugin_name, &mod_set);
- if (module_dir_try_load_missing(&ssl_module, MODULE_DIR, plugin_name,
+ ssl_module = module_dir_load("/etc/dovecot/modules", plugin_name, &mod_set);
+ if (module_dir_try_load_missing(&ssl_module, "/etc/dovecot/modules", plugin_name,
&mod_set, error_r) < 0)
return -1;
module_dir_init(ssl_module);
diff --git a/src/lib-storage/mail-storage-settings.c b/src/lib-storage/mail-storage-settings.c
index b314b529c..705509456 100644
--- a/src/lib-storage/mail-storage-settings.c
+++ b/src/lib-storage/mail-storage-settings.c
@@ -337,7 +337,7 @@ static const struct mail_user_settings mail_user_default_settings = {
.last_valid_gid = 0,
.mail_plugins = "",
- .mail_plugin_dir = MODULEDIR,
+ .mail_plugin_dir = "/etc/dovecot/modules",
.mail_log_prefix = "%s(%u)<%{pid}><%{session}>: ",
--
2.27.0
|