From: Vsevolod Stakhov Date: Wed, 24 May 2017 11:15:48 +0000 (+0100) Subject: [Fix] Support v2 checks in controller X-Git-Tag: 1.6.0~141 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c36baca06837867a85b57748e334f660708941d5;p=rspamd.git [Fix] Support v2 checks in controller --- diff --git a/src/controller.c b/src/controller.c index 18b81d30e..591c21b4c 100644 --- a/src/controller.c +++ b/src/controller.c @@ -53,6 +53,7 @@ #define PATH_SAVE_MAP "/savemap" #define PATH_SCAN "/scan" #define PATH_CHECK "/check" +#define PATH_CHECKV2 "/checkv2" #define PATH_STAT "/stat" #define PATH_STAT_RESET "/statreset" #define PATH_COUNTERS "/counters" @@ -2055,6 +2056,19 @@ rspamd_controller_handle_scan (struct rspamd_http_connection_entry *conn_ent, task->flags |= RSPAMD_TASK_FLAG_MIME; task->resolver = ctx->resolver; + if (!rspamd_protocol_handle_request (task, msg)) { + if (task->err) { + rspamd_controller_send_error (conn_ent, task->err->code, "%s", + task->err->message); + } + else { + rspamd_controller_send_error (conn_ent, 500, + "Message load error: unknown error"); + } + rspamd_session_destroy (task->s); + return 0; + } + if (!rspamd_task_load_message (task, msg, msg->body_buf.begin, msg->body_buf.len)) { if (task->err) { rspamd_controller_send_error (conn_ent, task->err->code, "%s", @@ -3675,6 +3689,9 @@ start_controller_worker (struct rspamd_worker *worker) rspamd_http_router_add_path (ctx->http, PATH_CHECK, rspamd_controller_handle_scan); + rspamd_http_router_add_path (ctx->http, + PATH_CHECKV2, + rspamd_controller_handle_scan); rspamd_http_router_add_path (ctx->http, PATH_STAT, rspamd_controller_handle_stat);