diff options
Diffstat (limited to 'dev-python/twisted/files/twisted-19.10.0-py38.patch')
-rw-r--r-- | dev-python/twisted/files/twisted-19.10.0-py38.patch | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/dev-python/twisted/files/twisted-19.10.0-py38.patch b/dev-python/twisted/files/twisted-19.10.0-py38.patch deleted file mode 100644 index e787167d45b3..000000000000 --- a/dev-python/twisted/files/twisted-19.10.0-py38.patch +++ /dev/null @@ -1,110 +0,0 @@ -From d33b90880b8eb024daa73bc3fd39aca0bc791ff1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Lucas=20Treffenst=C3=A4dt?= <lucas@treffenstaedt.de> -Date: Mon, 13 Jan 2020 13:54:08 +0100 -Subject: [PATCH 1/2] CramMD5ClientAuthenticator now specifies the digestmod - argument to hmac.HMAC constructor explicitly. - ---- - src/twisted/mail/_cred.py | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/twisted/mail/_cred.py b/src/twisted/mail/_cred.py -index 9d3646948..43c406f90 100644 ---- a/src/twisted/mail/_cred.py -+++ b/src/twisted/mail/_cred.py -@@ -8,6 +8,7 @@ Credential managers for L{twisted.mail}. - from __future__ import absolute_import, division - - import hmac -+import hashlib - - from zope.interface import implementer - -@@ -28,7 +29,7 @@ class CramMD5ClientAuthenticator: - - - def challengeResponse(self, secret, chal): -- response = hmac.HMAC(secret, chal).hexdigest().encode('ascii') -+ response = hmac.HMAC(secret, chal, digestmod = hashlib.md5).hexdigest().encode('ascii') - return self.user + b' ' + response - - --- -2.26.2 - -From 694bc67f3cf7d36a6f512f0b76882e85d0966dd2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Poisson?= <goffi@goffi.org> -Date: Sun, 17 Nov 2019 19:48:53 +0100 -Subject: [PATCH 2/2] Fix parsing of namespaced attributes with Python 3.8 in - twisted.words.xish.domish.ExpatElementStream - ---- - src/twisted/words/newsfragments/9730.bugfix | 1 + - src/twisted/words/test/test_domish.py | 17 +++++++++++++++++ - src/twisted/words/xish/domish.py | 11 +++++++++-- - 3 files changed, 27 insertions(+), 2 deletions(-) - create mode 100644 src/twisted/words/newsfragments/9730.bugfix - -diff --git a/src/twisted/words/newsfragments/9730.bugfix b/src/twisted/words/newsfragments/9730.bugfix -new file mode 100644 -index 000000000..5c91305c8 ---- /dev/null -+++ b/src/twisted/words/newsfragments/9730.bugfix -@@ -0,0 +1 @@ -+Fixed parsing of streams with Python 3.8 when there are spaces in namespaces or namespaced attributes in twisted.words.xish.domish.ExpatElementStream -diff --git a/src/twisted/words/test/test_domish.py b/src/twisted/words/test/test_domish.py -index a8f8fa76b..cd16e3a4d 100644 ---- a/src/twisted/words/test/test_domish.py -+++ b/src/twisted/words/test/test_domish.py -@@ -350,6 +350,23 @@ class DomishStreamTestsMixin: - self.elements[0].attributes, {(" bar baz ", "baz"): "quux"}) - - -+ def test_attributesWithNamespaces(self): -+ """ -+ Attributes with namespace are parsed without Exception. -+ (https://twistedmatrix.com/trac/ticket/9730 regression test) -+ """ -+ -+ xml = b"""<root xmlns:test='http://example.org' xml:lang='en'> -+ <test:test>test</test:test> -+ </root>""" -+ -+ # with Python 3.8 and without #9730 fix, the following error would -+ # happen at next line: -+ # ``RuntimeError: dictionary keys changed during iteration`` -+ self.stream.parse(xml) -+ self.assertEqual(self.elements[0].uri, "http://example.org") -+ -+ - def testChildPrefix(self): - xml = b"<root xmlns='testns' xmlns:foo='testns2'><foo:child/></root>" - -diff --git a/src/twisted/words/xish/domish.py b/src/twisted/words/xish/domish.py -index 2063c410a..fc49285f5 100644 ---- a/src/twisted/words/xish/domish.py -+++ b/src/twisted/words/xish/domish.py -@@ -807,11 +807,18 @@ class ExpatElementStream: - qname = ('', name) - - # Process attributes -+ newAttrs = {} -+ toDelete = [] - for k, v in attrs.items(): - if " " in k: - aqname = k.rsplit(" ", 1) -- attrs[(aqname[0], aqname[1])] = v -- del attrs[k] -+ newAttrs[(aqname[0], aqname[1])] = v -+ toDelete.append(k) -+ -+ attrs.update(newAttrs) -+ -+ for k in toDelete: -+ del attrs[k] - - # Construct the new element - e = Element(qname, self.defaultNsStack[-1], attrs, self.localPrefixes) --- -2.26.2 - |