From: Vsevolod Stakhov Date: Sat, 21 Oct 2017 18:24:43 +0000 (+0100) Subject: [Fix] Some more fixes towards emails detection X-Git-Tag: 1.7.0~526 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5e43ee598e71c01f1ceda2b11e287d9c353a8a32;p=rspamd.git [Fix] Some more fixes towards emails detection MFH: rspamd-1.6 --- diff --git a/src/libserver/url.c b/src/libserver/url.c index ef04df04e..0d8acc32b 100644 --- a/src/libserver/url.c +++ b/src/libserver/url.c @@ -229,7 +229,7 @@ static const unsigned int url_scanner_table[256] = { IS_MAILSAFE /* ! */, IS_URLSAFE|IS_DOMAIN_END|IS_MAILSAFE /* " */, IS_MAILSAFE /* # */, IS_MAILSAFE /* $ */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* % */, 0 /* & */, IS_MAILSAFE /* ' */, - IS_MAILSAFE /* ( */, IS_MAILSAFE /* ) */, IS_MAILSAFE /* * */, + 0 /* ( */, 0 /* ) */, IS_MAILSAFE /* * */, IS_MAILSAFE /* + */, IS_MAILSAFE /* , */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* - */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* . */, IS_DOMAIN_END|IS_MAILSAFE /* / */, @@ -243,8 +243,8 @@ static const unsigned int url_scanner_table[256] = { IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* 7 */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* 8 */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* 9 */, IS_DOMAIN_END /* : */, - IS_MAILSAFE /* ; */, IS_URLSAFE|IS_DOMAIN_END|IS_MAILSAFE /* < */, 0 /* = */, - IS_URLSAFE|IS_DOMAIN_END|IS_MAILSAFE /* > */, IS_DOMAIN_END /* ? */, 0 /* @ */, + 0 /* ; */, IS_URLSAFE|IS_DOMAIN_END /* < */, 0 /* = */, + IS_URLSAFE|IS_DOMAIN_END /* > */, IS_DOMAIN_END /* ? */, 0 /* @ */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* A */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* B */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* C */, @@ -270,11 +270,11 @@ static const unsigned int url_scanner_table[256] = { IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* W */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* X */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* Y */, - IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* Z */, IS_MAILSAFE /* [ */, - IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* \ */, IS_MAILSAFE /* ] */, + IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* Z */, 0 /* [ */, + IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* \ */, 0 /* ] */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* ^ */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* _ */, - IS_URLSAFE|IS_DOMAIN_END|IS_MAILSAFE /* ` */, + IS_URLSAFE|IS_DOMAIN_END /* ` */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* a */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* b */, IS_URLSAFE|IS_DOMAIN|IS_MAILSAFE /* c */, @@ -2141,7 +2141,8 @@ url_email_end (struct url_callback_data *cb, p --; } - if (p < cb->end && p < match->newline_pos && g_ascii_isalnum (*p)) { + if (p < cb->end && g_ascii_isalnum (*p) && + (match->newline_pos == NULL || p < match->newline_pos)) { p ++; }