From: Vsevolod Stakhov Date: Thu, 16 May 2024 15:05:59 +0000 (+0100) Subject: [Minor] Relax mailto processing with no TLD X-Git-Tag: 3.9.0~41^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0ecec4a2d2ee0337c51746b4b8ddd43e21276e05;p=thirdparty%2Frspamd.git [Minor] Relax mailto processing with no TLD --- diff --git a/src/libserver/url.c b/src/libserver/url.c index b0ece195ba..137e5b73ce 100644 --- a/src/libserver/url.c +++ b/src/libserver/url.c @@ -559,7 +559,6 @@ void rspamd_url_init(const char *tld_file) sizeof(struct url_matcher), 13000); url_scanner->search_trie_full = rspamd_multipattern_create_sized(13000, RSPAMD_MULTIPATTERN_ICASE | RSPAMD_MULTIPATTERN_UTF8); - url_scanner->has_tld_file = true; } else { url_scanner->matchers_full = NULL; @@ -572,6 +571,10 @@ void rspamd_url_init(const char *tld_file) if (tld_file != NULL) { ret = rspamd_url_parse_tld_file(tld_file, url_scanner); + + if (ret) { + url_scanner->has_tld_file = true; + } } if (url_scanner->matchers_full && url_scanner->matchers_full->len > 1000) { @@ -2525,8 +2528,13 @@ rspamd_url_parse(struct rspamd_url *uri, } } else { - /* Ignore IP like domains for mailto, as it is really never supported */ - return URI_ERRNO_TLD_MISSING; + if (url_scanner->has_tld_file) { + /* Ignore IP like domains for mailto, as it is really never supported */ + return URI_ERRNO_TLD_MISSING; + } + else { + uri->flags |= RSPAMD_URL_FLAG_NO_TLD; + } } } }