Browse Source

[Rework] Simplify lua path initialization

tags/1.7.0
Vsevolod Stakhov 6 years ago
parent
commit
041d2e56eb

+ 1
- 2
src/libserver/cfg_file.h View File

@@ -589,8 +589,7 @@ void rspamd_ucl_add_conf_variables (struct ucl_parser *parser, GHashTable *vars)
* @param reconfig
* @return
*/
gboolean rspamd_init_filters (struct rspamd_config *cfg, bool reconfig,
GHashTable *vars);
gboolean rspamd_init_filters (struct rspamd_config *cfg, bool reconfig);

/**
* Add new symbol to the metric

+ 1
- 0
src/libserver/cfg_rcl.c View File

@@ -3624,6 +3624,7 @@ rspamd_config_read (struct rspamd_config *cfg, const gchar *filename,
MIN (sizeof (cfg->cfg_pool->tag.uid), strlen (cfg->checksum)));

top = rspamd_rcl_config_init (cfg);
rspamd_lua_set_path (cfg->lua_state, cfg->rcl_obj, vars);
rspamd_rcl_set_lua_globals (cfg, cfg->lua_state, vars);
rspamd_mempool_add_destructor (cfg->cfg_pool, rspamd_rcl_section_free, top);
err = NULL;

+ 2
- 2
src/libserver/cfg_utils.c View File

@@ -1375,7 +1375,7 @@ rspamd_check_worker (struct rspamd_config *cfg, worker_t *wrk)
}

gboolean
rspamd_init_filters (struct rspamd_config *cfg, bool reconfig, GHashTable *vars)
rspamd_init_filters (struct rspamd_config *cfg, bool reconfig)
{
GList *cur;
module_t *mod, **pmod;
@@ -1427,7 +1427,7 @@ rspamd_init_filters (struct rspamd_config *cfg, bool reconfig, GHashTable *vars)
cur = g_list_next (cur);
}

return rspamd_init_lua_filters (cfg, 0, vars);
return rspamd_init_lua_filters (cfg, 0);
}

static void

+ 1
- 3
src/lua/lua_common.c View File

@@ -442,8 +442,7 @@ rspamd_free_lua_locked (struct lua_locked_state *st)
}

gboolean
rspamd_init_lua_filters (struct rspamd_config *cfg, gboolean force_load,
GHashTable *vars)
rspamd_init_lua_filters (struct rspamd_config *cfg, gboolean force_load)
{
struct rspamd_config **pcfg;
GList *cur;
@@ -452,7 +451,6 @@ rspamd_init_lua_filters (struct rspamd_config *cfg, gboolean force_load,
GString *tb;
gint err_idx;

rspamd_lua_set_path (L, cfg->rcl_obj, vars);
cur = g_list_first (cfg->script_modules);

while (cur) {

+ 1
- 2
src/lua/lua_common.h View File

@@ -163,8 +163,7 @@ lua_State *rspamd_lua_init (void);
* Load and initialize lua plugins
*/
gboolean
rspamd_init_lua_filters (struct rspamd_config *cfg, gboolean force_load,
GHashTable *vars);
rspamd_init_lua_filters (struct rspamd_config *cfg, gboolean force_load);

/**
* Initialize new locked lua_State structure

+ 1
- 1
src/lua/lua_util.c View File

@@ -658,7 +658,7 @@ lua_util_process_message (lua_State *L)

if (cfg != NULL && message != NULL) {
base = event_init ();
rspamd_init_filters (cfg, FALSE, NULL);
rspamd_init_filters (cfg, FALSE);
task = rspamd_task_new (NULL, cfg, NULL);
task->ev_base = base;
task->msg.begin = rspamd_mempool_alloc (task->task_pool, mlen);

+ 2
- 1
src/rspamadm/configdump.c View File

@@ -284,9 +284,10 @@ rspamadm_configdump (gint argc, gchar **argv)
}
else {
/* Do post-load actions */
rspamd_lua_set_path (cfg->lua_state, cfg->rcl_obj, ucl_vars);
rspamd_lua_post_load_config (cfg);

