aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rambler-co.ru>2011-08-15 17:59:52 +0400
committerVsevolod Stakhov <vsevolod@rambler-co.ru>2011-08-15 17:59:52 +0400
commitd031614b5c3191d49248c6aa0ce06d1665963fbf (patch)
tree366ff4cc950eceeba8c2ed5133be6959974000c6
parentcf375e93567a30071df53f9c1c13618e8fb7a140 (diff)
downloadrspamd-d031614b5c3191d49248c6aa0ce06d1665963fbf.tar.gz
rspamd-d031614b5c3191d49248c6aa0ce06d1665963fbf.zip
Fix output for spamc proto.
-rw-r--r--contrib/exim/patch-exim-src_spam.c.diff2
-rw-r--r--src/protocol.c6
2 files changed, 6 insertions, 2 deletions
diff --git a/contrib/exim/patch-exim-src_spam.c.diff b/contrib/exim/patch-exim-src_spam.c.diff
index 1109874b5..7bae65741 100644
--- a/contrib/exim/patch-exim-src_spam.c.diff
+++ b/contrib/exim/patch-exim-src_spam.c.diff
@@ -48,7 +48,7 @@
/* dig in the spamd output and put the report in a multiline header, if requested */
- if( sscanf(CS spamd_buffer,"SPAMD/%7s 0 EX_OK\r\nContent-length: %*u\r\n\r\n%lf/%lf\r\n%n",
-+ if( sscanf(CS spamd_buffer,"SPAMD/%7s 0 EX_OK\r\n\r\nSpam: %*s ; %lf / %lf\r\nContent-length: %*u\r\n\r\n%n",
++ if( sscanf(CS spamd_buffer,"SPAMD/%7s 0 EX_OK\r\nSpam: %*s ; %lf / %lf\r\nContent-length: %*u\r\n\r\n%n",
spamd_version,&spamd_score,&spamd_threshold,&spamd_report_offset) != 3 ) {
/* try to fall back to pre-2.50 spamd output */
diff --git a/src/protocol.c b/src/protocol.c
index c70cae16b..fe9621e21 100644
--- a/src/protocol.c
+++ b/src/protocol.c
@@ -969,7 +969,7 @@ print_metric_data_rspamc (struct worker_task *task, gchar *outbuf, gsize size,
if (metric_res == NULL) {
if (task->proto == SPAMC_PROTO) {
r = rspamd_snprintf (outbuf, size,
- "Spam: False ; 0 / %.2f" CRLF, ms);
+ "Spam: False ; 0.00 / %.2f" CRLF, ms);
}
else {
if (task->proto_ver >= 11) {
@@ -1106,6 +1106,10 @@ show_metric_result (gpointer metric_name, gpointer metric_value, void *user_data
ms = m->required_score;
rs = m->reject_score;
}
+ else if (metric_res == NULL) {
+ ms = m->required_score;
+ rs = m->reject_score;
+ }
if (!task->is_json) {
r = print_metric_data_rspamc (task, outbuf, sizeof (outbuf), NULL, m, ms, rs, action);