1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-03-24 12:17:26 +01:00

fixed #1724 fix for the problem with pscp.exe and putty sessions

This commit is contained in:
Vadim Kurland 2010-09-23 04:37:27 +00:00
parent 179810dc73
commit 409c72c97a
2 changed files with 34 additions and 11 deletions

View File

@ -1,3 +1,19 @@
2010-09-22 Vadim Kurland <vadim@vk.crocodile.org>
* instDialog_ui_ops.cpp (instDialog::readInstallerOptionsFromFirewallObject):
fixed #1724 . There was a problem with pscp.exe and putty
sessions. Plink.exe accepts session name in place of the host name
on the command line, but pscp.exe does not. We ask user to enter
session name in the "alternative name or address to use to
communicate with the firewall" input field in the "Installer" tab
of the firewall settings dialog and then use it in place of the
host name in the command line for pscp.exe and plink.exe. This
works with plink.exe but breaks pscp.exe which interprets it as a
host name and fails with an error ""ssh_init: Host does not
exist". The fix checks if what user entered in the "alternative
host or address field" is a session name and uses different
command line with pscp.exe
2010-09-20 Vadim Kurland <vadim@vk.crocodile.org>
* NATCompiler_ipt.cpp (compile): fixed SF bug #3071667

View File

@ -1167,24 +1167,31 @@ void instDialog::readInstallerOptionsFromFirewallObject(Firewall *fw)
* sessions. Plink.exe accepts session name in place of the host name
* on the command line, but pscp.exe does not. We ask user to enter
* session name in the "alternative name or address to use to
* communicate with the firewall" and then try to use it in place of
* the host name. This breaks pscp.exe session which interprets it as
* a host name and fails with an error ""ssh_init: Host does not
* exist".
* communicate with the firewall" input field in the "Installer" tab
* of the firewall settings dialog and then use it in place of the
* host name in the command line for pscp.exe and plink.exe. This
* works with plink.exe but breaks pscp.exe which interprets it as a
* host name and fails with an error ""ssh_init: Host does not exist".
*
* Will try to determine if what user entered in the "alternative host
* or address field" is a session name and use different command line.
* or address field" is a session name and use different command line
* for pscp.exe
*
*
* HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\<session_name>
*/
// HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\<session_name>
// HKEY_CURRENT_USER\Software\netcitadel.com\FirewallBuilder4.1\4.1\SSH
QSettings putty_reg(QSettings::UserScope, "SimonTatham", "PuTTY/Sessions");
QSettings putty_reg(QSettings::UserScope, "SimonTatham", "PuTTY\\Sessions");
QStringList sessions = putty_reg.childGroups();
foreach(QString key, sessions)
if (fwbdebug)
{
qDebug() << "putty session " << key;
qDebug() << putty_reg.fileName();
qDebug() << "found " << sessions.size() << " putty sessions";
foreach(QString key, sessions)
{
qDebug() << "putty session " << key;
}
}
if (sessions.contains(aaddr))