annotate src/dict/dict-settings.c @ 12432:8793036f6de8

Services' default vsz_limit wasn't actually using default_vsz_limit but rather 4 GB.
author Timo Sirainen <tss@iki.fi>
date Tue, 16 Nov 2010 19:58:03 +0000
parents d41694c931d0
children 447bce266022
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10582
615eef3139c2 Updated copyright notices to include year 2010.
Timo Sirainen <tss@iki.fi>
parents: 10410
diff changeset
1 /* Copyright (c) 2009-2010 Dovecot authors, see the included COPYING file */
9149
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
2
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3 #include "lib.h"
10179
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
4 #include "buffer.h"
9149
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
5 #include "settings-parser.h"
10179
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
6 #include "service-settings.h"
9149
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7 #include "dict-settings.h"
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
8
10179
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
9 /* <settings checks> */
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
10 static struct file_listener_settings dict_unix_listeners_array[] = {
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
11 { "dict", 0600, "", "" }
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
12 };
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
13 static struct file_listener_settings *dict_unix_listeners[] = {
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
14 &dict_unix_listeners_array[0]
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
15 };
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
16 static buffer_t dict_unix_listeners_buf = {
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
17 dict_unix_listeners, sizeof(dict_unix_listeners), { 0, }
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
18 };
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
19 /* </settings checks> */
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
20
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
21 struct service_settings dict_service_settings = {
10410
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
22 .name = "dict",
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
23 .protocol = "",
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
24 .type = "",
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
25 .executable = "dict",
10705
bf84cb98bd04 Added default_internal_user and default_login_user settings, which services use as default users.
Timo Sirainen <tss@iki.fi>
parents: 10582
diff changeset
26 .user = "$default_internal_user",
10410
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
27 .group = "",
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
28 .privileged_group = "",
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
29 .extra_groups = "",
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
30 .chroot = "",
10179
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
31
10410
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
32 .drop_priv_before_exec = FALSE,
10179
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
33
10410
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
34 .process_min_avail = 0,
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
35 .process_limit = 0,
11161
69894aaab23c dict: Changed default client_limit to 1.
Timo Sirainen <tss@iki.fi>
parents: 10705
diff changeset
36 .client_limit = 1,
10410
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
37 .service_count = 0,
11631
d41694c931d0 Added support for per-service idle kill timeout.
Timo Sirainen <tss@iki.fi>
parents: 11161
diff changeset
38 .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: 11631
diff changeset
39 .vsz_limit = (uoff_t)-1,
10179
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
40
10410
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
41 .unix_listeners = { { &dict_unix_listeners_buf,
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
42 sizeof(dict_unix_listeners[0]) } },
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
43 .fifo_listeners = ARRAY_INIT,
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
44 .inet_listeners = ARRAY_INIT
10179
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
45 };
afe52d60989c Moved default service settings from master.conf to source code.
Timo Sirainen <tss@iki.fi>
parents: 10177
diff changeset
46
9149
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
47 #undef DEF
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
48 #define DEF(type, name) \
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
49 { type, #name, offsetof(struct dict_settings, name), NULL }
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
50
10177
d589d568a19d Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents: 10107
diff changeset
51 static const struct setting_define dict_setting_defines[] = {
9545
ee99bb70b05f dict proxy: Use base_dir as the default dict-server location.
Timo Sirainen <tss@iki.fi>
parents: 9405
diff changeset
52 DEF(SET_STR, base_dir),
9149
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
53 DEF(SET_STR, dict_db_config),
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
54 { SET_STRLIST, "dict", offsetof(struct dict_settings, dicts), NULL },
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
55
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
56 SETTING_DEFINE_LIST_END
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
57 };
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
58
10177
d589d568a19d Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents: 10107
diff changeset
59 const struct dict_settings dict_default_settings = {
10410
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
60 .base_dir = PKG_RUNDIR,
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
61 .dict_db_config = "",
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
62 .dicts = ARRAY_INIT
9149
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
63 };
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
64
10177
d589d568a19d Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents: 10107
diff changeset
65 const struct setting_parser_info dict_setting_parser_info = {
10410
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
66 .module_name = "dict",
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
67 .defines = dict_setting_defines,
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
68 .defaults = &dict_default_settings,
9149
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
69
10410
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
70 .type_offset = (size_t)-1,
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
71 .struct_size = sizeof(struct dict_settings),
9149
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
72
10410
b757dab45756 Removed MEMBER() macro. Require C99 style struct initializer.
Timo Sirainen <tss@iki.fi>
parents: 10179
diff changeset
73 .parent_offset = (size_t)-1
9149
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
74 };
6d374fc3ae1d Moved most of the dict settings handling to dict binary.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
75
10177
d589d568a19d Changed all settings related structs to const and changed APIs to make it work.
Timo Sirainen <tss@iki.fi>
parents: 10107
diff changeset
76 const struct dict_settings *dict_settings;