if (!rspamd_init_filters (rspamd_main->cfg, FALSE, ucl_vars)) {
if (!rspamd_init_filters (rspamd_main->cfg, FALSE)) {
ret = FALSE;
}


+ 2
- 2
src/rspamadm/confighelp.c View File

@@ -20,7 +20,6 @@
#include "cfg_rcl.h"
#include "rspamd.h"
#include "lua/lua_common.h"
#include "confighelp.lua.h"

static gboolean json = FALSE;
static gboolean compact = FALSE;
@@ -251,7 +250,8 @@ rspamadm_confighelp (gint argc, gchar **argv)
}

/* Init lua modules */
rspamd_init_lua_filters (cfg, TRUE, ucl_vars);
rspamd_lua_set_path (cfg->lua_state, cfg->rcl_obj, ucl_vars);
rspamd_init_lua_filters (cfg, TRUE);

if (argc > 1) {
for (i = 1; i < argc; i ++) {

+ 1
- 1
src/rspamadm/configtest.c View File

@@ -146,7 +146,7 @@ rspamadm_configtest (gint argc, gchar **argv)
/* Do post-load actions */
rspamd_lua_post_load_config (cfg);

if (!rspamd_init_filters (rspamd_main->cfg, FALSE, ucl_vars)) {
if (!rspamd_init_filters (rspamd_main->cfg, FALSE)) {
ret = FALSE;
}


+ 1
- 2
src/rspamadm/control.c View File

@@ -24,7 +24,6 @@
#include <event.h>
#include "libutil/util.h"
#include "lua/lua_common.h"
#include "fuzzy_stat.lua.h"

static gchar *control_path = RSPAMD_DBDIR "/rspamd.sock";
static gboolean json = FALSE;
@@ -135,7 +134,7 @@ rspamd_control_finish_handler (struct rspamd_http_connection *conn,
cbdata->argc,
cbdata->argv,
obj,
rspamadm_script_fuzzy_stat);
"fuzzy_stat");

rspamd_fstring_free (out);
ucl_object_unref (obj);

+ 6
- 8
src/rspamd.c View File

@@ -68,8 +68,7 @@ static gboolean load_rspamd_config (struct rspamd_main *rspamd_main,
struct rspamd_config *cfg,
gboolean init_modules,
enum rspamd_post_load_options opts,
gboolean reload,
GHashTable *vars);
gboolean reload);

/* Control socket */
static gint control_fd;
@@ -289,7 +288,7 @@ reread_config (struct rspamd_main *rspamd_main)

if (!load_rspamd_config (rspamd_main, tmp_cfg, TRUE,
RSPAMD_CONFIG_INIT_VALIDATE|RSPAMD_CONFIG_INIT_SYMCACHE,
TRUE, ucl_vars)) {
TRUE)) {
rspamd_main->cfg = old_cfg;
rspamd_log_close_priv (rspamd_main->logger,
rspamd_main->workers_uid,
@@ -871,8 +870,7 @@ static gboolean
load_rspamd_config (struct rspamd_main *rspamd_main,
struct rspamd_config *cfg, gboolean init_modules,
enum rspamd_post_load_options opts,
gboolean reload,
GHashTable *vars)
gboolean reload)
{
cfg->compiled_modules = modules;
cfg->compiled_workers = workers;
@@ -901,7 +899,7 @@ load_rspamd_config (struct rspamd_main *rspamd_main,
rspamd_lua_post_load_config (cfg);

if (init_modules) {
rspamd_init_filters (cfg, reload, vars);
rspamd_init_filters (cfg, reload);
}

/* Do post-load actions */
@@ -1278,7 +1276,7 @@ main (gint argc, gchar **argv, gchar **env)

if (config_test || dump_cache) {
if (!load_rspamd_config (rspamd_main, rspamd_main->cfg, FALSE, 0,
FALSE, ucl_vars)) {
FALSE)) {
exit (EXIT_FAILURE);
}

@@ -1301,7 +1299,7 @@ main (gint argc, gchar **argv, gchar **env)

/* Load config */
if (!load_rspamd_config (rspamd_main, rspamd_main->cfg, TRUE,
RSPAMD_CONFIG_LOAD_ALL, FALSE, ucl_vars)) {
RSPAMD_CONFIG_LOAD_ALL, FALSE)) {
exit (EXIT_FAILURE);
}


Loading…
Cancel
Save