tlclient no longer runs on Wine: The login is started, but when WinPopenProcess tries to TerminateProcess() Putty, you get the error message: TerminateProcess failed with error 6 I've investigated this somewhat, and it is really strange. TerminateProcess() works OK before SSHTunnel::ReadAndHandleOutput, but not after. And the only thing that function does is to read from the process.
With this patch, the client can connect: --- tlclient_winprocess.cc (revision 22736) +++ tlclient_winprocess.cc (arbetskopia) @@ -127,8 +127,10 @@ // Note: We cannot use the hProc handle, because this // object does not have sufficient rights. if (! TerminateProcess(process_handle, 0)) { +#if 0 throw TLException(ERR_PROCESS_ERROR, _("TerminateProcess failed with error ") + TLUtils::LongToString(GetLastError())); +#endif } break;
Hate this bug, nominating for 3.4, even if it will be just a upstream bug report.
Since we are not using Putty any longer, the original problem should be gone. However, we have a new one instead. ssh.exe does not run in Wine. This is because it closes all fds above 2, and this does not work with Wine. We should report this to the Wine project and/or provide a workaround.
Do a simple workaround in the form of patching OpenSSH to not try to close file descriptors on Windows.
Fixed in r27691.
This particular problem seems to be fixed since stderr logging works, but we have a new bug instead. Moved to bug 4861.