aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2014-11-02 21:31:43 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2014-11-02 21:31:43 +0100
commit53f8a5f853ef959bd34305bd14284e865070a85e (patch)
tree56af539e2269a2cce31fb649c492c8dff60d58f3
parentd8d094ddbe0fb9ab86ecd33f6cdd056d8b1ce9f2 (diff)
downloadremote-logon-service-53f8a5f853ef959bd34305bd14284e865070a85e.tar.gz
remote-logon-service-53f8a5f853ef959bd34305bd14284e865070a85e.tar.bz2
remote-logon-service-53f8a5f853ef959bd34305bd14284e865070a85e.zip
Revert "upload to ppa:x2go/stable+ppa (ubuntu/1.0.0-0ubuntu3+x2go1~0ubuntu14.04.1)"
This reverts commit d8d094ddbe0fb9ab86ecd33f6cdd056d8b1ce9f2.
-rw-r--r--debian/changelog9
-rw-r--r--debian/patches/02_server-name.patch19
-rw-r--r--debian/patches/03_x2go+rls.patch429
-rw-r--r--debian/patches/series2
-rw-r--r--po/POTFILES.in1
-rw-r--r--src/Makefile.am2
-rw-r--r--src/com.canonical.RemoteLogin.xml12
-rw-r--r--src/defines.h3
-rw-r--r--src/main.c3
-rw-r--r--src/server.c6
-rw-r--r--src/uccs-server.c7
-rw-r--r--tests/dbus-interface.c5
-rw-r--r--tests/server-test.c2
-rwxr-xr-xtests/slmock15
14 files changed, 5 insertions, 510 deletions
diff --git a/debian/changelog b/debian/changelog
index c7e8852..9172a0d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,12 +1,3 @@
-remote-login-service (1.0.0-0ubuntu3+x2go1~0ubuntu14.04.1) trusty; urgency=medium
-
- * Non-maintainer upload.
- * Add SERVER_NAME env var support.
- * Add X2Go support to RLS.
- * Provide via ppa:x2go/ppa and ppa:x2go/stable on Launchpad.
-
- -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Sun, 02 Nov 2014 19:05:58 +0100
-
remote-login-service (1.0.0-0ubuntu3) raring; urgency=low
* Don't use deprecated g_type_init() with recent glib2.0.
diff --git a/debian/patches/02_server-name.patch b/debian/patches/02_server-name.patch
deleted file mode 100644
index 50c9a91..0000000
--- a/debian/patches/02_server-name.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/src/uccs-server.c
-+++ b/src/uccs-server.c
-@@ -20,6 +20,7 @@
- #include "config.h"
- #endif
-
-+#include <glib.h>
- #include <glib/gi18n.h>
-
- #include <json-glib/json-glib.h>
-@@ -734,6 +735,8 @@
- argv[1] = server->username;
- argv[2] = NULL;
-
-+ g_setenv("SERVER_ROOT", server->parent.uri, TRUE);
-+
- g_spawn_async_with_pipes(NULL, /* pwd */
- (gchar **)argv,
- NULL, /* env */
diff --git a/debian/patches/03_x2go+rls.patch b/debian/patches/03_x2go+rls.patch
deleted file mode 100644
index d4563f7..0000000
--- a/debian/patches/03_x2go+rls.patch
+++ /dev/null
@@ -1,429 +0,0 @@
---- a/src/com.canonical.RemoteLogin.xml
-+++ b/src/com.canonical.RemoteLogin.xml
-@@ -2,19 +2,21 @@
- <node name="/">
- <interface name="com.canonical.RemoteLogin">
- <!-- SERVER LIST DOCS - it's in a few places :-)
-- s: server type: "ica", "freerdp", "uccs"
-+ s: server type: "ica", "freerdp", "x2go", "uccs"
- s: server name
- s: server uri
- b: last used server
- a(sbva{sv}): properties for the server
-- s: type: "username", "password", "domain", "email"
-+ s: type: "username", "password", "domain", "email", "sessiontype"
- b: required
- v: default value
-- a{sv}: properties for the value, currently only used for domains
-- that have a list of possible domains
-+ a{sv}: properties for the value
-+ for value 'domain': a list of possible domains (ica, freerdp)
- "domains": a(s)
-- and domains that are read only
-+ for value 'domain': a list of domains that are read only
- "read-only": b
-+ for value 'sessiontype': TODO -> a subset of session profile parameters...
-+ "nothing-yet": s
- a(si): applications pinned for the server
- s: ID of the application (desktop file)
- i: position the application is pinned in
---- a/src/server.c
-+++ b/src/server.c
-@@ -25,6 +25,7 @@
- #include "citrix-server.h"
- #include "rdp-server.h"
- #include "uccs-server.h"
-+#include "x2go-server.h"
-
- static void server_class_init (ServerClass *klass);
- static void server_init (Server *self);
-@@ -162,6 +163,9 @@
- else if (g_strcmp0(proto, "freerdp") == 0 || g_strcmp0(proto, "rdp") == 0 || g_strcmp0(proto, "RDP") == 0 || g_strcmp0(proto, "FreeRDP") == 0) {
- newserver = rdp_server_new_from_json(object);
- }
-+ else if (g_strcmp0(proto, "x2go") == 0 || g_strcmp0(proto, "X2go") == 0 || g_strcmp0(proto, "X2Go") == 0 || g_strcmp0(proto, "X2GO") == 0 || g_strcmp0(proto, "x2GO") == 0 || g_strcmp0(proto, "x2gO") == 0) {
-+ newserver = x2go_server_new_from_json(object);
-+ }
-
- return newserver;
- }
-@@ -184,6 +188,8 @@
- g_variant_builder_add_value(&tuple, g_variant_new_string("freerdp"));
- } else if (IS_UCCS_SERVER(server)) {
- g_variant_builder_add_value(&tuple, g_variant_new_string("uccs"));
-+ } else if (IS_X2GO_SERVER(server)) {
-+ g_variant_builder_add_value(&tuple, g_variant_new_string("x2go"));
- } else {
- g_assert_not_reached();
- }
---- a/po/POTFILES.in
-+++ b/po/POTFILES.in
-@@ -3,5 +3,6 @@
- src/remote-login.c
- src/rdp-server.c
- src/citrix-server.c
-+src/x2go-server.c
- src/main.c
- src/uccs-server.c
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -36,6 +36,8 @@
- citrix-server.h \
- rdp-server.c \
- rdp-server.h \
-+ x2go-server.c \
-+ x2go-server.h \
- uccs-server.c \
- uccs-server.h \
- defines.h \
---- a/src/defines.h
-+++ b/src/defines.h
-@@ -34,6 +34,7 @@
- #define CONFIG_SERVER_TYPE "Type"
- #define CONFIG_SERVER_TYPE_RDP "RDP"
- #define CONFIG_SERVER_TYPE_ICA "ICA"
-+#define CONFIG_SERVER_TYPE_X2GO "X2GO"
- #define CONFIG_SERVER_TYPE_UCCS "UCCS"
-
- #define JSON_PROTOCOL "Protocol"
-@@ -43,5 +44,7 @@
- #define JSON_PASSWORD "Password"
- #define JSON_DOMAIN_REQ "DomainRequired"
- #define JSON_DOMAIN "WindowsDomain"
-+#define JSON_SESSIONTYPE "SessionType"
-+#define JSON_SESSIONTYPE_REQ "SessionTypeRequired"
-
- #endif /* __DEFINES_H__ */
---- a/src/main.c
-+++ b/src/main.c
-@@ -33,6 +33,7 @@
- #include "rdp-server.h"
- #include "citrix-server.h"
- #include "uccs-server.h"
-+#include "x2go-server.h"
- #include "crypt.h"
-
- gint server_list_to_array (GVariantBuilder * builder, GList * items);
---- /dev/null
-+++ b/src/x2go-server.c
-@@ -0,0 +1,227 @@
-+/*
-+ * Copyright © 2012 Canonical Ltd.
-+ * Copyright © 2013 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-+ *
-+ * This program is free software: you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 3, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranties of
-+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
-+ * PURPOSE. See the GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License along
-+ * with this program. If not, see <http://www.gnu.org/licenses/>.
-+ *
-+ * Author: Ted Gould <ted@canonical.com>
-+ * Modified for X2Go: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
-+#include <sys/mman.h>
-+
-+#include <glib/gi18n.h>
-+
-+#include <string.h>
-+
-+#include "x2go-server.h"
-+#include "defines.h"
-+
-+static void x2go_server_class_init (X2GoServerClass *klass);
-+static void x2go_server_init (X2GoServer *self);
-+static void x2go_server_dispose (GObject *object);
-+static void x2go_server_finalize (GObject *object);
-+static GVariant * get_properties (Server * server);
-+
-+G_DEFINE_TYPE (X2GoServer, x2go_server, SERVER_TYPE);
-+
-+static void
-+x2go_server_class_init (X2GoServerClass *klass)
-+{
-+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
-+
-+ object_class->dispose = x2go_server_dispose;
-+ object_class->finalize = x2go_server_finalize;
-+
-+ ServerClass * server_class = SERVER_CLASS(klass);
-+
-+ server_class->get_properties = get_properties;
-+
-+ return;
-+}
-+
-+static void
-+x2go_server_init (X2GoServer *self)
-+{
-+ self->username = NULL;
-+ self->password = NULL;
-+ self->sessiontype = NULL;
-+ self->sessiontype_required = FALSE;
-+
-+ return;
-+}
-+
-+static void
-+x2go_server_dispose (GObject *object)
-+{
-+
-+ G_OBJECT_CLASS (x2go_server_parent_class)->dispose (object);
-+ return;
-+}
-+
-+/* Unlocks the memory before freeing */
-+static void
-+password_clear (gpointer data)
-+{
-+ char * pass = (char *)data;
-+ munlock(pass, strlen(pass));
-+ g_free(pass);
-+ return;
-+}
-+
-+static void
-+x2go_server_finalize (GObject *object)
-+{
-+ X2GoServer * server = X2GO_SERVER(object);
-+
-+ g_clear_pointer(&server->username, g_free);
-+ g_clear_pointer(&server->password, password_clear);
-+ g_clear_pointer(&server->sessiontype, g_free);
-+
-+ G_OBJECT_CLASS (x2go_server_parent_class)->finalize (object);
-+ return;
-+}
-+
-+static GVariant *
-+get_properties (Server * server)
-+{
-+ X2GoServer * rserver = X2GO_SERVER(server);
-+
-+ GVariantBuilder propbuilder;
-+ g_variant_builder_init(&propbuilder, G_VARIANT_TYPE_ARRAY);
-+
-+ GVariantBuilder namebuilder;
-+ g_variant_builder_init(&namebuilder, G_VARIANT_TYPE_TUPLE);
-+ g_variant_builder_add_value(&namebuilder, g_variant_new_string("username"));
-+ g_variant_builder_add_value(&namebuilder, g_variant_new_boolean(TRUE));
-+ if (rserver->username == NULL) {
-+ g_variant_builder_add_value(&namebuilder, g_variant_new_variant(g_variant_new_string("")));
-+ } else {
-+ g_variant_builder_add_value(&namebuilder, g_variant_new_variant(g_variant_new_string(rserver->username)));
-+ }
-+ g_variant_builder_add_value(&namebuilder, g_variant_parse(G_VARIANT_TYPE_VARDICT, "{}", NULL, NULL, NULL));
-+ g_variant_builder_add_value(&propbuilder, g_variant_builder_end(&namebuilder));
-+
-+ GVariantBuilder passbuilder;
-+ g_variant_builder_init(&passbuilder, G_VARIANT_TYPE_TUPLE);
-+ g_variant_builder_add_value(&passbuilder, g_variant_new_string("password"));
-+ g_variant_builder_add_value(&passbuilder, g_variant_new_boolean(TRUE));
-+ if (rserver->password == NULL) {
-+ g_variant_builder_add_value(&passbuilder, g_variant_new_variant(g_variant_new_string("")));
-+ } else {
-+ g_variant_builder_add_value(&passbuilder, g_variant_new_variant(g_variant_new_string(rserver->password)));
-+ }
-+ g_variant_builder_add_value(&passbuilder, g_variant_parse(G_VARIANT_TYPE_VARDICT, "{}", NULL, NULL, NULL));
-+ g_variant_builder_add_value(&propbuilder, g_variant_builder_end(&passbuilder));
-+
-+ GVariantBuilder sessiontypebuilder;
-+ g_variant_builder_init(&sessiontypebuilder, G_VARIANT_TYPE_TUPLE);
-+ g_variant_builder_add_value(&sessiontypebuilder, g_variant_new_string("x2gosession"));
-+ g_variant_builder_add_value(&sessiontypebuilder, g_variant_new_boolean(rserver->sessiontype_required));
-+ if (rserver->sessiontype == NULL) {
-+ g_variant_builder_add_value(&sessiontypebuilder, g_variant_new_variant(g_variant_new_string("")));
-+ } else {
-+ g_variant_builder_add_value(&sessiontypebuilder, g_variant_new_variant(g_variant_new_string(rserver->sessiontype)));
-+ }
-+ g_variant_builder_add_value(&sessiontypebuilder, g_variant_parse(G_VARIANT_TYPE_VARDICT, "{}", NULL, NULL, NULL));
-+ g_variant_builder_add_value(&propbuilder, g_variant_builder_end(&sessiontypebuilder));
-+
-+ return g_variant_builder_end(&propbuilder);
-+}
-+
-+Server *
-+x2go_server_new_from_keyfile (GKeyFile * keyfile, const gchar * groupname)
-+{
-+ g_return_val_if_fail(keyfile != NULL, NULL); /* NOTE: No way to check if that's really a keyfile :-( */
-+ g_return_val_if_fail(groupname != NULL, NULL);
-+
-+ if (!g_key_file_has_group(keyfile, groupname)) {
-+ g_warning("Server specified but group '%s' was not found", groupname);
-+ return NULL;
-+ }
-+
-+ X2GoServer * server = g_object_new(X2GO_SERVER_TYPE, NULL);
-+
-+ if (g_key_file_has_key(keyfile, groupname, CONFIG_SERVER_NAME, NULL)) {
-+ gchar * keyname = g_key_file_get_string(keyfile, groupname, CONFIG_SERVER_NAME, NULL);
-+ server->parent.name = g_strdup(_(keyname));
-+ g_free(keyname);
-+ }
-+
-+ if (g_key_file_has_key(keyfile, groupname, CONFIG_SERVER_URI, NULL)) {
-+ server->parent.uri = g_key_file_get_string(keyfile, groupname, CONFIG_SERVER_URI, NULL);
-+ }
-+
-+ return SERVER(server);
-+}
-+
-+/* Build the X2Go server from information in the JSON object */
-+Server *
-+x2go_server_new_from_json (JsonObject * object)
-+{
-+ X2GoServer * server = g_object_new(X2GO_SERVER_TYPE, NULL);
-+
-+ if (json_object_has_member(object, JSON_SERVER_NAME)) {
-+ JsonNode * node = json_object_get_member(object, JSON_SERVER_NAME);
-+ if (JSON_NODE_TYPE(node) == JSON_NODE_VALUE && json_node_get_value_type(node) == G_TYPE_STRING) {
-+ const gchar * name = json_node_get_string(node);
-+ server->parent.name = g_strdup(name);
-+ }
-+ }
-+
-+ if (json_object_has_member(object, JSON_URI)) {
-+ JsonNode * node = json_object_get_member(object, JSON_URI);
-+ if (JSON_NODE_TYPE(node) == JSON_NODE_VALUE && json_node_get_value_type(node) == G_TYPE_STRING) {
-+ const gchar * uri = json_node_get_string(node);
-+ server->parent.uri = g_strdup(uri);
-+ }
-+ }
-+
-+ if (json_object_has_member(object, JSON_USERNAME)) {
-+ JsonNode * node = json_object_get_member(object, JSON_USERNAME);
-+ if (JSON_NODE_TYPE(node) == JSON_NODE_VALUE && json_node_get_value_type(node) == G_TYPE_STRING) {
-+ const gchar * username = json_node_get_string(node);
-+ server->username = g_strdup(username);
-+ }
-+ }
-+
-+ if (json_object_has_member(object, JSON_PASSWORD)) {
-+ JsonNode * node = json_object_get_member(object, JSON_PASSWORD);
-+ if (JSON_NODE_TYPE(node) == JSON_NODE_VALUE && json_node_get_value_type(node) == G_TYPE_STRING) {
-+ const gchar * password = json_node_get_string(node);
-+ server->password = g_strdup(password);
-+ mlock(server->password, strlen(server->password));
-+ }
-+ }
-+
-+ if (json_object_has_member(object, JSON_SESSIONTYPE)) {
-+ JsonNode * node = json_object_get_member(object, JSON_SESSIONTYPE);
-+ if (JSON_NODE_TYPE(node) == JSON_NODE_VALUE && json_node_get_value_type(node) == G_TYPE_STRING) {
-+ const gchar * sessiontype = json_node_get_string(node);
-+ server->sessiontype = g_strdup(sessiontype);
-+ }
-+ }
-+
-+ if (json_object_has_member(object, JSON_SESSIONTYPE_REQ)) {
-+ JsonNode * node = json_object_get_member(object, JSON_SESSIONTYPE_REQ);
-+ if (JSON_NODE_TYPE(node) == JSON_NODE_VALUE && json_node_get_value_type(node) == G_TYPE_BOOLEAN) {
-+ server->sessiontype_required = json_node_get_boolean(node);
-+ }
-+ }
-+
-+ return SERVER(server);
-+}
---- /dev/null
-+++ b/src/x2go-server.h
-@@ -0,0 +1,59 @@
-+/*
-+ * Copyright © 2012 Canonical Ltd.
-+ * Copyright © 2013 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-+ *
-+ * This program is free software: you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 3, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranties of
-+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
-+ * PURPOSE. See the GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License along
-+ * with this program. If not, see <http://www.gnu.org/licenses/>.
-+ *
-+ * Author: Ted Gould <ted@canonical.com>
-+ * Modified for X2Go: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-+ */
-+
-+#ifndef __X2GO_SERVER_H__
-+#define __X2GO_SERVER_H__
-+
-+#include <glib-object.h>
-+#include <json-glib/json-glib.h>
-+#include "server.h"
-+
-+G_BEGIN_DECLS
-+
-+#define X2GO_SERVER_TYPE (x2go_server_get_type ())
-+#define X2GO_SERVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), X2GO_SERVER_TYPE, X2GoServer))
-+#define X2GO_SERVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), X2GO_SERVER_TYPE, X2GoServerClass))
-+#define IS_X2GO_SERVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), X2GO_SERVER_TYPE))
-+#define IS_X2GO_SERVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), X2GO_SERVER_TYPE))
-+#define X2GO_SERVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), X2GO_SERVER_TYPE, X2GoServerClass))
-+
-+typedef struct _X2GoServer X2GoServer;
-+typedef struct _X2GoServerClass X2GoServerClass;
-+
-+struct _X2GoServerClass {
-+ ServerClass parent_class;
-+};
-+
-+struct _X2GoServer {
-+ Server parent;
-+
-+ gchar * username;
-+ gchar * password;
-+ gchar * sessiontype;
-+ gboolean sessiontype_required;
-+};
-+
-+GType x2go_server_get_type (void);
-+Server * x2go_server_new_from_keyfile (GKeyFile * keyfile, const gchar * name);
-+Server * x2go_server_new_from_json (JsonObject * object);
-+
-+G_END_DECLS
-+
-+#endif
---- a/tests/slmock
-+++ b/tests/slmock
-@@ -78,6 +78,20 @@
- ms.set_default(ts1.Name)
- print(ms.toJson())
-
-+def x2go(email):
-+ ms = ManagementServer("http://x2go.intern", "X2GoSessionBroker")
-+ ts1 = TerminalServer("10.0.2.11", "X2Go Server 1", "x2go", False,
-+ "foo")
-+ ts2 = TerminalServer("10.0.2.12", "X2Go Server 2", "x2go", False,
-+ "bar")
-+ ts3 = TerminalServer("10.0.2.13", "X2Go Server 3", "x2go", False,
-+ "foobar")
-+ ms.add_terminal_server(ts1)
-+ ms.add_terminal_server(ts2)
-+ ms.add_terminal_server(ts3)
-+ ms.set_default(ts1.Name)
-+ print(ms.toJson())
-+
- def print_error(text):
- print("{ \"Error\": \"%s\" }" % text)
-
-@@ -201,6 +215,7 @@
- "d" : defaults, #for easy testing of default ts
- "e" : error,
- "f" : freerdp,
-+ "x" : x2go,
- "g" : garbage,
- "m" : missing_fields, #json missing some fields
- "r" : random_string,
diff --git a/debian/patches/series b/debian/patches/series
index 8fc1feb..c1e82f9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,2 @@
01_clear_servers.patch
glib-deprecated.diff
-02_server-name.patch
-03_x2go+rls.patch
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 12b4fa6..ed4237c 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -3,6 +3,5 @@ src/server.c
src/remote-login.c
src/rdp-server.c
src/citrix-server.c
-src/x2go-server.c
src/main.c
src/uccs-server.c
diff --git a/src/Makefile.am b/src/Makefile.am
index b5f5d5b..a402870 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -36,8 +36,6 @@ libservers_la_SOURCES = \
citrix-server.h \
rdp-server.c \
rdp-server.h \
- x2go-server.c \
- x2go-server.h \
uccs-server.c \
uccs-server.h \
defines.h \
diff --git a/src/com.canonical.RemoteLogin.xml b/src/com.canonical.RemoteLogin.xml
index f0d8cb1..0fec355 100644
--- a/src/com.canonical.RemoteLogin.xml
+++ b/src/com.canonical.RemoteLogin.xml
@@ -2,21 +2,19 @@
<node name="/">
<interface name="com.canonical.RemoteLogin">
<!-- SERVER LIST DOCS - it's in a few places :-)
- s: server type: "ica", "freerdp", "x2go", "uccs"
+ s: server type: "ica", "freerdp", "uccs"
s: server name
s: server uri
b: last used server
a(sbva{sv}): properties for the server
- s: type: "username", "password", "domain", "email", "sessiontype"
+ s: type: "username", "password", "domain", "email"
b: required
v: default value
- a{sv}: properties for the value
- for value 'domain': a list of possible domains (ica, freerdp)
+ a{sv}: properties for the value, currently only used for domains
+ that have a list of possible domains
"domains": a(s)
- for value 'domain': a list of domains that are read only
+ and domains that are read only
"read-only": b
- for value 'sessiontype': TODO -> a subset of session profile parameters...
- "nothing-yet": s
a(si): applications pinned for the server
s: ID of the application (desktop file)
i: position the application is pinned in
diff --git a/src/defines.h b/src/defines.h
index e205d2c..e815ca5 100644
--- a/src/defines.h
+++ b/src/defines.h
@@ -34,7 +34,6 @@
#define CONFIG_SERVER_TYPE "Type"
#define CONFIG_SERVER_TYPE_RDP "RDP"
#define CONFIG_SERVER_TYPE_ICA "ICA"
-#define CONFIG_SERVER_TYPE_X2GO "X2GO"
#define CONFIG_SERVER_TYPE_UCCS "UCCS"
#define JSON_PROTOCOL "Protocol"
@@ -44,7 +43,5 @@
#define JSON_PASSWORD "Password"
#define JSON_DOMAIN_REQ "DomainRequired"
#define JSON_DOMAIN "WindowsDomain"
-#define JSON_SESSIONTYPE "SessionType"
-#define JSON_SESSIONTYPE_REQ "SessionTypeRequired"
#endif /* __DEFINES_H__ */
diff --git a/src/main.c b/src/main.c
index 74e09e0..b6d56d4 100644
--- a/src/main.c
+++ b/src/main.c
@@ -33,7 +33,6 @@
#include "rdp-server.h"
#include "citrix-server.h"
#include "uccs-server.h"
-#include "x2go-server.h"
#include "crypt.h"
gint server_list_to_array (GVariantBuilder * builder, GList * items);
@@ -388,10 +387,8 @@ main (int argc, char * argv[])
{
GError * error = NULL;
-#if !GLIB_CHECK_VERSION (2, 35, 1)
/* Init the GTypes */
g_type_init();
-#endif
/* Setup i18n */
setlocale (LC_ALL, "");
diff --git a/src/server.c b/src/server.c
index 551aa99..2f36898 100644
--- a/src/server.c
+++ b/src/server.c
@@ -25,7 +25,6 @@
#include "citrix-server.h"
#include "rdp-server.h"
#include "uccs-server.h"
-#include "x2go-server.h"
static void server_class_init (ServerClass *klass);
static void server_init (Server *self);
@@ -163,9 +162,6 @@ server_new_from_json (JsonObject * object)
else if (g_strcmp0(proto, "freerdp") == 0 || g_strcmp0(proto, "rdp") == 0 || g_strcmp0(proto, "RDP") == 0 || g_strcmp0(proto, "FreeRDP") == 0) {
newserver = rdp_server_new_from_json(object);
}
- else if (g_strcmp0(proto, "x2go") == 0 || g_strcmp0(proto, "X2go") == 0 || g_strcmp0(proto, "X2Go") == 0 || g_strcmp0(proto, "X2GO") == 0 || g_strcmp0(proto, "x2GO") == 0 || g_strcmp0(proto, "x2gO") == 0) {
- newserver = x2go_server_new_from_json(object);
- }
return newserver;
}
@@ -188,8 +184,6 @@ server_get_variant (Server * server)
g_variant_builder_add_value(&tuple, g_variant_new_string("freerdp"));
} else if (IS_UCCS_SERVER(server)) {
g_variant_builder_add_value(&tuple, g_variant_new_string("uccs"));
- } else if (IS_X2GO_SERVER(server)) {
- g_variant_builder_add_value(&tuple, g_variant_new_string("x2go"));
} else {
g_assert_not_reached();
}
diff --git a/src/uccs-server.c b/src/uccs-server.c
index 52fc301..c17cf38 100644
--- a/src/uccs-server.c
+++ b/src/uccs-server.c
@@ -20,7 +20,6 @@
#include "config.h"
#endif
-#include <glib.h>
#include <glib/gi18n.h>
#include <json-glib/json-glib.h>
@@ -467,10 +466,6 @@ uccs_server_new_from_keyfile (GKeyFile * keyfile, const gchar * groupname)
static gboolean
parse_rds_array (UccsServer * server, JsonArray * array)
{
- // Got a new set of servers, delete the old one
- g_list_free_full(server->subservers, g_object_unref);
- server->subservers = NULL;
-
int i;
for (i = 0; i < json_array_get_length(array); i++) {
JsonNode * node = json_array_get_element(array, i);
@@ -735,8 +730,6 @@ uccs_server_unlock (UccsServer * server, const gchar * address, const gchar * us
argv[1] = server->username;
argv[2] = NULL;
- g_setenv("SERVER_ROOT", server->parent.uri, TRUE);
-
g_spawn_async_with_pipes(NULL, /* pwd */
(gchar **)argv,
NULL, /* env */
diff --git a/tests/dbus-interface.c b/tests/dbus-interface.c
index 2427b34..28ce314 100644
--- a/tests/dbus-interface.c
+++ b/tests/dbus-interface.c
@@ -184,12 +184,9 @@ slmock_check_login(GDBusConnection * session, slmock_table_t * slmockdata, gbool
GVariant * array = g_variant_get_child_value(retval, 2);
int i;
- // Check all servers should be in the result are in the result
for (i = 0; slmockdata->servers[i].name != NULL; i++) {
g_assert(find_server(array, &slmockdata->servers[i]));
}
- // Check there is no more servers in the result than we expected
- g_assert(i == g_variant_n_children(array));
g_variant_unref(array);
g_variant_unref(retval);
@@ -571,9 +568,7 @@ test_dbus_suite (void)
gint
main (gint argc, gchar * argv[])
{
-#if !GLIB_CHECK_VERSION (2, 35, 1)
g_type_init();
-#endif
g_test_init(&argc, &argv, NULL);
/* Test suites */
diff --git a/tests/server-test.c b/tests/server-test.c
index 06b6233..32299af 100644
--- a/tests/server-test.c
+++ b/tests/server-test.c
@@ -270,9 +270,7 @@ test_objects_suite (void)
gint
main (gint argc, gchar * argv[])
{
-#if !GLIB_CHECK_VERSION (2, 35, 1)
g_type_init();
-#endif
g_test_init(&argc, &argv, NULL);
/* Test suites */
diff --git a/tests/slmock b/tests/slmock
index b3b5019..59c5174 100755
--- a/tests/slmock
+++ b/tests/slmock
@@ -78,20 +78,6 @@ def freerdp(email):
ms.set_default(ts1.Name)
print(ms.toJson())
-def x2go(email):
- ms = ManagementServer("http://x2go.intern", "X2GoSessionBroker")
- ts1 = TerminalServer("10.0.2.11", "X2Go Server 1", "x2go", False,
- "foo")
- ts2 = TerminalServer("10.0.2.12", "X2Go Server 2", "x2go", False,
- "bar")
- ts3 = TerminalServer("10.0.2.13", "X2Go Server 3", "x2go", False,
- "foobar")
- ms.add_terminal_server(ts1)
- ms.add_terminal_server(ts2)
- ms.add_terminal_server(ts3)
- ms.set_default(ts1.Name)
- print(ms.toJson())
-
def print_error(text):
print("{ \"Error\": \"%s\" }" % text)
@@ -215,7 +201,6 @@ emailaddrs = {"b" : big, #lots of domains/servers
"d" : defaults, #for easy testing of default ts
"e" : error,
"f" : freerdp,
- "x" : x2go,
"g" : garbage,
"m" : missing_fields, #json missing some fields
"r" : random_string,