else if (rspamd_ftok_cstr_equal (&tok, "lua", TRUE)) {
type = RSPAMD_LOG_LUA;
}
+ else if (rspamd_ftok_cstr_equal (&tok, "digest", TRUE) ||
+ rspamd_ftok_cstr_equal (&tok, "checksum", TRUE)) {
+ type = RSPAMD_LOG_DIGEST;
+ }
else {
msg_err_config ("unknown log variable: %T", &tok);
return FALSE;
{
rspamd_fstring_t *res = logbuf;
rspamd_ftok_t var = {.begin = NULL, .len = 0};
- static gchar numbuf[32];
+ static gchar numbuf[64];
switch (lf->type) {
/* String vars */
logbuf);
}
break;
+ case RSPAMD_LOG_DIGEST:
+ var.len = rspamd_snprintf (numbuf, sizeof (numbuf), "%*xs",
+ (gint)sizeof (task->digest), task->digest);
+ var.begin = numbuf;
+ break;
default:
var = rspamd_task_log_metric_res (task, lf);
break;