# defusedxml # # Copyright (c) 2013 by Christian Heimes # Licensed to PSF under a Contributor Agreement. # See http://www.python.org/psf/license for licensing details. """Defuse XML bomb denial of service vulnerabilities """ from __future__ import print_function, absolute_import from .common import (DefusedXmlException, DTDForbidden, EntitiesForbidden, ExternalReferenceForbidden, NotSupportedError, _apply_defusing) def defuse_stdlib(): """Monkey patch and defuse all stdlib packages :warning: The monkey patch is an EXPERIMETNAL feature. """ defused = {} from . import cElementTree from . import ElementTree from . import minidom from . import pulldom from . import sax from . import expatbuilder from . import expatreader from . import xmlrpc xmlrpc.monkey_patch() defused[xmlrpc] = None for defused_mod in [cElementTree, ElementTree, minidom, pulldom, sax, expatbuilder, expatreader]: stdlib_mod = _apply_defusing(defused_mod) defused[defused_mod] = stdlib_mod return defused __version__ = "0.5.0" __all__ = ['DefusedXmlException', 'DTDForbidden', 'EntitiesForbidden', 'ExternalReferenceForbidden', 'NotSupportedError']