#define RSPAMD_PASSTHROUGH_LEAST (1u << 0u)
#define RSPAMD_PASSTHROUGH_NO_SMTP_MESSAGE (1u << 1u)
+#define RSPAMD_PASSTHROUGH_PROCESS_ALL (1u << 2u)
struct rspamd_passthrough_result {
struct rspamd_action *action;
else if (strstr (fl_str, "no_smtp_message") != NULL) {
flags |= RSPAMD_PASSTHROUGH_NO_SMTP_MESSAGE;
}
+ else if (strstr (fl_str, "process_all") != NULL) {
+ flags |= RSPAMD_PASSTHROUGH_PROCESS_ALL;
+ }
}
/* Don't classify or filter message if pre-filter sets results */
- if (res_name == NULL && !(flags & RSPAMD_PASSTHROUGH_LEAST)) {
+ if (res_name == NULL && !(flags & (RSPAMD_PASSTHROUGH_LEAST|RSPAMD_PASSTHROUGH_PROCESS_ALL))) {
task->processed_stages |= (RSPAMD_TASK_STAGE_CLASSIFIERS |
RSPAMD_TASK_STAGE_CLASSIFIERS_PRE |
RSPAMD_TASK_STAGE_CLASSIFIERS_POST);