]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Fix issues on learning files.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 10 Jul 2015 16:40:42 +0000 (17:40 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 10 Jul 2015 16:40:42 +0000 (17:40 +0100)
src/libserver/protocol.c
src/libserver/task.c

index e6407d3a09df2d14aff45476af95892d981ce243..f9b2f0f3beab75ece6664cfbbbe067c0c726374e 100644 (file)
@@ -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;
                }
index 3cd4dc526ebfed4e6b0a2a1a6f1ef135e21caf05..236f2918baf838e01edceef40ba0a11e72958e2c 100644 (file)
@@ -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,