From: Vsevolod Stakhov Date: Fri, 10 Jan 2020 16:16:41 +0000 (+0000) Subject: [Minor] Fixes in urls fragments/queries parsing X-Git-Tag: 2.3~127 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=be9abe795333dd76eaab83c2d765eefe98b10db7;p=rspamd.git [Minor] Fixes in urls fragments/queries parsing --- diff --git a/src/libserver/url.c b/src/libserver/url.c index c2f59e768..bb32063d7 100644 --- a/src/libserver/url.c +++ b/src/libserver/url.c @@ -1021,6 +1021,14 @@ rspamd_web_parse (struct http_parser_url *u, const gchar *str, gsize len, st = parse_path; c = p + 1; } + else if (*p == '?') { + st = parse_query; + c = p + 1; + } + else if (*p == '#') { + st = parse_part; + c = p + 1; + } else if (p != last) { goto out; } @@ -1359,6 +1367,14 @@ rspamd_web_parse (struct http_parser_url *u, const gchar *str, gsize len, c = p + 1; st = parse_query; } + else if (t == '#') { + /* No query, just fragment */ + if (p - c != 0) { + SET_U (u, UF_PATH); + } + c = p + 1; + st = parse_part; + } else if (is_url_end (t)) { goto set; }