annotate src/config/main.c @ 9274:39c2db5f1fcc HEAD

config: If value contains <file, the setting value is read from the given file.
author Timo Sirainen <tss@iki.fi>
date Wed, 13 May 2009 19:51:34 -0400
parents e5303fd61b5c
children 0c587f108916
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
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
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
7 #include "config-connection.h"
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
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
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
10
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
11 #include <stdlib.h>
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
12 #include <unistd.h>
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
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 struct master_service *service;
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
15
9159
6324a79d3ee1 Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents: 9087
diff changeset
16 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
17 {
6324a79d3ee1 Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents: 9087
diff changeset
18 config_connection_create(conn->fd);
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
19 }
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
20
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
21 int main(int argc, char *argv[])
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
22 {
9159
6324a79d3ee1 Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents: 9087
diff changeset
23 int c;
6324a79d3ee1 Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents: 9087
diff changeset
24
6324a79d3ee1 Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents: 9087
diff changeset
25 service = master_service_init("config", 0, argc, argv);
9229
e5303fd61b5c doveconf/config cleanups.
Timo Sirainen <tss@iki.fi>
parents: 9227
diff changeset
26 while ((c = getopt(argc, argv, master_service_getopt_string())) > 0) {
e5303fd61b5c doveconf/config cleanups.
Timo Sirainen <tss@iki.fi>
parents: 9227
diff changeset
27 if (!master_service_parse_option(service, c, optarg))
e5303fd61b5c doveconf/config cleanups.
Timo Sirainen <tss@iki.fi>
parents: 9227
diff changeset
28 exit(FATAL_DEFAULT);
e5303fd61b5c doveconf/config cleanups.
Timo Sirainen <tss@iki.fi>
parents: 9227
diff changeset
29 }
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
30
9229
e5303fd61b5c doveconf/config cleanups.
Timo Sirainen <tss@iki.fi>
parents: 9227
diff changeset
31 master_service_init_log(service, "config: ", 0);
9159
6324a79d3ee1 Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents: 9087
diff changeset
32 master_service_init_finish(service);
9274
39c2db5f1fcc config: If value contains <file, the setting value is read from the given file.
Timo Sirainen <tss@iki.fi>
parents: 9229
diff changeset
33 config_parse_file(master_service_get_config_path(service), TRUE);
9159
6324a79d3ee1 Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents: 9087
diff changeset
34
9227
f155917f1615 Split doveconf and libexec/dovecot/config binaries.
Timo Sirainen <tss@iki.fi>
parents: 9179
diff changeset
35 master_service_run(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
36 config_connections_destroy_all();
6324a79d3ee1 Initial commit for v2.0 master rewrite. Several features are still missing.
Timo Sirainen <tss@iki.fi>
parents: 9087
diff changeset
37 master_service_deinit(&service);
9002
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
38 return 0;
9d0037a997f4 Initial commit for config rewrite.
Timo Sirainen <tss@iki.fi>
parents:
diff changeset
39 }