diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-04-19 17:20:02 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-04-19 17:20:02 +0100 |
commit | b78a75ca179f30eca99b51ef88e927c85e59694b (patch) | |
tree | 676362c6e59a7507fa6afc71aa9c07ae9cfcbc2a /src/libserver/protocol.c | |
parent | c4891851bf1afba6ddc9da8539c2ac2996522660 (diff) | |
download | rspamd-b78a75ca179f30eca99b51ef88e927c85e59694b.tar.gz rspamd-b78a75ca179f30eca99b51ef88e927c85e59694b.zip |
[Rework] Rework extended urls output
Diffstat (limited to 'src/libserver/protocol.c')
-rw-r--r-- | src/libserver/protocol.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c index 878f0bb3e..e7f4dbd50 100644 --- a/src/libserver/protocol.c +++ b/src/libserver/protocol.c @@ -889,11 +889,16 @@ rspamd_protocol_extended_url (struct rspamd_task *task, ucl_object_insert_key (obj, elt, "host", 0, false); } - elt = ucl_object_frombool (url->flags & RSPAMD_URL_FLAG_PHISHED); - ucl_object_insert_key (obj, elt, "phished", 0, false); + ucl_object_t *flags = ucl_object_typed_new (UCL_ARRAY); - elt = ucl_object_frombool (url->flags & RSPAMD_URL_FLAG_REDIRECTED); - ucl_object_insert_key (obj, elt, "redirected", 0, false); + for (unsigned int i = 0; i < RSPAMD_URL_MAX_FLAG_SHIFT; i ++) { + if (url->flags & (1u << i)) { + ucl_object_t *fl = ucl_object_fromstring (rspamd_url_flag_to_string (1u << i)); + ucl_array_append (flags, fl); + } + } + + ucl_object_insert_key (obj, flags, "flags", 0, false); if (url->linked_url) { encoded = rspamd_url_encode (url->linked_url, &enclen, task->task_pool); |