diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-05-12 17:16:36 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-05-12 17:16:36 +0100 |
commit | 9647a701abfadd92a2975566cd19610c5810aa64 (patch) | |
tree | d051904a9b3cea1d1524763f232e313890be88d3 | |
parent | 8d1a7494b62d2174aee506b2c939dbea0f20be02 (diff) | |
download | rspamd-9647a701abfadd92a2975566cd19610c5810aa64.tar.gz rspamd-9647a701abfadd92a2975566cd19610c5810aa64.zip |
[Minor] Fix multiple @ at the beginnig
-rw-r--r-- | src/libserver/url.c | 4 | ||||
-rw-r--r-- | test/lua/unit/url.lua | 3 |
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 |