|
|
@@ -986,6 +986,11 @@ rspamd_task_log_check_condition (struct rspamd_task *task, |
|
|
|
ret = TRUE; |
|
|
|
} |
|
|
|
break; |
|
|
|
case RSPAMD_LOG_FILENAME: |
|
|
|
if (task->msg.fpath) { |
|
|
|
ret = TRUE; |
|
|
|
} |
|
|
|
break; |
|
|
|
default: |
|
|
|
ret = TRUE; |
|
|
|
break; |
|
|
@@ -1268,6 +1273,7 @@ rspamd_task_log_variable (struct rspamd_task *task, |
|
|
|
rspamd_fstring_t *res = logbuf; |
|
|
|
rspamd_ftok_t var = {.begin = NULL, .len = 0}; |
|
|
|
static gchar numbuf[64]; |
|
|
|
static const gchar undef[] = "undef"; |
|
|
|
|
|
|
|
switch (lf->type) { |
|
|
|
/* String vars */ |
|
|
@@ -1277,8 +1283,8 @@ rspamd_task_log_variable (struct rspamd_task *task, |
|
|
|
var.len = strlen (var.begin); |
|
|
|
} |
|
|
|
else { |
|
|
|
var.begin = "undef"; |
|
|
|
var.len = 5; |
|
|
|
var.begin = undef; |
|
|
|
var.len = sizeof (undef) - 1; |
|
|
|
} |
|
|
|
break; |
|
|
|
case RSPAMD_LOG_QID: |
|
|
@@ -1287,8 +1293,8 @@ rspamd_task_log_variable (struct rspamd_task *task, |
|
|
|
var.len = strlen (var.begin); |
|
|
|
} |
|
|
|
else { |
|
|
|
var.begin = "undef"; |
|
|
|
var.len = 5; |
|
|
|
var.begin = undef; |
|
|
|
var.len = sizeof (undef) - 1; |
|
|
|
} |
|
|
|
break; |
|
|
|
case RSPAMD_LOG_USER: |
|
|
@@ -1297,8 +1303,8 @@ rspamd_task_log_variable (struct rspamd_task *task, |
|
|
|
var.len = strlen (var.begin); |
|
|
|
} |
|
|
|
else { |
|
|
|
var.begin = "undef"; |
|
|
|
var.len = 5; |
|
|
|
var.begin = undef; |
|
|
|
var.len = sizeof (undef) - 1; |
|
|
|
} |
|
|
|
break; |
|
|
|
case RSPAMD_LOG_IP: |
|
|
@@ -1307,8 +1313,8 @@ rspamd_task_log_variable (struct rspamd_task *task, |
|
|
|
var.len = strlen (var.begin); |
|
|
|
} |
|
|
|
else { |
|
|
|
var.begin = "undef"; |
|
|
|
var.len = 5; |
|
|
|
var.begin = undef; |
|
|
|
var.len = sizeof (undef) - 1; |
|
|
|
} |
|
|
|
break; |
|
|
|
/* Numeric vars */ |
|
|
@@ -1376,6 +1382,16 @@ rspamd_task_log_variable (struct rspamd_task *task, |
|
|
|
(gint)sizeof (task->digest), task->digest); |
|
|
|
var.begin = numbuf; |
|
|
|
break; |
|
|
|
case RSPAMD_LOG_FILENAME: |
|
|
|
if (task->msg.fpath) { |
|
|
|
var.len = strlen (task->msg.fpath); |
|
|
|
var.begin = task->msg.fpath; |
|
|
|
} |
|
|
|
else { |
|
|
|
var.begin = undef; |
|
|
|
var.len = sizeof (undef) - 1; |
|
|
|
} |
|
|
|
break; |
|
|
|
default: |
|
|
|
var = rspamd_task_log_metric_res (task, lf); |
|
|
|
break; |