_get_vendor_by_inspection incorrectly determines "plink" to be the executable
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Medium
|
Martin Albisetti |
Bug Description
A windows user on #bzr reported that they were getting "WindowsError: [Errno 2] The system cannot find the file specified" when trying to do SFTP with bzr 0.15.
It turns out that on their system, the command "ssh -V" reports "plink: Release 0.58". Our SSH vendor code incorrectly assumes that if the version string has "plink" in it, then the executable must be "plink", even if the version string was found by running a different command.
Here's their bzr.log file:
"""
looking for plugins in C:/Documents and Settings/
looking for plugins in D:\Web\
Plugin name __init__ already loaded
Plugin name __init__ already loaded
encoding stdout as sys.stdout encoding 'cp437'
WARNING: using slower ElementTree; consider installing cElementTree and make sure it's on your PYTHONPATH
got branch format Bazaar-NG branch format 5
ssh implementation is Putty's plink.
Traceback (most recent call last):
File "D:\Web\
return run_bzr(argv)
File "D:\Web\
ret = run(*run_argv)
File "D:\Web\
return self.run(
File "D:\Web\
to_transport = transport.
File "D:\Web\
t, last_err = _try_transport_
File "D:\Web\
return factory(base), None
File "D:\Web\
return klass(base)
File "D:\Web\
self.
File "D:\Web\
self._password)
File "D:\Web\
sftp = _sftp_connect_
File "D:\Web\
sftp = vendor.
File "D:\Web\
sock = self._connect(argv)
File "D:\Web\
stdout=
File "D:\Web\
errread, errwrite)
File "D:\Web\
startupinfo)
WindowsError: [Errno 2] The system cannot find the file specified
return code 3
"""
As a workaround, the user can set BZR_SSH=paramiko in their environment to disable the buggy guessing.
See also bug 107146.
Changed in bzr: | |
importance: | Undecided → Medium |
status: | New → Confirmed |
Proposed a patch: http:// bundlebuggy. aaronbentley. com/request/ %3C2422be180708 301335x3103b2c9 mbaf318e287b4cf 3b%40mail. gmail.com% 3E