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