33
33
* # 4: X-Spam-Score: status=3.2 required=5.0
35
35
* sieve_spamtest_status_header = \
36
* X-Spam-Score: score=(-?[[:digit:]]+\.[[:digit:]]).*
36
* X-Spam-Score: score=(-?[[:digit:]]+\.[[:digit:]]).*
37
37
* sieve_spamtest_max_header = \
38
* X-Spam-Score: score=-?[[:digit:]]+\.[[:digit:]] required=([[:digit:]]+\.[[:digit:]])
38
* X-Spam-Score: score=-?[[:digit:]]+\.[[:digit:]] required=([[:digit:]]+\.[[:digit:]])
40
40
* # 5: X-Virus-Scan: Found to be clean.
67
67
static bool ext_spamvirustest_validator_load
68
68
(const struct sieve_extension *ext, struct sieve_validator *validator);
70
const struct sieve_extension_def spamtest_extension = {
72
ext_spamvirustest_load,
73
ext_spamvirustest_unload,
74
ext_spamvirustest_validator_load,
75
NULL, NULL, NULL, NULL, NULL,
76
SIEVE_EXT_DEFINE_OPERATION(spamtest_operation),
77
SIEVE_EXT_DEFINE_NO_OPERANDS
80
const struct sieve_extension_def spamtestplus_extension = {
82
ext_spamvirustest_load,
83
ext_spamvirustest_unload,
84
ext_spamvirustest_validator_load,
85
NULL, NULL, NULL, NULL, NULL,
86
SIEVE_EXT_DEFINE_OPERATION(spamtest_operation),
87
SIEVE_EXT_DEFINE_NO_OPERANDS
90
const struct sieve_extension_def virustest_extension = {
92
ext_spamvirustest_load,
93
ext_spamvirustest_unload,
94
ext_spamvirustest_validator_load,
95
NULL, NULL, NULL, NULL, NULL,
96
SIEVE_EXT_DEFINE_OPERATION(virustest_operation),
97
SIEVE_EXT_DEFINE_NO_OPERANDS
70
const struct sieve_extension_def spamtest_extension = {
72
.load = ext_spamvirustest_load,
73
.unload = ext_spamvirustest_unload,
74
.validator_load = ext_spamvirustest_validator_load,
75
SIEVE_EXT_DEFINE_OPERATION(spamtest_operation)
78
const struct sieve_extension_def spamtestplus_extension = {
79
.name = "spamtestplus",
80
.load = ext_spamvirustest_load,
81
.unload = ext_spamvirustest_unload,
82
.validator_load = ext_spamvirustest_validator_load,
83
SIEVE_EXT_DEFINE_OPERATION(spamtest_operation)
86
const struct sieve_extension_def virustest_extension = {
88
.load = ext_spamvirustest_load,
89
.unload = ext_spamvirustest_unload,
90
.validator_load = ext_spamvirustest_validator_load,
91
SIEVE_EXT_DEFINE_OPERATION(virustest_operation)
104
98
static bool ext_spamtest_validator_extension_validate
105
(const struct sieve_extension *ext, struct sieve_validator *valdtr,
99
(const struct sieve_extension *ext, struct sieve_validator *valdtr,
106
100
void *context, struct sieve_ast_argument *require_arg);
108
102
const struct sieve_validator_extension spamtest_validator_extension = {
134
128
static bool ext_spamtest_validator_extension_validate
135
(const struct sieve_extension *ext, struct sieve_validator *valdtr,
129
(const struct sieve_extension *ext, struct sieve_validator *valdtr,
136
130
void *context ATTR_UNUSED, struct sieve_ast_argument *require_arg)
138
132
const struct sieve_extension *ext_spamtestplus =