summaryrefslogtreecommitdiffstats
path: root/src/libserver
diff options
context:
space:
mode:
Diffstat (limited to 'src/libserver')
-rw-r--r--src/libserver/html.c6
-rw-r--r--src/libserver/url.h2
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;