From d031614b5c3191d49248c6aa0ce06d1665963fbf Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 15 Aug 2011 17:59:52 +0400 Subject: [PATCH] Fix output for spamc proto. --- contrib/exim/patch-exim-src_spam.c.diff | 2 +- src/protocol.c | 6 +++++- 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); -- 2.39.5