From: Vsevolod Stakhov Date: Wed, 22 Aug 2012 18:09:46 +0000 (+0400) Subject: Fix url detector. X-Git-Tag: 0.5.2~1 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5767620cc4e05b08440c144f6f7377470e9d7b71;p=rspamd.git Fix url detector. --- diff --git a/src/url.c b/src/url.c index 803bd05fd..764e56298 100644 --- a/src/url.c +++ b/src/url.c @@ -1232,7 +1232,12 @@ url_tld_start (const gchar *begin, const gchar *end, const gchar *pos, url_match /* Try to find the start of the url by finding any non-urlsafe character or whitespace/punctuation */ while (p >= begin) { - if (!is_urlsafe (*p) || g_ascii_isspace (*p)) { + if ((!is_domain (*p) && *p != '.') || g_ascii_isspace (*p)) { + p ++; + if (*p == '.') { + /* Urls cannot start with . */ + return FALSE; + } match->m_begin = p; return TRUE; } @@ -1277,6 +1282,10 @@ url_web_start (const gchar *begin, const gchar *end, const gchar *pos, url_match return FALSE; } } + if (*pos == '.') { + /* Urls cannot start with . */ + return FALSE; + } match->m_begin = pos; return TRUE;