It's no longer necessary to know what settings the process will use.
&argc, &argv, "");
if (master_getopt(master_service) > 0)
return FATAL_DEFAULT;
- if (master_service_settings_read_simple(master_service,
- NULL, &error) < 0)
+ if (master_service_settings_read_simple(master_service, &error) < 0)
i_fatal("%s", error);
master_service_init_log(master_service);
auth_settings_read(const char *service,
struct master_service_settings_output *output_r)
{
- static const struct setting_parser_info *set_roots[] = {
- &auth_setting_parser_info,
- NULL
- };
struct master_service_settings_input input;
const char *error;
i_zero(&input);
- input.roots = set_roots;
input.service = service;
input.disable_check_settings = TRUE;
if (master_service_settings_read(master_service, &input,
int main(int argc, char *argv[])
{
const enum master_service_flags service_flags = 0;
- const struct setting_parser_info *set_roots[] = {
- &dict_setting_parser_info,
- NULL
- };
const char *error;
master_service = master_service_init("dict-expire", service_flags,
return FATAL_DEFAULT;
const struct master_service_settings_input set_input = {
- .roots = set_roots,
.disable_check_settings = TRUE,
};
struct master_service_settings_output output;
int main(int argc, char *argv[])
{
const enum master_service_flags service_flags = 0;
- const struct setting_parser_info *set_roots[] = {
- &dict_setting_parser_info,
- NULL
- };
const char *error;
master_service = master_service_init("dict", service_flags,
return FATAL_DEFAULT;
const struct master_service_settings_input set_input = {
- .roots = set_roots,
.disable_check_settings = TRUE,
};
struct master_service_settings_output output;
static int client_connection_read_settings(struct client_connection *conn)
{
- const struct setting_parser_info *set_roots[] = {
- &doveadm_setting_parser_info,
- NULL
- };
struct master_service_settings_input input;
struct master_service_settings_output output;
const char *error;
i_zero(&input);
- input.roots = set_roots;
input.service = "doveadm";
input.local_ip = conn->local_ip;
input.remote_ip = conn->remote_ip;
void doveadm_read_settings(void)
{
- static const struct setting_parser_info *set_roots[] = {
- &master_service_ssl_setting_parser_info,
- &doveadm_setting_parser_info,
- NULL
- };
struct master_service_settings_input input;
struct master_service_settings_output output;
const char *error;
i_zero(&input);
- input.roots = set_roots;
input.service = "doveadm";
input.preserve_user = TRUE;
input.preserve_home = TRUE;
}
}
- if (master_service_settings_read_simple(master_service, NULL, &error) < 0)
+ if (master_service_settings_read_simple(master_service, &error) < 0)
i_fatal("%s", error);
master_service_init_log(master_service);
static void imap_login_preinit(void)
{
- login_set_roots = imap_login_setting_roots;
}
static const struct imap_login_command imap_login_commands[] = {
.pool_offset1 = 1 + offsetof(struct imap_login_settings, pool),
.dependencies = imap_login_setting_dependencies
};
-
-const struct setting_parser_info *imap_login_setting_roots[] = {
- &login_setting_parser_info,
- &imap_login_setting_parser_info,
- NULL
-};
bool imap_id_retain;
};
-extern const struct setting_parser_info *imap_login_setting_roots[];
extern const struct setting_parser_info imap_login_setting_parser_info;
#endif
imap_urlauth_login_SOURCES = \
imap-urlauth-login.c \
imap-urlauth-login-settings.c
-
-noinst_HEADERS = \
- imap-urlauth-login-settings.h
#include "settings-parser.h"
#include "service-settings.h"
#include "login-settings.h"
-#include "imap-urlauth-login-settings.h"
#include <stddef.h>
.dependencies = imap_urlauth_login_setting_dependencies
};
-
-const struct setting_parser_info *imap_urlauth_login_setting_roots[] = {
- &login_setting_parser_info,
- &imap_urlauth_login_setting_parser_info,
- NULL
-};
+++ /dev/null
-#ifndef IMAP_URLAUTH_LOGIN_SETTINGS_H
-#define IMAP_URLAUTH_LOGIN_SETTINGS_H
-
-extern const struct setting_parser_info *imap_urlauth_login_setting_roots[];
-
-#endif
#include "master-service.h"
#include "auth-client.h"
#include "client-common.h"
-#include "imap-urlauth-login-settings.h"
#define IMAP_URLAUTH_PROTOCOL_MAJOR_VERSION 2
#define IMAP_URLAUTH_PROTOCOL_MINOR_VERSION 0
static void imap_urlauth_login_preinit(void)
{
- login_set_roots = imap_urlauth_login_setting_roots;
}
static void imap_urlauth_login_init(void)
int main(int argc, char *argv[])
{
- static const struct setting_parser_info *set_roots[] = {
- &imap_urlauth_setting_parser_info,
- NULL
- };
struct login_server_settings login_set;
struct master_service_settings_input input;
struct master_service_settings_output output;
master_service_init_log(master_service);
i_zero(&input);
- input.roots = set_roots;
input.service = "imap-urlauth";
input.disable_check_settings = TRUE;
if (master_service_settings_read(master_service, &input, &output,
if (master_getopt(master_service) > 0)
return FATAL_DEFAULT;
- if (master_service_settings_read_simple(master_service, NULL,
- &error) < 0)
+ if (master_service_settings_read_simple(master_service, &error) < 0)
i_fatal("%s", error);
set = master_service_get_service_settings(master_service);
}
int master_service_settings_read_simple(struct master_service *service,
- const struct setting_parser_info **roots,
const char **error_r)
{
struct master_service_settings_input input;
struct master_service_settings_output output;
i_zero(&input);
- input.roots = roots;
return master_service_settings_read(service, &input, &output, error_r);
}
};
struct master_service_settings_input {
- const struct setting_parser_info *const *roots;
const char *config_path;
bool preserve_environment;
bool preserve_user;
struct master_service_settings_output *output_r,
const char **error_r);
int master_service_settings_read_simple(struct master_service *service,
- const struct setting_parser_info **roots,
- const char **error_r) ATTR_NULL(2);
+ const char **error_r);
const struct master_service_settings *
master_service_get_service_settings(struct master_service *service);
mail_storage_service_add_storage_set_roots(ctx);
i_zero(&set_input);
- set_input.roots = mail_storage_service_get_set_roots(ctx);
set_input.preserve_user = TRUE;
/* settings reader may exec doveconf, which is going to clear
environment, and if we're not doing a userdb lookup we want to
if (master_getopt(master_service) > 0)
return FATAL_DEFAULT;
- if (master_service_settings_read_simple(master_service,
- NULL, &error) < 0)
+ if (master_service_settings_read_simple(master_service, &error) < 0)
i_fatal("%s", error);
master_service_init_log_with_prefix(master_service, global_log_prefix);
.check_func = login_settings_check
};
-static const struct setting_parser_info *default_login_set_roots[] = {
- &login_setting_parser_info,
- NULL
-};
-
-const struct setting_parser_info **login_set_roots = default_login_set_roots;
-
/* <settings checks> */
static bool login_settings_check(void *_set, pool_t pool,
const char **error_r)
struct master_service_settings_output output;
i_zero(&input);
- input.roots = login_set_roots;
input.service = login_binary->protocol;
input.local_name = local_name;
input.disable_check_settings = TRUE;
char *const *log_format_elements_split;
};
-extern const struct setting_parser_info **login_set_roots;
extern const struct setting_parser_info login_setting_parser_info;
int login_settings_read(const struct ip_addr *local_ip,
static failure_callback_t *orig_fatal_callback;
static failure_callback_t *orig_error_callback;
-static const struct setting_parser_info *set_roots[] = {
- &master_setting_parser_info,
- NULL
-};
-
void process_exec(const char *cmd)
{
const char *executable, *p, **argv;
}
i_zero(&input);
- input.roots = set_roots;
input.config_path = services_get_config_socket_path(services);
input.never_exec = TRUE;
input.reload_config = TRUE;
const char *error;
i_zero(&input);
- input.roots = set_roots;
input.preserve_environment = TRUE;
input.always_exec = TRUE;
input.return_config_fd = TRUE;
static const struct fs_crypt_settings *
fs_crypt_load_settings(void)
{
- static const struct setting_parser_info *set_roots[] = {
- &fs_crypt_setting_parser_info,
- NULL
- };
struct master_service_settings_input input;
struct master_service_settings_output output;
const char *error;
i_zero(&input);
- input.roots = set_roots;
input.service = "fs-crypt";
input.disable_check_settings = TRUE;
if (master_service_settings_read(master_service, &input,
noinst_HEADERS = \
client.h \
client-authenticate.h \
- pop3-login-settings.h \
pop3-proxy.h
#include "client-authenticate.h"
#include "auth-client.h"
#include "pop3-proxy.h"
-#include "pop3-login-settings.h"
#include <ctype.h>
static void pop3_login_preinit(void)
{
- login_set_roots = pop3_login_setting_roots;
}
static void pop3_login_init(void)
#include "service-settings.h"
#include "login-settings.h"
#include "pop3-protocol.h"
-#include "pop3-login-settings.h"
#include <stddef.h>
.dependencies = pop3_login_setting_dependencies
};
-
-const struct setting_parser_info *pop3_login_setting_roots[] = {
- &login_setting_parser_info,
- &pop3_login_setting_parser_info,
- NULL
-};
+++ /dev/null
-#ifndef POP3_LOGIN_SETTINGS_H
-#define POP3_LOGIN_SETTINGS_H
-
-extern const struct setting_parser_info *pop3_login_setting_roots[];
-
-#endif
int main(int argc, char *argv[])
{
- const struct setting_parser_info *set_roots[] = {
- &stats_setting_parser_info,
- NULL
- };
const enum master_service_flags service_flags =
MASTER_SERVICE_FLAG_NO_SSL_INIT |
MASTER_SERVICE_FLAG_DONT_SEND_STATS |
return FATAL_DEFAULT;
const struct master_service_settings_input set_input = {
- .roots = set_roots,
.disable_check_settings = TRUE,
};
struct master_service_settings_output output;
static void submission_login_preinit(void)
{
- login_set_roots = submission_login_setting_roots;
}
static void submission_login_init(void)
.dependencies = submission_login_setting_dependencies
};
-const struct setting_parser_info *submission_login_setting_roots[] = {
- &login_setting_parser_info,
- &submission_login_setting_parser_info,
- NULL
-};
-
/* <settings checks> */
struct submission_login_client_workaround_list {
const char *name;
enum submission_login_client_workarounds parsed_workarounds;
};
-extern const struct setting_parser_info *submission_login_setting_roots[];
extern const struct setting_parser_info submission_login_setting_parser_info;
#endif