From: Vsevolod Stakhov Date: Fri, 10 Jul 2015 16:40:42 +0000 (+0100) Subject: Fix issues on learning files. X-Git-Tag: 1.0.0~387 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f7346f669cc18a7837f223c4e9c69576cd94aa12;p=thirdparty%2Frspamd.git Fix issues on learning files. --- diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c index e6407d3a09..f9b2f0f3be 100644 --- a/src/libserver/protocol.c +++ b/src/libserver/protocol.c @@ -183,7 +183,7 @@ rspamd_protocol_handle_url (struct rspamd_task *task, case 'c': case 'C': /* check */ - if (g_ascii_strncasecmp (p + 1, MSG_CMD_CHECK + 1, pathlen) == 0) { + if (g_ascii_strncasecmp (p, MSG_CMD_CHECK, pathlen) == 0) { task->cmd = CMD_CHECK; } else { @@ -193,10 +193,10 @@ rspamd_protocol_handle_url (struct rspamd_task *task, case 's': case 'S': /* symbols, skip */ - if (g_ascii_strncasecmp (p + 1, MSG_CMD_SYMBOLS + 1, pathlen) == 0) { + if (g_ascii_strncasecmp (p, MSG_CMD_SYMBOLS, pathlen) == 0) { task->cmd = CMD_SYMBOLS; } - else if (g_ascii_strncasecmp (p + 1, MSG_CMD_SKIP + 1, pathlen) == 0) { + else if (g_ascii_strncasecmp (p, MSG_CMD_SKIP, pathlen) == 0) { task->cmd = CMD_SKIP; } else { @@ -206,10 +206,10 @@ rspamd_protocol_handle_url (struct rspamd_task *task, case 'p': case 'P': /* ping, process */ - if (g_ascii_strncasecmp (p + 1, MSG_CMD_PING + 1, pathlen) == 0) { + if (g_ascii_strncasecmp (p, MSG_CMD_PING, pathlen) == 0) { task->cmd = CMD_PING; } - else if (g_ascii_strncasecmp (p + 1, MSG_CMD_PROCESS + 1, pathlen) == 0) { + else if (g_ascii_strncasecmp (p, MSG_CMD_PROCESS, pathlen) == 0) { task->cmd = CMD_PROCESS; } else { @@ -219,10 +219,10 @@ rspamd_protocol_handle_url (struct rspamd_task *task, case 'r': case 'R': /* report, report_ifspam */ - if (g_ascii_strncasecmp (p + 1, MSG_CMD_REPORT + 1, pathlen) == 0) { + if (g_ascii_strncasecmp (p, MSG_CMD_REPORT, pathlen) == 0) { task->cmd = CMD_REPORT; } - else if (g_ascii_strncasecmp (p + 1, MSG_CMD_REPORT_IFSPAM + 1, + else if (g_ascii_strncasecmp (p, MSG_CMD_REPORT_IFSPAM, pathlen) == 0) { task->cmd = CMD_REPORT_IFSPAM; } diff --git a/src/libserver/task.c b/src/libserver/task.c index 3cd4dc526e..236f2918ba 100644 --- a/src/libserver/task.c +++ b/src/libserver/task.c @@ -265,7 +265,7 @@ rspamd_task_load_message (struct rspamd_task *task, r = rspamd_strlcpy (filepath, task->msg.start, MIN (sizeof (filepath), task->msg.len + 1)); - rspamd_unescape_uri (filepath, filepath, r); + rspamd_unescape_uri (filepath, filepath, r + 1); if (access (filepath, R_OK) == -1 || stat (filepath, &st) == -1) { g_set_error (&task->err, rspamd_task_quark(), RSPAMD_PROTOCOL_ERROR,