Package: x2goclient
Severity: normal
Version: 3.99.3.1-HEAD
Tags: patch confirmed

Hi Alex,

I have taken a closer look at the httpbrokerclient.cpp code in x2goclient. Most replies from the httpbroker are compliant with a text/plain content type. This is good IMHO.

However, in HttpBrokerClient::createIniFile x2goclient expects <br> html tags as line breaks. If these <br> tags are missing, the session profile won't get recognized by x2goclient.

With the current developmental code in x2gobroker.git, I try to implement the current broker API with no html elements at all, so I'd be happy if these last required <br>s could be made unnecessary.

Currently, as a list of session profiles the httpbroker client code in x2goclient expects some broker output like this:

"""
START_USER_SESSIONS<br>[b00830a9-aec4-4e9e-88f8-ddbffeb1c8ea]defsndport=1<br>sndport=4713<br>xinerama=1<br>variant=<br>useiconv=0<br>iconvfrom=UTF-8<br>height=600<br>usekbd=1<br>applications=TERMINAL,WWWBROWSER,MAILCLIENT,OFFICE<br>host=localhost<br>export=<br>user=<br>fstunnel=1<br>quality=9<br>sshport=22<br>sound=1<br>fullscreen=0<br>rootless=0<br>layout=<br>name=LOCALHOST<br>sshproxyport=22<br>soundsystem=pulse<br>speed=2<br>iconvto=UTF-8<br>soundtunnel=1<br>useexports=1<br>width=800<br>command=KDE<br>multidisp=0<br>print=1<br>setdpi=0<br>type=auto<br>dpi=96<br>pack=16m-jpeg<br>
END_USER_SESSIONS<br>
"""

So, I am quite keen on x2goclient being able to _also_ handle broker output that looks like this, instead:

"""
[47af8619-d619-43de-bf00-2c30c47772d1]
defsndport=1
sndport=4713
xinerama=1
variant=
useiconv=0
iconvfrom=UTF-8
height=600
usekbd=1
applications=TERMINAL,WWWBROWSER,MAILCLIENT,OFFICE
host=localhost
export=
user=
fstunnel=1
quality=9
sshport=22
sound=1
fullscreen=0
rootless=0
layout=
name=LOCALHOST
sshproxyport=22
soundsystem=pulse
speed=2
iconvto=UTF-8
soundtunnel=1
useexports=1
width=800
command=KDE
multidisp=0
print=1
setdpi=0
type=auto
dpi=96
pack=16m-jpeg
END_USER_SESSIONS
"""

Attached to this post you find a patch against httpbrokerclient.* that makes x2goclient understand both variants of httpbroker output (IMHO). Can you please cross-check if that patch keeps x2goclient working with all other broker implementations that are currently deployed at your customers' sites?

Greets,
Mike

--

DAS-NETZWERKTEAM
mike gabriel, rothenstein 5, 24214 neudorf-bornstein
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: [email protected], http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb
--- a/httpbrokerclient.cpp
+++ b/httpbrokerclient.cpp
@@ -319,16 +319,18 @@ void HttpBrokerClient::testConnection()
 }
 
 
-void HttpBrokerClient::createIniFile(const QString& content)
+void HttpBrokerClient::createIniFile(const QString& raw_content)
 {
+    QString content;
+    content = raw_content;
+    content.replace("<br>","\n");
+    x2goDebug<<"inifile content: "<<content<<"\n";
     QString cont;
-    QStringList lines=content.split("START_USER_SESSIONS<br>");
+    QStringList lines=content.split("START_USER_SESSIONS\n");
     if (lines.count()>1)
     {
         cont=lines[1];
-        cont=cont.split("END_USER_SESSIONS")[0];
-        cont.replace("\n","");
-        cont.replace("<br>","\n");
+        cont=cont.split("END_USER_SESSIONS\n")[0];
     }
     mainWindow->config.iniFile=cont;
 }

Attachment: pgpdb2gfr1xuW.pgp
Description: Digitale PGP-Unterschrift

_______________________________________________
X2Go-Dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/x2go-dev

Reply via email to