struct rspamd_url *url;
GList *cur;
const guchar *p;
+ gchar *decoded;
gint rc;
+ gsize decoded_len;
gboolean has_spaces = FALSE;
cur = tag->params->head;
has_spaces = TRUE;
}
+ /* Also we need to perform url decode */
+ decoded = rspamd_mempool_alloc (pool, comp->len + 1);
+ rspamd_strlcpy (decoded, comp->start, comp->len + 1);
+ decoded_len = rspamd_decode_url (decoded, comp->start, comp->len);
+
url = rspamd_mempool_alloc (pool, sizeof (*url));
- rc = rspamd_url_parse (url, (gchar *)comp->start, comp->len, pool);
+ rc = rspamd_url_parse (url, decoded, decoded_len, pool);
if (rc == URI_ERRNO_OK) {