]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] HTML: Extract urls from `action` attribute
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 2 Feb 2021 16:47:21 +0000 (16:47 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 2 Feb 2021 16:47:21 +0000 (16:47 +0000)
src/libserver/html.c

index 0dd6eb5cd8c5991b48b5132d6d964166714a243c..5b3aafca076d373718e40cbcdbc96f3967cbdb32 100644 (file)
@@ -84,7 +84,7 @@ static struct html_tag_def tag_defs[] = {
        TAG_DEF(Tag_EM, "em", (CM_INLINE)),
        TAG_DEF(Tag_FIELDSET, "fieldset", (CM_BLOCK)),
        TAG_DEF(Tag_FONT, "font", (FL_BLOCK)),
-       TAG_DEF(Tag_FORM, "form", (CM_BLOCK)),
+       TAG_DEF(Tag_FORM, "form", (CM_BLOCK|FL_HREF)),
        TAG_DEF(Tag_FRAME, "frame", (CM_FRAMES | CM_EMPTY | FL_HREF)),
        TAG_DEF(Tag_FRAMESET, "frameset", (CM_HTML | CM_FRAMES)),
        TAG_DEF(Tag_H1, "h1", (CM_BLOCK | CM_HEADING)),
@@ -1000,6 +1000,11 @@ rspamd_html_parse_tag_component (rspamd_mempool_t *pool,
                        NEW_COMPONENT (RSPAMD_HTML_COMPONENT_HREF);
                }
        }
+       else if (len == 6) {
+               if (g_ascii_strncasecmp (p, "action", len) == 0) {
+                       NEW_COMPONENT (RSPAMD_HTML_COMPONENT_HREF);
+               }
+       }
 
        if (tag->id == Tag_IMG) {
                /* Check width and height if presented */