From b0061a0452e691c43fba6abbc4f5ea1bac21d1ea Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 26 Mar 2018 13:12:35 +0100 Subject: [Fix] Treat unnormalised URLs as obscured --- src/libserver/html.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/libserver/html.c b/src/libserver/html.c index b27e07fad..ec81cc06a 100644 --- a/src/libserver/html.c +++ b/src/libserver/html.c @@ -1634,6 +1634,10 @@ rspamd_process_html_url (rspamd_mempool_t *pool, struct rspamd_url *url, gchar *url_str; gint rc; + if (url->flags & RSPAMD_URL_FLAG_UNNORMALISED) { + url->flags |= RSPAMD_URL_FLAG_OBSCURED; + } + if (url->querylen > 0) { if (rspamd_url_find (pool, url->query, url->querylen, &url_str, TRUE, @@ -1658,6 +1662,18 @@ rspamd_process_html_url (rspamd_mempool_t *pool, struct rspamd_url *url, target_tbl = tbl_urls; } + if (query_url->flags + & (RSPAMD_URL_FLAG_UNNORMALISED|RSPAMD_URL_FLAG_OBSCURED| + RSPAMD_URL_FLAG_NUMERIC)) { + /* Set obscured flag if query url is bad */ + url->flags |= RSPAMD_URL_FLAG_OBSCURED; + } + + /* And vice-versa */ + if (url->flags & RSPAMD_URL_FLAG_OBSCURED) { + query_url->flags |= RSPAMD_URL_FLAG_OBSCURED; + } + if ((existing = g_hash_table_lookup (target_tbl, query_url)) == NULL) { g_hash_table_insert (target_tbl, -- cgit v1.2.3