Browse Source

[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
tags/1.9.0
Miecio Za 5 years ago
parent
commit
84264594d8
3 changed files with 6 additions and 0 deletions
  1. 3
    0
      src/libserver/html.c
  2. 1
    0
      src/libserver/url.h
  3. 2
    0
      src/lua/lua_url.c

+ 3
- 0
src/libserver/html.c View File

@@ -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));

+ 1
- 0
src/libserver/url.h View File

@@ -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 {

+ 2
- 0
src/lua/lua_url.c View File

@@ -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");

Loading…
Cancel
Save