[X2Go-Commits] [x2goclient] 01/01: Fix authentication on SSH Broker with key + passphrase.

git-admin at x2go.org git-admin at x2go.org
Fri Jan 24 13:15:43 CET 2014


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository x2goclient.

commit 9b14b3ad8d8fe3bea57906933b725991843744c0
Author: Oleksandr Shneyder <o.shneyder at phoca-gmbh.de>
Date:   Fri Jan 24 13:15:37 2014 +0100

    Fix authentication on SSH Broker with key + passphrase.
---
 debian/changelog     |    1 +
 httpbrokerclient.cpp |   22 +++++++++++++++++-----
 httpbrokerclient.h   |    2 +-
 3 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 6912f5e..4534fd4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ x2goclient (4.0.2.0-0x2go1) UNRELEASED; urgency=low
   * New upstream version (4.0.2.0):
     - Revrite SSH Classes to support libssh fix.
     - Add Class HelpDialog to show options in scroll area. 
+    - Fix authentication on SSH Broker with key + passphrase.
 
  -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Wed, 22 Jan 2014 09:20:08 +0100
 
diff --git a/httpbrokerclient.cpp b/httpbrokerclient.cpp
index d238d82..4ca8e5d 100644
--- a/httpbrokerclient.cpp
+++ b/httpbrokerclient.cpp
@@ -93,13 +93,13 @@ void HttpBrokerClient::createSshConnection()
     QUrl lurl ( config->brokerurl );
     sshConnection=new SshMasterConnection (this, lurl.host(), lurl.port(22),false,
                                            config->brokerUser, config->brokerPass,config->brokerSshKey,config->brokerAutologin,
-					   config->brokerKrbLogin, false);
+                                           config->brokerKrbLogin, false);
 
     connect ( sshConnection, SIGNAL ( connectionOk(QString)), this, SLOT ( slotSshConnectionOk() ) );
     connect ( sshConnection, SIGNAL ( serverAuthError ( int,QString, SshMasterConnection* ) ),this,
               SLOT ( slotSshServerAuthError ( int,QString, SshMasterConnection* ) ) );
-    connect ( sshConnection, SIGNAL ( needPassPhrase(SshMasterConnection*)),this,
-              SLOT ( slotSshServerAuthPassphrase(SshMasterConnection*)) );
+    connect ( sshConnection, SIGNAL ( needPassPhrase(SshMasterConnection*, bool)),this,
+              SLOT ( slotSshServerAuthPassphrase(SshMasterConnection*, bool)) );
     connect ( sshConnection, SIGNAL ( userAuthError ( QString ) ),this,SLOT ( slotSshUserAuthError ( QString ) ) );
     connect ( sshConnection, SIGNAL ( connectionError(QString,QString)), this,
               SLOT ( slotSshConnectionError ( QString,QString ) ) );
@@ -199,11 +199,23 @@ void HttpBrokerClient::slotSshServerAuthError(int error, QString sshMessage, Ssh
 
 }
 
-void HttpBrokerClient::slotSshServerAuthPassphrase(SshMasterConnection* connection)
+void HttpBrokerClient::slotSshServerAuthPassphrase(SshMasterConnection* connection, bool verificationCode)
 {
     bool ok;
+    QString message;
+
+    if(verificationCode)
+    {
+        message=tr("Verification code:");
+    }
+    else
+    {
+        message=tr("Enter passphrase to decrypt a key");
+    }
+
+
     QString phrase=QInputDialog::getText(0,connection->getUser()+"@"+connection->getHost()+":"+QString::number(connection->getPort()),
-                                         tr("Enter passphrase to decrypt a key"),QLineEdit::Password,QString::null, &ok);
+                                         message, QLineEdit::Password,QString::null, &ok);
     if(!ok)
     {
         phrase=QString::null;
diff --git a/httpbrokerclient.h b/httpbrokerclient.h
index f821fb0..4ea4a3d 100644
--- a/httpbrokerclient.h
+++ b/httpbrokerclient.h
@@ -67,7 +67,7 @@ private slots:
     QString getHexVal ( const QByteArray& ba );
     void slotSshConnectionError ( QString message, QString lastSessionError );
     void slotSshServerAuthError ( int error, QString sshMessage, SshMasterConnection* connection );
-    void slotSshServerAuthPassphrase ( SshMasterConnection* connection );
+    void slotSshServerAuthPassphrase ( SshMasterConnection* connection, bool verificationCode=false );
     void slotSshUserAuthError ( QString error );
     void slotSshConnectionOk();
     void slotListSessions ( bool success, QString answer, int pid);

--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goclient.git



More information about the x2go-commits mailing list