From: Vsevolod Stakhov Date: Mon, 16 Nov 2015 13:06:05 +0000 (+0000) Subject: Do not rewrite the original url when using redirector X-Git-Tag: 1.1.0~549 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1341b6bfbea28028eb12d833beeebc60c10dc00e;p=thirdparty%2Frspamd.git Do not rewrite the original url when using redirector --- diff --git a/src/plugins/surbl.c b/src/plugins/surbl.c index ca0986a713..f3f09c29b0 100644 --- a/src/plugins/surbl.c +++ b/src/plugins/surbl.c @@ -985,6 +985,7 @@ surbl_redirector_finish (struct rspamd_http_connection *conn, struct redirector_param *param = (struct redirector_param *)conn->ud; struct rspamd_task *task; gint r, urllen; + struct rspamd_url *redirected_url; const rspamd_ftok_t *hdr; gchar *urlstr; @@ -1001,19 +1002,24 @@ surbl_redirector_finish (struct rspamd_http_connection *conn, struri (param->url), hdr); urllen = hdr->len; - urlstr = rspamd_mempool_alloc (param->task->task_pool, + urlstr = rspamd_mempool_alloc (task->task_pool, urllen + 1); + redirected_url = rspamd_mempool_alloc (task->task_pool, + sizeof (*redirected_url)); rspamd_strlcpy (urlstr, hdr->begin, urllen + 1); - r = rspamd_url_parse (param->url, urlstr, urllen, - param->task->task_pool); + r = rspamd_url_parse (redirected_url, urlstr, urllen, + task->task_pool); if (r == URI_ERRNO_OK) { - make_surbl_requests (param->url, + make_surbl_requests (redirected_url, param->task, param->suffix, FALSE, param->tree); } + else { + msg_info_task ("cannot parse redirector reply: %s", urlstr); + } } } else {