aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver/protocol.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2021-04-19 17:20:02 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2021-04-19 17:20:02 +0100
commitb78a75ca179f30eca99b51ef88e927c85e59694b (patch)
tree676362c6e59a7507fa6afc71aa9c07ae9cfcbc2a /src/libserver/protocol.c
parentc4891851bf1afba6ddc9da8539c2ac2996522660 (diff)
downloadrspamd-b78a75ca179f30eca99b51ef88e927c85e59694b.tar.gz
rspamd-b78a75ca179f30eca99b51ef88e927c85e59694b.zip
[Rework] Rework extended urls output
Diffstat (limited to 'src/libserver/protocol.c')
-rw-r--r--src/libserver/protocol.c13
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);