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 {
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 {
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 {
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;
}
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,