comparison sat/plugins/plugin_xep_0277.py @ 3934:e345d93fb6e5

plugin OXPS: OpenPGP for XMPP Pubsub implementation: OpenPGP for XMPP Pubsub (https://xmpp.org/extensions/inbox/pubsub-encryption.html, currently a protoXEP) is implemented and activated when `encrypted` is set to `True` in pubsub's `extra` data. On item retrieval, the decryption is transparent if the key is known, except if the `decrypt` key in `extra` is set to `False` (notably useful when one wants to checks that data is well encrypted). Methods and corresponding bridge methods have been implemented to manage shared secrets (to share, revoke or rotate the secrets). plugin XEP-0060's `XEP-0060_publish` trigger point as been move before actual publish so item can be modified (here e2ee) by the triggers. A new `XEP-0060_items` trigger point has also been added. `encrypted` flag can be used with plugin XEP-0277's microblog data rel 380
author Goffi <goffi@goffi.org>
date Sat, 15 Oct 2022 20:36:53 +0200
parents 6c5f0fbc519b
children f7ff893b536e
comparison
equal deleted inserted replaced
3933:cecf45416403 3934:e345d93fb6e5
981 if not await self.host.trigger.asyncPoint( 981 if not await self.host.trigger.asyncPoint(
982 "XEP-0277_send", client, service, node, item, data 982 "XEP-0277_send", client, service, node, item, data
983 ): 983 ):
984 return None 984 return None
985 985
986 await self._p.publish(client, service, node, [item]) 986 extra = {"encrypted": True} if data.get("encrypted") else None
987
988 await self._p.publish(client, service, node, [item], extra=extra)
987 return item_id 989 return item_id
988 990
989 def _mbRepeat( 991 def _mbRepeat(
990 self, 992 self,
991 service_s: str, 993 service_s: str,