dovecot-2.1-pigeonhole: lib-sieve: spamvirustest: improved trace...
pigeonhole at rename-it.nl
pigeonhole at rename-it.nl
Thu Aug 16 23:28:11 EEST 2012
details: http://hg.rename-it.nl/dovecot-2.1-pigeonhole/rev/ff55c9946366
changeset: 1641:ff55c9946366
user: Stephan Bosch <stephan at rename-it.nl>
date: Thu Aug 16 22:28:06 2012 +0200
description:
lib-sieve: spamvirustest: improved trace debugging of score calculation.
diffstat:
src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c | 47 +++++----
src/lib-sieve/plugins/spamvirustest/tst-spamvirustest.c | 2 +
2 files changed, 27 insertions(+), 22 deletions(-)
diffs (159 lines):
diff -r cfe8e9f49dfe -r ff55c9946366 src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c
--- a/src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c Wed Aug 15 00:55:05 2012 +0200
+++ b/src/lib-sieve/plugins/spamvirustest/ext-spamvirustest-common.c Thu Aug 16 22:28:06 2012 +0200
@@ -457,7 +457,6 @@
const struct sieve_message_data *msgdata = renv->msgdata;
struct sieve_message_context *msgctx = renv->msgctx;
struct ext_spamvirustest_message_context *mctx;
- const char *ext_name = sieve_extension_name(ext);
regmatch_t match_values[2];
const char *header_value, *error;
const char *status = NULL, *max = NULL;
@@ -470,7 +469,7 @@
*/
if ( ext_data == NULL ) {
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
- "%s: extension not configured", ext_name);
+ "error: extension not configured");
return "0";
}
@@ -504,8 +503,8 @@
(msgdata->mail, max_header->header_name, &header_value) < 0 ||
header_value == NULL ) {
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
- "%s: header '%s' not found in message",
- ext_name, max_header->header_name);
+ "header '%s' not found in message",
+ max_header->header_name);
goto failed;
}
@@ -514,16 +513,16 @@
if ( regexec(&max_header->regexp, header_value, 2, match_values, 0)
!= 0 ) {
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
- "%s: regexp for header '%s' did not match "
- "on value '%s'", ext_name, max_header->header_name, header_value);
+ "regexp for header '%s' did not match "
+ "on value '%s'", max_header->header_name, header_value);
goto failed;
}
max = _regexp_match_get_value(header_value, 1, match_values, 2);
if ( max == NULL ) {
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
- "%s: regexp did not return match value "
- "for string '%s'", ext_name, header_value);
+ "regexp did not return match value "
+ "for string '%s'", header_value);
goto failed;
}
} else {
@@ -532,7 +531,7 @@
if ( !ext_spamvirustest_parse_decimal_value(max, &max_value, &error) ) {
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
- "%s: failed to parse maximum value: %s", ext_name, error);
+ "failed to parse maximum value: %s", error);
goto failed;
}
} else {
@@ -541,7 +540,7 @@
if ( max_value == 0 ) {
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
- "%s: max value is 0", ext_name);
+ "error: max value is 0");
goto failed;
}
} else {
@@ -557,8 +556,8 @@
(msgdata->mail, status_header->header_name, &header_value) < 0 ||
header_value == NULL ) {
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
- "%s: header '%s' not found in message",
- ext_name, status_header->header_name);
+ "header '%s' not found in message",
+ status_header->header_name);
goto failed;
}
@@ -567,16 +566,16 @@
if ( regexec(&status_header->regexp, header_value, 2, match_values, 0)
!= 0 ) {
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
- "%s: regexp for header '%s' did not match on value '%s'",
- ext_name, status_header->header_name, header_value);
+ "regexp for header '%s' did not match on value '%s'",
+ status_header->header_name, header_value);
goto failed;
}
status = _regexp_match_get_value(header_value, 1, match_values, 2);
if ( status == NULL ) {
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
- "%s: regexp did not return match value for string '%s'",
- ext_name, header_value);
+ "regexp did not return match value for string '%s'",
+ header_value);
goto failed;
}
} else {
@@ -588,8 +587,8 @@
if ( !ext_spamvirustest_parse_decimal_value
(status, &status_value, &error) ) {
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
- "%s: failed to parse status value '%s': %s",
- ext_name, status, error);
+ "failed to parse status value '%s': %s",
+ status, error);
goto failed;
}
break;
@@ -597,8 +596,8 @@
if ( !ext_spamvirustest_parse_strlen_value
(status, &status_value, &error) ) {
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
- "%s: failed to parse status value '%s': %s",
- ext_name, status, error);
+ "failed to parse status value '%s': %s",
+ status, error);
goto failed;
}
break;
@@ -618,8 +617,8 @@
if ( i > max_text ) {
sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
- "%s: failed to match textstatus value '%s'",
- ext_name, status);
+ "failed to match textstatus value '%s'",
+ status);
goto failed;
}
break;
@@ -636,6 +635,10 @@
else
mctx->score_ratio = (status_value / max_value);
+ sieve_runtime_trace(renv, SIEVE_TRLVL_TESTS,
+ "extracted score=%.3f, max=%.3f, ratio=%.0f %%",
+ status_value, max_value, mctx->score_ratio * 100);
+
return ext_spamvirustest_get_score(ext, mctx->score_ratio, percent);
failed:
diff -r cfe8e9f49dfe -r ff55c9946366 src/lib-sieve/plugins/spamvirustest/tst-spamvirustest.c
--- a/src/lib-sieve/plugins/spamvirustest/tst-spamvirustest.c Wed Aug 15 00:55:05 2012 +0200
+++ b/src/lib-sieve/plugins/spamvirustest/tst-spamvirustest.c Thu Aug 16 22:28:06 2012 +0200
@@ -290,7 +290,9 @@
}
/* Get score value */
+ sieve_runtime_trace_descend(renv);
score_value = ext_spamvirustest_get_value(renv, this_ext, percent);
+ sieve_runtime_trace_ascend(renv);
/* Construct value list */
value_list = sieve_single_stringlist_create_cstr(renv, score_value, TRUE);
More information about the dovecot-cvs
mailing list