diff -up gdm-2.22.0/common/gdm-settings-keys.h.enable-tcp gdm-2.22.0/common/gdm-settings-keys.h --- gdm-2.22.0/common/gdm-settings-keys.h.enable-tcp 2008-04-17 23:29:27.000000000 -0400 +++ gdm-2.22.0/common/gdm-settings-keys.h 2008-06-25 11:19:51.000000000 -0400 @@ -31,6 +31,8 @@ G_BEGIN_DECLS #define GDM_KEY_TIMED_LOGIN_USER "daemon/TimedLogin" #define GDM_KEY_TIMED_LOGIN_DELAY "daemon/TimedLoginDelay" +#define GDM_KEY_DISALLOW_TCP "security/DisallowTCP" + #define GDM_KEY_XDMCP_ENABLE "xdmcp/Enable" #define GDM_KEY_MAX_PENDING "xdmcp/MaxPending" #define GDM_KEY_MAX_SESSIONS "xdmcp/MaxSessions" diff -up gdm-2.22.0/daemon/gdm-simple-slave.c.enable-tcp gdm-2.22.0/daemon/gdm-simple-slave.c --- gdm-2.22.0/daemon/gdm-simple-slave.c.enable-tcp 2008-06-25 11:19:51.000000000 -0400 +++ gdm-2.22.0/daemon/gdm-simple-slave.c 2008-06-25 11:29:44.000000000 -0400 @@ -1003,8 +1003,18 @@ gdm_simple_slave_run (GdmSimpleSlave *sl * exist */ if (display_is_local) { gboolean res; + gboolean disable_tcp; slave->priv->server = gdm_server_new (display_name, auth_file); + + disable_tcp = TRUE; + if (gdm_settings_client_get_boolean (GDM_KEY_DISALLOW_TCP, + &disable_tcp)) { + g_object_set (slave->priv->server, + "disable-tcp", disable_tcp, + NULL); + } + g_signal_connect (slave->priv->server, "exited", G_CALLBACK (on_server_exited), diff -up gdm-2.22.0/data/gdm.conf-custom.in.enable-tcp gdm-2.22.0/data/gdm.conf-custom.in --- gdm-2.22.0/data/gdm.conf-custom.in.enable-tcp 2008-04-17 23:29:29.000000000 -0400 +++ gdm-2.22.0/data/gdm.conf-custom.in 2008-06-25 11:19:51.000000000 -0400 @@ -4,4 +4,6 @@ [chooser] +[security] + [debug] diff -up gdm-2.22.0/data/gdm.schemas.in.enable-tcp gdm-2.22.0/data/gdm.schemas.in --- gdm-2.22.0/data/gdm.schemas.in.enable-tcp 2008-04-20 09:51:56.000000000 -0400 +++ gdm-2.22.0/data/gdm.schemas.in 2008-06-25 11:19:51.000000000 -0400 @@ -28,6 +28,12 @@ + security/DisallowTCP + b + true + + + xdmcp/Enable b false