From affb42aff901f407502e4d2c0eb65b4f30a1275d Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 30 Nov 2012 12:56:58 -0500
Subject: [PATCH] access-file: don't use FamilyLocal for auth cookie
FamilyLocal is really fragile to hostname changes, so
avoid using it when creating the initial auth cookie for
establishing access to the X server for the slave.
This commit changes the Xauthority entry to use FamilyWild
which makes the address of the entry unimportant.
https://bugzilla.gnome.org/show_bug.cgi?id=689370
---
daemon/gdm-display-access-file.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/daemon/gdm-display-access-file.c b/daemon/gdm-display-access-file.c
index cff8b70..02bd414 100644
--- a/daemon/gdm-display-access-file.c
+++ b/daemon/gdm-display-access-file.c
@@ -425,37 +425,32 @@ static void
_get_auth_info_for_display (GdmDisplayAccessFile *file,
GdmDisplay *display,
unsigned short *family,
unsigned short *address_length,
char **address,
unsigned short *number_length,
char **number,
unsigned short *name_length,
char **name)
{
int display_number;
gboolean is_local;
gdm_display_is_local (display, &is_local, NULL);
if (is_local) {
- char localhost[HOST_NAME_MAX + 1] = "";
- *family = FamilyLocal;
- if (gethostname (localhost, HOST_NAME_MAX) == 0) {
- *address = g_strdup (localhost);
- } else {
- *address = g_strdup ("localhost");
- }
+ *family = FamilyWild;
+ *address = g_strdup ("localhost");
} else {
*family = FamilyWild;
gdm_display_get_remote_hostname (display, address, NULL);
}
*address_length = strlen (*address);
gdm_display_get_x11_display_number (display, &display_number, NULL);
*number = g_strdup_printf ("%d", display_number);
*number_length = strlen (*number);
*name = g_strdup ("MIT-MAGIC-COOKIE-1");
*name_length = strlen (*name);
}
--
1.8.0