struct rspamd_controller_session *session = conn_ent->ud;
GHashTableIter it, sit;
struct rspamd_symbols_group *gr;
- struct rspamd_symbol_def *sym;
- struct metric *metric;
+ struct rspamd_symbol *sym;
+ struct rspamd_metric *metric;
ucl_object_t *obj, *top, *sym_obj, *group_symbols;
gpointer k, v;
struct rspamd_http_message *msg)
{
struct rspamd_controller_session *session = conn_ent->ud;
- struct metric *metric;
+ struct rspamd_metric *metric;
struct metric_action *act;
gint i;
ucl_object_t *obj, *top;
{
struct rspamd_controller_session *session = conn_ent->ud;
struct ucl_parser *parser;
- struct metric *metric;
+ struct rspamd_metric *metric;
ucl_object_t *obj;
const ucl_object_t *cur;
struct rspamd_controller_worker_ctx *ctx;
{
struct rspamd_controller_session *session = conn_ent->ud;
struct ucl_parser *parser;
- struct metric *metric;
+ struct rspamd_metric *metric;
ucl_object_t *obj;
const ucl_object_t *cur, *jname, *jvalue;
ucl_object_iter_t iter = NULL;
struct rspamd_controller_worker_ctx *ctx;
const gchar *error;
gdouble val;
- struct rspamd_symbol_def *sym;
+ struct rspamd_symbol *sym;
int added = 0;
ctx = session->ctx;
#define COMMON_PART_FACTOR 95
-struct metric_result *
+struct rspamd_metric_result *
rspamd_create_metric_result (struct rspamd_task *task, const gchar *name)
{
- struct metric_result *metric_res;
- struct metric *metric;
+ struct rspamd_metric_result *metric_res;
+ struct rspamd_metric *metric;
guint i;
metric_res = g_hash_table_lookup (task->results, name);
metric_res =
rspamd_mempool_alloc (task->task_pool,
- sizeof (struct metric_result));
+ sizeof (struct rspamd_metric_result));
metric_res->symbols = g_hash_table_new (rspamd_str_hash,
rspamd_str_equal);
rspamd_mempool_add_destructor (task->task_pool,
return metric_res;
}
-static struct symbol *
+static struct rspamd_symbol_result *
insert_metric_result (struct rspamd_task *task,
- struct metric *metric,
+ struct rspamd_metric *metric,
const gchar *symbol,
double flag,
const gchar *opt,
gboolean single)
{
- struct metric_result *metric_res;
- struct symbol *s = NULL;
+ struct rspamd_metric_result *metric_res;
+ struct rspamd_symbol_result *s = NULL;
gdouble w, *gr_score = NULL;
- struct rspamd_symbol_def *sdef;
+ struct rspamd_symbol *sdef;
struct rspamd_symbols_group *gr = NULL;
const ucl_object_t *mobj, *sobj;
rspamd_task_add_result_option (task, s, opt);
}
else {
- s = rspamd_mempool_alloc0 (task->task_pool, sizeof (struct symbol));
+ s = rspamd_mempool_alloc0 (task->task_pool, sizeof (struct rspamd_symbol_result));
/* Handle grow factor */
if (metric_res->grow_factor && w > 0) {
s->score = w;
s->name = symbol;
- s->def = sdef;
+ s->sym = sdef;
metric_res->score += w;
rspamd_task_add_result_option (task, s, opt);
return s;
}
-static struct symbol *
+static struct rspamd_symbol_result *
insert_result_common (struct rspamd_task *task,
const gchar *symbol,
double flag,
const gchar *opt,
gboolean single)
{
- struct metric *metric;
+ struct rspamd_metric *metric;
GList *cur, *metric_list;
- struct symbol *s = NULL;
+ struct rspamd_symbol_result *s = NULL;
metric_list = g_hash_table_lookup (task->cfg->metrics_symbols, symbol);
if (metric_list) {
}
/* Insert result that may be increased on next insertions */
-struct symbol *
+struct rspamd_symbol_result *
rspamd_task_insert_result (struct rspamd_task *task,
const gchar *symbol,
double flag,
}
/* Insert result as a single option */
-struct symbol *
+struct rspamd_symbol_result *
rspamd_task_insert_result_single (struct rspamd_task *task,
const gchar *symbol,
double flag,
void
rspamd_task_add_result_option (struct rspamd_task *task,
- struct symbol *s, const gchar *opt)
+ struct rspamd_symbol_result *s, const gchar *opt)
{
char *opt_cpy;
if (s && opt) {
- if (s->options && !(s->def &&
- (s->def->flags & RSPAMD_SYMBOL_FLAG_ONEPARAM))) {
+ if (s->options && !(s->sym &&
+ (s->sym->flags & RSPAMD_SYMBOL_FLAG_ONEPARAM))) {
/* Append new options */
if (!g_hash_table_lookup (s->options, opt)) {
opt_cpy = rspamd_mempool_strdup (task->task_pool, opt);
}
enum rspamd_metric_action
-rspamd_check_action_metric (struct rspamd_task *task, struct metric_result *mres)
+rspamd_check_action_metric (struct rspamd_task *task, struct rspamd_metric_result *mres)
{
struct metric_action *action, *selected_action = NULL;
double max_score = 0, sc;
/**
* Rspamd symbol
*/
-struct symbol {
+struct rspamd_symbol_result {
double score; /**< symbol's score */
GHashTable *options; /**< list of symbol's options */
const gchar *name;
- struct rspamd_symbol_def *def; /**< symbol configuration */
+ struct rspamd_symbol *sym; /**< symbol configuration */
};
/**
* Result of metric processing
*/
-struct metric_result {
- struct metric *metric; /**< pointer to metric structure */
+struct rspamd_metric_result {
+ struct rspamd_metric *metric; /**< pointer to metric structure */
double score; /**< total score */
double grow_factor; /**< current grow factor */
GHashTable *symbols; /**< symbols of metric */
* @param name name of metric
* @return metric result or NULL if metric `name` has not been found
*/
-struct metric_result * rspamd_create_metric_result (struct rspamd_task *task,
+struct rspamd_metric_result * rspamd_create_metric_result (struct rspamd_task *task,
const gchar *name);
/**
* @param flag numeric weight for symbol
* @param opts list of symbol's options
*/
-struct symbol* rspamd_task_insert_result (struct rspamd_task *task,
+struct rspamd_symbol_result* rspamd_task_insert_result (struct rspamd_task *task,
const gchar *symbol,
double flag,
const gchar *opts);
* @param flag numeric weight for symbol
* @param opts list of symbol's options
*/
-struct symbol* rspamd_task_insert_result_single (struct rspamd_task *task,
+struct rspamd_symbol_result* rspamd_task_insert_result_single (struct rspamd_task *task,
const gchar *symbol,
double flag,
const gchar *opts);
* @param opt
*/
void rspamd_task_add_result_option (struct rspamd_task *task,
- struct symbol *s, const gchar *opt);
+ struct rspamd_symbol_result *s, const gchar *opt);
/**
* Default consolidation function for metric, it get all symbols and multiply symbol
* Get action for specific metric
*/
enum rspamd_metric_action rspamd_check_action_metric (struct rspamd_task *task,
- struct metric_result *mres);
+ struct rspamd_metric_result *mres);
#endif
mime_part->specific_data = text_part;
if (rspamd_check_gtube (task, text_part)) {
- struct metric_result *mres;
+ struct rspamd_metric_result *mres;
mres = rspamd_create_metric_result (task, DEFAULT_METRIC);
/**
* Symbols group
*/
-struct rspamd_symbol_def;
+struct rspamd_symbol;
struct rspamd_symbols_group {
gchar *name;
GHashTable *symbols;
/**
* Symbol definition
*/
-struct rspamd_symbol_def {
+struct rspamd_symbol {
gchar *name;
gchar *description;
gdouble *weight_ptr;
/**
* Common definition of metric
*/
-struct metric {
+struct rspamd_metric {
const gchar *name; /**< name of metric */
gchar *func_name; /**< name of consolidation function */
gboolean accept_unknown_symbols; /**< if true unknown symbols are registered here */
struct symbols_cache *cache; /**< symbols cache object */
gchar *cache_filename; /**< filename of cache file */
- struct metric *default_metric; /**< default metric */
+ struct rspamd_metric *default_metric; /**< default metric */
gchar * checksum; /**< real checksum of config file */
gchar * dump_checksum; /**< dump checksum of config file */
/*
* Return a new metric structure, setting default and non-conflicting attributes
*/
-struct metric * rspamd_config_new_metric (struct rspamd_config *cfg,
- struct metric *c, const gchar *name);
+struct rspamd_metric * rspamd_config_new_metric (struct rspamd_config *cfg,
+ struct rspamd_metric *c, const gchar *name);
/*
* Return new symbols group definition
*/
struct rspamd_symbols_group * rspamd_config_new_group (
- struct rspamd_config *cfg, struct metric *metric,
+ struct rspamd_config *cfg, struct rspamd_metric *metric,
const gchar *name);
/*
* Return a new statfile structure, setting default and non-conflicting attributes
}
struct rspamd_rcl_symbol_data {
- struct metric *metric;
+ struct rspamd_metric *metric;
struct rspamd_symbols_group *gr;
struct rspamd_config *cfg;
};
struct rspamd_rcl_section *section, GError **err)
{
struct rspamd_rcl_symbol_data *sd = ud;
- struct metric *metric;
+ struct rspamd_metric *metric;
struct rspamd_symbols_group *gr;
const ucl_object_t *val, *cur;
struct rspamd_rcl_section *subsection;
struct rspamd_rcl_section *section, GError **err)
{
struct rspamd_rcl_symbol_data *sd = ud;
- struct metric *metric;
+ struct rspamd_metric *metric;
struct rspamd_config *cfg;
const ucl_object_t *elt;
const gchar *description = NULL;
struct metric_actions_cbdata {
struct rspamd_config *cfg;
- struct metric *metric;
+ struct rspamd_metric *metric;
};
static gboolean
gint action_value;
const ucl_object_t *cur;
ucl_object_iter_t it = NULL;
- struct metric *metric;
+ struct rspamd_metric *metric;
struct rspamd_config *cfg;
metric = cbdata->metric;
const ucl_object_t *val, *cur, *elt;
ucl_object_iter_t it;
struct rspamd_config *cfg = ud;
- struct metric *metric;
+ struct rspamd_metric *metric;
struct rspamd_rcl_section *subsection;
struct rspamd_rcl_symbol_data sd;
- struct rspamd_symbol_def *sym_def;
+ struct rspamd_symbol *sym_def;
struct metric_actions_cbdata acts_cbdata;
g_assert (key != NULL);
rspamd_rcl_add_default_handler (sub,
"unknown_weight",
rspamd_rcl_parse_struct_double,
- G_STRUCT_OFFSET (struct metric, unknown_weight),
+ G_STRUCT_OFFSET (struct rspamd_metric, unknown_weight),
0,
"Accept unknown symbols with the specified weight");
rspamd_rcl_add_default_handler (sub,
"grow_factor",
rspamd_rcl_parse_struct_double,
- G_STRUCT_OFFSET (struct metric, grow_factor),
+ G_STRUCT_OFFSET (struct rspamd_metric, grow_factor),
0,
"Multiply the subsequent symbols by this number "
"(does not affect symbols with score less or "
rspamd_rcl_add_default_handler (sub,
"subject",
rspamd_rcl_parse_struct_string,
- G_STRUCT_OFFSET (struct metric, subject),
+ G_STRUCT_OFFSET (struct rspamd_metric, subject),
0,
"Rewrite subject with this value");
#ifdef HAVE_CLOCK_GETTIME
struct timespec ts;
#endif
- struct metric *def_metric;
+ struct rspamd_metric *def_metric;
gboolean ret = TRUE;
#ifdef HAVE_CLOCK_GETTIME
return c;
}
-struct metric *
-rspamd_config_new_metric (struct rspamd_config *cfg, struct metric *c,
+struct rspamd_metric *
+rspamd_config_new_metric (struct rspamd_config *cfg, struct rspamd_metric *c,
const gchar *name)
{
int i;
if (c == NULL) {
- c = rspamd_mempool_alloc0 (cfg->cfg_pool, sizeof (struct metric));
+ c = rspamd_mempool_alloc0 (cfg->cfg_pool, sizeof (struct rspamd_metric));
c->grow_factor = 1.0;
c->symbols = g_hash_table_new (rspamd_str_hash, rspamd_str_equal);
c->groups = g_hash_table_new (rspamd_strcase_hash, rspamd_strcase_equal);
}
struct rspamd_symbols_group *
-rspamd_config_new_group (struct rspamd_config *cfg, struct metric *metric,
+rspamd_config_new_group (struct rspamd_config *cfg, struct rspamd_metric *metric,
const gchar *name)
{
struct rspamd_symbols_group *gr;
static void
rspamd_config_new_metric_symbol (struct rspamd_config *cfg,
- struct metric *metric, const gchar *symbol,
+ struct rspamd_metric *metric, const gchar *symbol,
gdouble score, const gchar *description, const gchar *group,
guint flags, guint priority)
{
struct rspamd_symbols_group *sym_group;
- struct rspamd_symbol_def *sym_def;
+ struct rspamd_symbol *sym_def;
GList *metric_list;
gdouble *score_ptr;
sym_def =
- rspamd_mempool_alloc0 (cfg->cfg_pool, sizeof (struct rspamd_symbol_def));
+ rspamd_mempool_alloc0 (cfg->cfg_pool, sizeof (struct rspamd_symbol));
score_ptr = rspamd_mempool_alloc (cfg->cfg_pool, sizeof (gdouble));
*score_ptr = score;
gdouble score, const gchar *description, const gchar *group,
guint flags, guint priority)
{
- struct rspamd_symbol_def *sym_def;
- struct metric *metric;
+ struct rspamd_symbol *sym_def;
+ struct rspamd_metric *metric;
g_assert (cfg != NULL);
g_assert (symbol != NULL);
const gchar *module_name)
{
gboolean is_c = FALSE;
- struct metric *metric;
+ struct rspamd_metric *metric;
const ucl_object_t *conf, *enabled;
GList *cur;
struct rspamd_symbols_group *gr;
guint priority)
{
struct metric_action *act;
- struct metric *metric;
+ struct rspamd_metric *metric;
gint act_num;
g_assert (cfg != NULL);
struct composites_data {
struct rspamd_task *task;
struct rspamd_composite *composite;
- struct metric_result *metric_res;
+ struct rspamd_metric_result *metric_res;
GHashTable *symbols_to_remove;
guint8 *checked;
};
};
struct symbol_remove_data {
- struct symbol *ms;
+ struct rspamd_symbol_result *ms;
struct rspamd_composite *comp;
GNode *parent;
guint action;
static gint
rspamd_composite_process_single_symbol (struct composites_data *cd,
- const gchar *sym, struct symbol **pms)
+ const gchar *sym, struct rspamd_symbol_result **pms)
{
- struct symbol *ms = NULL;
+ struct rspamd_symbol_result *ms = NULL;
gint rc = 0;
struct rspamd_composite *ncomp;
const gchar *beg = atom->data, *sym = NULL;
gchar t;
struct symbol_remove_data *rd, *nrd;
- struct symbol *ms;
+ struct rspamd_symbol_result *ms;
struct rspamd_symbols_group *gr;
- struct rspamd_symbol_def *sdef;
- struct metric *metric;
+ struct rspamd_symbol *sdef;
+ struct rspamd_metric *metric;
GHashTableIter it;
gpointer k, v;
gint rc = 0;
struct rspamd_task *task = (struct rspamd_task *)data;
struct composites_data *cd =
rspamd_mempool_alloc (task->task_pool, sizeof (struct composites_data));
- struct metric_result *metric_res = (struct metric_result *)value;
+ struct rspamd_metric_result *metric_res = (struct rspamd_metric_result *)value;
cd->task = task;
- cd->metric_res = (struct metric_result *)metric_res;
+ cd->metric_res = (struct rspamd_metric_result *)metric_res;
cd->symbols_to_remove = g_hash_table_new (rspamd_str_hash, rspamd_str_equal);
cd->checked =
rspamd_mempool_alloc0 (task->task_pool,
gint test_act;
const ucl_object_t *cur_elt, *cur_nm, *it_val;
ucl_object_iter_t it = NULL;
- struct metric *real_metric;
+ struct rspamd_metric *real_metric;
const gchar *name;
gdouble nscore;
static const guint priority = 3;
/* Write new subject */
static const gchar *
-make_rewritten_subject (struct metric *metric, struct rspamd_task *task)
+make_rewritten_subject (struct rspamd_metric *metric, struct rspamd_task *task)
{
static gchar subj_buf[1024];
gchar *p = subj_buf, *end, *res;
}
static ucl_object_t *
-rspamd_metric_symbol_ucl (struct rspamd_task *task, struct metric *m,
- struct symbol *sym)
+rspamd_metric_symbol_ucl (struct rspamd_task *task, struct rspamd_metric *m,
+ struct rspamd_symbol_result *sym)
{
ucl_object_t *obj = NULL;
const gchar *description = NULL;
- if (sym->def != NULL) {
- description = sym->def->description;
+ if (sym->sym != NULL) {
+ description = sym->sym->description;
}
obj = ucl_object_typed_new (UCL_OBJECT);
static ucl_object_t *
rspamd_metric_result_ucl (struct rspamd_task *task,
- struct metric_result *mres)
+ struct rspamd_metric_result *mres)
{
GHashTableIter hiter;
- struct symbol *sym;
- struct metric *m;
+ struct rspamd_symbol_result *sym;
+ struct rspamd_metric *m;
gboolean is_spam;
enum rspamd_metric_action action = METRIC_ACTION_NOACTION;
ucl_object_t *obj = NULL, *sobj;;
/* Now handle symbols */
g_hash_table_iter_init (&hiter, mres->symbols);
while (g_hash_table_iter_next (&hiter, &h, &v)) {
- sym = (struct symbol *)v;
+ sym = (struct rspamd_symbol_result *)v;
sobj = rspamd_metric_symbol_ucl (task, m, sym);
ucl_object_insert_key (obj, sobj, h, 0, false);
}
ucl_object_t *
rspamd_protocol_write_ucl (struct rspamd_task *task)
{
- struct metric_result *metric_res;
+ struct rspamd_metric_result *metric_res;
ucl_object_t *top = NULL, *obj;
GHashTableIter hiter;
GString *dkim_sig;
top = ucl_object_typed_new (UCL_OBJECT);
/* Convert results to an ucl object */
while (g_hash_table_iter_next (&hiter, &h, &v)) {
- metric_res = (struct metric_result *)v;
+ metric_res = (struct rspamd_metric_result *)v;
obj = rspamd_metric_result_ucl (task, metric_res);
ucl_object_insert_key (top, obj, h, 0, false);
}
rspamd_protocol_http_reply (struct rspamd_http_message *msg,
struct rspamd_task *task)
{
- struct metric_result *metric_res;
+ struct rspamd_metric_result *metric_res;
GHashTableIter hiter;
const struct rspamd_re_cache_stat *restat;
gpointer h, v;
struct rspamd_worker_log_pipe *lp;
struct rspamd_protocol_log_message_sum *ls;
lua_State *L = task->cfg->lua_state;
- struct metric_result *mres;
+ struct rspamd_metric_result *mres;
GHashTableIter it;
gpointer k, v;
- struct symbol *sym;
+ struct rspamd_symbol_result *sym;
gint id, i;
guint32 *sid, n = 0, nextra = 0;
gsize sz;
struct rspamd_protocol_log_symbol_result results[];
};
-struct metric;
+struct rspamd_metric;
/**
* Process headers into HTTP message and set appropriate task fields
roll_history_symbols_callback (gpointer key, gpointer value, void *user_data)
{
struct history_metric_callback_data *cb = user_data;
- struct symbol *s = value;
+ struct rspamd_symbol_result *s = value;
guint wr;
if (cb->remain > 0) {
{
guint row_num;
struct roll_history_row *row;
- struct metric_result *metric_res;
+ struct rspamd_metric_result *metric_res;
struct history_metric_callback_data cbdata;
/* First of all obtain check and obtain row number */
RSPAMD_CACHE_PASS_DONE,
} pass;
guint version;
- struct metric_result *rs;
+ struct rspamd_metric_result *rs;
gdouble lim;
GPtrArray *waitq;
struct symbols_cache_order *order;
struct cache_item *item = v, *parent;
struct symbols_cache *cache = (struct symbols_cache *)ud;
GList *cur;
- struct metric *m;
- struct rspamd_symbol_def *s;
+ struct rspamd_metric *m;
+ struct rspamd_symbol *s;
gboolean skipped, ghost;
gint p1, p2;
{
struct symbols_cache *cache = (struct symbols_cache *)ud;
const gchar *sym = k;
- struct rspamd_symbol_def *s = (struct rspamd_symbol_def *)v;
+ struct rspamd_symbol *s = (struct rspamd_symbol *)v;
gdouble weight;
struct cache_item *item;
GHashTableIter it;
GList *cur;
gpointer k, v;
- struct rspamd_symbol_def *sym_def;
- struct metric *metric;
+ struct rspamd_symbol *sym_def;
+ struct rspamd_metric *metric;
gboolean ignore_symbol = FALSE, ret = TRUE;
if (cache == NULL) {
rspamd_symbols_cache_metric_limit (struct rspamd_task *task,
struct cache_savepoint *cp)
{
- struct metric_result *res;
+ struct rspamd_metric_result *res;
GList *cur;
- struct metric *metric;
+ struct rspamd_metric *metric;
double ms;
if (task->flags & RSPAMD_TASK_FLAG_PASS_ALL) {
struct symbols_cache *cache)
{
const ucl_object_t *wl, *cur, *disabled, *enabled;
- struct metric *def;
+ struct rspamd_metric *def;
struct rspamd_symbols_group *gr;
GHashTableIter gr_it;
ucl_object_iter_t it = NULL;
static gint
rspamd_task_compare_log_sym (gconstpointer a, gconstpointer b)
{
- const struct symbol *s1 = *(const struct symbol **)a,
- *s2 = *(const struct symbol **)b;
+ const struct rspamd_symbol_result *s1 = *(const struct rspamd_symbol_result **)a,
+ *s2 = *(const struct rspamd_symbol_result **)b;
gdouble w1, w2;
{
static gchar scorebuf[32];
rspamd_ftok_t res = {.begin = NULL, .len = 0};
- struct metric_result *mres;
+ struct rspamd_metric_result *mres;
GHashTableIter it;
gboolean first = TRUE;
gpointer k, v;
rspamd_fstring_t *symbuf;
- struct symbol *sym;
+ struct rspamd_symbol_result *sym;
GPtrArray *sorted_symbols;
guint i, j;
}
gdouble
-rspamd_task_get_required_score (struct rspamd_task *task, struct metric_result *m)
+rspamd_task_get_required_score (struct rspamd_task *task, struct rspamd_metric_result *m)
{
guint i;
* @param m
* @return
*/
-struct metric_result;
+struct rspamd_metric_result;
gdouble rspamd_task_get_required_score (struct rspamd_task *task,
- struct metric_result *m);
+ struct rspamd_metric_result *m);
/**
* Returns the first header as value for a header
static gboolean
rspamd_stat_has_classifier_symbols (struct rspamd_task *task,
- struct metric_result *mres,
+ struct rspamd_metric_result *mres,
struct rspamd_classifier *cl)
{
guint i;
struct rspamd_stat_ctx *st_ctx;
struct rspamd_classifier *cl;
const ucl_object_t *obj, *elt1, *elt2;
- struct metric_result *mres = NULL;
+ struct rspamd_metric_result *mres = NULL;
struct rspamd_task **ptask;
lua_State *L;
GString *tb;
GList *metric_list;
gchar *symbol;
const gchar *desc = NULL;
- struct metric *metric;
+ struct rspamd_metric *metric;
gdouble *score;
- struct rspamd_symbol_def *s;
+ struct rspamd_symbol *s;
/* Get module opt structure */
if ((metric = g_hash_table_lookup (cfg->metrics, name)) == NULL) {
gint level = lua_gettop (cd->L), nresults, err_idx;
lua_State *L = cd->L;
GString *tb;
- struct symbol *s;
+ struct rspamd_symbol_result *s;
lua_pushcfunction (L, &rspamd_lua_traceback);
err_idx = lua_gettop (L);
const gchar *metric_name = DEFAULT_METRIC, *description = NULL,
*group = NULL, *name = NULL, *flags_str = NULL;
double weight;
- struct metric *metric;
+ struct rspamd_metric *metric;
gboolean one_shot = FALSE, one_param = FALSE;
GError *err = NULL;
gdouble priority = 0.0;
struct rspamd_config *cfg = lua_check_config (L, 1);
const gchar *sym_name = luaL_checkstring (L, 2),
*metric_name = DEFAULT_METRIC;
- struct rspamd_symbol_def *sym_def;
- struct metric *metric;
+ struct rspamd_symbol *sym_def;
+ struct rspamd_metric *metric;
if (cfg && sym_name) {
metric = g_hash_table_lookup (cfg->metrics, metric_name);
struct rspamd_config *cfg = lua_check_config (L, 1);
const gchar *metric_name = DEFAULT_METRIC, *name = NULL;
double weight;
- struct metric *metric;
+ struct rspamd_metric *metric;
GError *err = NULL;
gdouble priority = 0.0;
struct rspamd_config *cfg = lua_check_config (L, 1);
const gchar *metric_name = DEFAULT_METRIC,
*act_name = luaL_checkstring (L, 2);
- struct metric *metric;
+ struct rspamd_metric *metric;
gint act = 0;
if (cfg && act_name) {
struct rspamd_task *task = lua_check_task (L, 1);
const gchar *symbol_name, *param;
double flag;
- struct symbol *s;
+ struct rspamd_symbol_result *s;
gint i, top;
if (task != NULL) {
lua_task_set_pre_result (lua_State * L)
{
struct rspamd_task *task = lua_check_task (L, 1);
- struct metric_result *mres;
+ struct rspamd_metric_result *mres;
gchar *action_str;
gint action = METRIC_ACTION_MAX;
static inline gboolean
lua_push_symbol_result (lua_State *L,
struct rspamd_task *task,
- struct metric *metric,
+ struct rspamd_metric *metric,
const gchar *symbol)
{
- struct metric_result *metric_res;
- struct symbol *s;
+ struct rspamd_metric_result *metric_res;
+ struct rspamd_symbol_result *s;
gint j;
metric_res = g_hash_table_lookup (task->results, metric->name);
lua_pushnumber (L, s->score);
lua_settable (L, -3);
- if (s->def && s->def->gr) {
+ if (s->sym && s->sym->gr) {
lua_pushstring (L, "group");
- lua_pushstring (L, s->def->gr->name);
+ lua_pushstring (L, s->sym->gr->name);
lua_settable (L, -3);
}
else {
{
struct rspamd_task *task = lua_check_task (L, 1);
const gchar *symbol;
- struct metric *metric;
+ struct rspamd_metric *metric;
GList *cur = NULL, *metric_list;
gboolean found = FALSE;
gint i = 1;
{
struct rspamd_task *task = lua_check_task (L, 1);
const gchar *symbol;
- struct metric_result *mres;
+ struct rspamd_metric_result *mres;
gboolean found = FALSE;
symbol = luaL_checkstring (L, 2);
lua_task_get_symbols (lua_State *L)
{
struct rspamd_task *task = lua_check_task (L, 1);
- struct metric_result *mres;
+ struct rspamd_metric_result *mres;
gint i = 1;
GHashTableIter it;
gpointer k, v;
- struct symbol *s;
+ struct rspamd_symbol_result *s;
if (task) {
mres = g_hash_table_lookup (task->results, DEFAULT_METRIC);
lua_task_get_symbols_numeric (lua_State *L)
{
struct rspamd_task *task = lua_check_task (L, 1);
- struct metric_result *mres;
+ struct rspamd_metric_result *mres;
gint i = 1, id;
GHashTableIter it;
gpointer k, v;
- struct symbol *s;
+ struct rspamd_symbol_result *s;
if (task) {
mres = g_hash_table_lookup (task->results, DEFAULT_METRIC);
struct rspamd_task *task = lua_check_task (L, 1);
ucl_object_t *settings;
const ucl_object_t *act, *elt, *metric_elt;
- struct metric_result *mres;
+ struct rspamd_metric_result *mres;
guint i;
settings = ucl_object_lua_import (L, 2);
struct rspamd_task *task = lua_check_task (L, 1);
const gchar *metric_name;
gdouble rs;
- struct metric_result *metric_res;
+ struct rspamd_metric_result *metric_res;
metric_name = luaL_checkstring (L, 2);
{
struct rspamd_task *task = lua_check_task (L, 1);
const gchar *metric_name;
- struct metric_result *metric_res;
+ struct rspamd_metric_result *metric_res;
enum rspamd_metric_action action;
metric_name = luaL_checkstring (L, 2);
{
struct rspamd_task *task = lua_check_task (L, 1);
const gchar *metric_name;
- struct metric_result *metric_res;
+ struct rspamd_metric_result *metric_res;
gdouble nscore;
metric_name = luaL_checkstring (L, 2);
{
struct rspamd_task *task = lua_check_task (L, 1);
const gchar *metric_name, *action_name;
- struct metric_result *metric_res;
+ struct rspamd_metric_result *metric_res;
gint action;
metric_name = luaL_checkstring (L, 2);