diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-03-06 14:03:20 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2020-03-09 10:46:11 +0000 |
commit | a8f11faf7f584916078d6fadb36e0c2f1984e2b0 (patch) | |
tree | 1f7b00067a856148b01c4e017442297957da9b84 /src/libserver/url.c | |
parent | 3e3b94276f03f520bcd1756876c1077f250127d9 (diff) | |
download | rspamd-a8f11faf7f584916078d6fadb36e0c2f1984e2b0.tar.gz rspamd-a8f11faf7f584916078d6fadb36e0c2f1984e2b0.zip |
[Rework] Rework URL structure: adjust tld part
Diffstat (limited to 'src/libserver/url.c')
-rw-r--r-- | src/libserver/url.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libserver/url.c b/src/libserver/url.c index 7e85a460e..043f523f0 100644 --- a/src/libserver/url.c +++ b/src/libserver/url.c @@ -1561,7 +1561,7 @@ rspamd_tld_trie_callback (struct rspamd_multipattern *mp, if ((ndots == 0 || p == start - 1) && url->tldlen < rspamd_url_host_unsafe (url) + url->hostlen - pos) { - url->tld = (gchar *) pos; + url->tldshift = (pos - url->string); url->tldlen = rspamd_url_host_unsafe (url) + url->hostlen - pos; } @@ -1590,11 +1590,11 @@ rspamd_url_regen_from_inet_addr (struct rspamd_url *uri, const void *addr, int a (gint)(uri->hostshift), uri->string); uri->hostshift = r; + uri->tldshift = r; start_offset = strbuf + r; inet_ntop (af, addr, strbuf + r, slen - r + 1); uri->hostlen = strlen (start_offset); r += uri->hostlen; - uri->tld = (const gchar *)start_offset; uri->tldlen = uri->hostlen; uri->flags |= RSPAMD_URL_FLAG_NUMERIC; @@ -2214,7 +2214,7 @@ rspamd_url_parse (struct rspamd_url *uri, } else { if (!rspamd_url_is_ip (uri, pool)) { /* Assume tld equal to host */ - uri->tld = rspamd_url_host_unsafe (uri); + uri->tldshift = uri->hostshift; uri->tldlen = uri->hostlen; } } @@ -2241,11 +2241,11 @@ rspamd_url_parse (struct rspamd_url *uri, rspamd_telephone_normalise_inplace (uri); if (rspamd_url_host_unsafe (uri)[0] == '+') { - uri->tld = rspamd_url_host_unsafe (uri) + 1; + uri->tldshift = uri->hostshift + 1; uri->tldlen = uri->hostlen - 1; } else { - uri->tld = rspamd_url_host_unsafe (uri); + uri->tldshift = uri->hostshift; uri->tldlen = uri->hostlen; } } |