[X2Go-Commits] [x2goclient] 01/01: - Support for OPENSSH PRIVATE KEY format sent from broker. - Do not show client in broker mode if startet in "hidden" mode.

git-admin at x2go.org git-admin at x2go.org
Fri Apr 1 20:34:59 CEST 2022


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

x2go pushed a commit to branch master
in repository x2goclient.

commit ac6547b5d3c27ff4cd07d90d7a369a18d11111d7
Author: Oleksandr Shneyder <o.shneyder at phoca-gmbh.de>
Date:   Fri Apr 1 12:34:47 2022 -0600

      - Support for OPENSSH PRIVATE KEY format sent from broker. - Do not show client in broker mode if startet in "hidden" mode.
---
 debian/changelog         |  2 ++
 src/httpbrokerclient.cpp | 10 ++++++++++
 src/onmainwindow.cpp     |  5 +++--
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 2fed819..c80d73b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -36,6 +36,8 @@ x2goclient (4.1.2.3-0x2go1) UNRELEASED; urgency=medium
     - Support for rootless X2GoKdrive sessions.
     - Fixed build with Qt5 on Windows.
     - Do not show empty folders in session explorer.
+    - Support for OPENSSH PRIVATE KEY format sent from broker.
+    - Do not show client in broker mode if startet in "hidden" mode.
 
   [ Ryan Schmidt ]
   * New upstream version (4.1.2.3):
diff --git a/src/httpbrokerclient.cpp b/src/httpbrokerclient.cpp
index 88fbdc3..bf40919 100644
--- a/src/httpbrokerclient.cpp
+++ b/src/httpbrokerclient.cpp
@@ -820,6 +820,8 @@ void HttpBrokerClient::parseSession(QString sinfo)
     int keyStartPos=sinfo.indexOf("-----BEGIN DSA PRIVATE KEY-----");
     if(keyStartPos==-1)
         keyStartPos=sinfo.indexOf("-----BEGIN RSA PRIVATE KEY-----");
+    if(keyStartPos==-1)
+        keyStartPos=sinfo.indexOf("-----BEGIN OPENSSH PRIVATE KEY-----");
     QString endStr="-----END DSA PRIVATE KEY-----";
     int keyEndPos=sinfo.indexOf(endStr);
     if(keyEndPos==-1)
@@ -827,8 +829,16 @@ void HttpBrokerClient::parseSession(QString sinfo)
         endStr="-----END RSA PRIVATE KEY-----";
         keyEndPos=sinfo.indexOf(endStr);
     }
+    if(keyEndPos==-1)
+    {
+        endStr="-----END OPENSSH PRIVATE KEY-----";
+        keyEndPos=sinfo.indexOf(endStr);
+    }
     if (! (keyEndPos == -1 || keyStartPos == -1 || lst.size()==0))
+    {
+        x2goDebug<<"Found key for authentication";
         config->key=sinfo.mid(keyStartPos, keyEndPos+endStr.length()-keyStartPos);
+    }
     QString serverLine=(lst[1].split("\n"))[0];
     QStringList words=serverLine.split(":",QString::SkipEmptyParts);
     config->serverIp=words[0];
diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp
index 6eb2680..9be99d4 100644
--- a/src/onmainwindow.cpp
+++ b/src/onmainwindow.cpp
@@ -2951,7 +2951,7 @@ void ONMainWindow::slotSelectedFromList ( SessionButton* session )
         slotSessEnter();
         return;
     }
-    if ( startHidden && nopass==false )
+    if ( startHidden && nopass==false && (!brokerMode) )
     {
         startHidden=false;
         slotResize();
@@ -12131,7 +12131,8 @@ void ONMainWindow::processSessionConfig()
         line.remove(QRegExp("\\s+$"));
 
         if ( ( line=="-----BEGIN DSA PRIVATE KEY-----" ) ||
-                ( line=="-----BEGIN RSA PRIVATE KEY-----" ) )
+                ( line=="-----BEGIN RSA PRIVATE KEY-----" ) ||
+                ( line=="-----BEGIN OPENSSH PRIVATE KEY-----" ))
         {
             while ( i<lines.count() )
                 config.key+=lines[i++] +"\n";

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goclient.git


More information about the x2go-commits mailing list