[packages/python-defusedxml] - rel 5; FC fixes

arekm arekm at pld-linux.org
Mon Sep 14 19:50:12 CEST 2015


commit 039e98b00ec0707675e3b5b7422f06249e3d83b2
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Mon Sep 14 19:50:07 2015 +0200

    - rel 5; FC fixes

 python-defusedxml-entity_loop.patch    | 52 ++++++++++++++++++++++++++++
 python-defusedxml-format_strings.patch | 63 ++++++++++++++++++++++++++++++++++
 python-defusedxml.spec                 |  6 +++-
 3 files changed, 120 insertions(+), 1 deletion(-)
---
diff --git a/python-defusedxml.spec b/python-defusedxml.spec
index c7df7c2..ec96dac 100644
--- a/python-defusedxml.spec
+++ b/python-defusedxml.spec
@@ -8,11 +8,13 @@
 Summary:	XML bomb protection for Python stdlib modules
 Name:		python-%{module}
 Version:	0.4.1
-Release:	4
+Release:	5
 License:	PSF
 Group:		Libraries/Python
 Source0:	https://pypi.python.org/packages/source/d/defusedxml/defusedxml-%{version}.tar.gz
 # Source0-md5:	230a5eff64f878b392478e30376d673a
+Patch0:		python-defusedxml-entity_loop.patch
+Patch1:		python-defusedxml-format_strings.patch
 URL:		https://pypi.python.org/pypi/defusedxml
 %if %{with python2}
 BuildRequires:	python-distribute
@@ -37,6 +39,8 @@ XML bomb protection for Python stdlib modules.
 
 %prep
 %setup -q -n %{module}-%{version}
+%patch0 -p1
+%patch1 -p1
 
 %build
 %if %{with python2}
