From 53dc9847e2a4110be85ad16af9b427f9a280aaee Mon Sep 17 00:00:00 2001 From: mathieui Date: Thu, 11 Feb 2021 20:23:11 +0100 Subject: [PATCH] global: use defusedxml if it is available --- setup.py | 1 + slixmpp/__init__.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/setup.py b/setup.py index f30380a3..06645e69 100755 --- a/setup.py +++ b/setup.py @@ -87,6 +87,7 @@ setup( extras_require={ 'XEP-0363': ['aiohttp'], 'XEP-0444 compliance': ['emoji'], + 'Safer XML parsing': ['defusedxml'], }, classifiers=CLASSIFIERS, cmdclass={'test': TestCommand} diff --git a/slixmpp/__init__.py b/slixmpp/__init__.py index 1badccb6..769a9e31 100644 --- a/slixmpp/__init__.py +++ b/slixmpp/__init__.py @@ -6,6 +6,13 @@ import logging logging.getLogger(__name__).addHandler(logging.NullHandler()) +# Use defusedxml if available +try: + import defusedxml + defusedxml.defuse_stdlib() +except ImportError: + pass + from slixmpp.stanza import Message, Presence, Iq from slixmpp.jid import JID, InvalidJID from slixmpp.xmlstream.stanzabase import ET, ElementBase, register_stanza_plugin