diff options
Diffstat (limited to 'src/libserver')
-rw-r--r-- | src/libserver/html.c | 6 | ||||
-rw-r--r-- | src/libserver/url.h | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/libserver/html.c b/src/libserver/html.c index 31438ddad..70b66ccc0 100644 --- a/src/libserver/html.c +++ b/src/libserver/html.c @@ -2373,6 +2373,12 @@ rspamd_html_check_displayed_url (rspamd_mempool_t *pool, return; } + gint visible_part_len = dest->len - href_offset; + url->visible_part = rspamd_mempool_alloc0(pool, visible_part_len +1); + url->visible_partlen = visible_part_len; + gchar *visible_part = g_strndup(dest->data + href_offset, visible_part_len); + g_stpcpy(url->visible_part, visible_part); + rspamd_html_url_is_phished (pool, url, dest->data + href_offset, dest->len - href_offset, diff --git a/src/libserver/url.h b/src/libserver/url.h index 4d1948921..571424099 100644 --- a/src/libserver/url.h +++ b/src/libserver/url.h @@ -48,6 +48,7 @@ struct rspamd_url { gchar *fragment; gchar *surbl; gchar *tld; + gchar *visible_part; struct rspamd_url *phished_url; @@ -61,6 +62,7 @@ struct rspamd_url { guint tldlen; guint urllen; guint rawlen; + guint visible_partlen; enum rspamd_url_flags flags; guint count; |