diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 22 |
1 files changed, 8 insertions, 14 deletions
@@ -75,13 +75,13 @@ unsigned optimization_level = 1; /* Optimization level */ int stack_trace_option; /* Print stack traces on runtime errors */ size_t max_match_mx = MAXMXCOUNT; char *main_function_name = "main"; -char *default_callout_url = DEFAULT_CALLOUT_SOCKET; +char *callout_server_url; /* Preprocessor helper function */ static void add_pp_option(const char *opt, const char *arg) { @@ -891,15 +891,14 @@ struct mu_cfg_param mf_cfg_param[] = { { "stack-trace", mu_cfg_bool, &stack_trace_option, 0, NULL, N_("Dump stack traces on runtime errors.") }, { "milter-timeout", mu_cfg_callback, NULL, 0, cb_milter_timeout, N_("Set milter timeout."), N_("time") }, - { "callout-url", mu_cfg_string, &default_callout_url, 0, NULL, - N_("Sets the URL of the default callout server. " - "Deprecated. Use `setvar callout_server_url <url>;' instead."), + { "callout-url", mu_cfg_string, &callout_server_url, 0, NULL, + N_("Sets the URL of the default callout server."), N_("url") }, { "include-path", mu_cfg_callback, NULL, 0, cb_include_path, N_("Add directories to the list of directories to be searched for " "header files. Argument is a list of directory names " "separated by colons."), N_("path") }, @@ -1101,22 +1100,17 @@ provide_default_milter_server() static void provide_default_callout_server() { struct variable *var; if (provide_callout && + !callout_server_url && (!(var = variable_lookup("callout_server_url")) || (var->sym.flags & SYM_REFERENCED) && !(var->sym.flags & SYM_INITIALIZED))) { - struct value val; - - val.type = dtype_string; - val.v.literal = string_alloc(DEFAULT_CALLOUT_SOCKET, - sizeof(DEFAULT_CALLOUT_SOCKET)-1); - ensure_initialized_variable("callout_server_url", &val); - mf_srvcfg_add("callout", val.v.literal->text); + mf_srvcfg_add("callout", DEFAULT_CALLOUT_SOCKET); } } static char *modnames[] = { #define __DBGMOD_C_ARRAY @@ -1131,14 +1125,14 @@ mf_server_function(const char *key, struct mf_srvcfg *cfg) { if (!key || strcmp(key, "default") == 0 || strcmp(key, "milter") == 0) cfg->server = milter_session_server; else if (strcmp(key, "callout") == 0) { cfg->server = callout_session_server; if (cfg->defopt || - mu_list_locate(cfg->options, "default", NULL)) - default_callout_url = + mu_list_locate(cfg->options, "default", NULL) == 0) + callout_server_url = xstrdup(mu_url_to_string(cfg->url)); } else return 1; return 0; } @@ -1181,13 +1175,13 @@ main(int argc, char **argv) mf_optcache_add(option_cache, 0, MF_OCF_NULL|MF_OCF_STATIC); mf_server_save_cmdline(argc, argv); mu_acl_cfg_init(); database_cfg_init(); srvman_init(); - mf_srvcfg_init(N_("(milter | server)")); + mf_srvcfg_init(N_("(milter | callout)")); mu_argp_init(program_version, "<" PACKAGE_BUGREPORT ">"); mu_app_rcfile = DEFAULT_CONFIG_FILE; init_arguments(&args); rc = mfd_app_init(&argp, capa, mf_cfg_param, argc, argv, argpflag(argc, argv), &index, &args, NULL); |