Mercurial > libervia-backend
annotate libervia/backend/plugins/plugin_xep_0359.py @ 4351:6a0a081485b8
plugin autocrypt: Autocrypt protocol implementation:
Implementation of autocrypt: `autocrypt` header is checked, and if present and no public
key is known for the peer, the key is imported.
`autocrypt` header is also added to outgoing message (only if an email gateway is
detected).
For the moment, the JID is use as identifier, but the real email used by gateway should be
used in the future.
rel 456
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 28 Feb 2025 09:23:35 +0100 |
parents | 0d7bb4df2343 |
children |
rev | line source |
---|---|
3028 | 1 #!/usr/bin/env python3 |
3137 | 2 |
4197
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
3 # Libervia plugin for Message Archive Management (XEP-0359) |
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
4 # Copyright (C) 2009-2023 Jérôme Poisson (goffi@goffi.org) |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
5 # Copyright (C) 2013-2016 Adrien Cossa (souliane@mailoo.org) |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
6 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
7 # This program is free software: you can redistribute it and/or modify |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
8 # it under the terms of the GNU Affero General Public License as published by |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
9 # the Free Software Foundation, either version 3 of the License, or |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
10 # (at your option) any later version. |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
11 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
12 # This program is distributed in the hope that it will be useful, |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
15 # GNU Affero General Public License for more details. |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
16 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
17 # You should have received a copy of the GNU Affero General Public License |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
19 |
3911
8289ac1b34f4
plugin XEP-0384: Fully reworked to adjust to the reworked python-omemo:
Syndace <me@syndace.dev>
parents:
3797
diff
changeset
|
20 from typing import Optional |
3103 | 21 import uuid |
4197
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
22 |
3103 | 23 from twisted.words.protocols.jabber import xmlstream |
4197
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
24 from twisted.words.xish import domish |
3103 | 25 from wokkel import disco |
4197
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
26 from zope.interface import implementer |
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
27 |
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
28 from libervia.backend.core import exceptions |
4071
4b842c1fb686
refactoring: renamed `sat` package to `libervia.backend`
Goffi <goffi@goffi.org>
parents:
4037
diff
changeset
|
29 from libervia.backend.core.constants import Const as C |
4197
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
30 from libervia.backend.core.core_types import SatXMPPEntity |
4071
4b842c1fb686
refactoring: renamed `sat` package to `libervia.backend`
Goffi <goffi@goffi.org>
parents:
4037
diff
changeset
|
31 from libervia.backend.core.i18n import _ |
4b842c1fb686
refactoring: renamed `sat` package to `libervia.backend`
Goffi <goffi@goffi.org>
parents:
4037
diff
changeset
|
32 from libervia.backend.core.log import getLogger |
4197
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
33 from libervia.backend.models.core import MessageData |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
34 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
35 log = getLogger(__name__) |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
36 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
37 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
38 PLUGIN_INFO = { |
3028 | 39 C.PI_NAME: "Unique and Stable Stanza IDs", |
40 C.PI_IMPORT_NAME: "XEP-0359", | |
41 C.PI_TYPE: "XEP", | |
4183
6784d07b99c8
plugin XEP-053, component AP gateway: use the new `trigger.add_with_check` method
Goffi <goffi@goffi.org>
parents:
4156
diff
changeset
|
42 C.PI_MODES: C.PLUG_MODE_BOTH, |
3028 | 43 C.PI_PROTOCOLS: ["XEP-0359"], |
44 C.PI_MAIN: "XEP_0359", | |
45 C.PI_HANDLER: "yes", | |
46 C.PI_DESCRIPTION: _("""Implementation of Unique and Stable Stanza IDs"""), | |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
47 } |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
48 |
3028 | 49 NS_SID = "urn:xmpp:sid:0" |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
50 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
51 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
52 class XEP_0359(object): |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
53 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
54 def __init__(self, host): |
3028 | 55 log.info(_("Unique and Stable Stanza IDs plugin initialization")) |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
56 self.host = host |
4037
524856bd7b19
massive refactoring to switch from camelCase to snake_case:
Goffi <goffi@goffi.org>
parents:
3911
diff
changeset
|
57 host.register_namespace("stanza_id", NS_SID) |
524856bd7b19
massive refactoring to switch from camelCase to snake_case:
Goffi <goffi@goffi.org>
parents:
3911
diff
changeset
|
58 host.trigger.add("message_parse", self._message_parse_trigger) |
524856bd7b19
massive refactoring to switch from camelCase to snake_case:
Goffi <goffi@goffi.org>
parents:
3911
diff
changeset
|
59 host.trigger.add("send_message_data", self._send_message_data_trigger) |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
60 |
4197
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
61 def _message_parse_trigger( |
4270
0d7bb4df2343
Reformatted code base using black.
Goffi <goffi@goffi.org>
parents:
4197
diff
changeset
|
62 self, client: SatXMPPEntity, message_elt: domish.Element, mess_data: MessageData |
4197
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
63 ) -> bool: |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
64 """Check if message has a stanza-id""" |
4037
524856bd7b19
massive refactoring to switch from camelCase to snake_case:
Goffi <goffi@goffi.org>
parents:
3911
diff
changeset
|
65 stanza_id = self.get_stanza_id(message_elt, client.jid.userhostJID()) |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
66 if stanza_id is not None: |
4270
0d7bb4df2343
Reformatted code base using black.
Goffi <goffi@goffi.org>
parents:
4197
diff
changeset
|
67 mess_data["extra"]["stanza_id"] = stanza_id |
4197
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
68 try: |
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
69 origin_id = self.get_origin_id(message_elt) or message_elt["id"] |
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
70 except KeyError: |
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
71 pass |
9cda0347e0ac
plugin XEP-0359: if no origin ID is found, use <message> ID instead:
Goffi <goffi@goffi.org>
parents:
4183
diff
changeset
|
72 else: |
4270
0d7bb4df2343
Reformatted code base using black.
Goffi <goffi@goffi.org>
parents:
4197
diff
changeset
|
73 mess_data["extra"]["origin_id"] = origin_id |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
74 return True |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
75 |
4037
524856bd7b19
massive refactoring to switch from camelCase to snake_case:
Goffi <goffi@goffi.org>
parents:
3911
diff
changeset
|
76 def _send_message_data_trigger(self, client, mess_data): |
4156
2729d424dee7
plugin XEP-0359: use same ID as <message> for `origin_id`:
Goffi <goffi@goffi.org>
parents:
4071
diff
changeset
|
77 origin_id = mess_data["extra"].setdefault("origin_id", mess_data.get("uid")) |
3797
cc653b2685f0
core (memory/sqla), plugin XEP-0359: always add `origin-id`, and store:
Goffi <goffi@goffi.org>
parents:
3479
diff
changeset
|
78 if not origin_id: |
cc653b2685f0
core (memory/sqla), plugin XEP-0359: always add `origin-id`, and store:
Goffi <goffi@goffi.org>
parents:
3479
diff
changeset
|
79 origin_id = str(uuid.uuid4()) |
cc653b2685f0
core (memory/sqla), plugin XEP-0359: always add `origin-id`, and store:
Goffi <goffi@goffi.org>
parents:
3479
diff
changeset
|
80 mess_data["extra"]["origin_id"] = origin_id |
cc653b2685f0
core (memory/sqla), plugin XEP-0359: always add `origin-id`, and store:
Goffi <goffi@goffi.org>
parents:
3479
diff
changeset
|
81 message_elt = mess_data["xml"] |
4037
524856bd7b19
massive refactoring to switch from camelCase to snake_case:
Goffi <goffi@goffi.org>
parents:
3911
diff
changeset
|
82 self.add_origin_id(message_elt, origin_id) |
3797
cc653b2685f0
core (memory/sqla), plugin XEP-0359: always add `origin-id`, and store:
Goffi <goffi@goffi.org>
parents:
3479
diff
changeset
|
83 |
4037
524856bd7b19
massive refactoring to switch from camelCase to snake_case:
Goffi <goffi@goffi.org>
parents:
3911
diff
changeset
|
84 def get_stanza_id(self, element, by): |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
85 """Return stanza-id if found in element |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
86 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
87 @param element(domish.Element): element to parse |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
88 @param by(jid.JID): entity which should have set a stanza-id |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
89 @return (unicode, None): stanza-id if found |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
90 """ |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
91 stanza_id = None |
3028 | 92 for stanza_elt in element.elements(NS_SID, "stanza-id"): |
93 if stanza_elt.getAttribute("by") == by.full(): | |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
94 if stanza_id is not None: |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
95 # we must not have more than one element (§3 #4) |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
96 raise exceptions.DataError( |
4270
0d7bb4df2343
Reformatted code base using black.
Goffi <goffi@goffi.org>
parents:
4197
diff
changeset
|
97 "More than one corresponding stanza-id found!" |
0d7bb4df2343
Reformatted code base using black.
Goffi <goffi@goffi.org>
parents:
4197
diff
changeset
|
98 ) |
3028 | 99 stanza_id = stanza_elt.getAttribute("id") |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
100 # we don't break to be sure that there is no more than one element |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
101 # with this "by" attribute |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
102 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
103 return stanza_id |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
104 |
4037
524856bd7b19
massive refactoring to switch from camelCase to snake_case:
Goffi <goffi@goffi.org>
parents:
3911
diff
changeset
|
105 def add_stanza_id(self, client, element, stanza_id, by=None): |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
106 """Add a <stanza-id/> to a stanza |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
107 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
108 @param element(domish.Element): stanza where the <stanza-id/> must be added |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
109 @param stanza_id(unicode): id to use |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
110 @param by(jid.JID, None): jid to use or None to use client.jid |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
111 """ |
3028 | 112 sid_elt = element.addElement((NS_SID, "stanza-id")) |
113 sid_elt["by"] = client.jid.userhost() if by is None else by.userhost() | |
114 sid_elt["id"] = stanza_id | |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
115 |
4037
524856bd7b19
massive refactoring to switch from camelCase to snake_case:
Goffi <goffi@goffi.org>
parents:
3911
diff
changeset
|
116 def get_origin_id(self, element: domish.Element) -> Optional[str]: |
3103 | 117 """Return origin-id if found in element |
118 | |
3911
8289ac1b34f4
plugin XEP-0384: Fully reworked to adjust to the reworked python-omemo:
Syndace <me@syndace.dev>
parents:
3797
diff
changeset
|
119 @param element: element to parse |
8289ac1b34f4
plugin XEP-0384: Fully reworked to adjust to the reworked python-omemo:
Syndace <me@syndace.dev>
parents:
3797
diff
changeset
|
120 @return: origin-id if found |
3103 | 121 """ |
122 try: | |
123 origin_elt = next(element.elements(NS_SID, "origin-id")) | |
124 except StopIteration: | |
125 return None | |
126 else: | |
127 return origin_elt.getAttribute("id") | |
128 | |
4156
2729d424dee7
plugin XEP-0359: use same ID as <message> for `origin_id`:
Goffi <goffi@goffi.org>
parents:
4071
diff
changeset
|
129 def add_origin_id(self, element: domish.Element, origin_id: str) -> None: |
3103 | 130 """Add a <origin-id/> to a stanza |
131 | |
132 @param element(domish.Element): stanza where the <origin-id/> must be added | |
133 @param origin_id(str): id to use, None to automatically generate | |
134 @return (str): origin_id | |
135 """ | |
136 sid_elt = element.addElement((NS_SID, "origin-id")) | |
137 sid_elt["id"] = origin_id | |
138 | |
4037
524856bd7b19
massive refactoring to switch from camelCase to snake_case:
Goffi <goffi@goffi.org>
parents:
3911
diff
changeset
|
139 def get_handler(self, client): |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
140 return XEP_0359_handler() |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
141 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
142 |
3028 | 143 @implementer(disco.IDisco) |
2696
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
144 class XEP_0359_handler(xmlstream.XMPPHandler): |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
145 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
146 def getDiscoInfo(self, requestor, target, nodeIdentifier=""): |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
147 return [disco.DiscoFeature(NS_SID)] |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
148 |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
149 def getDiscoItems(self, requestor, target, nodeIdentifier=""): |
5849dcaab99d
plugin XEP-0359: Unique and Stable Stanza IDs implementation, first draft
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
150 return [] |