aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiecio Za <miecio@miecio.net>2019-02-27 12:04:10 +0100
committerMiecio Za <miecio@miecio.net>2019-02-27 12:04:10 +0100
commit84264594d874881dd4556dc476d8a3af842787e7 (patch)
treee3a0acfc3a6a9a610d0afccd7c33189f39c388a0
parentadd9595913c3f456c6328a53801739cdca70da9d (diff)
downloadrspamd-84264594d874881dd4556dc476d8a3af842787e7.tar.gz
rspamd-84264594d874881dd4556dc476d8a3af842787e7.zip
[Feature] Add flag to url object when visible part is url_like
Flag is similar to phished but does not require domains to be different
-rw-r--r--src/libserver/html.c3
-rw-r--r--src/libserver/url.h1
-rw-r--r--src/lua/lua_url.c2
3 files changed, 6 insertions, 0 deletions
diff --git a/src/libserver/html.c b/src/libserver/html.c
index 70b66ccc0..cdcaf4ebb 100644
--- a/src/libserver/html.c
+++ b/src/libserver/html.c
@@ -2384,6 +2384,9 @@ rspamd_html_check_displayed_url (rspamd_mempool_t *pool,
dest->len - href_offset,
&url_found, &displayed_url);
+ if (url_found) {
+ url->flags |= RSPAMD_URL_FLAG_DISPLAY_URL;
+ }
if (exceptions && url_found) {
ex = rspamd_mempool_alloc (pool,
sizeof (*ex));
diff --git a/src/libserver/url.h b/src/libserver/url.h
index 571424099..1a117c450 100644
--- a/src/libserver/url.h
+++ b/src/libserver/url.h
@@ -28,6 +28,7 @@ enum rspamd_url_flags {
RSPAMD_URL_FLAG_SCHEMALESS = 1 << 15,
RSPAMD_URL_FLAG_UNNORMALISED = 1 << 16,
RSPAMD_URL_FLAG_ZW_SPACES = 1 << 17,
+ RSPAMD_URL_FLAG_DISPLAY_URL = 1 << 18,
};
struct rspamd_url_tag {
diff --git a/src/lua/lua_url.c b/src/lua/lua_url.c
index 7bad50359..58c6a83be 100644
--- a/src/lua/lua_url.c
+++ b/src/lua/lua_url.c
@@ -901,6 +901,7 @@ lua_url_all (lua_State *L)
* - `schemaless`: URL has no schema
* - `unnormalised`: URL has some unicode unnormalities
* - `zw_spaces`: URL has some zero width spaces
+ * - `url_displayed`: URL has some other url-like string in visible part
* @return {table} URL flags
*/
#define PUSH_FLAG(fl, name) do { \
@@ -941,6 +942,7 @@ lua_url_get_flags (lua_State *L)
PUSH_FLAG (RSPAMD_URL_FLAG_SCHEMALESS, "schemaless");
PUSH_FLAG (RSPAMD_URL_FLAG_UNNORMALISED, "unnormalised");
PUSH_FLAG (RSPAMD_URL_FLAG_ZW_SPACES, "zw_spaces");
+ PUSH_FLAG (RSPAMD_URL_FLAG_DISPLAY_URL, "url_displayed");
}
else {
return luaL_error (L, "invalid arguments");