diff --git a/python-defusedxml-entity_loop.patch b/python-defusedxml-entity_loop.patch
new file mode 100644
index 0000000..9db8c55
--- /dev/null
+++ b/python-defusedxml-entity_loop.patch
@@ -0,0 +1,52 @@
+diff -ru defusedxml-0.4.1-orig/tests.py defusedxml-0.4.1/tests.py
+--- defusedxml-0.4.1-orig/tests.py	2015-07-17 05:28:36.501213026 +0000
++++ defusedxml-0.4.1/tests.py	2015-07-17 05:21:51.633843568 +0000
+@@ -133,11 +133,12 @@
+             self.iterparse(self.xml_simple_ns)
+ 
+     def test_entities_forbidden(self):
+-        self.assertRaises(EntitiesForbidden, self.parse, self.xml_bomb)
++        self.assertRaises((EntitiesForbidden, XMLSyntaxError),
++                          self.parse, self.xml_bomb)
+         self.assertRaises(EntitiesForbidden, self.parse, self.xml_quadratic)
+         self.assertRaises(EntitiesForbidden, self.parse, self.xml_external)
+ 
+-        self.assertRaises(EntitiesForbidden, self.parseString,
++        self.assertRaises((EntitiesForbidden, XMLSyntaxError), self.parseString,
+                           self.get_content(self.xml_bomb))
+         self.assertRaises(EntitiesForbidden, self.parseString,
+                           self.get_content(self.xml_quadratic))
+@@ -157,8 +158,8 @@
+                           forbid_entities=False)
+ 
+     def test_dtd_forbidden(self):
+-        self.assertRaises(DTDForbidden, self.parse, self.xml_bomb,
+-                          forbid_dtd=True)
++        self.assertRaises((DTDForbidden, XMLSyntaxError), self.parse,
++                          self.xml_bomb, forbid_dtd=True)
+         self.assertRaises(DTDForbidden, self.parse, self.xml_quadratic,
+                           forbid_dtd=True)
+         self.assertRaises(DTDForbidden, self.parse, self.xml_external,
+@@ -166,7 +167,7 @@
+         self.assertRaises(DTDForbidden, self.parse, self.xml_dtd,
+                           forbid_dtd=True)
+ 
+-        self.assertRaises(DTDForbidden, self.parseString,
++        self.assertRaises((DTDForbidden, XMLSyntaxError), self.parseString,
+                           self.get_content(self.xml_bomb),
+                           forbid_dtd=True)
+         self.assertRaises(DTDForbidden, self.parseString,
+@@ -355,8 +356,11 @@
+         pass
+ 
+     def test_restricted_element1(self):
+-        tree = self.module.parse(self.xml_bomb, forbid_dtd=False,
+-                                 forbid_entities=False)
++        try:
++            tree = self.module.parse(self.xml_bomb, forbid_dtd=False,
++                                     forbid_entities=False)
++        except XMLSyntaxError:
++            return
+         root = tree.getroot()
+         self.assertEqual(root.text, None)
+ 
diff --git a/python-defusedxml-format_strings.patch b/python-defusedxml-format_strings.patch
new file mode 100644
index 0000000..67a6f71
--- /dev/null
+++ b/python-defusedxml-format_strings.patch
@@ -0,0 +1,63 @@
+diff -ru defusedxml-0.4.1-orig/defusedxml/common.py defusedxml-0.4.1/defusedxml/common.py
+--- defusedxml-0.4.1-orig/defusedxml/common.py	2015-07-17 05:28:36.502213030 +0000
++++ defusedxml-0.4.1/defusedxml/common.py	2015-07-22 11:22:24.203648541 +0000
+@@ -30,7 +30,7 @@
+         self.pubid = pubid
+ 
+     def __str__(self):
+-        tpl = "DTDForbidden(name='{}', system_id={!r}, public_id={!r})"
++        tpl = "DTDForbidden(name='{0}', system_id={1!r}, public_id={2!r})"
+         return tpl.format(self.name, self.sysid, self.pubid)
+ 
+ 
+@@ -47,7 +47,7 @@
+         self.notation_name = notation_name
+ 
+     def __str__(self):
+-        tpl = "EntitiesForbidden(name='{}', system_id={!r}, public_id={!r})"
++        tpl = "EntitiesForbidden(name='{0}', system_id={1!r}, public_id={2!r})"
+         return tpl.format(self.name, self.sysid, self.pubid)
+ 
+ 
+@@ -62,7 +62,7 @@
+         self.pubid = pubid
+ 
+     def __str__(self):
+-        tpl = "ExternalReferenceForbidden(system_id='{}', public_id={})"
++        tpl = "ExternalReferenceForbidden(system_id='{0}', public_id={1})"
+         return tpl.format(self.sysid, self.pubid)
+ 
+ 
+diff -ru defusedxml-0.4.1-orig/other/exploit_webdav.py defusedxml-0.4.1/other/exploit_webdav.py
+--- defusedxml-0.4.1-orig/other/exploit_webdav.py	2015-07-17 05:28:36.503213033 +0000
++++ defusedxml-0.4.1/other/exploit_webdav.py	2015-07-22 11:23:15.893964297 +0000
+@@ -9,7 +9,7 @@
+ import httplib
+ 
+ if len(sys.argv) != 2:
+-    sys.exit("{} http://user:password@host:port/".format(sys.argv[0]))
++    sys.exit("{0} http://user:password@host:port/".format(sys.argv[0]))
+ 
+ url = urlparse.urlparse(sys.argv[1])
+ 
+diff -ru defusedxml-0.4.1-orig/other/exploit_xmlrpc.py defusedxml-0.4.1/other/exploit_xmlrpc.py
+--- defusedxml-0.4.1-orig/other/exploit_xmlrpc.py	2015-07-17 05:28:36.502213030 +0000
++++ defusedxml-0.4.1/other/exploit_xmlrpc.py	2015-07-22 11:23:59.536230889 +0000
+@@ -7,7 +7,7 @@
+ import urllib2
+ 
+ if len(sys.argv) != 2:
+-    sys.exit("{} url".format(sys.argv[0]))
++    sys.exit("{0} url".format(sys.argv[0]))
+ 
+ url = sys.argv[1]
+ 
+@@ -32,7 +32,7 @@
+ 
+ req = urllib2.Request(url, data=xml, headers=headers)
+ 
+-print("Sending request to {}".format(url))
++print("Sending request to {0}".format(url))
+ 
+ resp = urllib2.urlopen(req)
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/python-defusedxml.git/commitdiff/039e98b00ec0707675e3b5b7422f06249e3d83b2



More information about the pld-cvs-commit mailing list