This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository x2goclient. from a775155 Broker can send to client command to suspend or terminate the session as an answer to the client event message. For this broker should send to client SUSPEND ID or TERMINATE ID. new e7e74df Client now sends "login" parameter to the broker when executing task "selectsession". Before client just sent a username on the broker and it was imposiible to find out user name on X2Go server, which is not always the same as broker username. This won't break a compatibility with previous broker as they just will ignore this parameter. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/changelog | 5 +++++ src/httpbrokerclient.cpp | 23 +++++++++++++++-------- src/httpbrokerclient.h | 2 +- src/onmainwindow.cpp | 2 +- 4 files changed, 22 insertions(+), 10 deletions(-) -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goclient.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goclient. commit e7e74df029a1bd7d86a03c7f72f5b555eb6c5b0e Author: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> Date: Wed Sep 5 14:25:33 2018 +0200 Client now sends "login" parameter to the broker when executing task "selectsession". Before client just sent a username on the broker and it was imposiible to find out user name on X2Go server, which is not always the same as broker username. This won't break a compatibility with previous broker as they just will ignore this parameter. --- debian/changelog | 5 +++++ src/httpbrokerclient.cpp | 23 +++++++++++++++-------- src/httpbrokerclient.h | 2 +- src/onmainwindow.cpp | 2 +- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/debian/changelog b/debian/changelog index dc01147..0a43c2d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,11 @@ x2goclient (4.1.2.2-0x2go1) UNRELEASED; urgency=medium - Broker can send to client command to suspend or terminate the session as an answer to the client event message. For this broker should send to client SUSPEND ID or TERMINATE ID. + - Client now sends "login" parameter to the broker when executing task + "selectsession". Before client just sent a username on the broker and it was + imposiible to find out user name on X2Go server, which is not always the + same as broker username. This won't break a compatibility with previous + broker as they just will ignore this parameter. [ Mihai Moldovan ] * New upstream version (4.1.2.2): diff --git a/src/httpbrokerclient.cpp b/src/httpbrokerclient.cpp index 6110866..02a69c9 100644 --- a/src/httpbrokerclient.cpp +++ b/src/httpbrokerclient.cpp @@ -313,9 +313,9 @@ void HttpBrokerClient::getUserSessions() } } -void HttpBrokerClient::selectUserSession(const QString& session) +void HttpBrokerClient::selectUserSession(const QString& session, const QString& loginName) { - x2goDebug<<"Called selectUserSession for session "<<session<<"."; + x2goDebug<<"Called selectUserSession for session "<<session<<", "<<"loginName "<<loginName; QString brokerUser=config->brokerUser; if(mainWindow->getUsePGPCard()) brokerUser=mainWindow->getCardLogin(); @@ -329,6 +329,10 @@ void HttpBrokerClient::selectUserSession(const QString& session) "user="<<QUrl::toPercentEncoding(brokerUser)<<"&"<< "password="<<QUrl::toPercentEncoding(config->brokerPass)<<"&"<< "authid="<<nextAuthId; + if(loginName.length()>0) + { + QTextStream ( &req ) <<"&login="<<QUrl::toPercentEncoding(loginName); + } x2goDebug << "Sending request: "<< req.toUtf8(); QNetworkRequest request(QUrl(config->brokerurl)); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); @@ -337,13 +341,16 @@ void HttpBrokerClient::selectUserSession(const QString& session) } else { - if (nextAuthId.length() > 0) { - sshConnection->executeCommand ( config->sshBrokerBin+" --user "+ brokerUser +" --authid "+nextAuthId+ " --task selectsession --sid \""+session+"\"", - this,SLOT ( slotSelectSession(bool,QString,int))); - } else { - sshConnection->executeCommand ( config->sshBrokerBin+" --user "+ brokerUser +" --task selectsession --sid \""+session+"\"", - this,SLOT ( slotSelectSession(bool,QString,int))); + QString sshCmd=config->sshBrokerBin+" --user "+ brokerUser + " --task selectsession --sid \""+session+"\""; + if(nextAuthId.length() > 0) + { + sshCmd+=" --authid "+nextAuthId; + } + if(loginName.length() > 0) + { + sshCmd+=" --login " + loginName; } + sshConnection->executeCommand (sshCmd, this,SLOT ( slotSelectSession(bool,QString,int))); } } diff --git a/src/httpbrokerclient.h b/src/httpbrokerclient.h index 24f52f3..73ae2ef 100644 --- a/src/httpbrokerclient.h +++ b/src/httpbrokerclient.h @@ -41,7 +41,7 @@ class HttpBrokerClient: public QObject public: HttpBrokerClient ( ONMainWindow* wnd, ConfigFile* cfg ); ~HttpBrokerClient(); - void selectUserSession(const QString& session ); + void selectUserSession(const QString& session, const QString& loginName); void changePassword(QString newPass); void testConnection(); void closeSSHInteractionDialog(); diff --git a/src/onmainwindow.cpp b/src/onmainwindow.cpp index 8aa5078..52e765c 100644 --- a/src/onmainwindow.cpp +++ b/src/onmainwindow.cpp @@ -3325,7 +3325,7 @@ void ONMainWindow::slotSessEnter() return; } #endif - broker->selectUserSession(sessionExplorer->getLastSession()->id()); + broker->selectUserSession(sessionExplorer->getLastSession()->id(),login->text()); config.session=sessionExplorer->getLastSession()->id(); setStatStatus ( tr ( "Connecting to broker" ) ); stInfo->insertPlainText ( "broker url: "+config.brokerurl ); -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goclient.git