Mercurial > dovecot > core-2.2
annotate src/doveadm/doveadm-settings.c @ 19035:aabfe48db1cf
Changed type of internet port values to in_port_t everywhere.
Created special SET_IN_PORT setting type for internet port values.
Created net_str2port() for parsing internet port values.
Removed several atoi() invocations in the process.
author | Stephan Bosch <stephan@rename-it.nl> |
---|---|
date | Sat, 29 Aug 2015 14:26:30 +0300 |
parents | 3bf5df6f63b2 |
children | 0f22db71df7a |
rev | line source |
---|---|
18137 | 1 /* Copyright (c) 2010-2015 Dovecot authors, see the included COPYING file */ |
10859 | 2 |
3 #include "lib.h" | |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
4 #include "buffer.h" |
10859 | 5 #include "settings-parser.h" |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
6 #include "service-settings.h" |
11401
d7b9712d1dfc
doveadm: Added config dependency to mail_user settings.
Timo Sirainen <tss@iki.fi>
parents:
11395
diff
changeset
|
7 #include "mail-storage-settings.h" |
10859 | 8 #include "doveadm-settings.h" |
9 | |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
10 static bool doveadm_settings_check(void *_set, pool_t pool, const char **error_r); |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
11 |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
12 /* <settings checks> */ |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
13 static struct file_listener_settings doveadm_unix_listeners_array[] = { |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
14 { "doveadm-server", 0600, "", "" } |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
15 }; |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
16 static struct file_listener_settings *doveadm_unix_listeners[] = { |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
17 &doveadm_unix_listeners_array[0] |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
18 }; |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
19 static buffer_t doveadm_unix_listeners_buf = { |
17397
f373df52082a
treewide - mass cleanup of 0 used to end a settings list
Phil Carmody <phil@dovecot.fi>
parents:
17173
diff
changeset
|
20 doveadm_unix_listeners, sizeof(doveadm_unix_listeners), { NULL, } |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
21 }; |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
22 /* </settings checks> */ |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
23 |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
24 struct service_settings doveadm_service_settings = { |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
25 .name = "doveadm", |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
26 .protocol = "", |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
27 .type = "", |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
28 .executable = "doveadm-server", |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
29 .user = "", |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
30 .group = "", |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
31 .privileged_group = "", |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
32 .extra_groups = "", |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
33 .chroot = "", |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
34 |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
35 .drop_priv_before_exec = FALSE, |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
36 |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
37 .process_min_avail = 0, |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
38 .process_limit = 0, |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
39 .client_limit = 1, |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
40 .service_count = 1, |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
41 .idle_kill = 0, |
12432
8793036f6de8
Services' default vsz_limit wasn't actually using default_vsz_limit but rather 4 GB.
Timo Sirainen <tss@iki.fi>
parents:
11897
diff
changeset
|
42 .vsz_limit = (uoff_t)-1, |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
43 |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
44 .unix_listeners = { { &doveadm_unix_listeners_buf, |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
45 sizeof(doveadm_unix_listeners[0]) } }, |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
46 .fifo_listeners = ARRAY_INIT, |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
47 .inet_listeners = ARRAY_INIT |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
48 }; |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
49 |
10859 | 50 #undef DEF |
51 #define DEF(type, name) \ | |
52 { type, #name, offsetof(struct doveadm_settings, name), NULL } | |
53 | |
54 static const struct setting_define doveadm_setting_defines[] = { | |
11357
43a5acc09eb8
doveadm: Look up sockets from base_dir rather than hardcoded PKG_RUNDIR.
Timo Sirainen <tss@iki.fi>
parents:
10859
diff
changeset
|
55 DEF(SET_STR, base_dir), |
15124
cb3f49b649bf
doveadm: Added exec command to easily execute commands from libexec_dir.
Timo Sirainen <tss@iki.fi>
parents:
14257
diff
changeset
|
56 DEF(SET_STR, libexec_dir), |
10859 | 57 DEF(SET_STR, mail_plugins), |
58 DEF(SET_STR, mail_plugin_dir), | |
16981
c41700c4a9bb
doveadm auth/user: Fixes to auth_socket_path handling.
Timo Sirainen <tss@iki.fi>
parents:
16232
diff
changeset
|
59 DEF(SET_STR, auth_socket_path), |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
60 DEF(SET_STR, doveadm_socket_path), |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
61 DEF(SET_UINT, doveadm_worker_count), |
19035
aabfe48db1cf
Changed type of internet port values to in_port_t everywhere.
Stephan Bosch <stephan@rename-it.nl>
parents:
18897
diff
changeset
|
62 DEF(SET_IN_PORT, doveadm_port), |
15921
75d76f1b884d
doveadm: Renamed doveadm_proxy_port setting to doveadm_port.
Timo Sirainen <tss@iki.fi>
parents:
15715
diff
changeset
|
63 { SET_ALIAS, "doveadm_proxy_port", 0, NULL }, |
18897
3bf5df6f63b2
doveadm: Added doveadm_username to specify the username for authentication.
Timo Sirainen <tss@iki.fi>
parents:
18137
diff
changeset
|
64 DEF(SET_STR, doveadm_username), |
13036
6604f80abb02
doveadm: Added simple PLAIN authentication for remote connections.
Timo Sirainen <tss@iki.fi>
parents:
13035
diff
changeset
|
65 DEF(SET_STR, doveadm_password), |
13039
c67ba5bf1ba9
doveadm: Added doveadm_allowed_commands setting, which is used by doveadm server.
Timo Sirainen <tss@iki.fi>
parents:
13036
diff
changeset
|
66 DEF(SET_STR, doveadm_allowed_commands), |
13875
4c827134997f
Merged dsync into "doveadm dsync".
Timo Sirainen <tss@iki.fi>
parents:
13039
diff
changeset
|
67 DEF(SET_STR, dsync_alt_char), |
14251
69ed88beb12f
dsync: Added dsync_remote_cmd setting, which is used to execute remote dsync.
Timo Sirainen <tss@iki.fi>
parents:
14133
diff
changeset
|
68 DEF(SET_STR, dsync_remote_cmd), |
16229
d09aa718221f
Moved lib-fs/fs-test to "doveadm fs" command.
Timo Sirainen <tss@iki.fi>
parents:
16224
diff
changeset
|
69 DEF(SET_STR, ssl_client_ca_dir), |
16232
f0c997709b4d
Added ssl_client_ca_file to specify the CA certs as a file instead of as a dir.
Timo Sirainen <tss@iki.fi>
parents:
16229
diff
changeset
|
70 DEF(SET_STR, ssl_client_ca_file), |
17173
b697a214e122
doveadm director move/map: Use director_username_hash setting for calculating hashes.
Timo Sirainen <tss@iki.fi>
parents:
17130
diff
changeset
|
71 DEF(SET_STR, director_username_hash), |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
72 |
11395
07c9d1115029
doveadm: mail commands can now be extended more easily by plugins.
Timo Sirainen <tss@iki.fi>
parents:
11357
diff
changeset
|
73 { SET_STRLIST, "plugin", offsetof(struct doveadm_settings, plugin_envs), NULL }, |
10859 | 74 |
75 SETTING_DEFINE_LIST_END | |
76 }; | |
77 | |
78 const struct doveadm_settings doveadm_default_settings = { | |
11357
43a5acc09eb8
doveadm: Look up sockets from base_dir rather than hardcoded PKG_RUNDIR.
Timo Sirainen <tss@iki.fi>
parents:
10859
diff
changeset
|
79 .base_dir = PKG_RUNDIR, |
15124
cb3f49b649bf
doveadm: Added exec command to easily execute commands from libexec_dir.
Timo Sirainen <tss@iki.fi>
parents:
14257
diff
changeset
|
80 .libexec_dir = PKG_LIBEXECDIR, |
10859 | 81 .mail_plugins = "", |
11395
07c9d1115029
doveadm: mail commands can now be extended more easily by plugins.
Timo Sirainen <tss@iki.fi>
parents:
11357
diff
changeset
|
82 .mail_plugin_dir = MODULEDIR, |
16981
c41700c4a9bb
doveadm auth/user: Fixes to auth_socket_path handling.
Timo Sirainen <tss@iki.fi>
parents:
16232
diff
changeset
|
83 .auth_socket_path = "auth-userdb", |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
84 .doveadm_socket_path = "doveadm-server", |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
85 .doveadm_worker_count = 0, |
15921
75d76f1b884d
doveadm: Renamed doveadm_proxy_port setting to doveadm_port.
Timo Sirainen <tss@iki.fi>
parents:
15715
diff
changeset
|
86 .doveadm_port = 0, |
18897
3bf5df6f63b2
doveadm: Added doveadm_username to specify the username for authentication.
Timo Sirainen <tss@iki.fi>
parents:
18137
diff
changeset
|
87 .doveadm_username = "doveadm", |
13036
6604f80abb02
doveadm: Added simple PLAIN authentication for remote connections.
Timo Sirainen <tss@iki.fi>
parents:
13035
diff
changeset
|
88 .doveadm_password = "", |
13039
c67ba5bf1ba9
doveadm: Added doveadm_allowed_commands setting, which is used by doveadm server.
Timo Sirainen <tss@iki.fi>
parents:
13036
diff
changeset
|
89 .doveadm_allowed_commands = "", |
13875
4c827134997f
Merged dsync into "doveadm dsync".
Timo Sirainen <tss@iki.fi>
parents:
13039
diff
changeset
|
90 .dsync_alt_char = "_", |
16224
8b13ef2e9569
dsync: Fixed -U to send the notification on the remote server, not local.
Timo Sirainen <tss@iki.fi>
parents:
16039
diff
changeset
|
91 .dsync_remote_cmd = "ssh -l%{login} %{host} doveadm dsync-server -u%u -U", |
16229
d09aa718221f
Moved lib-fs/fs-test to "doveadm fs" command.
Timo Sirainen <tss@iki.fi>
parents:
16224
diff
changeset
|
92 .ssl_client_ca_dir = "", |
16232
f0c997709b4d
Added ssl_client_ca_file to specify the CA certs as a file instead of as a dir.
Timo Sirainen <tss@iki.fi>
parents:
16229
diff
changeset
|
93 .ssl_client_ca_file = "", |
17173
b697a214e122
doveadm director move/map: Use director_username_hash setting for calculating hashes.
Timo Sirainen <tss@iki.fi>
parents:
17130
diff
changeset
|
94 .director_username_hash = "%Lu", |
11395
07c9d1115029
doveadm: mail commands can now be extended more easily by plugins.
Timo Sirainen <tss@iki.fi>
parents:
11357
diff
changeset
|
95 |
07c9d1115029
doveadm: mail commands can now be extended more easily by plugins.
Timo Sirainen <tss@iki.fi>
parents:
11357
diff
changeset
|
96 .plugin_envs = ARRAY_INIT |
10859 | 97 }; |
98 | |
11401
d7b9712d1dfc
doveadm: Added config dependency to mail_user settings.
Timo Sirainen <tss@iki.fi>
parents:
11395
diff
changeset
|
99 static const struct setting_parser_info *doveadm_setting_dependencies[] = { |
d7b9712d1dfc
doveadm: Added config dependency to mail_user settings.
Timo Sirainen <tss@iki.fi>
parents:
11395
diff
changeset
|
100 &mail_user_setting_parser_info, |
d7b9712d1dfc
doveadm: Added config dependency to mail_user settings.
Timo Sirainen <tss@iki.fi>
parents:
11395
diff
changeset
|
101 NULL |
d7b9712d1dfc
doveadm: Added config dependency to mail_user settings.
Timo Sirainen <tss@iki.fi>
parents:
11395
diff
changeset
|
102 }; |
d7b9712d1dfc
doveadm: Added config dependency to mail_user settings.
Timo Sirainen <tss@iki.fi>
parents:
11395
diff
changeset
|
103 |
10859 | 104 const struct setting_parser_info doveadm_setting_parser_info = { |
105 .module_name = "doveadm", | |
106 .defines = doveadm_setting_defines, | |
107 .defaults = &doveadm_default_settings, | |
108 | |
109 .type_offset = (size_t)-1, | |
110 .struct_size = sizeof(struct doveadm_settings), | |
111 | |
11401
d7b9712d1dfc
doveadm: Added config dependency to mail_user settings.
Timo Sirainen <tss@iki.fi>
parents:
11395
diff
changeset
|
112 .parent_offset = (size_t)-1, |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
113 .check_func = doveadm_settings_check, |
11401
d7b9712d1dfc
doveadm: Added config dependency to mail_user settings.
Timo Sirainen <tss@iki.fi>
parents:
11395
diff
changeset
|
114 .dependencies = doveadm_setting_dependencies |
10859 | 115 }; |
116 | |
12467
66428c763354
doveadm: Moved -s parameter among -u/-A parameters, since it's only used by mail commands.
Timo Sirainen <tss@iki.fi>
parents:
12432
diff
changeset
|
117 struct doveadm_settings *doveadm_settings; |
14950
543852ebb327
Made PKG_STATEDIR configurable with state_dir setting.
Timo Sirainen <tss@iki.fi>
parents:
14584
diff
changeset
|
118 const struct master_service_settings *service_set; |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
119 |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
120 static void |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
121 fix_base_path(struct doveadm_settings *set, pool_t pool, const char **str) |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
122 { |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
123 if (*str != NULL && **str != '\0' && **str != '/') |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
124 *str = p_strconcat(pool, set->base_dir, "/", *str, NULL); |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
125 } |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
126 |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
127 /* <settings checks> */ |
14584
b2076acc3715
Initial version of dsync rewrite.
Timo Sirainen <tss@iki.fi>
parents:
14257
diff
changeset
|
128 static bool doveadm_settings_check(void *_set, pool_t pool ATTR_UNUSED, |
b2076acc3715
Initial version of dsync rewrite.
Timo Sirainen <tss@iki.fi>
parents:
14257
diff
changeset
|
129 const char **error_r) |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
130 { |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
131 struct doveadm_settings *set = _set; |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
132 |
14584
b2076acc3715
Initial version of dsync rewrite.
Timo Sirainen <tss@iki.fi>
parents:
14257
diff
changeset
|
133 #ifndef CONFIG_BINARY |
16981
c41700c4a9bb
doveadm auth/user: Fixes to auth_socket_path handling.
Timo Sirainen <tss@iki.fi>
parents:
16232
diff
changeset
|
134 fix_base_path(set, pool, &set->auth_socket_path); |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
135 fix_base_path(set, pool, &set->doveadm_socket_path); |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
136 #endif |
14584
b2076acc3715
Initial version of dsync rewrite.
Timo Sirainen <tss@iki.fi>
parents:
14257
diff
changeset
|
137 if (*set->dsync_alt_char == '\0') { |
b2076acc3715
Initial version of dsync rewrite.
Timo Sirainen <tss@iki.fi>
parents:
14257
diff
changeset
|
138 *error_r = "dsync_alt_char must not be empty"; |
b2076acc3715
Initial version of dsync rewrite.
Timo Sirainen <tss@iki.fi>
parents:
14257
diff
changeset
|
139 return FALSE; |
b2076acc3715
Initial version of dsync rewrite.
Timo Sirainen <tss@iki.fi>
parents:
14257
diff
changeset
|
140 } |
11897
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
141 return TRUE; |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
142 } |
b60e225386bf
doveadm: Added client/server architecture support for running mail commands.
Timo Sirainen <tss@iki.fi>
parents:
11401
diff
changeset
|
143 /* </settings checks> */ |