From b78a75ca179f30eca99b51ef88e927c85e59694b Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 19 Apr 2021 17:20:02 +0100 Subject: [PATCH] [Rework] Rework extended urls output --- src/libserver/protocol.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/libserver/protocol.c b/src/libserver/protocol.c index 878f0bb3e9..e7f4dbd508 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); -- 2.47.3