From: Vsevolod Stakhov Date: Thu, 15 Apr 2021 14:39:33 +0000 (+0100) Subject: [Minor] Truncate too long urls instead of discarding them completely X-Git-Tag: 3.0~493 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6b15d1ed13c0e082d25097f4833e9d533b753678;p=thirdparty%2Frspamd.git [Minor] Truncate too long urls instead of discarding them completely --- diff --git a/src/libserver/url.c b/src/libserver/url.c index 01bb527f09..ad77686b79 100644 --- a/src/libserver/url.c +++ b/src/libserver/url.c @@ -2190,7 +2190,8 @@ rspamd_url_parse (struct rspamd_url *uri, } if (len >= G_MAXUINT16 / 2) { - return URI_ERRNO_TOO_LONG; + flags |= RSPAMD_URL_FLAG_TRUNCATED; + len = G_MAXUINT16 / 2; } p = uristring; diff --git a/src/libserver/url.h b/src/libserver/url.h index fe3124308c..30c5ef0afb 100644 --- a/src/libserver/url.h +++ b/src/libserver/url.h @@ -38,6 +38,7 @@ enum rspamd_url_flags { RSPAMD_URL_FLAG_QUERY = 1u << 20u, RSPAMD_URL_FLAG_CONTENT = 1u << 21u, RSPAMD_URL_FLAG_NO_TLD = 1u << 22u, + RSPAMD_URL_FLAG_TRUNCATED = 1u << 23u, }; struct rspamd_url_tag {