aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libserver/url.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libserver/url.c b/src/libserver/url.c
index c66728aff..1afde3b6b 100644
--- a/src/libserver/url.c
+++ b/src/libserver/url.c
@@ -867,6 +867,12 @@ rspamd_web_parse (struct http_parser_url *u, const gchar *str, gsize len,
if (is_url_end (t)) {
goto set;
}
+ else if (*p == '@' && !user_seen) {
+ /* We need to fallback and test user */
+ p = slash;
+ user_seen = TRUE;
+ st = parse_user;
+ }
else if (*p != '.' && *p != '-' && *p != '_' && *p != '%') {
uc = g_utf8_get_char_validated (p, last - p);