Mercurial > dovecot > core-2.2
annotate src/config/main.c @ 9842:e95135898a3c HEAD
Split dovecot-example.conf to multiple files. Also it's now installed under docdir.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 31 Aug 2009 16:35:43 -0400 |
parents | d7ccdbb58a03 |
children | 8ad868df4649 |
rev | line source |
---|---|
9013
8b616cc6d848
Added dovecof --exec and made deliver use it instead of forking.
Timo Sirainen <tss@iki.fi>
parents:
9002
diff
changeset
|
1 /* Copyright (C) 2005-2009 Dovecot authors, see the included COPYING file */ |
9002 | 2 |
9179
f8460b27db00
doveconf: With -p only protocol-specific settings are returned. -n and -a return human-readable output.
Timo Sirainen <tss@iki.fi>
parents:
9159
diff
changeset
|
3 #include "lib.h" |
9087
81ff88345441
Some cleanups to the config parsing code.
Timo Sirainen <tss@iki.fi>
parents:
9014
diff
changeset
|
4 #include "array.h" |
9013
8b616cc6d848
Added dovecof --exec and made deliver use it instead of forking.
Timo Sirainen <tss@iki.fi>
parents:
9002
diff
changeset
|
5 #include "env-util.h" |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9087
diff
changeset
|
6 #include "master-service.h" |
9002 | 7 #include "config-connection.h" |
8 #include "config-parser.h" | |
9179
f8460b27db00
doveconf: With -p only protocol-specific settings are returned. -n and -a return human-readable output.
Timo Sirainen <tss@iki.fi>
parents:
9159
diff
changeset
|
9 #include "config-request.h" |
9002 | 10 |
11 #include <stdlib.h> | |
12 #include <unistd.h> | |
13 | |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9087
diff
changeset
|
14 static void client_connected(const struct master_service_connection *conn) |
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9087
diff
changeset
|
15 { |
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9087
diff
changeset
|
16 config_connection_create(conn->fd); |
9002 | 17 } |
18 | |
19 int main(int argc, char *argv[]) | |
20 { | |
9793
d7ccdbb58a03
config: If master module requests configuration, reread it before replying.
Timo Sirainen <tss@iki.fi>
parents:
9348
diff
changeset
|
21 const char *path, *error; |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9087
diff
changeset
|
22 int c; |
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9087
diff
changeset
|
23 |
9348
0c587f108916
lib-master has now a global master_service variable that all binaries use.
Timo Sirainen <tss@iki.fi>
parents:
9274
diff
changeset
|
24 master_service = master_service_init("config", 0, argc, argv); |
9229 | 25 while ((c = getopt(argc, argv, master_service_getopt_string())) > 0) { |
9348
0c587f108916
lib-master has now a global master_service variable that all binaries use.
Timo Sirainen <tss@iki.fi>
parents:
9274
diff
changeset
|
26 if (!master_service_parse_option(master_service, c, optarg)) |
9229 | 27 exit(FATAL_DEFAULT); |
28 } | |
9002 | 29 |
9348
0c587f108916
lib-master has now a global master_service variable that all binaries use.
Timo Sirainen <tss@iki.fi>
parents:
9274
diff
changeset
|
30 master_service_init_log(master_service, "config: ", 0); |
0c587f108916
lib-master has now a global master_service variable that all binaries use.
Timo Sirainen <tss@iki.fi>
parents:
9274
diff
changeset
|
31 master_service_init_finish(master_service); |
9793
d7ccdbb58a03
config: If master module requests configuration, reread it before replying.
Timo Sirainen <tss@iki.fi>
parents:
9348
diff
changeset
|
32 |
d7ccdbb58a03
config: If master module requests configuration, reread it before replying.
Timo Sirainen <tss@iki.fi>
parents:
9348
diff
changeset
|
33 path = master_service_get_config_path(master_service); |
9842
e95135898a3c
Split dovecot-example.conf to multiple files. Also it's now installed under docdir.
Timo Sirainen <tss@iki.fi>
parents:
9793
diff
changeset
|
34 if (config_parse_file(path, TRUE, &error) <= 0) |
9793
d7ccdbb58a03
config: If master module requests configuration, reread it before replying.
Timo Sirainen <tss@iki.fi>
parents:
9348
diff
changeset
|
35 i_fatal("%s", error); |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9087
diff
changeset
|
36 |
9348
0c587f108916
lib-master has now a global master_service variable that all binaries use.
Timo Sirainen <tss@iki.fi>
parents:
9274
diff
changeset
|
37 master_service_run(master_service, client_connected); |
9159
6324a79d3ee1
Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents:
9087
diff
changeset
|
38 config_connections_destroy_all(); |
9348
0c587f108916
lib-master has now a global master_service variable that all binaries use.
Timo Sirainen <tss@iki.fi>
parents:
9274
diff
changeset
|
39 master_service_deinit(&master_service); |
9002 | 40 return 0; |
41 } |