From: Vsevolod Stakhov Date: Thu, 1 May 2014 14:26:39 +0000 (+0100) Subject: Improve error reporting for HTTP sessions. X-Git-Tag: 0.7.0~239 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=35dea66794440026b8dbdda076c869c09dd4673f;p=thirdparty%2Frspamd.git Improve error reporting for HTTP sessions. --- diff --git a/src/libmime/protocol.c b/src/libmime/protocol.c index 52336c81ce..69d849d52e 100644 --- a/src/libmime/protocol.c +++ b/src/libmime/protocol.c @@ -780,8 +780,10 @@ rspamd_protocol_write_reply (struct rspamd_task *task) top = ucl_object_typed_new (UCL_OBJECT); debug_task ("writing reply to client"); if (task->error_code != 0) { - msg->code = task->error_code; - ucl_object_insert_key (top, ucl_object_fromstring (task->last_error), "error", 0, false); + msg->code = 500 + task->error_code % 100; + msg->status = g_string_new (task->last_error); + ucl_object_insert_key (top, ucl_object_fromstring (task->last_error), + "error", 0, false); msg->body = g_string_sized_new (256); rspamd_ucl_emit_gstring (top, UCL_EMIT_JSON_COMPACT, msg->body); ucl_object_unref (top); diff --git a/src/worker.c b/src/worker.c index aca667a680..20945bd89e 100644 --- a/src/worker.c +++ b/src/worker.c @@ -142,7 +142,7 @@ rspamd_worker_error_handler (struct rspamd_http_connection *conn, GError *err) if (task->state != CLOSING_CONNECTION) { /* We still need to write a reply */ task->error_code = err->code; - task->last_error = err->message; + task->last_error = rspamd_mempool_strdup (task->task_pool, err->message); task->state = WRITE_REPLY; rspamd_protocol_write_reply (task); }