gdouble unknown_weight; /**< weight of unknown symbols */
gdouble grow_factor; /**< grow factor for metric */
GHashTable *symbols; /**< weights of symbols in metric */
- gchar *subject; /**< subject rewrite string */
+ const gchar *subject; /**< subject rewrite string */
GHashTable * groups; /**< groups of symbols */
struct metric_action actions[METRIC_ACTION_MAX]; /**< all actions of the metric */
};
{
struct rspamd_task *task = lua_check_task (L, 1);
const gchar *subject;
- struct rspamd_metric *metric;
- metric = task->cfg->default_metric;
subject = luaL_checkstring (L, 2);
- if (task && metric && subject) {
- metric->subject = rspamd_mempool_strdup (task->task_pool, subject);
+ if (task && subject) {
+ rspamd_mempool_set_variable (task->task_pool, "metric_subject",
+ rspamd_mempool_strdup(task->task_pool, subject), NULL);
lua_pushboolean (L, true);
}
else {