core (xmpp), component file sharing, plugin XEP-0363: enabled_features + HTTP Upload:

add a mechanism to explicitely enable some features in components, and use it to enable
HTTP Upload only if it's explicitely enabled.
This commit is contained in:
Goffi 2023-03-23 15:38:07 +01:00
commit cb2144bdf4

View file

@ -433,14 +433,19 @@ class XEP_0363_handler(xmlstream.XMPPHandler):
self.plugin_parent = plugin_parent
def connectionInitialized(self):
if self.parent.is_component:
if ((self.parent.is_component
and PLUGIN_INFO[C.PI_IMPORT_NAME] in self.parent.enabled_features)):
self.xmlstream.addObserver(
IQ_HTTP_UPLOAD_REQUEST, self.plugin_parent.onComponentRequest,
client=self.parent
)
def getDiscoInfo(self, requestor, target, nodeIdentifier=""):
return [disco.DiscoFeature(NS_HTTP_UPLOAD)]
if ((self.parent.is_component
and not PLUGIN_INFO[C.PI_IMPORT_NAME] in self.parent.enabled_features)):
return []
else:
return [disco.DiscoFeature(NS_HTTP_UPLOAD)]
def getDiscoItems(self, requestor, target, nodeIdentifier=""):
return []