summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
Diffstat (limited to 'daemon')
-rw-r--r--daemon/gdm-server.c13
-rw-r--r--daemon/gdm-x-session.c12
2 files changed, 25 insertions, 0 deletions
diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c
index eb7db0e2..6357d344 100644
--- a/daemon/gdm-server.c
+++ b/daemon/gdm-server.c
@@ -320,11 +320,24 @@ gdm_server_resolve_command_line (GdmServer *server,
argv[len++] = g_strdup (server->priv->display_seat_id);
}
+ /* If we were compiled with Xserver >= 1.17 we need to specify
+ * '-listen tcp' as the X server dosen't listen on tcp sockets
+ * by default anymore. In older versions we need to pass
+ * -nolisten tcp to disable listening on tcp sockets.
+ */
+#ifdef HAVE_XSERVER_THAT_DEFAULTS_TO_LOCAL_ONLY
+ if (!server->priv->disable_tcp && ! query_in_arglist) {
+ argv[len++] = g_strdup ("-listen");
+ argv[len++] = g_strdup ("tcp");
+ }
+#else
if (server->priv->disable_tcp && ! query_in_arglist) {
argv[len++] = g_strdup ("-nolisten");
argv[len++] = g_strdup ("tcp");
}
+#endif
+
if (vtarg != NULL && ! gotvtarg) {
argv[len++] = g_strdup (vtarg);
}
diff --git a/daemon/gdm-x-session.c b/daemon/gdm-x-session.c
index 58646fa3..624f67ca 100644
--- a/daemon/gdm-x-session.c
+++ b/daemon/gdm-x-session.c
@@ -249,10 +249,22 @@ spawn_x_server (State *state,
g_ptr_array_add (arguments, "-auth");
g_ptr_array_add (arguments, auth_file);
+ /* If we were compiled with Xserver >= 1.17 we need to specify
+ * '-listen tcp' as the X server dosen't listen on tcp sockets
+ * by default anymore. In older versions we need to pass
+ * -nolisten tcp to disable listening on tcp sockets.
+ */
+#ifdef HAVE_XSERVER_THAT_DEFAULTS_TO_LOCAL_ONLY
+ if (allow_remote_connections) {
+ g_ptr_array_add (arguments, "-listen");
+ g_ptr_array_add (arguments, "tcp");
+ }
+#else
if (!allow_remote_connections) {
g_ptr_array_add (arguments, "-nolisten");
g_ptr_array_add (arguments, "tcp");
}
+#endif
g_ptr_array_add (arguments, "-background");
g_ptr_array_add (arguments, "none");