github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/gubernator/third_party/defusedxml/__init__.py (about) 1 # defusedxml 2 # 3 # Copyright (c) 2013 by Christian Heimes <christian@python.org> 4 # Licensed to PSF under a Contributor Agreement. 5 # See http://www.python.org/psf/license for licensing details. 6 """Defuse XML bomb denial of service vulnerabilities 7 """ 8 from __future__ import print_function, absolute_import 9 10 from .common import (DefusedXmlException, DTDForbidden, EntitiesForbidden, 11 ExternalReferenceForbidden, NotSupportedError, 12 _apply_defusing) 13 14 def defuse_stdlib(): 15 """Monkey patch and defuse all stdlib packages 16 17 :warning: The monkey patch is an EXPERIMETNAL feature. 18 """ 19 defused = {} 20 21 from . import cElementTree 22 from . import ElementTree 23 from . import minidom 24 from . import pulldom 25 from . import sax 26 from . import expatbuilder 27 from . import expatreader 28 from . import xmlrpc 29 30 xmlrpc.monkey_patch() 31 defused[xmlrpc] = None 32 33 for defused_mod in [cElementTree, ElementTree, minidom, pulldom, sax, 34 expatbuilder, expatreader]: 35 stdlib_mod = _apply_defusing(defused_mod) 36 defused[defused_mod] = stdlib_mod 37 38 return defused 39 40 41 __version__ = "0.4.1" 42