summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2017-08-08 08:20:34 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2017-08-08 08:20:34 +0100
commit3376b6d6e88e5a497861a718859991029e8ff211 (patch)
tree68859aa39f07761f8262523473e1eb28e90d5db9 /src
parent568d293c2461c9c17df88ff31396e493fedc47e9 (diff)
downloadrspamd-3376b6d6e88e5a497861a718859991029e8ff211.tar.gz
rspamd-3376b6d6e88e5a497861a718859991029e8ff211.zip
[Fix] Try harder to find urls
Diffstat (limited to 'src')
-rw-r--r--src/libserver/url.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libserver/url.c b/src/libserver/url.c
index 35e704f67..8370b8d99 100644
--- a/src/libserver/url.c
+++ b/src/libserver/url.c
@@ -1895,8 +1895,10 @@ url_web_start (struct url_callback_data *cb,
(g_ascii_strncasecmp (pos, "www", 3) == 0 ||
g_ascii_strncasecmp (pos, "ftp", 3) == 0)) {
- if (!is_url_start (*(pos - 1)) && !g_ascii_isspace (*(pos - 1)) &&
- pos - 1 != match->prev_newline_pos) {
+ if (!(is_url_start (*(pos - 1)) ||
+ g_ascii_isspace (*(pos - 1)) ||
+ pos - 1 == match->prev_newline_pos ||
+ (*(pos - 1) & 0x80))) { /* Chinese trick */
return FALSE;
}
}