]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Fixes in urls fragments/queries parsing
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 10 Jan 2020 16:16:41 +0000 (16:16 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 10 Jan 2020 16:16:41 +0000 (16:16 +0000)
src/libserver/url.c

index c2f59e7686c33d4c5ada2589c9a7474e8c68d772..bb32063d7a73602dda4a20b8924cdd928fa0eb0b 100644 (file)
@@ -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;
                        }