SHA256
1
0
forked from pool/gdm

Accepting request 149170 from GNOME:Factory

- Removed fprint from gdm-fingerprint.pamd to fix YaST config. (forwarded request 149169 from RBrownCCB)

OBS-URL: https://build.opensuse.org/request/show/149170
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gdm?expand=0&rev=148
This commit is contained in:
Stephan Kulow 2013-01-20 11:14:23 +00:00 committed by Git OBS Bridge
commit 4a2b54c132
4 changed files with 84 additions and 33 deletions

View File

@ -1,7 +1,6 @@
# Sample PAM file for doing fingerprint authentication.
# Distros should replace this with what makes sense for them.
auth required pam_env.so
auth required pam_fprintd.so
auth sufficient pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so

View File

@ -1,76 +1,114 @@
Index: gdm-3.5.91/daemon/gdm-display-access-file.c
Index: gdm-3.7.3.1/daemon/gdm-display-access-file.c
===================================================================
--- gdm-3.5.91.orig/daemon/gdm-display-access-file.c
+++ gdm-3.5.91/daemon/gdm-display-access-file.c
@@ -440,11 +440,15 @@ _get_auth_info_for_display (GdmDisplayAc
--- gdm-3.7.3.1.orig/daemon/gdm-display-access-file.c
+++ gdm-3.7.3.1/daemon/gdm-display-access-file.c
@@ -443,13 +443,10 @@ _get_auth_info_for_display (GdmDisplayAc
gdm_display_is_local (display, &is_local, NULL);
if (is_local) {
char localhost[HOST_NAME_MAX + 1] = "";
- char localhost[HOST_NAME_MAX + 1] = "";
*family = FamilyLocal;
+#if 0
if (gethostname (localhost, HOST_NAME_MAX) == 0) {
*address = g_strdup (localhost);
} else {
+#endif
*address = g_strdup ("localhost");
+#if 0
}
+#endif
- if (gethostname (localhost, HOST_NAME_MAX) == 0) {
- *address = g_strdup (localhost);
- } else {
- *address = g_strdup ("localhost");
- }
+ /* using the new function we create in the patch, to detect
+ * changes here, in the original code */
+ *address = gdm_gethostname ();
} else {
*family = FamilyWild;
gdm_display_get_remote_hostname (display, address, NULL);
Index: gdm-3.5.91/daemon/gdm-launch-environment.c
Index: gdm-3.7.3.1/daemon/gdm-launch-environment.c
===================================================================
--- gdm-3.5.91.orig/daemon/gdm-launch-environment.c
+++ gdm-3.5.91/daemon/gdm-launch-environment.c
@@ -306,6 +306,11 @@ build_launch_environment (GdmLaunchEnvir
--- gdm-3.7.3.1.orig/daemon/gdm-launch-environment.c
+++ gdm-3.7.3.1/daemon/gdm-launch-environment.c
@@ -284,6 +284,11 @@ build_launch_environment (GdmLaunchEnvir
g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
}
+ if (launch_environment->priv->x11_display_is_local) {
+ g_hash_table_remove (hash, "XAUTHLOCALHOSTNAME");
+ g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), g_strdup ("localhost"));
+ g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), gdm_gethostname ());
+ }
+
g_hash_table_insert (hash, g_strdup ("PATH"), g_strdup (g_getenv ("PATH")));
g_hash_table_insert (hash, g_strdup ("RUNNING_UNDER_GDM"), g_strdup ("true"));
Index: gdm-3.5.91/daemon/gdm-session.c
Index: gdm-3.7.3.1/daemon/gdm-session.c
===================================================================
--- gdm-3.5.91.orig/daemon/gdm-session.c
+++ gdm-3.5.91/daemon/gdm-session.c
@@ -2297,6 +2297,12 @@ setup_session_environment (GdmSession *s
--- gdm-3.7.3.1.orig/daemon/gdm-session.c
+++ gdm-3.7.3.1/daemon/gdm-session.c
@@ -2374,6 +2374,14 @@ setup_session_environment (GdmSession *s
self->priv->user_x11_authority_file);
}
+ if (self->priv->display_is_local) {
+ char *hostname = gdm_gethostname ();
+ gdm_session_set_environment_variable (self,
+ "XAUTHLOCALHOSTNAME",
+ "localhost");
+ hostname);
+ g_free (hostname);
+ }
+
if (g_getenv ("WINDOWPATH") != NULL) {
gdm_session_set_environment_variable (self,
"WINDOWPATH",
Index: gdm-3.5.91/daemon/gdm-slave.c
Index: gdm-3.7.3.1/daemon/gdm-slave.c
===================================================================
--- gdm-3.5.91.orig/daemon/gdm-slave.c
+++ gdm-3.5.91/daemon/gdm-slave.c
--- gdm-3.7.3.1.orig/daemon/gdm-slave.c
+++ gdm-3.7.3.1/daemon/gdm-slave.c
@@ -255,6 +255,10 @@ get_script_environment (GdmSlave *slav
g_hash_table_insert (hash, g_strdup ("REMOTE_HOST"), g_strdup (slave->priv->display_hostname));
}
+ if (slave->priv->display_is_local) {
+ g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), g_strdup ("localhost"));
+ g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), gdm_gethostname ());
+ }
+
/* Runs as root */
g_hash_table_insert (hash, g_strdup ("XAUTHORITY"), g_strdup (slave->priv->display_x11_authority_file));
g_hash_table_insert (hash, g_strdup ("DISPLAY"), g_strdup (slave->priv->display_name));
@@ -652,6 +656,7 @@ gdm_slave_connect_to_x11_display (GdmSla
@@ -644,6 +648,11 @@ gdm_slave_connect_to_x11_display (GdmSla
g_setenv ("DISPLAY", slave->priv->display_name, TRUE);
g_setenv ("XAUTHORITY", slave->priv->display_x11_authority_file, TRUE);
+ g_setenv ("XAUTHLOCALHOSTNAME", "localhost", TRUE);
+ do {
+ char *hostname = gdm_gethostname ();
+ g_setenv ("XAUTHLOCALHOSTNAME", hostname, TRUE);
+ g_free (hostname);
+ } while (0);
sigemptyset (&mask);
sigaddset (&mask, SIGCHLD);
Index: gdm-3.7.3.1/common/gdm-common.c
===================================================================
--- gdm-3.7.3.1.orig/common/gdm-common.c
+++ gdm-3.7.3.1/common/gdm-common.c
@@ -509,3 +509,14 @@ gdm_generate_random_bytes (gsize size
close (fd);
return bytes;
}
+
+char *
+gdm_gethostname (void)
+{
+ char localhost[HOST_NAME_MAX + 1] = "";
+ if (gethostname (localhost, HOST_NAME_MAX) == 0) {
+ return g_strdup (localhost);
+ } else {
+ return g_strdup ("localhost");
+ }
+}
Index: gdm-3.7.3.1/common/gdm-common.h
===================================================================
--- gdm-3.7.3.1.orig/common/gdm-common.h
+++ gdm-3.7.3.1/common/gdm-common.h
@@ -58,6 +58,7 @@ gboolean gdm_string_hex_decode
int insert_at);
char *gdm_generate_random_bytes (gsize size,
GError **error);
+char *gdm_gethostname (void);
G_END_DECLS

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Fri Jan 18 22:59:34 UTC 2013 - rbrownccb@opensuse.org
- Removed fprint from gdm-fingerprint.pamd to fix YaST config.
-------------------------------------------------------------------
Thu Jan 17 17:58:37 UTC 2013 - vuntz@opensuse.org
- Update gdm-xauthlocalhostname.patch: instead of always putting
localhost in the Xauthority entry, we correctly set the
XAUTHLOCALHOSTNAME environment variable to the current hostname.
This matches what we're supposed to do as per comment 24 of
bnc#538064.
-------------------------------------------------------------------
Fri Nov 16 20:11:43 UTC 2012 - dimstar@opensuse.org

View File

@ -1,7 +1,7 @@
#
# spec file for package gdm
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -60,7 +60,7 @@ Patch15: gdm-greeter-greater-ui.patch
Patch18: gdm-always-reflect-keyboard-layout.patch
# PATCH-FIX-OPENSUSE gdm-default-wm.patch vuntz@novell.com -- Use sysconfig to know to which desktop to use by default
Patch34: gdm-default-wm.patch
# PATCH-FIX-OPENSUSE gdm-xauthlocalhostname.patch bgo555464 vuntz@novell.com -- Set XAUTHLOCALHOSTNAME to localhost for local logins to avoid issues in the session in case the hostname changes
# PATCH-FIX-OPENSUSE gdm-xauthlocalhostname.patch bnc#538064 vuntz@novell.com -- Set XAUTHLOCALHOSTNAME to current hostname when we authenticate, for local logins, to avoid issues in the session in case the hostname changes later one. See comment 24 in the bug.
Patch35: gdm-xauthlocalhostname.patch
# PATCH-FIX-UPSTREAM gdm-look-at-runlevel.patch bnc540482 bgo599180 vuntz@opensuse.org -- Look at the current runlevel before managing the display again, so we don't do this when shutting down or rebooting
Patch40: gdm-look-at-runlevel.patch