From 7ab226f70f53dd907a7c0b85008ebb41f937aa50 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 30 May 2018 15:32:16 +0100 Subject: [Project] Eliminate C counterpart for `configwizard` --- src/rspamadm/CMakeLists.txt | 1 - src/rspamadm/commands.c | 2 - src/rspamadm/configwizard.c | 167 -------------------------------------------- 3 files changed, 170 deletions(-) delete mode 100644 src/rspamadm/configwizard.c (limited to 'src/rspamadm') diff --git a/src/rspamadm/CMakeLists.txt b/src/rspamadm/CMakeLists.txt index 3559186f4..11603d05d 100644 --- a/src/rspamadm/CMakeLists.txt +++ b/src/rspamadm/CMakeLists.txt @@ -8,7 +8,6 @@ SET(RSPAMADMSRC rspamadm.c configdump.c control.c confighelp.c - configwizard.c stat_convert.c signtool.c lua_repl.c diff --git a/src/rspamadm/commands.c b/src/rspamadm/commands.c index 224cc48d3..8d93a86da 100644 --- a/src/rspamadm/commands.c +++ b/src/rspamadm/commands.c @@ -30,7 +30,6 @@ extern struct rspamadm_command fuzzyconvert_command; extern struct rspamadm_command signtool_command; extern struct rspamadm_command lua_command; extern struct rspamadm_command dkim_keygen_command; -extern struct rspamadm_command configwizard_command; const struct rspamadm_command *commands[] = { &help_command, @@ -46,7 +45,6 @@ const struct rspamadm_command *commands[] = { &signtool_command, &lua_command, &dkim_keygen_command, - &configwizard_command, NULL }; diff --git a/src/rspamadm/configwizard.c b/src/rspamadm/configwizard.c deleted file mode 100644 index bfa35bb71..000000000 --- a/src/rspamadm/configwizard.c +++ /dev/null @@ -1,167 +0,0 @@ -/*- - * Copyright 2017 Vsevolod Stakhov - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include "config.h" -#include "rspamadm.h" -#include "cfg_file.h" -#include "cfg_rcl.h" -#include "utlist.h" -#include "rspamd.h" -#include "lua/lua_common.h" -#include "utlist.h" - -static gchar *config = NULL; -extern struct rspamd_main *rspamd_main; -/* Defined in modules.c */ -extern module_t *modules[]; -extern worker_t *workers[]; - -static void rspamadm_configwizard (gint argc, gchar **argv, - const struct rspamadm_command *cmd); -static const char *rspamadm_configwizard_help (gboolean full_help, - const struct rspamadm_command *cmd); - -struct rspamadm_command configwizard_command = { - .name = "configwizard", - .flags = 0, - .help = rspamadm_configwizard_help, - .run = rspamadm_configwizard, - .lua_subrs = NULL, -}; - -static GOptionEntry entries[] = { - {"config", 'c', 0, G_OPTION_ARG_STRING, &config, - "Config file to use", NULL}, - {NULL, 0, 0, G_OPTION_ARG_NONE, NULL, NULL, NULL} -}; - -static const char * -rspamadm_configwizard_help (gboolean full_help, const struct rspamadm_command *cmd) -{ - const char *help_str; - - if (full_help) { - help_str = "Perform guided configuration for Rspamd daemon\n\n" - "Usage: rspamadm configwizard [-c ] [checks...]\n" - " rspamadm configwizard [-c ] list\n" - "Where options are:\n\n" - "--help: shows available options and commands"; - } - else { - help_str = "Perform guided configuration for Rspamd daemon"; - } - - return help_str; -} - -static void -config_logger (rspamd_mempool_t *pool, gpointer ud) -{ - struct rspamd_main *rm = ud; - - rm->cfg->log_type = RSPAMD_LOG_CONSOLE; - rm->cfg->log_level = G_LOG_LEVEL_MESSAGE; - - rspamd_set_logger (rm->cfg, g_quark_try_string ("main"), &rm->logger, - rm->server_pool); - - if (rspamd_log_open_priv (rm->logger, rm->workers_uid, rm->workers_gid) == - -1) { - fprintf (stderr, "Fatal error, cannot open logfile, exiting\n"); - exit (EXIT_FAILURE); - } -} - -static void -rspamadm_configwizard (gint argc, gchar **argv, - const struct rspamadm_command *cmd) -{ - GOptionContext *context; - GError *error = NULL; - const gchar *confdir; - struct rspamd_config *cfg = rspamd_main->cfg; - gboolean ret = TRUE; - worker_t **pworker; - lua_State *L; - - context = g_option_context_new ( - "configwizard - perform guided configuration"); - g_option_context_set_summary (context, - "Summary:\n Rspamd administration utility version " - RVERSION - "\n Release id: " - RID); - g_option_context_add_main_entries (context, entries, NULL); - - if (!g_option_context_parse (context, &argc, &argv, &error)) { - fprintf (stderr, "option parsing failed: %s\n", error->message); - g_error_free (error); - exit (1); - } - - if (config == NULL) { - if ((confdir = g_hash_table_lookup (ucl_vars, "CONFDIR")) == NULL) { - confdir = RSPAMD_CONFDIR; - } - - config = g_strdup_printf ("%s%c%s", confdir, G_DIR_SEPARATOR, - "rspamd.conf"); - } - - pworker = &workers[0]; - while (*pworker) { - /* Init string quarks */ - (void) g_quark_from_static_string ((*pworker)->name); - pworker++; - } - - cfg->cache = rspamd_symbols_cache_new (cfg); - cfg->compiled_modules = modules; - cfg->compiled_workers = workers; - cfg->cfg_name = config; - - if (!rspamd_config_read (cfg, cfg->cfg_name, config_logger, rspamd_main, ucl_vars)) { - ret = FALSE; - } - else { - /* Do post-load actions */ - rspamd_lua_post_load_config (cfg); - - if (!rspamd_init_filters (cfg, FALSE)) { - ret = FALSE; - } - - if (ret) { - ret = rspamd_config_post_load (cfg, RSPAMD_CONFIG_INIT_SYMCACHE); - } - } - - if (ret) { - L = cfg->lua_state; - rspamd_lua_set_path (L, cfg->rcl_obj, ucl_vars); - ucl_object_insert_key (cfg->rcl_obj, ucl_object_fromstring (cfg->cfg_name), - "config_path", 0, false); - - rspamadm_execute_lua_ucl_subr (L, - argc, - argv, - cfg->rcl_obj, - "configwizard"); - - lua_close (L); - } - - exit (ret ? EXIT_SUCCESS : EXIT_FAILURE); -} -- cgit v1.2.3