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