Mercurial > dovecot > core-2.2
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 |
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; |