瀏覽代碼

[Minor] Core: Use quarantine/dicard as semi-standard actions

tags/1.9.0
Vsevolod Stakhov 5 年之前
父節點
當前提交
f97078913a
共有 4 個文件被更改,包括 18 次插入12 次删除
  1. 2
    2
      src/libserver/cfg_file.h
  2. 12
    6
      src/libserver/cfg_utils.c
  3. 2
    2
      src/libserver/milter.c
  4. 2
    2
      src/libserver/protocol.c

+ 2
- 2
src/libserver/cfg_file.h 查看文件

@@ -270,8 +270,8 @@ enum rspamd_action_type {
METRIC_ACTION_NOACTION,
METRIC_ACTION_MAX,
METRIC_ACTION_CUSTOM = 999,
METRIC_ACTION_MILTER_DISCARD,
METRIC_ACTION_MILTER_QUARANTINE
METRIC_ACTION_DISCARD,
METRIC_ACTION_QUARANTINE
};

enum rspamd_action_flags {

+ 12
- 6
src/libserver/cfg_utils.c 查看文件

@@ -1937,11 +1937,11 @@ rspamd_config_action_from_ucl (struct rspamd_config *cfg,

if (strcmp (milter_action, "discard") == 0) {
flags |= RSPAMD_ACTION_MILTER;
act->action_type = METRIC_ACTION_MILTER_DISCARD;
act->action_type = METRIC_ACTION_DISCARD;
}
else if (strcmp (milter_action, "quarantine") == 0) {
flags |= RSPAMD_ACTION_MILTER;
act->action_type = METRIC_ACTION_MILTER_QUARANTINE;
act->action_type = METRIC_ACTION_QUARANTINE;
}
else {
msg_warn_config ("unknown milter action: %s", milter_action);
@@ -2239,6 +2239,12 @@ rspamd_action_from_str (const gchar *data, gint *result)
case 0x167C0DF4BAA9BCECULL: /* accept */
*result = METRIC_ACTION_NOACTION;
break;
case 0x4E9666ECCD3FC314ULL: /* quarantine */
*result = METRIC_ACTION_QUARANTINE;
break;
case 0x93B346242F7F69B3ULL: /* discard */
*result = METRIC_ACTION_DISCARD;
break;
default:
return FALSE;
}
@@ -2266,9 +2272,9 @@ rspamd_action_to_str (enum rspamd_action_type action)
return "invalid max action";
case METRIC_ACTION_CUSTOM:
return "custom";
case METRIC_ACTION_MILTER_DISCARD:
case METRIC_ACTION_DISCARD:
return "discard";
case METRIC_ACTION_MILTER_QUARANTINE:
case METRIC_ACTION_QUARANTINE:
return "quarantine";
}

@@ -2295,9 +2301,9 @@ rspamd_action_to_str_alt (enum rspamd_action_type action)
return "invalid max action";
case METRIC_ACTION_CUSTOM:
return "custom";
case METRIC_ACTION_MILTER_DISCARD:
case METRIC_ACTION_DISCARD:
return "discard";
case METRIC_ACTION_MILTER_QUARANTINE:
case METRIC_ACTION_QUARANTINE:
return "quarantine";
}


+ 2
- 2
src/libserver/milter.c 查看文件

@@ -1947,7 +1947,7 @@ rspamd_milter_send_task_results (struct rspamd_milter_session *session,
rspamd_milter_send_action (session, RSPAMD_MILTER_ACCEPT);
break;

case METRIC_ACTION_MILTER_QUARANTINE:
case METRIC_ACTION_QUARANTINE:
/* TODO: be more flexible about SMTP messages */
rspamd_milter_send_action (session, RSPAMD_MILTER_QUARANTINE,
RSPAMD_MILTER_QUARANTINE_MESSAGE);
@@ -1955,7 +1955,7 @@ rspamd_milter_send_task_results (struct rspamd_milter_session *session,
/* Quarantine also requires accept action, all hail Sendmail */
rspamd_milter_send_action (session, RSPAMD_MILTER_ACCEPT);
break;
case METRIC_ACTION_MILTER_DISCARD:
case METRIC_ACTION_DISCARD:
rspamd_milter_send_action (session, RSPAMD_MILTER_DISCARD);
break;
case METRIC_ACTION_GREYLIST:

+ 2
- 2
src/libserver/protocol.c 查看文件

@@ -970,11 +970,11 @@ rspamd_metric_result_ucl (struct rspamd_task *task,
}
if (action->flags & RSPAMD_ACTION_MILTER) {
/* Treat milter action specially */
if (action->action_type == METRIC_ACTION_MILTER_DISCARD) {
if (action->action_type == METRIC_ACTION_DISCARD) {
ucl_object_insert_key (obj, ucl_object_fromstring ("discard"),
"reject", 0, false);
}
else if (action->action_type == METRIC_ACTION_MILTER_QUARANTINE) {
else if (action->action_type == METRIC_ACTION_QUARANTINE) {
ucl_object_insert_key (obj, ucl_object_fromstring ("quarantine"),
"reject", 0, false);
}

Loading…
取消
儲存