From 0988c73644fd8d08711b5c470b0d919f3c45f4bf Mon Sep 17 00:00:00 2001 From: Goffi Date: Sun, 30 Oct 2022 01:06:58 +0200 Subject: [PATCH] plugin pubsub signature: fix attachment setting + default signer: - attachment setting was crashing when `item_elt` was not specified due to argument typo - if `signer` is set to None in attachment data, client's bare jid will be used to sign the item rel 381 --- sat/plugins/plugin_sec_pubsub_signing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sat/plugins/plugin_sec_pubsub_signing.py b/sat/plugins/plugin_sec_pubsub_signing.py index 0d95c1b9..d0eae99f 100644 --- a/sat/plugins/plugin_sec_pubsub_signing.py +++ b/sat/plugins/plugin_sec_pubsub_signing.py @@ -255,7 +255,7 @@ class PubsubSigning: node = attachments_data["node"] item_id = attachments_data["id"] items, __ = await self._p.getItems( - client, service, node, items_ids=[item_id] + client, service, node, item_ids=[item_id] ) if not items != 1: raise exceptions.NotFound( @@ -263,7 +263,7 @@ class PubsubSigning: ) item_elt = items[0] - signer = signature_data["signer"] + signer = signature_data.get("signer") or client.jid.userhost() timestamp = time.time() timestamp_xmpp = utils.xmpp_date(timestamp) to_sign = self.get_data_to_sign(item_elt, service, timestamp, signer)