aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libserver/url.c4
-rw-r--r--test/lua/unit/url.lua3
2 files changed, 7 insertions, 0 deletions
diff --git a/src/libserver/url.c b/src/libserver/url.c
index 1fad034f5..2cfc7d147 100644
--- a/src/libserver/url.c
+++ b/src/libserver/url.c
@@ -1225,7 +1225,11 @@ rspamd_web_parse (struct http_parser_url *u, const gchar *str, gsize len,
}
/* For now, we ignore all that stuff as it is bogus */
+ /* Off by one */
+ p --;
SET_U (u, UF_USERINFO);
+ p ++;
+ *flags |= RSPAMD_URL_FLAG_HAS_USER;
st = parse_at;
}
else {
diff --git a/test/lua/unit/url.lua b/test/lua/unit/url.lua
index 40d684bfc..282d79290 100644
--- a/test/lua/unit/url.lua
+++ b/test/lua/unit/url.lua
@@ -136,6 +136,9 @@ context("URL check functions", function()
{"http:////$%^&****((@example.org//#f@f", true, {
user = '$%^&****((', host = 'example.org', fragment = 'f@f'
}},
+ {"http://@@example.com", true, {
+ user = "@", host = "example.com"
+ }}
}
-- Some cases from https://code.google.com/p/google-url/source/browse/trunk/src/url_canon_unittest.cc