aboutsummaryrefslogtreecommitdiff
path: root/debian/patches/0001-Upstream-GitHub-Pull-Request-352-to-fix-buffer-objec.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0001-Upstream-GitHub-Pull-Request-352-to-fix-buffer-objec.patch')
-rw-r--r--debian/patches/0001-Upstream-GitHub-Pull-Request-352-to-fix-buffer-objec.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/debian/patches/0001-Upstream-GitHub-Pull-Request-352-to-fix-buffer-objec.patch b/debian/patches/0001-Upstream-GitHub-Pull-Request-352-to-fix-buffer-objec.patch
new file mode 100644
index 0000000..123f7c9
--- /dev/null
+++ b/debian/patches/0001-Upstream-GitHub-Pull-Request-352-to-fix-buffer-objec.patch
@@ -0,0 +1,62 @@
+From: "Jeremy T. Bouse" <Jeremy.Bouse@coxinc.com>
+Date: Sun, 24 Aug 2014 20:47:42 -0400
+Subject: Upstream GitHub Pull Request #352 to fix "buffer" objects
+
+Include https://github.com/paramiko/paramiko/pull/352 patch to
+resolve issue with support passing in "buffer" objects again
+where bytestrings are expected.
+---
+ paramiko/py3compat.py | 4 ++++
+ tests/test_file.py | 10 ++++++++++
+ 2 files changed, 14 insertions(+)
+
+diff --git a/paramiko/py3compat.py b/paramiko/py3compat.py
+index 8842b98..57c096b 100644
+--- a/paramiko/py3compat.py
++++ b/paramiko/py3compat.py
+@@ -39,6 +39,8 @@ if PY2:
+ return s
+ elif isinstance(s, unicode):
+ return s.encode(encoding)
++ elif isinstance(s, buffer):
++ return s
+ else:
+ raise TypeError("Expected unicode or bytes, got %r" % s)
+
+@@ -49,6 +51,8 @@ if PY2:
+ return s.decode(encoding)
+ elif isinstance(s, unicode):
+ return s
++ elif isinstance(s, buffer):
++ return s.decode(encoding)
+ else:
+ raise TypeError("Expected unicode or bytes, got %r" % s)
+
+diff --git a/tests/test_file.py b/tests/test_file.py
+index c6edd7a..22a34ac 100755
+--- a/tests/test_file.py
++++ b/tests/test_file.py
+@@ -23,6 +23,7 @@ Some unit tests for the BufferedFile abstraction.
+ import unittest
+ from paramiko.file import BufferedFile
+ from paramiko.common import linefeed_byte, crlf, cr_byte
++import sys
+
+
+ class LoopbackFile (BufferedFile):
+@@ -151,6 +152,15 @@ class BufferedFileTest (unittest.TestCase):
+ b'need to close them again.\n')
+ f.close()
+
++ def test_8_buffering(self):
++ """
++ verify that buffered objects can be written
++ """
++ if sys.version_info[0] == 2:
++ f = LoopbackFile('r+', 16)
++ f.write(buffer(b'Too small.'))
++ f.close()
++
+ if __name__ == '__main__':
+ from unittest import main
+ main()