You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What steps will reproduce the problem?
1. Run pssh on Archlinux which uses python 3.4
2. Use the -A argument to have it ask for a password
3. Stare blindly at the stacktrace when it crashes
What is the expected output?
[1] 15:47:51 [SUCCESS] 20.0.0.8
And not to crash
What do you see instead?
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
Traceback (most recent call last):
File "/usr/bin/pssh", line 118, in <module>
do_pssh(hosts, cmdline, opts)
File "/usr/bin/pssh", line 89, in do_pssh
statuses = manager.run()
File "/usr/lib/python3.4/site-packages/psshlib/manager.py", line 74, in run
self.iomap.poll(wait)
File "/usr/lib/python3.4/site-packages/psshlib/manager.py", line 255, in poll
handler(fd, self)
File "/usr/lib/python3.4/site-packages/psshlib/askpass_server.py", line 72, in handle_write
bytes_written = conn.send(buffer)
TypeError: 'str' does not support the buffer interface
What version of the product are you using? On what operating system?
> pssh --version
2.3.1
> uname -a
Linux 3.14.1-1-ARCH #1 SMP PREEMPT Mon Apr 14 20:40:47 CEST 2014 x86_64
GNU/Linux
> python --version
Python 3.4.0
Please provide any additional information below.
How to fix:
Edit: /usr/lib/python3.4/site-packages/psshlib/askpass_server.py
Find line 72: bytes_written = conn.send(buffer)
Add ".encode('UTF-8')" to "buffer" so it looks like this: bytes_written =
conn.send(buffer.encode('UTF-8'))
Stackoverflow post I found via google that explained what the problem was:
http://stackoverflow.com/questions/5471158/typeerror-str-does-not-support-the-bu
ffer-interface
Original issue reported on code.google.com by adaml...@currencysolutions.com on 16 May 2014 at 2:49
The text was updated successfully, but these errors were encountered:
Same here (gentoo Linux, Python 3.4.2). Maybe it's better in general code to
omit the encoding, using the default ('utf-8'). The following works nicely here:
bytes_written = conn.send(buffer.encode())
Original comment by Bernd.Fe...@gmail.com on 14 Jan 2015 at 4:56
Original issue reported on code.google.com by
adaml...@currencysolutions.com
on 16 May 2014 at 2:49The text was updated successfully, but these errors were encountered: