annotate src/replication/aggregator/aggregator-settings.c @ 17397:f373df52082a

treewide - mass cleanup of 0 used to end a settings list This also includes a change to the perl script which generates the all-settings.c file. Signed-off-by: Phil Carmody <phil@dovecot.fi>
author Phil Carmody <phil@dovecot.fi>
date Tue, 27 May 2014 21:17:34 +0300
parents add8c00fb3cc
children 3009a1a6f6d5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17130
add8c00fb3cc Updated copyright notices to include year 2014.
Timo Sirainen <tss@iki.fi>
parents: 15715
diff changeset
1 /* Copyright (c) 2013-2014 Dovecot authors, see the included COPYING file */
14261
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
2
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
3 #include "lib.h"
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
4 #include "buffer.h"
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
5 #include "settings-parser.h"
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
6 #include "service-settings.h"
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7 #include "aggregator-settings.h"
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
8
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
9 /* <settings checks> */
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
10 static struct file_listener_settings aggregator_unix_listeners_array[] = {
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
11 { "replication-notify", 0600, "", "" }
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
12 };
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
13 static struct file_listener_settings *aggregator_unix_listeners[] = {
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
14 &aggregator_unix_listeners_array[0]
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
15 };
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
16 static buffer_t aggregator_unix_listeners_buf = {
17397
f373df52082a treewide - mass cleanup of 0 used to end a settings list
Phil Carmody <phil@dovecot.fi>
parents: 17130
diff changeset
17 aggregator_unix_listeners, sizeof(aggregator_unix_listeners), { NULL, }
14261
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
18 };
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
19
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
20 static struct file_listener_settings aggregator_fifo_listeners_array[] = {
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
21 { "replication-notify-fifo", 0600, "", "" }
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
22 };
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
23 static struct file_listener_settings *aggregator_fifo_listeners[] = {
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
24 &aggregator_fifo_listeners_array[0]
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
25 };
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
26 static buffer_t aggregator_fifo_listeners_buf = {
17397
f373df52082a treewide - mass cleanup of 0 used to end a settings list
Phil Carmody <phil@dovecot.fi>
parents: 17130
diff changeset
27 aggregator_fifo_listeners, sizeof(aggregator_fifo_listeners), { NULL, }
14261
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
28 };
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
29 /* </settings checks> */
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
30
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
31 struct service_settings aggregator_service_settings = {
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
32 .name = "aggregator",
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
33 .protocol = "",
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
34 .type = "",
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
35 .executable = "aggregator",
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
36 .user = "$default_internal_user",
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
37 .group = "",
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
38 .privileged_group = "",
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
39 .extra_groups = "",
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
40 .chroot = ".",
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
41
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
42 .drop_priv_before_exec = FALSE,
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
43
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
44 .process_min_avail = 0,
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
45 .process_limit = 0,
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
46 .client_limit = 0,
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
47 .service_count = 0,
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
48 .idle_kill = 0,
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
49 .vsz_limit = (uoff_t)-1,
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
50
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
51 .unix_listeners = { { &aggregator_unix_listeners_buf,
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
52 sizeof(aggregator_unix_listeners[0]) } },
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
53 .fifo_listeners = { { &aggregator_fifo_listeners_buf,
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
54 sizeof(aggregator_fifo_listeners[0]) } },
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
55 .inet_listeners = ARRAY_INIT
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
56 };
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
57
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
58 #undef DEF
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
59 #define DEF(type, name) \
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
60 { type, #name, offsetof(struct aggregator_settings, name), NULL }
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
61
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
62 static const struct setting_define aggregator_setting_defines[] = {
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
63 DEF(SET_STR, replicator_host),
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
64 DEF(SET_UINT, replicator_port),
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
65
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
66 SETTING_DEFINE_LIST_END
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
67 };
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
68
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
69 const struct aggregator_settings aggregator_default_settings = {
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
70 .replicator_host = "replicator",
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
71 .replicator_port = 0
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
72 };
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
73
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
74 const struct setting_parser_info aggregator_setting_parser_info = {
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
75 .module_name = "aggregator",
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
76 .defines = aggregator_setting_defines,
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
77 .defaults = &aggregator_default_settings,
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
78
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
79 .type_offset = (size_t)-1,
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
80 .struct_size = sizeof(struct aggregator_settings),
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
81
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
82 .parent_offset = (size_t)-1
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
83 };
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
84
14ff849dc266 Initial implementation of dsync-based replication.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
85 const struct aggregator_settings *aggregator_settings;