From ddfbfcc43368c5d5e4ef644683ad70f9c882e6ee39a47ed7f26b5f0406f29482 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 8 Sep 2016 21:23:45 +0000 Subject: [PATCH 1/2] Accepting request 425035 from GNOME:Next Scripted push of project GNOME:Next OBS-URL: https://build.opensuse.org/request/show/425035 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=321 --- gdm-3.20.1.tar.xz | 3 - gdm-3.21.91.tar.xz | 3 + gdm-autologin.pamd | 2 + gdm-xauthlocalhostname.patch | 130 +++++++++++++++-------------------- gdm.changes | 43 ++++++++++++ gdm.spec | 11 ++- 6 files changed, 112 insertions(+), 80 deletions(-) delete mode 100644 gdm-3.20.1.tar.xz create mode 100644 gdm-3.21.91.tar.xz diff --git a/gdm-3.20.1.tar.xz b/gdm-3.20.1.tar.xz deleted file mode 100644 index 70a9d68..0000000 --- a/gdm-3.20.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:10a2512fc8455a3e60e61907a8419ae7dfba9e7ea80cfb7e2ffa746eb165789f -size 1148952 diff --git a/gdm-3.21.91.tar.xz b/gdm-3.21.91.tar.xz new file mode 100644 index 0000000..619e606 --- /dev/null +++ b/gdm-3.21.91.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8da397b80c904f22725b4c87dc29b28bedc81ea1fd7a5012a4731f954952eef +size 1110160 diff --git a/gdm-autologin.pamd b/gdm-autologin.pamd index 1a62f3f..74f0f83 100644 --- a/gdm-autologin.pamd +++ b/gdm-autologin.pamd @@ -2,6 +2,8 @@ # GDM PAM configuration for autologin auth requisite pam_nologin.so auth required pam_permit.so +auth optional pam_gdm.so +auth optional pam_gnome_keyring.so account include common-account password include common-password session required pam_loginuid.so diff --git a/gdm-xauthlocalhostname.patch b/gdm-xauthlocalhostname.patch index d4d7e22..dcff529 100644 --- a/gdm-xauthlocalhostname.patch +++ b/gdm-xauthlocalhostname.patch @@ -1,8 +1,48 @@ -Index: gdm-3.7.3.1/daemon/gdm-display-access-file.c -=================================================================== ---- 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 +diff --git a/common/gdm-common.c b/common/gdm-common.c +index 31fc810..fbf5978 100644 +--- a/common/gdm-common.c ++++ b/common/gdm-common.c +@@ -591,6 +591,8 @@ gdm_get_script_environment (const char *username, + + if (display_hostname) { + g_hash_table_insert (hash, g_strdup ("REMOTE_HOST"), g_strdup (display_hostname)); ++ } else { ++ g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), gdm_gethostname ()); + } + + /* Runs as root */ +@@ -797,3 +799,14 @@ gdm_shell_expand (const char *str, + } + return g_string_free (s, FALSE); + } ++ ++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"); ++ } ++} +diff --git a/common/gdm-common.h b/common/gdm-common.h +index 8d83a12..bc13d70 100644 +--- a/common/gdm-common.h ++++ b/common/gdm-common.h +@@ -54,6 +54,7 @@ const char * gdm_make_temp_dir (char *template); + char *gdm_generate_random_bytes (gsize size, + GError **error); + gboolean gdm_goto_login_session (GError **error); ++char *gdm_gethostname (void); + + GPtrArray *gdm_get_script_environment (const char *username, + const char *display_name, +diff --git a/daemon/gdm-display-access-file.c b/daemon/gdm-display-access-file.c +index 02ec0a0..5cc18a4 100644 +--- a/daemon/gdm-display-access-file.c ++++ b/daemon/gdm-display-access-file.c +@@ -443,13 +443,10 @@ _get_auth_info_for_display (GdmDisplayAccessFile *file, * * https://bugs.freedesktop.org/show_bug.cgi?id=43425 */ @@ -19,11 +59,11 @@ Index: gdm-3.7.3.1/daemon/gdm-display-access-file.c } else { *family = FamilyWild; gdm_display_get_remote_hostname (display, address, NULL); -Index: gdm-3.7.3.1/daemon/gdm-launch-environment.c -=================================================================== ---- 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 +diff --git a/daemon/gdm-launch-environment.c b/daemon/gdm-launch-environment.c +index a30276b..fded306 100644 +--- a/daemon/gdm-launch-environment.c ++++ b/daemon/gdm-launch-environment.c +@@ -194,6 +194,11 @@ build_launch_environment (GdmLaunchEnvironment *launch_environment, g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id)); } @@ -35,12 +75,12 @@ Index: gdm-3.7.3.1/daemon/gdm-launch-environment.c 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.7.3.1/daemon/gdm-session.c -=================================================================== ---- 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); +diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c +index b839fea..83fb807 100644 +--- a/daemon/gdm-session.c ++++ b/daemon/gdm-session.c +@@ -2548,6 +2548,14 @@ set_up_session_environment (GdmSession *self) + } } + if (self->priv->display_is_local) { @@ -54,61 +94,3 @@ Index: gdm-3.7.3.1/daemon/gdm-session.c if (g_getenv ("WINDOWPATH") != NULL) { gdm_session_set_environment_variable (self, "WINDOWPATH", -Index: gdm-3.7.3.1/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"), 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)); -@@ -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); -+ 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 - diff --git a/gdm.changes b/gdm.changes index 8b2b2d2..8df8115 100644 --- a/gdm.changes +++ b/gdm.changes @@ -1,3 +1,46 @@ +------------------------------------------------------------------- +Wed Aug 31 21:43:25 UTC 2016 - dimstar@opensuse.org + +- Rebase gdm-xauthlocalhostname.patch: boo#538064 is still + applicable and the patch still required. + +------------------------------------------------------------------- +Wed Aug 31 20:35:51 UTC 2016 - zaitor@opensuse.org + +- Update to version 3.21.91: + + Fix autologin on non-LUKS systems. + + Import environment from systemd user manager. + +------------------------------------------------------------------- +Thu Aug 25 12:39:58 UTC 2016 - dimstar@opensuse.org + +- Update to version 3.21.90: + + Use LUKS password to unlock gnome-keyring at login (when + autologin is enabled). + + Updated translations. +- Add keyutils-devel BuildRequires: new dependency. +- Add pam_gdm.so and pam_gnome_keyring.so as optional auth modules + to gdm-autologin.pamd: allows to unlock the gnome-keyring when + autologin is configured, the disk is encrypted (key cached by + systemd) and the gnome-keyring uses the same password as the + disk, + +------------------------------------------------------------------- +Tue Aug 16 09:10:44 UTC 2016 - zaitor@opensuse.org + +- Update to version 3.21.4: + + Small crasher fix. + + Updated translations. + +------------------------------------------------------------------- +Tue Aug 16 09:10:43 UTC 2016 - zaitor@opensuse.org + +- Update to version 3.21.3: + + Updated translations. +- Changes from version 3.21.2: + + Import DISPLAY into user bus. + + Updated translations. + ------------------------------------------------------------------- Tue Aug 16 09:10:42 UTC 2016 - tyang@suse.com diff --git a/gdm.spec b/gdm.spec index 1a39609..5e49068 100644 --- a/gdm.spec +++ b/gdm.spec @@ -25,13 +25,13 @@ %define enable_split_authentication 0 Name: gdm -Version: 3.20.1 +Version: 3.21.91 Release: 0 Summary: The GNOME Display Manager License: GPL-2.0+ Group: System/GUI/GNOME Url: http://projects.gnome.org/gdm/ -Source: http://download.gnome.org/sources/gdm/3.20/%{name}-%{version}.tar.xz +Source: http://download.gnome.org/sources/gdm/3.21/%{name}-%{version}.tar.xz Source1: gdm.pamd Source2: gdm-autologin.pamd Source3: gdm-launch-environment.pamd @@ -70,6 +70,7 @@ BuildRequires: gnome-common BuildRequires: gnome-session-core BuildRequires: gobject-introspection-devel >= 0.9.12 BuildRequires: iso-codes-devel +BuildRequires: keyutils-devel BuildRequires: libXdmcp-devel BuildRequires: libXi-devel BuildRequires: libXinerama-devel @@ -190,7 +191,7 @@ translation-update-upstream %patch8 -p1 %patch9 -p1 %patch34 -p1 -#patch35 -p1 +%patch35 -p1 %patch41 -p1 %patch42 -p1 @@ -247,6 +248,9 @@ echo "We are not ready for this, we need to know what to put in gdm-fingerprint false %endif ln -s gdm $RPM_BUILD_ROOT/etc/pam.d/gdm-password +# move the pam module out of _prefix +mkdir -p %{buildroot}/%{_lib}/security +mv %{buildroot}%{_libdir}/security/pam_gdm.so %{buildroot}/%{_lib}/security/ ## Install other files # Install PostLogin script. mv $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default.sample $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default @@ -325,6 +329,7 @@ dconf update %{_datadir}/glib-2.0/schemas/org.gnome.login-screen.gschema.xml %{_datadir}/icons/*/*/*/*.* %{_datadir}/pixmaps/*.png +/%{_lib}/security/pam_gdm.so %dir %{_libexecdir}/gdm %{_libexecdir}/gdm/gdm-* %{_libexecdir}/gdm/gdmflexiserver From ff19c46bcf75c2d2d3fc423daa2a1ff8bfb24fadae21f88ba30bae80e27f5884 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Tue, 20 Sep 2016 18:27:31 +0000 Subject: [PATCH 2/2] Accepting request 428817 from GNOME:Next New stable OBS-URL: https://build.opensuse.org/request/show/428817 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=322 --- gdm-3.21.91.tar.xz | 3 --- gdm-3.22.0.tar.xz | 3 +++ gdm.changes | 7 +++++++ gdm.spec | 4 ++-- 4 files changed, 12 insertions(+), 5 deletions(-) delete mode 100644 gdm-3.21.91.tar.xz create mode 100644 gdm-3.22.0.tar.xz diff --git a/gdm-3.21.91.tar.xz b/gdm-3.21.91.tar.xz deleted file mode 100644 index 619e606..0000000 --- a/gdm-3.21.91.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a8da397b80c904f22725b4c87dc29b28bedc81ea1fd7a5012a4731f954952eef -size 1110160 diff --git a/gdm-3.22.0.tar.xz b/gdm-3.22.0.tar.xz new file mode 100644 index 0000000..1d307ff --- /dev/null +++ b/gdm-3.22.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9180d07c6a4a3fb0e8df6bcb4f333008cb3071f0ef81e02f081ff8a144f62d4 +size 1109876 diff --git a/gdm.changes b/gdm.changes index 8df8115..37806d2 100644 --- a/gdm.changes +++ b/gdm.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Sep 19 19:55:24 UTC 2016 - zaitor@opensuse.org + +- Update to version 3.22.0: + + Autologin fixes. + + Updated translations. + ------------------------------------------------------------------- Wed Aug 31 21:43:25 UTC 2016 - dimstar@opensuse.org diff --git a/gdm.spec b/gdm.spec index 5e49068..502cf29 100644 --- a/gdm.spec +++ b/gdm.spec @@ -25,13 +25,13 @@ %define enable_split_authentication 0 Name: gdm -Version: 3.21.91 +Version: 3.22.0 Release: 0 Summary: The GNOME Display Manager License: GPL-2.0+ Group: System/GUI/GNOME Url: http://projects.gnome.org/gdm/ -Source: http://download.gnome.org/sources/gdm/3.21/%{name}-%{version}.tar.xz +Source: http://download.gnome.org/sources/gdm/3.22/%{name}-%{version}.tar.xz Source1: gdm.pamd Source2: gdm-autologin.pamd Source3: gdm-launch-environment.pamd