aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2021-05-12 17:16:36 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2021-05-12 17:16:36 +0100
commit9647a701abfadd92a2975566cd19610c5810aa64 (patch)
treed051904a9b3cea1d1524763f232e313890be88d3
parent8d1a7494b62d2174aee506b2c939dbea0f20be02 (diff)
downloadrspamd-9647a701abfadd92a2975566cd19610c5810aa64.tar.gz
rspamd-9647a701abfadd92a2975566cd19610c5810aa64.zip
[Minor] Fix multiple @ at the beginnig
-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