Mercurial > libervia-backend
annotate libervia/backend/plugins/plugin_sec_gre_formatter_mime.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 | 07e87adb2f65 |
children |
rev | line source |
---|---|
4345
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
1 #!/usr/bin/env python3 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
2 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
3 # Libervia plugin |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
4 # Copyright (C) 2009-2025 Jérôme Poisson (goffi@goffi.org) |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
5 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
6 # This program is free software: you can redistribute it and/or modify |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
7 # it under the terms of the GNU Affero General Public License as published by |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
8 # the Free Software Foundation, either version 3 of the License, or |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
9 # (at your option) any later version. |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
10 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
11 # This program is distributed in the hope that it will be useful, |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
14 # GNU Affero General Public License for more details. |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
15 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
16 # You should have received a copy of the GNU Affero General Public License |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
17 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
18 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
19 from typing import Final, TYPE_CHECKING, cast |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
20 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
21 from twisted.words.protocols.jabber import jid |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
22 from twisted.words.protocols.jabber.xmlstream import XMPPHandler |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
23 from twisted.words.xish import domish |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
24 from wokkel import data_form, disco, iwokkel |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
25 from zope.interface import implementer |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
26 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
27 from libervia.backend.core import exceptions |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
28 from libervia.backend.core.constants import Const as C |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
29 from libervia.backend.core.core_types import SatXMPPEntity |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
30 from libervia.backend.core.i18n import _ |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
31 from libervia.backend.core.log import getLogger |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
32 from libervia.backend.plugins.plugin_xep_0106 import XEP_0106 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
33 from .plugin_exp_gre import Formatter |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
34 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
35 from email.mime.multipart import MIMEMultipart |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
36 from email.mime.text import MIMEText |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
37 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
38 if TYPE_CHECKING: |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
39 from libervia.backend.core.main import LiberviaBackend |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
40 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
41 log = getLogger(__name__) |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
42 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
43 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
44 PLUGIN_INFO = { |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
45 C.PI_NAME: "GRE Formatter: MIME", |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
46 C.PI_IMPORT_NAME: "GRE-MIME", |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
47 C.PI_TYPE: "XEP", |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
48 C.PI_MODES: C.PLUG_MODE_BOTH, |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
49 C.PI_PROTOCOLS: [], |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
50 C.PI_DEPENDENCIES: [ |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
51 "GRE", |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
52 ], |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
53 C.PI_RECOMMENDATIONS: [], |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
54 C.PI_MAIN: "GREFormatterMime", |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
55 C.PI_HANDLER: "yes", |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
56 C.PI_DESCRIPTION: _("Handle MIME formatting for Gateway Relayed Encryption."), |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
57 } |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
58 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
59 NS_GRE_MIME: Final = "urn:xmpp:gre:formatter:mime:0" |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
60 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
61 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
62 class GREFormatterMime(Formatter): |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
63 name = "mime" |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
64 namespace = NS_GRE_MIME |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
65 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
66 def __init__(self, host: "LiberviaBackend") -> None: |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
67 log.info(f"plugin {PLUGIN_INFO[C.PI_NAME]!r} initialization") |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
68 super().__init__(host) |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
69 host.register_namespace("gre-mime", NS_GRE_MIME) |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
70 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
71 def get_handler(self, client: SatXMPPEntity) -> XMPPHandler: |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
72 return GREMIMEHandler(self) |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
73 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
74 async def format( |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
75 self, |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
76 client: SatXMPPEntity, |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
77 recipient_id: str, |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
78 message_elt: domish.Element, |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
79 encryption_data_form: data_form.Form, |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
80 ) -> bytes: |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
81 """Format the sent stanza as multipart MIME payload. |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
82 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
83 @param client: Client session. |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
84 @param message_elt: <message> element being sent. |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
85 @return: MIME formatted payload. |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
86 """ |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
87 if message_elt.name != "message": |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
88 raise exceptions.InternalError("Only <message> stanza should be received.") |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
89 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
90 try: |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
91 body = str(next(message_elt.elements(None, "body"))) |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
92 except StopIteration as e: |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
93 msg = f"Cancelling message sending due to missing body: {message_elt.toXml()}" |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
94 log.warning(msg) |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
95 raise exceptions.CancelError(msg) from e |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
96 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
97 msg = MIMEMultipart() |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
98 # "sender_id" is the real email address used by the gateway for this user. |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
99 msg["From"] = encryption_data_form["sender_id"] |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
100 msg["To"] = recipient_id |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
101 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
102 subject_elt = next(message_elt.elements(None, "subject"), None) |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
103 if subject_elt: |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
104 msg["Subject"] = str(subject_elt) |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
105 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
106 msg.attach(MIMEText(body)) |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
107 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
108 return msg.as_bytes() |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
109 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
110 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
111 @implementer(iwokkel.IDisco) |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
112 class GREMIMEHandler(XMPPHandler): |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
113 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
114 def __init__(self, plugin_parent): |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
115 self.plugin_parent = plugin_parent |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
116 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
117 def getDiscoInfo( |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
118 self, requestor: jid.JID, target: jid.JID, nodeIdentifier: str = "" |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
119 ) -> list[disco.DiscoFeature]: |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
120 return [ |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
121 disco.DiscoFeature(NS_GRE_MIME), |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
122 ] |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
123 |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
124 def getDiscoItems( |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
125 self, requestor: jid.JID, target: jid.JID, nodeIdentifier: str = "" |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
126 ) -> list[disco.DiscoItems]: |
07e87adb2f65
plugin GRE formatter MIME: implements GRE Formatter: MIME:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
127 return [] |