From 3a3c89a7e777fcf7e7b7cbf0a085988041f183e3 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 24 Apr 2018 16:42:30 -0400 Subject: [PATCH 01/64] Update to 0.6.47 --- accountsservice.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/accountsservice.spec b/accountsservice.spec index 97467ba..569af4c 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,7 +1,7 @@ %global _hardened_build 1 Name: accountsservice -Version: 0.6.46 +Version: 0.6.47 Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ @@ -98,6 +98,9 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Tue Apr 24 2018 Ray Strode - 0.6.47-1 +- Update to 0.6.47 + * Sat Apr 21 2018 Peter Robinson 0.4.46-1 - Update to 0.6.46 - Spec cleanup, use %%license diff --git a/sources b/sources index 79950d4..1066715 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (accountsservice-0.6.46.tar.xz) = fe603a9d98bb2b22b511f77e2ab78e8134d7b2d78c5e47706eb191697f7f252a8b3e33a99776a1e28491192b818d627a4ba4b972c3c0fc8c8762f78cdcb58054 +SHA512 (accountsservice-0.6.47.tar.xz) = 9e6ed72904cd1a8c01007ae879158fa9bf7129821e996d0279d1da2072e9d906115585c8fa4f91012af92dbb841825a26f1239b2a6040ef8f180e4bf678a7402 From 097648b6af4eb449c16ea3dca73fcb9863ff9cd0 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 24 Apr 2018 16:42:30 -0400 Subject: [PATCH 02/64] Update to 0.6.47 --- accountsservice.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/accountsservice.spec b/accountsservice.spec index 97467ba..569af4c 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,7 +1,7 @@ %global _hardened_build 1 Name: accountsservice -Version: 0.6.46 +Version: 0.6.47 Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ @@ -98,6 +98,9 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Tue Apr 24 2018 Ray Strode - 0.6.47-1 +- Update to 0.6.47 + * Sat Apr 21 2018 Peter Robinson 0.4.46-1 - Update to 0.6.46 - Spec cleanup, use %%license diff --git a/sources b/sources index 79950d4..1066715 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (accountsservice-0.6.46.tar.xz) = fe603a9d98bb2b22b511f77e2ab78e8134d7b2d78c5e47706eb191697f7f252a8b3e33a99776a1e28491192b818d627a4ba4b972c3c0fc8c8762f78cdcb58054 +SHA512 (accountsservice-0.6.47.tar.xz) = 9e6ed72904cd1a8c01007ae879158fa9bf7129821e996d0279d1da2072e9d906115585c8fa4f91012af92dbb841825a26f1239b2a6040ef8f180e4bf678a7402 From cc3cb7ac6ffe5fb8b9bb847d81a21186fda2c549 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 4 May 2018 16:48:01 -0400 Subject: [PATCH 03/64] fix crash on user deletion Resolves: 1573550 --- ...r-user-after-we-re-done-with-it-not-.patch | 87 ++++++++++++++++++ ...emit-user-deleted-for-uncached-users.patch | 89 +++++++++++++++++++ accountsservice.spec | 9 +- 3 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch create mode 100644 0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch diff --git a/0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch b/0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch new file mode 100644 index 0000000..1efdb3a --- /dev/null +++ b/0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch @@ -0,0 +1,87 @@ +From 2d9e0f43c46e1be8afd94944e7461e0086497fd3 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Fri, 4 May 2018 16:43:03 -0400 +Subject: [PATCH 1/2] daemon: unregister user after we're done with it not + before + +Now that we get the object path for a user directly from the skeleton, +we can't access that object path after the skeleton is unregistered. + +This commit fixes a problem where the user deletion handling code tries +to access the object path of a user after its skeleton is unregistered. +--- + src/daemon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/daemon.c b/src/daemon.c +index 9ec153a..d3fa971 100644 +--- a/src/daemon.c ++++ b/src/daemon.c +@@ -483,63 +483,63 @@ reload_users (Daemon *daemon) + if (!user_get_system_account (user)) + number_of_normal_users++; + user_update_local_account_property (user, g_hash_table_lookup (local, name) != NULL); + } + g_hash_table_destroy (local); + + had_no_users = accounts_accounts_get_has_no_users (accounts); + has_no_users = number_of_normal_users == 0; + + if (had_no_users != has_no_users) + accounts_accounts_set_has_no_users (accounts, has_no_users); + + had_multiple_users = accounts_accounts_get_has_multiple_users (accounts); + has_multiple_users = number_of_normal_users > 1; + + if (had_multiple_users != has_multiple_users) + accounts_accounts_set_has_multiple_users (accounts, has_multiple_users); + + /* Swap out the users */ + old_users = daemon->priv->users; + daemon->priv->users = users; + + /* Remove all the old users */ + g_hash_table_iter_init (&iter, old_users); + while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { + User *refreshed_user; + + refreshed_user = g_hash_table_lookup (users, name); + + if (!refreshed_user || !user_get_cached (refreshed_user)) { +- user_unregister (user); + accounts_accounts_emit_user_deleted (ACCOUNTS_ACCOUNTS (daemon), + user_get_object_path (user)); ++ user_unregister (user); + } + } + + /* Register all the new users */ + g_hash_table_iter_init (&iter, users); + while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { + User *stale_user; + + stale_user = g_hash_table_lookup (old_users, name); + + if (!stale_user || !user_get_cached (stale_user) && user_get_cached (user)) { + user_register (user); + accounts_accounts_emit_user_added (ACCOUNTS_ACCOUNTS (daemon), + user_get_object_path (user)); + } + g_object_thaw_notify (G_OBJECT (user)); + } + + g_hash_table_destroy (old_users); + } + + static gboolean + reload_users_timeout (Daemon *daemon) + { + reload_users (daemon); + daemon->priv->reload_id = 0; + + return FALSE; + } + +-- +2.17.0 + diff --git a/0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch b/0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch new file mode 100644 index 0000000..e696569 --- /dev/null +++ b/0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch @@ -0,0 +1,89 @@ +From 815c43087926eb22f37fed6f501a3e9291edf564 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Wed, 9 May 2018 09:26:57 -0400 +Subject: [PATCH 2/2] daemon: don't emit user-deleted for uncached users + +Right now we emit spurious user-deleted signals for +all uncached users anytime a reload occurs. +Uncached users are users explicitly requested by a client, +but not part of the results returned from ListCachedUsers. + +We should only be emitting user-deleted it they were initially +cached and transitioned to uncached, not if they're still +hanging around in an uncached state. + +This commit fixes the code to do that. +--- + src/daemon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/daemon.c b/src/daemon.c +index d3fa971..a12b71b 100644 +--- a/src/daemon.c ++++ b/src/daemon.c +@@ -482,61 +482,61 @@ reload_users (Daemon *daemon) + while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { + if (!user_get_system_account (user)) + number_of_normal_users++; + user_update_local_account_property (user, g_hash_table_lookup (local, name) != NULL); + } + g_hash_table_destroy (local); + + had_no_users = accounts_accounts_get_has_no_users (accounts); + has_no_users = number_of_normal_users == 0; + + if (had_no_users != has_no_users) + accounts_accounts_set_has_no_users (accounts, has_no_users); + + had_multiple_users = accounts_accounts_get_has_multiple_users (accounts); + has_multiple_users = number_of_normal_users > 1; + + if (had_multiple_users != has_multiple_users) + accounts_accounts_set_has_multiple_users (accounts, has_multiple_users); + + /* Swap out the users */ + old_users = daemon->priv->users; + daemon->priv->users = users; + + /* Remove all the old users */ + g_hash_table_iter_init (&iter, old_users); + while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { + User *refreshed_user; + + refreshed_user = g_hash_table_lookup (users, name); + +- if (!refreshed_user || !user_get_cached (refreshed_user)) { ++ if (!refreshed_user || user_get_cached (user) && !user_get_cached (refreshed_user)) { + accounts_accounts_emit_user_deleted (ACCOUNTS_ACCOUNTS (daemon), + user_get_object_path (user)); + user_unregister (user); + } + } + + /* Register all the new users */ + g_hash_table_iter_init (&iter, users); + while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { + User *stale_user; + + stale_user = g_hash_table_lookup (old_users, name); + + if (!stale_user || !user_get_cached (stale_user) && user_get_cached (user)) { + user_register (user); + accounts_accounts_emit_user_added (ACCOUNTS_ACCOUNTS (daemon), + user_get_object_path (user)); + } + g_object_thaw_notify (G_OBJECT (user)); + } + + g_hash_table_destroy (old_users); + } + + static gboolean + reload_users_timeout (Daemon *daemon) + { + reload_users (daemon); + daemon->priv->reload_id = 0; + +-- +2.17.0 + diff --git a/accountsservice.spec b/accountsservice.spec index 569af4c..75b25b4 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.47 -Release: 1%{?dist} +Release: 2%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -23,6 +23,9 @@ Requires: polkit Requires: shadow-utils %{?systemd_requires} +Patch1: 0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch +Patch2: 0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch + %description The accountsservice project provides a set of D-Bus interfaces for querying and manipulating user account information and an implementation @@ -98,6 +101,10 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Fri May 04 2018 Ray Strode - 0.6.47-2 +- fix crash on user deletion + Resolves: #1573550 + * Tue Apr 24 2018 Ray Strode - 0.6.47-1 - Update to 0.6.47 From 296643edfd2e9ab91e55a5aec14fccfdfd7a4d21 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 10 May 2018 14:07:56 -0400 Subject: [PATCH 04/64] Update to 0.6.48 Resolves: #1575780 --- accountsservice.spec | 11 ++++++----- sources | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/accountsservice.spec b/accountsservice.spec index 75b25b4..e0d66d6 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,8 +1,8 @@ %global _hardened_build 1 Name: accountsservice -Version: 0.6.47 -Release: 2%{?dist} +Version: 0.6.48 +Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -23,9 +23,6 @@ Requires: polkit Requires: shadow-utils %{?systemd_requires} -Patch1: 0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch -Patch2: 0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch - %description The accountsservice project provides a set of D-Bus interfaces for querying and manipulating user account information and an implementation @@ -101,6 +98,10 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Thu May 10 2018 Ray Strode - 0.6.48-1 +- Update to 0.6.48 + Resolves: #1575780 + * Fri May 04 2018 Ray Strode - 0.6.47-2 - fix crash on user deletion Resolves: #1573550 diff --git a/sources b/sources index 1066715..1e0b2e4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (accountsservice-0.6.47.tar.xz) = 9e6ed72904cd1a8c01007ae879158fa9bf7129821e996d0279d1da2072e9d906115585c8fa4f91012af92dbb841825a26f1239b2a6040ef8f180e4bf678a7402 +SHA512 (accountsservice-0.6.48.tar.xz) = 9c71b78cea398e8664a1cba21d66c250e52a5d05cb700e4755a653313edca6c6b36f07b2a4bc5a1c02991b3fe426c0a471bd75abfd5ec18790842f111726414b From c52eefdc4481900fed45c3fd42eb24cac67adcfe Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 10 May 2018 16:10:28 -0400 Subject: [PATCH 05/64] Update to 0.6.49 (brown bag release) --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index e0d66d6..b075718 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,7 +1,7 @@ %global _hardened_build 1 Name: accountsservice -Version: 0.6.48 +Version: 0.6.49 Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ @@ -98,6 +98,9 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Thu May 10 2018 Ray Strode - 0.6.49-1 +- Update to 0.6.49 (brown bag release) + * Thu May 10 2018 Ray Strode - 0.6.48-1 - Update to 0.6.48 Resolves: #1575780 From ed981c268fe395821a869328619b4d85a9298249 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 10 May 2018 16:15:49 -0400 Subject: [PATCH 06/64] update sources --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 1e0b2e4..37ff82d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (accountsservice-0.6.48.tar.xz) = 9c71b78cea398e8664a1cba21d66c250e52a5d05cb700e4755a653313edca6c6b36f07b2a4bc5a1c02991b3fe426c0a471bd75abfd5ec18790842f111726414b +SHA512 (accountsservice-0.6.49.tar.xz) = 4077f7d401f1964ca909ca1188297b09137d553f578ceea1d648827d5bef3a4a86180b4d715b82434d047fdf764fc5c684c95479c3510b17f10253f1e1800f89 From 244dda46ae81e5899b1acd80923824a81ec8e9ff Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 4 May 2018 16:48:01 -0400 Subject: [PATCH 07/64] fix crash on user deletion Resolves: 1573550 --- ...r-user-after-we-re-done-with-it-not-.patch | 87 ++++++++++++++++++ ...emit-user-deleted-for-uncached-users.patch | 89 +++++++++++++++++++ accountsservice.spec | 9 +- 3 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch create mode 100644 0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch diff --git a/0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch b/0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch new file mode 100644 index 0000000..1efdb3a --- /dev/null +++ b/0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch @@ -0,0 +1,87 @@ +From 2d9e0f43c46e1be8afd94944e7461e0086497fd3 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Fri, 4 May 2018 16:43:03 -0400 +Subject: [PATCH 1/2] daemon: unregister user after we're done with it not + before + +Now that we get the object path for a user directly from the skeleton, +we can't access that object path after the skeleton is unregistered. + +This commit fixes a problem where the user deletion handling code tries +to access the object path of a user after its skeleton is unregistered. +--- + src/daemon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/daemon.c b/src/daemon.c +index 9ec153a..d3fa971 100644 +--- a/src/daemon.c ++++ b/src/daemon.c +@@ -483,63 +483,63 @@ reload_users (Daemon *daemon) + if (!user_get_system_account (user)) + number_of_normal_users++; + user_update_local_account_property (user, g_hash_table_lookup (local, name) != NULL); + } + g_hash_table_destroy (local); + + had_no_users = accounts_accounts_get_has_no_users (accounts); + has_no_users = number_of_normal_users == 0; + + if (had_no_users != has_no_users) + accounts_accounts_set_has_no_users (accounts, has_no_users); + + had_multiple_users = accounts_accounts_get_has_multiple_users (accounts); + has_multiple_users = number_of_normal_users > 1; + + if (had_multiple_users != has_multiple_users) + accounts_accounts_set_has_multiple_users (accounts, has_multiple_users); + + /* Swap out the users */ + old_users = daemon->priv->users; + daemon->priv->users = users; + + /* Remove all the old users */ + g_hash_table_iter_init (&iter, old_users); + while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { + User *refreshed_user; + + refreshed_user = g_hash_table_lookup (users, name); + + if (!refreshed_user || !user_get_cached (refreshed_user)) { +- user_unregister (user); + accounts_accounts_emit_user_deleted (ACCOUNTS_ACCOUNTS (daemon), + user_get_object_path (user)); ++ user_unregister (user); + } + } + + /* Register all the new users */ + g_hash_table_iter_init (&iter, users); + while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { + User *stale_user; + + stale_user = g_hash_table_lookup (old_users, name); + + if (!stale_user || !user_get_cached (stale_user) && user_get_cached (user)) { + user_register (user); + accounts_accounts_emit_user_added (ACCOUNTS_ACCOUNTS (daemon), + user_get_object_path (user)); + } + g_object_thaw_notify (G_OBJECT (user)); + } + + g_hash_table_destroy (old_users); + } + + static gboolean + reload_users_timeout (Daemon *daemon) + { + reload_users (daemon); + daemon->priv->reload_id = 0; + + return FALSE; + } + +-- +2.17.0 + diff --git a/0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch b/0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch new file mode 100644 index 0000000..e696569 --- /dev/null +++ b/0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch @@ -0,0 +1,89 @@ +From 815c43087926eb22f37fed6f501a3e9291edf564 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Wed, 9 May 2018 09:26:57 -0400 +Subject: [PATCH 2/2] daemon: don't emit user-deleted for uncached users + +Right now we emit spurious user-deleted signals for +all uncached users anytime a reload occurs. +Uncached users are users explicitly requested by a client, +but not part of the results returned from ListCachedUsers. + +We should only be emitting user-deleted it they were initially +cached and transitioned to uncached, not if they're still +hanging around in an uncached state. + +This commit fixes the code to do that. +--- + src/daemon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/daemon.c b/src/daemon.c +index d3fa971..a12b71b 100644 +--- a/src/daemon.c ++++ b/src/daemon.c +@@ -482,61 +482,61 @@ reload_users (Daemon *daemon) + while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { + if (!user_get_system_account (user)) + number_of_normal_users++; + user_update_local_account_property (user, g_hash_table_lookup (local, name) != NULL); + } + g_hash_table_destroy (local); + + had_no_users = accounts_accounts_get_has_no_users (accounts); + has_no_users = number_of_normal_users == 0; + + if (had_no_users != has_no_users) + accounts_accounts_set_has_no_users (accounts, has_no_users); + + had_multiple_users = accounts_accounts_get_has_multiple_users (accounts); + has_multiple_users = number_of_normal_users > 1; + + if (had_multiple_users != has_multiple_users) + accounts_accounts_set_has_multiple_users (accounts, has_multiple_users); + + /* Swap out the users */ + old_users = daemon->priv->users; + daemon->priv->users = users; + + /* Remove all the old users */ + g_hash_table_iter_init (&iter, old_users); + while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { + User *refreshed_user; + + refreshed_user = g_hash_table_lookup (users, name); + +- if (!refreshed_user || !user_get_cached (refreshed_user)) { ++ if (!refreshed_user || user_get_cached (user) && !user_get_cached (refreshed_user)) { + accounts_accounts_emit_user_deleted (ACCOUNTS_ACCOUNTS (daemon), + user_get_object_path (user)); + user_unregister (user); + } + } + + /* Register all the new users */ + g_hash_table_iter_init (&iter, users); + while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { + User *stale_user; + + stale_user = g_hash_table_lookup (old_users, name); + + if (!stale_user || !user_get_cached (stale_user) && user_get_cached (user)) { + user_register (user); + accounts_accounts_emit_user_added (ACCOUNTS_ACCOUNTS (daemon), + user_get_object_path (user)); + } + g_object_thaw_notify (G_OBJECT (user)); + } + + g_hash_table_destroy (old_users); + } + + static gboolean + reload_users_timeout (Daemon *daemon) + { + reload_users (daemon); + daemon->priv->reload_id = 0; + +-- +2.17.0 + diff --git a/accountsservice.spec b/accountsservice.spec index 569af4c..75b25b4 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.47 -Release: 1%{?dist} +Release: 2%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -23,6 +23,9 @@ Requires: polkit Requires: shadow-utils %{?systemd_requires} +Patch1: 0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch +Patch2: 0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch + %description The accountsservice project provides a set of D-Bus interfaces for querying and manipulating user account information and an implementation @@ -98,6 +101,10 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Fri May 04 2018 Ray Strode - 0.6.47-2 +- fix crash on user deletion + Resolves: #1573550 + * Tue Apr 24 2018 Ray Strode - 0.6.47-1 - Update to 0.6.47 From 2443e4c88f1c3136984be2d64b6642af04259470 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 10 May 2018 14:07:56 -0400 Subject: [PATCH 08/64] Update to 0.6.48 Resolves: #1575780 --- accountsservice.spec | 11 ++++++----- sources | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/accountsservice.spec b/accountsservice.spec index 75b25b4..e0d66d6 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,8 +1,8 @@ %global _hardened_build 1 Name: accountsservice -Version: 0.6.47 -Release: 2%{?dist} +Version: 0.6.48 +Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -23,9 +23,6 @@ Requires: polkit Requires: shadow-utils %{?systemd_requires} -Patch1: 0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch -Patch2: 0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch - %description The accountsservice project provides a set of D-Bus interfaces for querying and manipulating user account information and an implementation @@ -101,6 +98,10 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Thu May 10 2018 Ray Strode - 0.6.48-1 +- Update to 0.6.48 + Resolves: #1575780 + * Fri May 04 2018 Ray Strode - 0.6.47-2 - fix crash on user deletion Resolves: #1573550 diff --git a/sources b/sources index 1066715..1e0b2e4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (accountsservice-0.6.47.tar.xz) = 9e6ed72904cd1a8c01007ae879158fa9bf7129821e996d0279d1da2072e9d906115585c8fa4f91012af92dbb841825a26f1239b2a6040ef8f180e4bf678a7402 +SHA512 (accountsservice-0.6.48.tar.xz) = 9c71b78cea398e8664a1cba21d66c250e52a5d05cb700e4755a653313edca6c6b36f07b2a4bc5a1c02991b3fe426c0a471bd75abfd5ec18790842f111726414b From b34e7a149d6b08464e5720d66688f2aedb46eeea Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 10 May 2018 16:10:28 -0400 Subject: [PATCH 09/64] Update to 0.6.49 (brown bag release) --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index e0d66d6..b075718 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,7 +1,7 @@ %global _hardened_build 1 Name: accountsservice -Version: 0.6.48 +Version: 0.6.49 Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ @@ -98,6 +98,9 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Thu May 10 2018 Ray Strode - 0.6.49-1 +- Update to 0.6.49 (brown bag release) + * Thu May 10 2018 Ray Strode - 0.6.48-1 - Update to 0.6.48 Resolves: #1575780 From 57233a3bc701a0b5393197b1e4a80929770abf08 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 10 May 2018 16:15:49 -0400 Subject: [PATCH 10/64] update sources --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 1e0b2e4..37ff82d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (accountsservice-0.6.48.tar.xz) = 9c71b78cea398e8664a1cba21d66c250e52a5d05cb700e4755a653313edca6c6b36f07b2a4bc5a1c02991b3fe426c0a471bd75abfd5ec18790842f111726414b +SHA512 (accountsservice-0.6.49.tar.xz) = 4077f7d401f1964ca909ca1188297b09137d553f578ceea1d648827d5bef3a4a86180b4d715b82434d047fdf764fc5c684c95479c3510b17f10253f1e1800f89 From 8f65b813e1ca81eb0efb7e8649e5f3cbce230968 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 10 May 2018 23:21:37 +0100 Subject: [PATCH 11/64] Drop unused patches --- ...r-user-after-we-re-done-with-it-not-.patch | 87 ------------------ ...emit-user-deleted-for-uncached-users.patch | 89 ------------------- 2 files changed, 176 deletions(-) delete mode 100644 0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch delete mode 100644 0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch diff --git a/0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch b/0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch deleted file mode 100644 index 1efdb3a..0000000 --- a/0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 2d9e0f43c46e1be8afd94944e7461e0086497fd3 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Fri, 4 May 2018 16:43:03 -0400 -Subject: [PATCH 1/2] daemon: unregister user after we're done with it not - before - -Now that we get the object path for a user directly from the skeleton, -we can't access that object path after the skeleton is unregistered. - -This commit fixes a problem where the user deletion handling code tries -to access the object path of a user after its skeleton is unregistered. ---- - src/daemon.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/daemon.c b/src/daemon.c -index 9ec153a..d3fa971 100644 ---- a/src/daemon.c -+++ b/src/daemon.c -@@ -483,63 +483,63 @@ reload_users (Daemon *daemon) - if (!user_get_system_account (user)) - number_of_normal_users++; - user_update_local_account_property (user, g_hash_table_lookup (local, name) != NULL); - } - g_hash_table_destroy (local); - - had_no_users = accounts_accounts_get_has_no_users (accounts); - has_no_users = number_of_normal_users == 0; - - if (had_no_users != has_no_users) - accounts_accounts_set_has_no_users (accounts, has_no_users); - - had_multiple_users = accounts_accounts_get_has_multiple_users (accounts); - has_multiple_users = number_of_normal_users > 1; - - if (had_multiple_users != has_multiple_users) - accounts_accounts_set_has_multiple_users (accounts, has_multiple_users); - - /* Swap out the users */ - old_users = daemon->priv->users; - daemon->priv->users = users; - - /* Remove all the old users */ - g_hash_table_iter_init (&iter, old_users); - while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { - User *refreshed_user; - - refreshed_user = g_hash_table_lookup (users, name); - - if (!refreshed_user || !user_get_cached (refreshed_user)) { -- user_unregister (user); - accounts_accounts_emit_user_deleted (ACCOUNTS_ACCOUNTS (daemon), - user_get_object_path (user)); -+ user_unregister (user); - } - } - - /* Register all the new users */ - g_hash_table_iter_init (&iter, users); - while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { - User *stale_user; - - stale_user = g_hash_table_lookup (old_users, name); - - if (!stale_user || !user_get_cached (stale_user) && user_get_cached (user)) { - user_register (user); - accounts_accounts_emit_user_added (ACCOUNTS_ACCOUNTS (daemon), - user_get_object_path (user)); - } - g_object_thaw_notify (G_OBJECT (user)); - } - - g_hash_table_destroy (old_users); - } - - static gboolean - reload_users_timeout (Daemon *daemon) - { - reload_users (daemon); - daemon->priv->reload_id = 0; - - return FALSE; - } - --- -2.17.0 - diff --git a/0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch b/0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch deleted file mode 100644 index e696569..0000000 --- a/0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 815c43087926eb22f37fed6f501a3e9291edf564 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Wed, 9 May 2018 09:26:57 -0400 -Subject: [PATCH 2/2] daemon: don't emit user-deleted for uncached users - -Right now we emit spurious user-deleted signals for -all uncached users anytime a reload occurs. -Uncached users are users explicitly requested by a client, -but not part of the results returned from ListCachedUsers. - -We should only be emitting user-deleted it they were initially -cached and transitioned to uncached, not if they're still -hanging around in an uncached state. - -This commit fixes the code to do that. ---- - src/daemon.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/daemon.c b/src/daemon.c -index d3fa971..a12b71b 100644 ---- a/src/daemon.c -+++ b/src/daemon.c -@@ -482,61 +482,61 @@ reload_users (Daemon *daemon) - while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { - if (!user_get_system_account (user)) - number_of_normal_users++; - user_update_local_account_property (user, g_hash_table_lookup (local, name) != NULL); - } - g_hash_table_destroy (local); - - had_no_users = accounts_accounts_get_has_no_users (accounts); - has_no_users = number_of_normal_users == 0; - - if (had_no_users != has_no_users) - accounts_accounts_set_has_no_users (accounts, has_no_users); - - had_multiple_users = accounts_accounts_get_has_multiple_users (accounts); - has_multiple_users = number_of_normal_users > 1; - - if (had_multiple_users != has_multiple_users) - accounts_accounts_set_has_multiple_users (accounts, has_multiple_users); - - /* Swap out the users */ - old_users = daemon->priv->users; - daemon->priv->users = users; - - /* Remove all the old users */ - g_hash_table_iter_init (&iter, old_users); - while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { - User *refreshed_user; - - refreshed_user = g_hash_table_lookup (users, name); - -- if (!refreshed_user || !user_get_cached (refreshed_user)) { -+ if (!refreshed_user || user_get_cached (user) && !user_get_cached (refreshed_user)) { - accounts_accounts_emit_user_deleted (ACCOUNTS_ACCOUNTS (daemon), - user_get_object_path (user)); - user_unregister (user); - } - } - - /* Register all the new users */ - g_hash_table_iter_init (&iter, users); - while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { - User *stale_user; - - stale_user = g_hash_table_lookup (old_users, name); - - if (!stale_user || !user_get_cached (stale_user) && user_get_cached (user)) { - user_register (user); - accounts_accounts_emit_user_added (ACCOUNTS_ACCOUNTS (daemon), - user_get_object_path (user)); - } - g_object_thaw_notify (G_OBJECT (user)); - } - - g_hash_table_destroy (old_users); - } - - static gboolean - reload_users_timeout (Daemon *daemon) - { - reload_users (daemon); - daemon->priv->reload_id = 0; - --- -2.17.0 - From feaa2c0a6f490b3aa9298654aed3b42313c6e111 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 10 May 2018 23:21:37 +0100 Subject: [PATCH 12/64] Drop unused patches --- ...r-user-after-we-re-done-with-it-not-.patch | 87 ------------------ ...emit-user-deleted-for-uncached-users.patch | 89 ------------------- 2 files changed, 176 deletions(-) delete mode 100644 0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch delete mode 100644 0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch diff --git a/0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch b/0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch deleted file mode 100644 index 1efdb3a..0000000 --- a/0001-daemon-unregister-user-after-we-re-done-with-it-not-.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 2d9e0f43c46e1be8afd94944e7461e0086497fd3 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Fri, 4 May 2018 16:43:03 -0400 -Subject: [PATCH 1/2] daemon: unregister user after we're done with it not - before - -Now that we get the object path for a user directly from the skeleton, -we can't access that object path after the skeleton is unregistered. - -This commit fixes a problem where the user deletion handling code tries -to access the object path of a user after its skeleton is unregistered. ---- - src/daemon.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/daemon.c b/src/daemon.c -index 9ec153a..d3fa971 100644 ---- a/src/daemon.c -+++ b/src/daemon.c -@@ -483,63 +483,63 @@ reload_users (Daemon *daemon) - if (!user_get_system_account (user)) - number_of_normal_users++; - user_update_local_account_property (user, g_hash_table_lookup (local, name) != NULL); - } - g_hash_table_destroy (local); - - had_no_users = accounts_accounts_get_has_no_users (accounts); - has_no_users = number_of_normal_users == 0; - - if (had_no_users != has_no_users) - accounts_accounts_set_has_no_users (accounts, has_no_users); - - had_multiple_users = accounts_accounts_get_has_multiple_users (accounts); - has_multiple_users = number_of_normal_users > 1; - - if (had_multiple_users != has_multiple_users) - accounts_accounts_set_has_multiple_users (accounts, has_multiple_users); - - /* Swap out the users */ - old_users = daemon->priv->users; - daemon->priv->users = users; - - /* Remove all the old users */ - g_hash_table_iter_init (&iter, old_users); - while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { - User *refreshed_user; - - refreshed_user = g_hash_table_lookup (users, name); - - if (!refreshed_user || !user_get_cached (refreshed_user)) { -- user_unregister (user); - accounts_accounts_emit_user_deleted (ACCOUNTS_ACCOUNTS (daemon), - user_get_object_path (user)); -+ user_unregister (user); - } - } - - /* Register all the new users */ - g_hash_table_iter_init (&iter, users); - while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { - User *stale_user; - - stale_user = g_hash_table_lookup (old_users, name); - - if (!stale_user || !user_get_cached (stale_user) && user_get_cached (user)) { - user_register (user); - accounts_accounts_emit_user_added (ACCOUNTS_ACCOUNTS (daemon), - user_get_object_path (user)); - } - g_object_thaw_notify (G_OBJECT (user)); - } - - g_hash_table_destroy (old_users); - } - - static gboolean - reload_users_timeout (Daemon *daemon) - { - reload_users (daemon); - daemon->priv->reload_id = 0; - - return FALSE; - } - --- -2.17.0 - diff --git a/0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch b/0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch deleted file mode 100644 index e696569..0000000 --- a/0002-daemon-don-t-emit-user-deleted-for-uncached-users.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 815c43087926eb22f37fed6f501a3e9291edf564 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Wed, 9 May 2018 09:26:57 -0400 -Subject: [PATCH 2/2] daemon: don't emit user-deleted for uncached users - -Right now we emit spurious user-deleted signals for -all uncached users anytime a reload occurs. -Uncached users are users explicitly requested by a client, -but not part of the results returned from ListCachedUsers. - -We should only be emitting user-deleted it they were initially -cached and transitioned to uncached, not if they're still -hanging around in an uncached state. - -This commit fixes the code to do that. ---- - src/daemon.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/daemon.c b/src/daemon.c -index d3fa971..a12b71b 100644 ---- a/src/daemon.c -+++ b/src/daemon.c -@@ -482,61 +482,61 @@ reload_users (Daemon *daemon) - while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { - if (!user_get_system_account (user)) - number_of_normal_users++; - user_update_local_account_property (user, g_hash_table_lookup (local, name) != NULL); - } - g_hash_table_destroy (local); - - had_no_users = accounts_accounts_get_has_no_users (accounts); - has_no_users = number_of_normal_users == 0; - - if (had_no_users != has_no_users) - accounts_accounts_set_has_no_users (accounts, has_no_users); - - had_multiple_users = accounts_accounts_get_has_multiple_users (accounts); - has_multiple_users = number_of_normal_users > 1; - - if (had_multiple_users != has_multiple_users) - accounts_accounts_set_has_multiple_users (accounts, has_multiple_users); - - /* Swap out the users */ - old_users = daemon->priv->users; - daemon->priv->users = users; - - /* Remove all the old users */ - g_hash_table_iter_init (&iter, old_users); - while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { - User *refreshed_user; - - refreshed_user = g_hash_table_lookup (users, name); - -- if (!refreshed_user || !user_get_cached (refreshed_user)) { -+ if (!refreshed_user || user_get_cached (user) && !user_get_cached (refreshed_user)) { - accounts_accounts_emit_user_deleted (ACCOUNTS_ACCOUNTS (daemon), - user_get_object_path (user)); - user_unregister (user); - } - } - - /* Register all the new users */ - g_hash_table_iter_init (&iter, users); - while (g_hash_table_iter_next (&iter, &name, (gpointer *)&user)) { - User *stale_user; - - stale_user = g_hash_table_lookup (old_users, name); - - if (!stale_user || !user_get_cached (stale_user) && user_get_cached (user)) { - user_register (user); - accounts_accounts_emit_user_added (ACCOUNTS_ACCOUNTS (daemon), - user_get_object_path (user)); - } - g_object_thaw_notify (G_OBJECT (user)); - } - - g_hash_table_destroy (old_users); - } - - static gboolean - reload_users_timeout (Daemon *daemon) - { - reload_users (daemon); - daemon->priv->reload_id = 0; - --- -2.17.0 - From 1a1f54fda149e8c4e2c3a077d92f24e5996b0664 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 19:56:55 +0000 Subject: [PATCH 13/64] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index b075718..09cc196 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.49 -Release: 1%{?dist} +Release: 2%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -98,6 +98,9 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Thu Jul 12 2018 Fedora Release Engineering - 0.6.49-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Thu May 10 2018 Ray Strode - 0.6.49-1 - Update to 0.6.49 (brown bag release) From b0e7050b6d9264a7a234a2b7a4415d9ffc41945f Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Mon, 24 Sep 2018 17:39:55 -0700 Subject: [PATCH 14/64] Update to 0.6.50, plus a couple of backported patches --- ...t-loaded-state-until-seat-is-fetched.patch | 36 +++++++++++++++ ...oading-if-logind-isn-t-working-right.patch | 45 +++++++++++++++++++ accountsservice.spec | 12 ++++- sources | 2 +- 4 files changed, 92 insertions(+), 3 deletions(-) create mode 100644 0001-lib-don-t-set-loaded-state-until-seat-is-fetched.patch create mode 100644 0002-lib-don-t-fail-loading-if-logind-isn-t-working-right.patch diff --git a/0001-lib-don-t-set-loaded-state-until-seat-is-fetched.patch b/0001-lib-don-t-set-loaded-state-until-seat-is-fetched.patch new file mode 100644 index 0000000..1ed23fa --- /dev/null +++ b/0001-lib-don-t-set-loaded-state-until-seat-is-fetched.patch @@ -0,0 +1,36 @@ +From c7fa612023a163e8b2352e1170c6df3fceb19b27 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Thu, 19 Jul 2018 13:14:09 -0400 +Subject: [PATCH 1/3] lib: don't set loaded state until seat is fetched + +At the moment we set is-loaded on the user-manager +object as soon as we start fetching the seat, but +we should waiting until the seat is fetched, so +that can_switch() will return the correct value +if the caller waited until the loaded signal +to use it. + +This commit changes the >= to > which I believe +was the original intention anyway. + +https://bugs.freedesktop.org/show_bug.cgi?id=107298 +--- + src/libaccountsservice/act-user-manager.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c +index 325421b..e7e26b1 100644 +--- a/src/libaccountsservice/act-user-manager.c ++++ b/src/libaccountsservice/act-user-manager.c +@@ -2382,7 +2382,7 @@ maybe_set_is_loaded (ActUserManager *manager) + /* Don't set is_loaded yet unless the seat is already loaded enough + * or failed to load. + */ +- if (manager->priv->seat.state >= ACT_USER_MANAGER_SEAT_STATE_GET_ID) { ++ if (manager->priv->seat.state > ACT_USER_MANAGER_SEAT_STATE_GET_ID) { + g_debug ("ActUserManager: Seat loaded, so now setting loaded property"); + } else if (manager->priv->seat.state == ACT_USER_MANAGER_SEAT_STATE_UNLOADED) { + g_debug ("ActUserManager: Seat wouldn't load, so giving up on it and setting loaded property"); +-- +2.19.0 + diff --git a/0002-lib-don-t-fail-loading-if-logind-isn-t-working-right.patch b/0002-lib-don-t-fail-loading-if-logind-isn-t-working-right.patch new file mode 100644 index 0000000..e89227b --- /dev/null +++ b/0002-lib-don-t-fail-loading-if-logind-isn-t-working-right.patch @@ -0,0 +1,45 @@ +From 74fed8d975fd2e2cba644eeb8021393fc81b7151 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Fri, 10 Aug 2018 15:15:51 -0400 +Subject: [PATCH 3/3] lib: don't fail loading if logind isn't working right + +At the moment if logind can fail in two ways when +asking the session associated with the current pid: + +1) ENOENT, the process isn't part of a registered session +2) ENODATA, the mechanism for checking which session a +process is registered with isn't working. + +If we hit the second case then wefail loading the user manager +entirely. This leads to the dbus proxy associated with a user +from loading and the user getting stuck with defaults like a +NULL xsession and systemaccount=TRUE + +This commit changes the behavior for the second case to be +like the first. Namely, to accept there's no associated +session and carry on as best we can. +--- + src/libaccountsservice/act-user-manager.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c +index e7e26b1..6dc1d15 100644 +--- a/src/libaccountsservice/act-user-manager.c ++++ b/src/libaccountsservice/act-user-manager.c +@@ -1139,12 +1139,9 @@ _get_current_systemd_session_id (ActUserManager *manager) + res = sd_pid_get_session (0, &session_id); + + if (res == -ENOENT) { +- session_id = NULL; +- } else if (res < 0) { + g_debug ("Failed to identify the current session: %s", + strerror (-res)); +- unload_seat (manager); +- return; ++ session_id = NULL; + } + + manager->priv->seat.session_id = g_strdup (session_id); +-- +2.19.0 + diff --git a/accountsservice.spec b/accountsservice.spec index 09cc196..3009d55 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,14 +1,18 @@ %global _hardened_build 1 Name: accountsservice -Version: 0.6.49 -Release: 2%{?dist} +Version: 0.6.50 +Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ #VCS: git:git://git.freedesktop.org/accountsservice Source0: http://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz +# Backports of a couple of post-0.6.50 bugfixes from master +# https://bugzilla.redhat.com/show_bug.cgi?id=1576903 +Patch0: 0001-lib-don-t-set-loaded-state-until-seat-is-fetched.patch +Patch1: 0002-lib-don-t-fail-loading-if-logind-isn-t-working-right.patch BuildRequires: glib2-devel BuildRequires: polkit-devel @@ -98,6 +102,10 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Mon Sep 24 2018 Adam Williamson - 0.6.50-1 +- Update to 0.6.50, plus a couple of backported patches + Resolves: #1576903 + * Thu Jul 12 2018 Fedora Release Engineering - 0.6.49-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 37ff82d..b8743b9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (accountsservice-0.6.49.tar.xz) = 4077f7d401f1964ca909ca1188297b09137d553f578ceea1d648827d5bef3a4a86180b4d715b82434d047fdf764fc5c684c95479c3510b17f10253f1e1800f89 +SHA512 (accountsservice-0.6.50.tar.xz) = 6e07cd318452b1cbedeacd729f0ebb200525caf1b09981abb2bac16fd90756a790ebec08aca0a0cea016f14ab27c159a68fe1332ef4bc636c5863b8c61040f64 From 2ff3650803122ad4d4a7485aa30095fb725d2d73 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 27 Sep 2018 14:02:18 -0400 Subject: [PATCH 15/64] - Update to 0.6.53 --- accountsservice.spec | 9 ++++----- sources | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/accountsservice.spec b/accountsservice.spec index 3009d55..82f553d 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,7 +1,7 @@ %global _hardened_build 1 Name: accountsservice -Version: 0.6.50 +Version: 0.6.53 Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ @@ -9,10 +9,6 @@ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ #VCS: git:git://git.freedesktop.org/accountsservice Source0: http://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz -# Backports of a couple of post-0.6.50 bugfixes from master -# https://bugzilla.redhat.com/show_bug.cgi?id=1576903 -Patch0: 0001-lib-don-t-set-loaded-state-until-seat-is-fetched.patch -Patch1: 0002-lib-don-t-fail-loading-if-logind-isn-t-working-right.patch BuildRequires: glib2-devel BuildRequires: polkit-devel @@ -102,6 +98,9 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Thu Sep 27 2018 Ray Strode - 0.6.53-1 +- Update to 0.6.53 + * Mon Sep 24 2018 Adam Williamson - 0.6.50-1 - Update to 0.6.50, plus a couple of backported patches Resolves: #1576903 diff --git a/sources b/sources index b8743b9..25279d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (accountsservice-0.6.50.tar.xz) = 6e07cd318452b1cbedeacd729f0ebb200525caf1b09981abb2bac16fd90756a790ebec08aca0a0cea016f14ab27c159a68fe1332ef4bc636c5863b8c61040f64 +SHA512 (accountsservice-0.6.53.tar.xz) = ccbec1b5a14e08146af1e528624a570af5014aa2e7b3e87d39b1718c0d281444863f7950d61b54027a9207e3c21b50b8b867b972187f57150c50ed99ca7e2514 From 6c0fd9e6187ef47d1ab716717d25edf9bf570c5c Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 27 Sep 2018 14:06:19 -0400 Subject: [PATCH 16/64] oops, port to meson --- accountsservice.spec | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/accountsservice.spec b/accountsservice.spec index 82f553d..9c42252 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -12,12 +12,12 @@ Source0: http://www.freedesktop.org/software/accountsservice/accountsserv BuildRequires: glib2-devel BuildRequires: polkit-devel -BuildRequires: intltool BuildRequires: systemd BuildRequires: systemd-devel BuildRequires: gobject-introspection-devel BuildRequires: gtk-doc BuildRequires: git +BuildRequires: meson Requires: polkit Requires: shadow-utils @@ -50,14 +50,12 @@ files needed to build applications that use accountsservice-libs. %autosetup -S git %build -%configure --enable-user-heuristics -make %{?_smp_mflags} - +%meson -Duser_heuristics=true -Dgtk_doc=true +%meson_build %install -make install DESTDIR=$RPM_BUILD_ROOT -rm $RPM_BUILD_ROOT%{_libdir}/*.la -rm $RPM_BUILD_ROOT%{_libdir}/*.a +%meson_install + %find_lang accounts-service %ldconfig_scriptlets libs @@ -73,7 +71,7 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %files -f accounts-service.lang %license COPYING -%doc README AUTHORS +%doc README.md AUTHORS %{_sysconfdir}/dbus-1/system.d/org.freedesktop.Accounts.conf %{_libexecdir}/accounts-daemon %{_datadir}/dbus-1/interfaces/org.freedesktop.Accounts.xml From d8e5a0879f1ef7124279dd2cb6db7892ec47724a Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 27 Sep 2018 14:06:19 -0400 Subject: [PATCH 17/64] oops, port to meson --- accountsservice.spec | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/accountsservice.spec b/accountsservice.spec index 82f553d..9c42252 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -12,12 +12,12 @@ Source0: http://www.freedesktop.org/software/accountsservice/accountsserv BuildRequires: glib2-devel BuildRequires: polkit-devel -BuildRequires: intltool BuildRequires: systemd BuildRequires: systemd-devel BuildRequires: gobject-introspection-devel BuildRequires: gtk-doc BuildRequires: git +BuildRequires: meson Requires: polkit Requires: shadow-utils @@ -50,14 +50,12 @@ files needed to build applications that use accountsservice-libs. %autosetup -S git %build -%configure --enable-user-heuristics -make %{?_smp_mflags} - +%meson -Duser_heuristics=true -Dgtk_doc=true +%meson_build %install -make install DESTDIR=$RPM_BUILD_ROOT -rm $RPM_BUILD_ROOT%{_libdir}/*.la -rm $RPM_BUILD_ROOT%{_libdir}/*.a +%meson_install + %find_lang accounts-service %ldconfig_scriptlets libs @@ -73,7 +71,7 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %files -f accounts-service.lang %license COPYING -%doc README AUTHORS +%doc README.md AUTHORS %{_sysconfdir}/dbus-1/system.d/org.freedesktop.Accounts.conf %{_libexecdir}/accounts-daemon %{_datadir}/dbus-1/interfaces/org.freedesktop.Accounts.xml From c55c84c24d649a6a22952937ee35e2aa0165600c Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 28 Sep 2018 10:04:22 -0400 Subject: [PATCH 18/64] add dbus buildrequires (needed for finding interface dir) --- accountsservice.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/accountsservice.spec b/accountsservice.spec index 9c42252..a07e8db 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -10,6 +10,7 @@ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ #VCS: git:git://git.freedesktop.org/accountsservice Source0: http://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz +BuildRequires: pkgconfig(dbus-1) BuildRequires: glib2-devel BuildRequires: polkit-devel BuildRequires: systemd From 10b55f981a3561d3f8c4800affb3cccc8fce9919 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 28 Sep 2018 10:04:22 -0400 Subject: [PATCH 19/64] add dbus buildrequires (needed for finding interface dir) --- accountsservice.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/accountsservice.spec b/accountsservice.spec index 9c42252..a07e8db 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -10,6 +10,7 @@ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ #VCS: git:git://git.freedesktop.org/accountsservice Source0: http://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz +BuildRequires: pkgconfig(dbus-1) BuildRequires: glib2-devel BuildRequires: polkit-devel BuildRequires: systemd From bc74fe8ec40ebe40292f4d903cb276e4d53d1f46 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 28 Sep 2018 10:11:47 -0400 Subject: [PATCH 20/64] add gettext buildrequires --- accountsservice.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/accountsservice.spec b/accountsservice.spec index a07e8db..26f144a 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -10,6 +10,7 @@ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ #VCS: git:git://git.freedesktop.org/accountsservice Source0: http://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz +BuildRequires: gettext-devel BuildRequires: pkgconfig(dbus-1) BuildRequires: glib2-devel BuildRequires: polkit-devel From 7f3decfdb64960eb22f8fe966a9ef14ef8eb84d8 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 28 Sep 2018 10:11:47 -0400 Subject: [PATCH 21/64] add gettext buildrequires --- accountsservice.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/accountsservice.spec b/accountsservice.spec index a07e8db..26f144a 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -10,6 +10,7 @@ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ #VCS: git:git://git.freedesktop.org/accountsservice Source0: http://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz +BuildRequires: gettext-devel BuildRequires: pkgconfig(dbus-1) BuildRequires: glib2-devel BuildRequires: polkit-devel From 39b0175508b52cb5a99268d3b0559e285a1f8b5b Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Sat, 29 Sep 2018 08:58:14 -0400 Subject: [PATCH 22/64] Update to 0.6.54 --- accountsservice.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/accountsservice.spec b/accountsservice.spec index 26f144a..eada0c5 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,7 +1,7 @@ %global _hardened_build 1 Name: accountsservice -Version: 0.6.53 +Version: 0.6.54 Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ @@ -98,6 +98,9 @@ files needed to build applications that use accountsservice-libs. %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Sat Sep 29 2018 Ray Strode - 0.6.54-1 +- Update to 0.6.54 + * Thu Sep 27 2018 Ray Strode - 0.6.53-1 - Update to 0.6.53 diff --git a/sources b/sources index 25279d7..2140437 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (accountsservice-0.6.53.tar.xz) = ccbec1b5a14e08146af1e528624a570af5014aa2e7b3e87d39b1718c0d281444863f7950d61b54027a9207e3c21b50b8b867b972187f57150c50ed99ca7e2514 +SHA512 (accountsservice-0.6.54.tar.xz) = b6037063f1694a2d3a2b47e7f1cf33f29fce29a8bc641f9858d012e457f2a8ab5724f00105307ed961d21eb39a907b6e58c8ac71ae4e85081330bf1b3781bc87 From d725545527334a66c28299c1798de148bc75b076 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Sat, 29 Sep 2018 08:58:14 -0400 Subject: [PATCH 23/64] Update to 0.6.54 --- accountsservice.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/accountsservice.spec b/accountsservice.spec index 26f144a..eada0c5 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,7 +1,7 @@ %global _hardened_build 1 Name: accountsservice -Version: 0.6.53 +Version: 0.6.54 Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ @@ -98,6 +98,9 @@ files needed to build applications that use accountsservice-libs. %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Sat Sep 29 2018 Ray Strode - 0.6.54-1 +- Update to 0.6.54 + * Thu Sep 27 2018 Ray Strode - 0.6.53-1 - Update to 0.6.53 diff --git a/sources b/sources index 25279d7..2140437 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (accountsservice-0.6.53.tar.xz) = ccbec1b5a14e08146af1e528624a570af5014aa2e7b3e87d39b1718c0d281444863f7950d61b54027a9207e3c21b50b8b867b972187f57150c50ed99ca7e2514 +SHA512 (accountsservice-0.6.54.tar.xz) = b6037063f1694a2d3a2b47e7f1cf33f29fce29a8bc641f9858d012e457f2a8ab5724f00105307ed961d21eb39a907b6e58c8ac71ae4e85081330bf1b3781bc87 From 076d6d98014912383f53333f1b18baf824b1a000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Mon, 14 Jan 2019 18:54:55 +0100 Subject: [PATCH 24/64] Rebuilt for libcrypt.so.2 (#1666033) --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index eada0c5..ecb3192 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.54 -Release: 1%{?dist} +Release: 2%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -98,6 +98,9 @@ files needed to build applications that use accountsservice-libs. %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Mon Jan 14 2019 Björn Esser - 0.6.54-2 +- Rebuilt for libcrypt.so.2 (#1666033) + * Sat Sep 29 2018 Ray Strode - 0.6.54-1 - Update to 0.6.54 From 885a0f95c3ba1392f44b997962664676288245c6 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Thu, 17 Jan 2019 15:42:23 -0800 Subject: [PATCH 25/64] Explicitly enable systemd support (#1576903) This is from Elliott Sales de Andrade via Bugzilla, thanks - manually rediffed against a later change to the spec. --- accountsservice.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/accountsservice.spec b/accountsservice.spec index ecb3192..07bd676 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.54 -Release: 2%{?dist} +Release: 3%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -52,7 +52,7 @@ files needed to build applications that use accountsservice-libs. %autosetup -S git %build -%meson -Duser_heuristics=true -Dgtk_doc=true +%meson -Dgtk_doc=true -Dsystemd=true -Duser_heuristics=true %meson_build %install @@ -98,6 +98,9 @@ files needed to build applications that use accountsservice-libs. %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Thu Jan 17 2019 Adam Williamson - 0.6.54-3 +- Explicitly enable systemd support (#1576903) (Elliott Sales de Andrade) + * Mon Jan 14 2019 Björn Esser - 0.6.54-2 - Rebuilt for libcrypt.so.2 (#1666033) From dc1432d5d2a9a894ad9c153ccae5ccd2652e474a Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 21 Jan 2019 13:58:16 -0500 Subject: [PATCH 26/64] Add patch from upstream to fix UID detection Resolves: #1646418 --- 0003-fix-option-type-for-minimum-uid.patch | 39 ++++++++++++++++++++++ accountsservice.spec | 9 ++++- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 0003-fix-option-type-for-minimum-uid.patch diff --git a/0003-fix-option-type-for-minimum-uid.patch b/0003-fix-option-type-for-minimum-uid.patch new file mode 100644 index 0000000..27c0073 --- /dev/null +++ b/0003-fix-option-type-for-minimum-uid.patch @@ -0,0 +1,39 @@ +From a8f368c34e826f76d1244fed5095a1615c986b59 Mon Sep 17 00:00:00 2001 +From: Alexey Shabalin +Date: Mon, 1 Oct 2018 18:46:26 +0300 +Subject: [PATCH 2/3] fix option type for minimum uid + +--- + meson.build | 2 +- + meson_options.txt | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 1f75a5b..57f30a5 100644 +--- a/meson.build ++++ b/meson.build +@@ -161,7 +161,7 @@ config_h.set_quoted('ADMIN_GROUP', admin_group) + config_h.set_quoted('EXTRA_ADMIN_GROUPS', extra_admin_groups) + + config_h.set('ENABLE_USER_HEURISTICS', get_option('user_heuristics')) +-config_h.set_quoted('MINIMUM_UID', get_option('minimum_uid')) ++config_h.set('MINIMUM_UID', get_option('minimum_uid')) + + # GDM + gdm_conf_file = get_option('gdmconffile') +diff --git a/meson_options.txt b/meson_options.txt +index 878bdd7..12e2f6b 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -4,7 +4,7 @@ option('gdmconffile', type: 'string', value: '/etc/gdm/custom.conf', description + option('admin_group', type: 'string', value: '', description: 'Set group for administrative accounts') + option('user_heuristics', type: 'boolean', value: true, description: 'Enable heuristics for guessing system vs. human users in the range 500-minimum-uid') + option('extra_admin_groups', type: 'array', value: [], description: 'Comma-separated list of extra groups that administrator users are part of') +-option('minimum_uid', type: 'string', value: '1000', description: 'Set minimum uid for human users') ++option('minimum_uid', type: 'integer', value: 1000, description: 'Set minimum uid for human users') + + option('systemd', type: 'boolean', value: false, description: 'Use systemd') + option('elogind', type: 'boolean', value: false, description: 'Use elogind') +-- +2.19.1 + diff --git a/accountsservice.spec b/accountsservice.spec index 07bd676..2dcf35e 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.54 -Release: 3%{?dist} +Release: 4%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -10,6 +10,9 @@ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ #VCS: git:git://git.freedesktop.org/accountsservice Source0: http://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz +# https://bugzilla.redhat.com/show_bug.cgi?id=1646418 +Patch1: 0003-fix-option-type-for-minimum-uid.patch + BuildRequires: gettext-devel BuildRequires: pkgconfig(dbus-1) BuildRequires: glib2-devel @@ -98,6 +101,10 @@ files needed to build applications that use accountsservice-libs. %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Mon Jan 21 2019 Alexandru-Sever Horin - 0.6.54-4 +- Add patch from upstream to fix UID detection + Resolves: #1646418 + * Thu Jan 17 2019 Adam Williamson - 0.6.54-3 - Explicitly enable systemd support (#1576903) (Elliott Sales de Andrade) From 5333f69dbfac07af26406ad6eeb13a3eb89c81a8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 12:53:52 +0000 Subject: [PATCH 27/64] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 2dcf35e..f82cccf 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.54 -Release: 4%{?dist} +Release: 5%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -101,6 +101,9 @@ files needed to build applications that use accountsservice-libs. %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 0.6.54-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Mon Jan 21 2019 Alexandru-Sever Horin - 0.6.54-4 - Add patch from upstream to fix UID detection Resolves: #1646418 From 12b4dc2ae38b2df95708f1b2f387c1efff12f1bd Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 17:28:57 +0000 Subject: [PATCH 28/64] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index f82cccf..aec8314 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.54 -Release: 5%{?dist} +Release: 6%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -101,6 +101,9 @@ files needed to build applications that use accountsservice-libs. %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 0.6.54-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Thu Jan 31 2019 Fedora Release Engineering - 0.6.54-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From 1859402742e2ee428ffdfa7564cf4f5797e01ae9 Mon Sep 17 00:00:00 2001 From: Benjamin Berg Date: Thu, 26 Sep 2019 13:17:45 +0200 Subject: [PATCH 29/64] Update to 0.6.55 Resolves: #1755838 --- 0003-fix-option-type-for-minimum-uid.patch | 39 ---------------------- accountsservice.spec | 11 +++--- sources | 2 +- 3 files changed, 7 insertions(+), 45 deletions(-) delete mode 100644 0003-fix-option-type-for-minimum-uid.patch diff --git a/0003-fix-option-type-for-minimum-uid.patch b/0003-fix-option-type-for-minimum-uid.patch deleted file mode 100644 index 27c0073..0000000 --- a/0003-fix-option-type-for-minimum-uid.patch +++ /dev/null @@ -1,39 +0,0 @@ -From a8f368c34e826f76d1244fed5095a1615c986b59 Mon Sep 17 00:00:00 2001 -From: Alexey Shabalin -Date: Mon, 1 Oct 2018 18:46:26 +0300 -Subject: [PATCH 2/3] fix option type for minimum uid - ---- - meson.build | 2 +- - meson_options.txt | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/meson.build b/meson.build -index 1f75a5b..57f30a5 100644 ---- a/meson.build -+++ b/meson.build -@@ -161,7 +161,7 @@ config_h.set_quoted('ADMIN_GROUP', admin_group) - config_h.set_quoted('EXTRA_ADMIN_GROUPS', extra_admin_groups) - - config_h.set('ENABLE_USER_HEURISTICS', get_option('user_heuristics')) --config_h.set_quoted('MINIMUM_UID', get_option('minimum_uid')) -+config_h.set('MINIMUM_UID', get_option('minimum_uid')) - - # GDM - gdm_conf_file = get_option('gdmconffile') -diff --git a/meson_options.txt b/meson_options.txt -index 878bdd7..12e2f6b 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -4,7 +4,7 @@ option('gdmconffile', type: 'string', value: '/etc/gdm/custom.conf', description - option('admin_group', type: 'string', value: '', description: 'Set group for administrative accounts') - option('user_heuristics', type: 'boolean', value: true, description: 'Enable heuristics for guessing system vs. human users in the range 500-minimum-uid') - option('extra_admin_groups', type: 'array', value: [], description: 'Comma-separated list of extra groups that administrator users are part of') --option('minimum_uid', type: 'string', value: '1000', description: 'Set minimum uid for human users') -+option('minimum_uid', type: 'integer', value: 1000, description: 'Set minimum uid for human users') - - option('systemd', type: 'boolean', value: false, description: 'Use systemd') - option('elogind', type: 'boolean', value: false, description: 'Use elogind') --- -2.19.1 - diff --git a/accountsservice.spec b/accountsservice.spec index aec8314..4594232 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,8 +1,8 @@ %global _hardened_build 1 Name: accountsservice -Version: 0.6.54 -Release: 6%{?dist} +Version: 0.6.55 +Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -10,9 +10,6 @@ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ #VCS: git:git://git.freedesktop.org/accountsservice Source0: http://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz -# https://bugzilla.redhat.com/show_bug.cgi?id=1646418 -Patch1: 0003-fix-option-type-for-minimum-uid.patch - BuildRequires: gettext-devel BuildRequires: pkgconfig(dbus-1) BuildRequires: glib2-devel @@ -101,6 +98,10 @@ files needed to build applications that use accountsservice-libs. %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Thu Sep 26 2019 Benjamin Berg - 0.6.55-1 +- Update to 0.6.55 + Resolves: #1755838 + * Wed Jul 24 2019 Fedora Release Engineering - 0.6.54-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index 2140437..97a6640 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (accountsservice-0.6.54.tar.xz) = b6037063f1694a2d3a2b47e7f1cf33f29fce29a8bc641f9858d012e457f2a8ab5724f00105307ed961d21eb39a907b6e58c8ac71ae4e85081330bf1b3781bc87 +SHA512 (accountsservice-0.6.55.tar.xz) = c12e6a8e80f9b087f97238da4734d2d3a14a7c5cbd870a32a04b00116f176c818c39fb886f6dc72c3e93c136b0c2074ddf8f77e20431fa3bd54f138bea9d262d From 054d13be32b9e3005b9b41268c653860efb4d833 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 11:09:05 +0000 Subject: [PATCH 30/64] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 4594232..34e6e42 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.55 -Release: 1%{?dist} +Release: 2%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -98,6 +98,9 @@ files needed to build applications that use accountsservice-libs. %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 0.6.55-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Sep 26 2019 Benjamin Berg - 0.6.55-1 - Update to 0.6.55 Resolves: #1755838 From 77b9474c57a329cff2cd0fdd1a21068de85309b5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 11:41:46 +0000 Subject: [PATCH 31/64] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 34e6e42..7632e88 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.55 -Release: 2%{?dist} +Release: 3%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -98,6 +98,9 @@ files needed to build applications that use accountsservice-libs. %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 0.6.55-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue Jan 28 2020 Fedora Release Engineering - 0.6.55-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 5fc1e700e36726c240ee7a16a65de6b369dfb50d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 31 Jul 2020 23:47:47 +0000 Subject: [PATCH 32/64] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- accountsservice.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 7632e88..1550ef5 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.55 -Release: 3%{?dist} +Release: 4%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -98,6 +98,10 @@ files needed to build applications that use accountsservice-libs. %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Fri Jul 31 2020 Fedora Release Engineering - 0.6.55-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Mon Jul 27 2020 Fedora Release Engineering - 0.6.55-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 3e61e00c7eb49d0f4ca2dff873a26d58d138e1e5 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Fri, 4 Sep 2020 14:27:52 +0200 Subject: [PATCH 33/64] + accountsservice-0.6.55-5 Own /usr/share/accountsservice --- accountsservice.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 1550ef5..84c036e 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.55 -Release: 4%{?dist} +Release: 5%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -58,6 +58,8 @@ files needed to build applications that use accountsservice-libs. %install %meson_install +mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ + %find_lang accounts-service %ldconfig_scriptlets libs @@ -76,6 +78,8 @@ files needed to build applications that use accountsservice-libs. %doc README.md AUTHORS %{_sysconfdir}/dbus-1/system.d/org.freedesktop.Accounts.conf %{_libexecdir}/accounts-daemon +%dir %{_datadir}/accountsservice/ +%dir %{_datadir}/accountsservice/interfaces/ %{_datadir}/dbus-1/interfaces/org.freedesktop.Accounts.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.Accounts.User.xml %{_datadir}/dbus-1/system-services/org.freedesktop.Accounts.service @@ -98,6 +102,10 @@ files needed to build applications that use accountsservice-libs. %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Fri Sep 04 2020 Bastien Nocera - 0.6.55-5 ++ accountsservice-0.6.55-5 +- Own /usr/share/accountsservice + * Fri Jul 31 2020 Fedora Release Engineering - 0.6.55-4 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From ce7f9fd4ea26a6234b8bd8db7989c8ce0ae36f2c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 25 Jan 2021 23:45:37 +0000 Subject: [PATCH 34/64] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 84c036e..ff1f50f 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.55 -Release: 5%{?dist} +Release: 6%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -102,6 +102,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Mon Jan 25 2021 Fedora Release Engineering - 0.6.55-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Fri Sep 04 2020 Bastien Nocera - 0.6.55-5 + accountsservice-0.6.55-5 - Own /usr/share/accountsservice From 4e9a63048581ebf015a605ad7352e4f88f33269a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Fri, 25 Jun 2021 17:04:38 +0200 Subject: [PATCH 35/64] Purge unused patches from repository MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Esser --- ...t-loaded-state-until-seat-is-fetched.patch | 36 --------------- ...oading-if-logind-isn-t-working-right.patch | 45 ------------------- 2 files changed, 81 deletions(-) delete mode 100644 0001-lib-don-t-set-loaded-state-until-seat-is-fetched.patch delete mode 100644 0002-lib-don-t-fail-loading-if-logind-isn-t-working-right.patch diff --git a/0001-lib-don-t-set-loaded-state-until-seat-is-fetched.patch b/0001-lib-don-t-set-loaded-state-until-seat-is-fetched.patch deleted file mode 100644 index 1ed23fa..0000000 --- a/0001-lib-don-t-set-loaded-state-until-seat-is-fetched.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c7fa612023a163e8b2352e1170c6df3fceb19b27 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Thu, 19 Jul 2018 13:14:09 -0400 -Subject: [PATCH 1/3] lib: don't set loaded state until seat is fetched - -At the moment we set is-loaded on the user-manager -object as soon as we start fetching the seat, but -we should waiting until the seat is fetched, so -that can_switch() will return the correct value -if the caller waited until the loaded signal -to use it. - -This commit changes the >= to > which I believe -was the original intention anyway. - -https://bugs.freedesktop.org/show_bug.cgi?id=107298 ---- - src/libaccountsservice/act-user-manager.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c -index 325421b..e7e26b1 100644 ---- a/src/libaccountsservice/act-user-manager.c -+++ b/src/libaccountsservice/act-user-manager.c -@@ -2382,7 +2382,7 @@ maybe_set_is_loaded (ActUserManager *manager) - /* Don't set is_loaded yet unless the seat is already loaded enough - * or failed to load. - */ -- if (manager->priv->seat.state >= ACT_USER_MANAGER_SEAT_STATE_GET_ID) { -+ if (manager->priv->seat.state > ACT_USER_MANAGER_SEAT_STATE_GET_ID) { - g_debug ("ActUserManager: Seat loaded, so now setting loaded property"); - } else if (manager->priv->seat.state == ACT_USER_MANAGER_SEAT_STATE_UNLOADED) { - g_debug ("ActUserManager: Seat wouldn't load, so giving up on it and setting loaded property"); --- -2.19.0 - diff --git a/0002-lib-don-t-fail-loading-if-logind-isn-t-working-right.patch b/0002-lib-don-t-fail-loading-if-logind-isn-t-working-right.patch deleted file mode 100644 index e89227b..0000000 --- a/0002-lib-don-t-fail-loading-if-logind-isn-t-working-right.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 74fed8d975fd2e2cba644eeb8021393fc81b7151 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Fri, 10 Aug 2018 15:15:51 -0400 -Subject: [PATCH 3/3] lib: don't fail loading if logind isn't working right - -At the moment if logind can fail in two ways when -asking the session associated with the current pid: - -1) ENOENT, the process isn't part of a registered session -2) ENODATA, the mechanism for checking which session a -process is registered with isn't working. - -If we hit the second case then wefail loading the user manager -entirely. This leads to the dbus proxy associated with a user -from loading and the user getting stuck with defaults like a -NULL xsession and systemaccount=TRUE - -This commit changes the behavior for the second case to be -like the first. Namely, to accept there's no associated -session and carry on as best we can. ---- - src/libaccountsservice/act-user-manager.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c -index e7e26b1..6dc1d15 100644 ---- a/src/libaccountsservice/act-user-manager.c -+++ b/src/libaccountsservice/act-user-manager.c -@@ -1139,12 +1139,9 @@ _get_current_systemd_session_id (ActUserManager *manager) - res = sd_pid_get_session (0, &session_id); - - if (res == -ENOENT) { -- session_id = NULL; -- } else if (res < 0) { - g_debug ("Failed to identify the current session: %s", - strerror (-res)); -- unload_seat (manager); -- return; -+ session_id = NULL; - } - - manager->priv->seat.session_id = g_strdup (session_id); --- -2.19.0 - From 01a0e8430636f580899a670aa829cb4a97c25c02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Fri, 25 Jun 2021 17:05:59 +0200 Subject: [PATCH 36/64] Drop %%global _hardened_build, as it is not needed anymore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Esser --- accountsservice.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/accountsservice.spec b/accountsservice.spec index ff1f50f..fe5ba5f 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,5 +1,3 @@ -%global _hardened_build 1 - Name: accountsservice Version: 0.6.55 Release: 6%{?dist} From beafbd56657381d9f91a85c3584e979152e1f979 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Fri, 25 Jun 2021 17:09:39 +0200 Subject: [PATCH 37/64] + accountsservice-0.6.55-7 Add patch to use yescrypt for new user passwords, fixes rhbz#1976334 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Esser --- ...onger-hashing-methods-in-make_crypte.patch | 107 ++++++++++++++++++ accountsservice.spec | 9 +- 2 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 0001-act-user-Use-stronger-hashing-methods-in-make_crypte.patch diff --git a/0001-act-user-Use-stronger-hashing-methods-in-make_crypte.patch b/0001-act-user-Use-stronger-hashing-methods-in-make_crypte.patch new file mode 100644 index 0000000..6a55fa7 --- /dev/null +++ b/0001-act-user-Use-stronger-hashing-methods-in-make_crypte.patch @@ -0,0 +1,107 @@ +From c4048b11d205762c9cb61ead4c81ba5f49640520 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= +Date: Sun, 27 Jun 2021 21:06:15 +0000 +Subject: [PATCH] act-user: Use stronger hashing methods in make_crypted() if + available. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Björn Esser +--- + meson.build | 16 +++++++++++++++- + src/libaccountsservice/act-user.c | 31 ++++++++++++++++++++++++------- + 2 files changed, 39 insertions(+), 8 deletions(-) + +diff --git a/meson.build b/meson.build +index 4465a26..1c42062 100644 +--- a/meson.build ++++ b/meson.build +@@ -123,7 +123,21 @@ gio_unix_dep = dependency('gio-unix-2.0') + glib_dep = dependency('glib-2.0', version: '>= 2.44') + polkit_gobject_dep = dependency('polkit-gobject-1') + +-crypt_dep = cc.find_library('crypt') ++# Using libxcrypt >= 4 we can be sure `crypt_gensalt (NULL, 0, NULL, 0)` ++# always returns a setting that is valid to use with `crypt (pw, setting)`. ++# ++# The setting returned will specify (depending on the system's ++# configuration of libxcrypt) in order of preferrence either ++# yescrypt "$y$", (gost-yescrypt "$gy$), bcrypt "$2b$" or sha512crypt "$6$" ++# as hash method, with a sufficient amount of cost or rounds and a random ++# salt drawn from secure system ressources with at least 128 bits. ++# (96 bits for sha512crypt, as more is not supported by this method, since ++# the effectively used maximum is 16 base64-encoded characters) ++crypt_dep = dependency('libxcrypt', required: false, version: '>= 4') ++config_h.set('HAVE_CRYPT_GENSALT', crypt_dep.found()) ++if not crypt_dep.found() ++ crypt_dep = cc.find_library('crypt') ++endif + + dbus_dep = dependency('dbus-1') + dbus_conf_dir = join_paths(dbus_dep.get_pkgconfig_variable('sysconfdir', define_variable: ['sysconfdir', act_sysconfdir]), 'dbus-1', 'system.d') +diff --git a/src/libaccountsservice/act-user.c b/src/libaccountsservice/act-user.c +index e66acb1..5485cbe 100644 +--- a/src/libaccountsservice/act-user.c ++++ b/src/libaccountsservice/act-user.c +@@ -1589,18 +1589,25 @@ act_user_set_account_type (ActUser *user, + } + } + +-static gchar ++#ifdef HAVE_CRYPT_GENSALT ++static gchar * ++generate_salt_for_crypt_hash (void) ++{ ++ return g_strdup (crypt_gensalt (NULL, 0, NULL, 0)); ++} ++#else ++static const gchar + salt_char (GRand *rand) + { +- gchar salt[] = "ABCDEFGHIJKLMNOPQRSTUVXYZ" +- "abcdefghijklmnopqrstuvxyz" +- "./0123456789"; ++ const gchar salt[] = "ABCDEFGHIJKLMNOPQRSTUVXYZ" ++ "abcdefghijklmnopqrstuvxyz" ++ "./0123456789"; + + return salt[g_rand_int_range (rand, 0, G_N_ELEMENTS (salt))]; + } + + static gchar * +-make_crypted (const gchar *plain) ++generate_salt_for_crypt_hash (void) + { + g_autoptr(GString) salt = NULL; + g_autoptr(GRand) rand = NULL; +@@ -1609,14 +1616,24 @@ make_crypted (const gchar *plain) + rand = g_rand_new (); + salt = g_string_sized_new (21); + +- /* SHA 256 */ ++ /* sha512crypt */ + g_string_append (salt, "$6$"); + for (i = 0; i < 16; i++) { + g_string_append_c (salt, salt_char (rand)); + } + g_string_append_c (salt, '$'); + +- return g_strdup (crypt (plain, salt->str)); ++ return g_strdup (salt->str); ++} ++#endif ++ ++static gchar * ++make_crypted (const gchar *plain) ++{ ++ g_autofree char *salt = NULL; ++ ++ salt = generate_salt_for_crypt_hash (); ++ return g_strdup (crypt (plain, salt)); + } + + /** +-- +2.31.1 + diff --git a/accountsservice.spec b/accountsservice.spec index fe5ba5f..cb19448 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 0.6.55 -Release: 6%{?dist} +Release: 7%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -8,6 +8,9 @@ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ #VCS: git:git://git.freedesktop.org/accountsservice Source0: http://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz +# https://gitlab.freedesktop.org/accountsservice/accountsservice/-/commit/c4048b11d205762c9cb61ead4c81ba5f49640520 +Patch0: 0001-act-user-Use-stronger-hashing-methods-in-make_crypte.patch + BuildRequires: gettext-devel BuildRequires: pkgconfig(dbus-1) BuildRequires: glib2-devel @@ -100,6 +103,10 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Fri Jun 25 2021 Björn Esser - 0.6.55-7 ++ accountsservice-0.6.55-7 +- Add patch to use yescrypt for new user passwords, fixes rhbz#1976334 + * Mon Jan 25 2021 Fedora Release Engineering - 0.6.55-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From e49add6fda076b71498b71b07424d00bff648823 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 12:17:39 +0000 Subject: [PATCH 38/64] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 80898631cd92a8c594c6daa942fa0fa8cd3c9995 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 17:12:45 +0000 Subject: [PATCH 39/64] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index cb19448..6cefb08 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 0.6.55 -Release: 7%{?dist} +Release: 8%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -103,6 +103,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 0.6.55-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Fri Jun 25 2021 Björn Esser - 0.6.55-7 + accountsservice-0.6.55-7 - Add patch to use yescrypt for new user passwords, fixes rhbz#1976334 From 855551b3397bb5201d00e5b1f8879a95e5bb5999 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 20:52:46 +0000 Subject: [PATCH 40/64] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 6cefb08..d7347ec 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 0.6.55 -Release: 8%{?dist} +Release: 9%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -103,6 +103,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 0.6.55-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Wed Jul 21 2021 Fedora Release Engineering - 0.6.55-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 5c04f4ee965449793b011afc67d9eb16df494652 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 20:23:28 +0000 Subject: [PATCH 41/64] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index d7347ec..cb7d6cf 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 0.6.55 -Release: 9%{?dist} +Release: 10%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -103,6 +103,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 0.6.55-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Wed Jan 19 2022 Fedora Release Engineering - 0.6.55-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From 5f04726d24f957a6532ec50338ef1010bd51c6e6 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 26 Jul 2022 11:38:56 +0200 Subject: [PATCH 42/64] Fix the build with meson 0.60+ --- accountsservice.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index cb7d6cf..4a88214 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 0.6.55 -Release: 10%{?dist} +Release: 11%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -10,6 +10,8 @@ Source0: http://www.freedesktop.org/software/accountsservice/accountsserv # https://gitlab.freedesktop.org/accountsservice/accountsservice/-/commit/c4048b11d205762c9cb61ead4c81ba5f49640520 Patch0: 0001-act-user-Use-stronger-hashing-methods-in-make_crypte.patch +# https://gitlab.freedesktop.org/accountsservice/accountsservice/-/commit/ac9b14f1c1bbca413987d0bbfeaad05804107e9a +Patch1: meson-0.60-build-fix.patch BuildRequires: gettext-devel BuildRequires: pkgconfig(dbus-1) @@ -103,6 +105,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Tue Jul 26 2022 Tomas Popela - 0.6.55-11 +- Fix the build with meson 0.60+ + * Wed Jul 20 2022 Fedora Release Engineering - 0.6.55-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From fae9649a34f5567b9f575b55a575999c11138ee5 Mon Sep 17 00:00:00 2001 From: Tomas Popela Date: Tue, 26 Jul 2022 11:39:54 +0200 Subject: [PATCH 43/64] Add the previously missing patch --- meson-0.60-build-fix.patch | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 meson-0.60-build-fix.patch diff --git a/meson-0.60-build-fix.patch b/meson-0.60-build-fix.patch new file mode 100644 index 0000000..ce74862 --- /dev/null +++ b/meson-0.60-build-fix.patch @@ -0,0 +1,29 @@ +From ac9b14f1c1bbca413987d0bbfeaad05804107e9a Mon Sep 17 00:00:00 2001 +From: Luca Boccassi +Date: Sun, 31 Oct 2021 12:29:14 +0000 +Subject: [PATCH] Fix build with meson 0.60 + +Positional parameters to merge_file() were never allowed and always +ignored, so just drop it. +See: https://github.com/mesonbuild/meson/issues/9441 + +Fixes #97 +--- + data/meson.build | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/data/meson.build b/data/meson.build +index 70edf89..9e80299 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -33,7 +33,6 @@ configure_file( + policy = act_namespace.to_lower() + '.policy' + + i18n.merge_file( +- policy, + input: policy + '.in', + output: policy, + po_dir: po_dir, +-- +GitLab + From fb961e38770b8bb95ef9e7649314e6a931f75d5a Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Sat, 27 Aug 2022 15:32:18 +0100 Subject: [PATCH 44/64] Update to 22.08.8 --- ...onger-hashing-methods-in-make_crypte.patch | 107 ------------------ accountsservice.spec | 33 +++--- meson-0.60-build-fix.patch | 29 ----- sources | 2 +- 4 files changed, 21 insertions(+), 150 deletions(-) delete mode 100644 0001-act-user-Use-stronger-hashing-methods-in-make_crypte.patch delete mode 100644 meson-0.60-build-fix.patch diff --git a/0001-act-user-Use-stronger-hashing-methods-in-make_crypte.patch b/0001-act-user-Use-stronger-hashing-methods-in-make_crypte.patch deleted file mode 100644 index 6a55fa7..0000000 --- a/0001-act-user-Use-stronger-hashing-methods-in-make_crypte.patch +++ /dev/null @@ -1,107 +0,0 @@ -From c4048b11d205762c9cb61ead4c81ba5f49640520 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= -Date: Sun, 27 Jun 2021 21:06:15 +0000 -Subject: [PATCH] act-user: Use stronger hashing methods in make_crypted() if - available. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Björn Esser ---- - meson.build | 16 +++++++++++++++- - src/libaccountsservice/act-user.c | 31 ++++++++++++++++++++++++------- - 2 files changed, 39 insertions(+), 8 deletions(-) - -diff --git a/meson.build b/meson.build -index 4465a26..1c42062 100644 ---- a/meson.build -+++ b/meson.build -@@ -123,7 +123,21 @@ gio_unix_dep = dependency('gio-unix-2.0') - glib_dep = dependency('glib-2.0', version: '>= 2.44') - polkit_gobject_dep = dependency('polkit-gobject-1') - --crypt_dep = cc.find_library('crypt') -+# Using libxcrypt >= 4 we can be sure `crypt_gensalt (NULL, 0, NULL, 0)` -+# always returns a setting that is valid to use with `crypt (pw, setting)`. -+# -+# The setting returned will specify (depending on the system's -+# configuration of libxcrypt) in order of preferrence either -+# yescrypt "$y$", (gost-yescrypt "$gy$), bcrypt "$2b$" or sha512crypt "$6$" -+# as hash method, with a sufficient amount of cost or rounds and a random -+# salt drawn from secure system ressources with at least 128 bits. -+# (96 bits for sha512crypt, as more is not supported by this method, since -+# the effectively used maximum is 16 base64-encoded characters) -+crypt_dep = dependency('libxcrypt', required: false, version: '>= 4') -+config_h.set('HAVE_CRYPT_GENSALT', crypt_dep.found()) -+if not crypt_dep.found() -+ crypt_dep = cc.find_library('crypt') -+endif - - dbus_dep = dependency('dbus-1') - dbus_conf_dir = join_paths(dbus_dep.get_pkgconfig_variable('sysconfdir', define_variable: ['sysconfdir', act_sysconfdir]), 'dbus-1', 'system.d') -diff --git a/src/libaccountsservice/act-user.c b/src/libaccountsservice/act-user.c -index e66acb1..5485cbe 100644 ---- a/src/libaccountsservice/act-user.c -+++ b/src/libaccountsservice/act-user.c -@@ -1589,18 +1589,25 @@ act_user_set_account_type (ActUser *user, - } - } - --static gchar -+#ifdef HAVE_CRYPT_GENSALT -+static gchar * -+generate_salt_for_crypt_hash (void) -+{ -+ return g_strdup (crypt_gensalt (NULL, 0, NULL, 0)); -+} -+#else -+static const gchar - salt_char (GRand *rand) - { -- gchar salt[] = "ABCDEFGHIJKLMNOPQRSTUVXYZ" -- "abcdefghijklmnopqrstuvxyz" -- "./0123456789"; -+ const gchar salt[] = "ABCDEFGHIJKLMNOPQRSTUVXYZ" -+ "abcdefghijklmnopqrstuvxyz" -+ "./0123456789"; - - return salt[g_rand_int_range (rand, 0, G_N_ELEMENTS (salt))]; - } - - static gchar * --make_crypted (const gchar *plain) -+generate_salt_for_crypt_hash (void) - { - g_autoptr(GString) salt = NULL; - g_autoptr(GRand) rand = NULL; -@@ -1609,14 +1616,24 @@ make_crypted (const gchar *plain) - rand = g_rand_new (); - salt = g_string_sized_new (21); - -- /* SHA 256 */ -+ /* sha512crypt */ - g_string_append (salt, "$6$"); - for (i = 0; i < 16; i++) { - g_string_append_c (salt, salt_char (rand)); - } - g_string_append_c (salt, '$'); - -- return g_strdup (crypt (plain, salt->str)); -+ return g_strdup (salt->str); -+} -+#endif -+ -+static gchar * -+make_crypted (const gchar *plain) -+{ -+ g_autofree char *salt = NULL; -+ -+ salt = generate_salt_for_crypt_hash (); -+ return g_strdup (crypt (plain, salt)); - } - - /** --- -2.31.1 - diff --git a/accountsservice.spec b/accountsservice.spec index 4a88214..da42eca 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice -Version: 0.6.55 -Release: 11%{?dist} +Version: 22.08.8 +Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -8,11 +8,6 @@ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ #VCS: git:git://git.freedesktop.org/accountsservice Source0: http://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz -# https://gitlab.freedesktop.org/accountsservice/accountsservice/-/commit/c4048b11d205762c9cb61ead4c81ba5f49640520 -Patch0: 0001-act-user-Use-stronger-hashing-methods-in-make_crypte.patch -# https://gitlab.freedesktop.org/accountsservice/accountsservice/-/commit/ac9b14f1c1bbca413987d0bbfeaad05804107e9a -Patch1: meson-0.60-build-fix.patch - BuildRequires: gettext-devel BuildRequires: pkgconfig(dbus-1) BuildRequires: glib2-devel @@ -23,6 +18,7 @@ BuildRequires: gobject-introspection-devel BuildRequires: gtk-doc BuildRequires: git BuildRequires: meson +BuildRequires: vala Requires: polkit Requires: shadow-utils @@ -35,7 +31,7 @@ of these interfaces, based on the useradd, usermod and userdel commands. %package libs Summary: Client-side library to talk to accountsservice -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description libs The accountsservice-libs package contains a library that can @@ -44,7 +40,7 @@ daemon. %package devel Summary: Development files for accountsservice-libs -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel The accountsservice-devel package contains headers and other @@ -55,7 +51,9 @@ files needed to build applications that use accountsservice-libs. %autosetup -S git %build -%meson -Dgtk_doc=true -Dsystemd=true -Duser_heuristics=true +%meson \ + -Dgtk_doc=true \ + -Dadmin_group=wheel %meson_build %install @@ -79,32 +77,41 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %files -f accounts-service.lang %license COPYING %doc README.md AUTHORS -%{_sysconfdir}/dbus-1/system.d/org.freedesktop.Accounts.conf %{_libexecdir}/accounts-daemon %dir %{_datadir}/accountsservice/ %dir %{_datadir}/accountsservice/interfaces/ +%{_datadir}/accountsservice/user-templates/ %{_datadir}/dbus-1/interfaces/org.freedesktop.Accounts.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.Accounts.User.xml +%{_datadir}/dbus-1/system.d/org.freedesktop.Accounts.conf %{_datadir}/dbus-1/system-services/org.freedesktop.Accounts.service %{_datadir}/polkit-1/actions/org.freedesktop.accounts.policy %dir %{_localstatedir}/lib/AccountsService/ -%dir %{_localstatedir}/lib/AccountsService/users -%dir %{_localstatedir}/lib/AccountsService/icons +%dir %{_localstatedir}/lib/AccountsService/users/ +%dir %{_localstatedir}/lib/AccountsService/icons/ %{_unitdir}/accounts-daemon.service %files libs %{_libdir}/libaccountsservice.so.* +%dir %{_libdir}/girepository-1.0/ %{_libdir}/girepository-1.0/AccountsService-1.0.typelib %files devel %{_includedir}/accountsservice-1.0 %{_libdir}/libaccountsservice.so %{_libdir}/pkgconfig/accountsservice.pc +%dir %{_datadir}/gir-1.0/ %{_datadir}/gir-1.0/AccountsService-1.0.gir %dir %{_datadir}/gtk-doc/html/libaccountsservice %{_datadir}/gtk-doc/html/libaccountsservice/* +%dir %{_datadir}/vala/ +%dir %{_datadir}/vala/vapi/ +%{_datadir}/vala/vapi/accountsservice.* %changelog +* Sat Aug 27 2022 Leigh Scott - 22.08.8-1 +- Update to 22.08.8 + * Tue Jul 26 2022 Tomas Popela - 0.6.55-11 - Fix the build with meson 0.60+ diff --git a/meson-0.60-build-fix.patch b/meson-0.60-build-fix.patch deleted file mode 100644 index ce74862..0000000 --- a/meson-0.60-build-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -From ac9b14f1c1bbca413987d0bbfeaad05804107e9a Mon Sep 17 00:00:00 2001 -From: Luca Boccassi -Date: Sun, 31 Oct 2021 12:29:14 +0000 -Subject: [PATCH] Fix build with meson 0.60 - -Positional parameters to merge_file() were never allowed and always -ignored, so just drop it. -See: https://github.com/mesonbuild/meson/issues/9441 - -Fixes #97 ---- - data/meson.build | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/data/meson.build b/data/meson.build -index 70edf89..9e80299 100644 ---- a/data/meson.build -+++ b/data/meson.build -@@ -33,7 +33,6 @@ configure_file( - policy = act_namespace.to_lower() + '.policy' - - i18n.merge_file( -- policy, - input: policy + '.in', - output: policy, - po_dir: po_dir, --- -GitLab - diff --git a/sources b/sources index 97a6640..6db4394 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (accountsservice-0.6.55.tar.xz) = c12e6a8e80f9b087f97238da4734d2d3a14a7c5cbd870a32a04b00116f176c818c39fb886f6dc72c3e93c136b0c2074ddf8f77e20431fa3bd54f138bea9d262d +SHA512 (accountsservice-22.08.8.tar.xz) = 2ca3ceb1b44338d9924b86788256d4eef7ec10e0c2197bfb8cc6c31ae224fab3051f03cb406a526f90057684965bef4ba0f2cc01b26198ec1fc6baec36ad3ff8 From f4e76616fac0ece3be68894eedec53dc1297c469 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Mon, 26 Sep 2022 10:35:09 +0200 Subject: [PATCH 45/64] Rebuild The previous build was untagged due to selinux policy issues. https://bugzilla.redhat.com/show_bug.cgi?id=2122059 --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index da42eca..0f788a8 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 22.08.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -109,6 +109,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Mon Sep 26 2022 Kalev Lember - 22.08.8-2 +- Rebuild + * Sat Aug 27 2022 Leigh Scott - 22.08.8-1 - Update to 22.08.8 From e7f4f4b94cde25bdca1f7ab908cedd119c516d8e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 21:20:56 +0000 Subject: [PATCH 46/64] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 0f788a8..8212f47 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 22.08.8 -Release: 2%{?dist} +Release: 3%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -109,6 +109,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Wed Jan 18 2023 Fedora Release Engineering - 22.08.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Mon Sep 26 2022 Kalev Lember - 22.08.8-2 - Rebuild From 37f7fb3875a7dba7ac69c29a597fd9f5a7794b2e Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 15 Mar 2023 11:41:27 -0400 Subject: [PATCH 47/64] Update to 23.11.69 --- .gitignore | 2 ++ accountsservice.spec | 19 +++++++++++++++---- sources | 3 ++- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 09ddcb4..cc22fef 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ /accountsservice-*.tar.xz +/mocklibc-1.0-2-wrap.zip +/mocklibc-1.0.tar.gz diff --git a/accountsservice.spec b/accountsservice.spec index 8212f47..750e829 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,12 +1,15 @@ Name: accountsservice -Version: 22.08.8 -Release: 3%{?dist} +Version: 23.11.69 +Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ -#VCS: git:git://git.freedesktop.org/accountsservice -Source0: http://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz +#VCS: git:git://gitlab.freedesktop.org/accountsservice/accountsservice +Source0: https://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz +Source1: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mocklibc/mocklibc-1.0.tar.gz +# https://wrapdb.mesonbuild.com/v1/projects/mocklibc/1.0/2/get_zip +Source2: mocklibc-1.0-2-wrap.zip BuildRequires: gettext-devel BuildRequires: pkgconfig(dbus-1) @@ -50,6 +53,11 @@ files needed to build applications that use accountsservice-libs. %prep %autosetup -S git +mkdir -p subprojects/packagecache +cd subprojects/packagecache +cp %{SOURCE1} . +cp %{SOURCE2} . + %build %meson \ -Dgtk_doc=true \ @@ -109,6 +117,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Wed Mar 15 2023 Ray Strode - 23.11.69-1 +- Update to 23.11.69 + * Wed Jan 18 2023 Fedora Release Engineering - 22.08.8-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/sources b/sources index 6db4394..aaac89f 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (accountsservice-22.08.8.tar.xz) = 2ca3ceb1b44338d9924b86788256d4eef7ec10e0c2197bfb8cc6c31ae224fab3051f03cb406a526f90057684965bef4ba0f2cc01b26198ec1fc6baec36ad3ff8 +SHA512 (mocklibc-1.0-2-wrap.zip) = 02397181bfeb1c9960d54789c2eac65f065bbab7f9344b0a9f33d7f8014ea03a935c3b7334172dfb8de2b3767c2ead1e305b5f007555f6797d9190605b6c4ac3 +SHA512 (mocklibc-1.0.tar.gz) = f3ea98d3b870b9d59293c961170e185b85747f15abcf74fc24cb22fef781b87b37a6116f165c5d2db4918c973cdb795dd72d05a469eb9f81ed30b2a98a24ee3f From 818c77f6efdd97b44a52dd12921319fc60065cee Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 15 Mar 2023 12:18:07 -0400 Subject: [PATCH 48/64] sources: Oops, add accountsservice --- sources | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources b/sources index aaac89f..c911fd3 100644 --- a/sources +++ b/sources @@ -1,2 +1,4 @@ +SHA512 (accountsservice-23.11.69.tar.xz) = 3249986945b8026f9bfc040efcdaca1843a7ee50b8b6088846f4e64dc1e8a7c9206c8a59c28527830485f756d943d523b90f55f5043ee6ec665ba28ef1e23c5a SHA512 (mocklibc-1.0-2-wrap.zip) = 02397181bfeb1c9960d54789c2eac65f065bbab7f9344b0a9f33d7f8014ea03a935c3b7334172dfb8de2b3767c2ead1e305b5f007555f6797d9190605b6c4ac3 SHA512 (mocklibc-1.0.tar.gz) = f3ea98d3b870b9d59293c961170e185b85747f15abcf74fc24cb22fef781b87b37a6116f165c5d2db4918c973cdb795dd72d05a469eb9f81ed30b2a98a24ee3f + From 36f0b52bb23d731e2ea4ae4c82deeee44305a7b5 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 24 Mar 2023 12:47:37 -0400 Subject: [PATCH 49/64] Fix delay during boot for some users Resolves: #2180768 --- 0001-daemon-Fix-boot-delay.patch | 340 +++++++++++++++++++++++++++++++ accountsservice.spec | 8 +- 2 files changed, 347 insertions(+), 1 deletion(-) create mode 100644 0001-daemon-Fix-boot-delay.patch diff --git a/0001-daemon-Fix-boot-delay.patch b/0001-daemon-Fix-boot-delay.patch new file mode 100644 index 0000000..c0c7c6e --- /dev/null +++ b/0001-daemon-Fix-boot-delay.patch @@ -0,0 +1,340 @@ +From bef4aa0d07924e22c0689d5308802b576d756e19 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Fri, 24 Mar 2023 12:16:46 -0400 +Subject: [PATCH] daemon: Fix boot delay + +commit 836a9135fe2d8fdc7d6de3a6d11fb9a5fd05f926 made accountsservice +reload wtmp less aggressively. + +Unfortunately, if wtmp is modified during boot, that added latency +and delay the user list getting loaded. + +This commit addresses the problem by tracking how pressing the queued +reload operation is, and makes it happen sooner if a higher priority +request comes in. +--- + src/daemon.c | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +diff --git a/src/daemon.c b/src/daemon.c +index 151f294..9209976 100644 +--- a/src/daemon.c ++++ b/src/daemon.c +@@ -43,79 +43,89 @@ + #include + #include + #include + #include + + #include "user-classify.h" + #include "wtmp-helper.h" + #include "daemon.h" + #include "util.h" + #include "user.h" + #include "accounts-user-generated.h" + + #define PATH_PASSWD "passwd" + #define PATH_SHADOW "shadow" + #define PATH_GROUP "/etc/group" + #define PATH_DM "/etc/systemd/system/display-manager.service" + + enum + { + PROP_0, + PROP_DAEMON_VERSION + }; + + typedef enum + { + DISPLAY_MANAGER_TYPE_NONE = -1, + DISPLAY_MANAGER_TYPE_GDM, + DISPLAY_MANAGER_TYPE_LIGHTDM + } DisplayManagerType; + ++typedef enum ++{ ++ USER_RELOAD_TYPE_NONE = 0, ++ USER_RELOAD_TYPE_IMMEDIATELY, ++ USER_RELOAD_TYPE_SOON, ++ USER_RELOAD_TYPE_EVENTUALLY ++} UserReloadType; ++ + typedef struct + { + GDBusConnection *bus_connection; + + GHashTable *users; + gsize number_of_normal_users; + GList *explicitly_requested_users; + + User *autologin; + + GFileMonitor *passwd_monitor; + GFileMonitor *shadow_monitor; + GFileMonitor *group_monitor; + GFileMonitor *dm_monitor; + GFileMonitor *wtmp_monitor; + + GQueue *pending_list_cached_users; + ++ UserReloadType reload_type; + guint reload_id; ++ + guint autologin_id; + + PolkitAuthority *authority; + GHashTable *extension_ifaces; + } DaemonPrivate; + + typedef struct passwd * (* EntryGeneratorFunc) (Daemon *, + GHashTable *, + GHashTable *, + gpointer *, + struct spwd **shadow_entry); + + typedef struct + { + Daemon *daemon; + GDBusMethodInvocation *context; + } ListUserData; + + static void finish_list_cached_users (ListUserData *data); + + static void list_user_data_free (ListUserData *data); + + static void daemon_accounts_accounts_iface_init (AccountsAccountsIface *iface); + + G_DEFINE_TYPE_WITH_CODE (Daemon, daemon, ACCOUNTS_TYPE_ACCOUNTS_SKELETON, G_ADD_PRIVATE (Daemon) G_IMPLEMENT_INTERFACE (ACCOUNTS_TYPE_ACCOUNTS, daemon_accounts_accounts_iface_init)); + + G_DEFINE_AUTOPTR_CLEANUP_FUNC (Daemon, g_object_unref) + + static const GDBusErrorEntry accounts_error_entries[] = + { +@@ -598,60 +608,61 @@ reload_users (Daemon *daemon) + user_unregister (user); + } + } + + /* Register all the new users */ + g_hash_table_iter_init (&iter, users); + while (g_hash_table_iter_next (&iter, &name, &value)) { + User *user = value; + User *stale_user; + + stale_user = g_hash_table_lookup (old_users, name); + + if (!stale_user || (!user_get_cached (stale_user) && user_get_cached (user))) { + user_register (user); + accounts_accounts_emit_user_added (ACCOUNTS_ACCOUNTS (daemon), + user_get_object_path (user)); + } + g_object_thaw_notify (G_OBJECT (user)); + } + + g_hash_table_destroy (old_users); + } + + static gboolean + reload_users_timeout (Daemon *daemon) + { + DaemonPrivate *priv = daemon_get_instance_private (daemon); + + reload_users (daemon); + priv->reload_id = 0; ++ priv->reload_type = USER_RELOAD_TYPE_NONE; + + g_queue_foreach (priv->pending_list_cached_users, + (GFunc) finish_list_cached_users, NULL); + g_queue_clear (priv->pending_list_cached_users); + + return FALSE; + } + + static gboolean load_autologin (Daemon *daemon, + gchar **name, + gboolean *enabled, + GError **error); + + static gboolean + reload_autologin_timeout (Daemon *daemon) + { + DaemonPrivate *priv = daemon_get_instance_private (daemon); + AccountsAccounts *accounts = ACCOUNTS_ACCOUNTS (daemon); + gboolean enabled; + g_autofree gchar *name = NULL; + + g_autoptr (GError) error = NULL; + User *user = NULL; + + priv->autologin_id = 0; + + if (!load_autologin (daemon, &name, &enabled, &error)) { + g_debug ("failed to load autologin conf file: %s", error->message); + return FALSE; + } +@@ -671,87 +682,100 @@ reload_autologin_timeout (Daemon *daemon) + users[0] = user_get_object_path (user); + users[1] = NULL; + accounts_accounts_set_automatic_login_users (accounts, users); + if (priv->autologin != user) { + g_object_set (user, "automatic-login", TRUE, NULL); + priv->autologin = g_object_ref (user); + g_signal_emit_by_name (priv->autologin, "changed", 0); + } + } else { + g_debug ("automatic login is disabled"); + accounts_accounts_set_automatic_login_users (accounts, NULL); + } + + return FALSE; + } + + static void + queue_reload_users_eventually (Daemon *daemon) + { + DaemonPrivate *priv = daemon_get_instance_private (daemon); + + if (priv->reload_id > 0) { + return; + } + + /* we wait 10 seconds before reloading the users, so e.g. wtmp + * parsing doesn't hammer the cpu if the user is logging in + * and out in a continuous loop. + */ + priv->reload_id = g_timeout_add_seconds (10, (GSourceFunc) reload_users_timeout, daemon); ++ priv->reload_type = USER_RELOAD_TYPE_EVENTUALLY; + } + + static void + queue_reload_users_soon (Daemon *daemon) + { + DaemonPrivate *priv = daemon_get_instance_private (daemon); + ++ if (priv->reload_type > USER_RELOAD_TYPE_SOON) { ++ g_source_remove (priv->reload_id); ++ priv->reload_id = 0; ++ } ++ + if (priv->reload_id > 0) { + return; + } + + /* we wait half a second or so in case /etc/passwd and + * /etc/shadow are changed at the same time, or repeatedly. + */ + priv->reload_id = g_timeout_add (500, (GSourceFunc) reload_users_timeout, daemon); ++ priv->reload_type = USER_RELOAD_TYPE_SOON; + } + + static void + queue_reload_users (Daemon *daemon) + { + DaemonPrivate *priv = daemon_get_instance_private (daemon); + ++ if (priv->reload_type > USER_RELOAD_TYPE_IMMEDIATELY) { ++ g_source_remove (priv->reload_id); ++ priv->reload_id = 0; ++ } ++ + if (priv->reload_id > 0) { + return; + } + + priv->reload_id = g_idle_add ((GSourceFunc) reload_users_timeout, daemon); ++ priv->reload_type = USER_RELOAD_TYPE_IMMEDIATELY; + } + + static void + queue_reload_autologin (Daemon *daemon) + { + DaemonPrivate *priv = daemon_get_instance_private (daemon); + + if (priv->autologin_id > 0) { + return; + } + + priv->autologin_id = g_idle_add ((GSourceFunc) reload_autologin_timeout, daemon); + } + + static void + on_users_monitor_changed (GFileMonitor *monitor, + GFile *file, + GFile *other_file, + GFileMonitorEvent event_type, + Daemon *daemon) + { + DaemonPrivate *priv = daemon_get_instance_private (daemon); + + if (event_type != G_FILE_MONITOR_EVENT_CHANGED && + event_type != G_FILE_MONITOR_EVENT_CREATED) { + return; + } + + if (monitor == priv->wtmp_monitor) { + queue_reload_users_eventually (daemon); +@@ -1120,60 +1144,61 @@ finish_list_cached_users (ListUserData *data) + } + + if (!user_get_cached (user)) { + g_debug ("user %s %ld not cached", name, (long) uid); + continue; + } + + g_debug ("user %s %ld not excluded", name, (long) uid); + g_ptr_array_add (object_paths, (gpointer) user_get_object_path (user)); + } + g_ptr_array_add (object_paths, NULL); + + accounts_accounts_complete_list_cached_users (NULL, data->context, (const gchar * const *) object_paths->pdata); + + list_user_data_free (data); + } + + static gboolean + daemon_list_cached_users (AccountsAccounts *accounts, + GDBusMethodInvocation *context) + { + Daemon *daemon = (Daemon *) accounts; + DaemonPrivate *priv = daemon_get_instance_private (daemon); + ListUserData *data; + + data = list_user_data_new (daemon, context); + + if (priv->reload_id > 0) { + /* reload pending -- finish call in reload_users_timeout */ + g_queue_push_tail (priv->pending_list_cached_users, data); ++ queue_reload_users (daemon); + } else { + finish_list_cached_users (data); + } + + return TRUE; + } + + static int + sort_languages (gconstpointer element_1, + gconstpointer element_2, + GHashTable *language_frequency_map) + { + const char *language_1 = *(const char **) element_1; + const char *language_2 = *(const char **) element_2; + int count_1, count_2; + + count_1 = GPOINTER_TO_INT (g_hash_table_lookup (language_frequency_map, language_1)); + count_2 = GPOINTER_TO_INT (g_hash_table_lookup (language_frequency_map, language_2)); + + if (count_2 == count_1) { + return strcmp (language_1, language_2); + } + + return count_2 - count_1; + } + + static gboolean + daemon_get_users_languages (AccountsAccounts *accounts, + GDBusMethodInvocation *context) + { +-- +2.39.2 + diff --git a/accountsservice.spec b/accountsservice.spec index 750e829..f574e16 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 23.11.69 -Release: 1%{?dist} +Release: 2%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -11,6 +11,8 @@ Source1: https://storage.googleapis.com/google-code-archive-downloads/v2/ # https://wrapdb.mesonbuild.com/v1/projects/mocklibc/1.0/2/get_zip Source2: mocklibc-1.0-2-wrap.zip +Patch0: 0001-daemon-Fix-boot-delay.patch + BuildRequires: gettext-devel BuildRequires: pkgconfig(dbus-1) BuildRequires: glib2-devel @@ -117,6 +119,10 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Fri Mar 24 2023 Ray Strode - 23.11.69-2 +- Fix delay during boot for some users + Resolves: #2180768 + * Wed Mar 15 2023 Ray Strode - 23.11.69-1 - Update to 23.11.69 From 2ce76ec0ec111a336eed6c60bcf4ec33f7a2989b Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 11 Apr 2023 10:28:11 -0400 Subject: [PATCH 50/64] Update to 23.13.9 - Fix C99 compile error Resolves: #2185850 --- accountsservice.spec | 24 ++++++++++++------------ sources | 5 +---- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/accountsservice.spec b/accountsservice.spec index f574e16..19d0e35 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,17 +1,12 @@ Name: accountsservice -Version: 23.11.69 -Release: 2%{?dist} +Version: 23.13.9 +Release: 1%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ #VCS: git:git://gitlab.freedesktop.org/accountsservice/accountsservice Source0: https://www.freedesktop.org/software/accountsservice/accountsservice-%{version}.tar.xz -Source1: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mocklibc/mocklibc-1.0.tar.gz -# https://wrapdb.mesonbuild.com/v1/projects/mocklibc/1.0/2/get_zip -Source2: mocklibc-1.0-2-wrap.zip - -Patch0: 0001-daemon-Fix-boot-delay.patch BuildRequires: gettext-devel BuildRequires: pkgconfig(dbus-1) @@ -24,11 +19,16 @@ BuildRequires: gtk-doc BuildRequires: git BuildRequires: meson BuildRequires: vala +BuildRequires: python3-dbusmock Requires: polkit Requires: shadow-utils %{?systemd_requires} +# https://bugzilla.redhat.com/show_bug.cgi?id=2185850 +Patch10001: 0001-mocklibc-Fix-compiler-warning.patch +Patch10002: 0002-user-manager-Fix-another-compiler-warning.patch + %description The accountsservice project provides a set of D-Bus interfaces for querying and manipulating user account information and an implementation @@ -55,11 +55,6 @@ files needed to build applications that use accountsservice-libs. %prep %autosetup -S git -mkdir -p subprojects/packagecache -cd subprojects/packagecache -cp %{SOURCE1} . -cp %{SOURCE2} . - %build %meson \ -Dgtk_doc=true \ @@ -119,6 +114,11 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Tue Apr 11 2023 Ray Strode - 23.13.9-1 +- Update to 23.13.9 +- Fix C99 compile error + Resolves: #2185850 + * Fri Mar 24 2023 Ray Strode - 23.11.69-2 - Fix delay during boot for some users Resolves: #2180768 diff --git a/sources b/sources index c911fd3..6c4f2b6 100644 --- a/sources +++ b/sources @@ -1,4 +1 @@ -SHA512 (accountsservice-23.11.69.tar.xz) = 3249986945b8026f9bfc040efcdaca1843a7ee50b8b6088846f4e64dc1e8a7c9206c8a59c28527830485f756d943d523b90f55f5043ee6ec665ba28ef1e23c5a -SHA512 (mocklibc-1.0-2-wrap.zip) = 02397181bfeb1c9960d54789c2eac65f065bbab7f9344b0a9f33d7f8014ea03a935c3b7334172dfb8de2b3767c2ead1e305b5f007555f6797d9190605b6c4ac3 -SHA512 (mocklibc-1.0.tar.gz) = f3ea98d3b870b9d59293c961170e185b85747f15abcf74fc24cb22fef781b87b37a6116f165c5d2db4918c973cdb795dd72d05a469eb9f81ed30b2a98a24ee3f - +SHA512 (accountsservice-23.13.9.tar.xz) = c6eb543ce2e07b61bbdfa454e388949bc688517be0536b14f30c66383ed105b15d3fab8b6c62b1eaa08f67d9bdc29b928729d9f7c704f47de4decf0de8e12f89 From 1c36351877a72330b6abce621dfce3c442ea12fc Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 11 Apr 2023 10:29:04 -0400 Subject: [PATCH 51/64] Add patches every. single. time. --- 0001-mocklibc-Fix-compiler-warning.patch | 54 +++++++ ...manager-Fix-another-compiler-warning.patch | 145 ++++++++++++++++++ 2 files changed, 199 insertions(+) create mode 100644 0001-mocklibc-Fix-compiler-warning.patch create mode 100644 0002-user-manager-Fix-another-compiler-warning.patch diff --git a/0001-mocklibc-Fix-compiler-warning.patch b/0001-mocklibc-Fix-compiler-warning.patch new file mode 100644 index 0000000..c4052a1 --- /dev/null +++ b/0001-mocklibc-Fix-compiler-warning.patch @@ -0,0 +1,54 @@ +From da65bee12d9118fe1a49c8718d428fe61d232339 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Tue, 11 Apr 2023 10:09:07 -0400 +Subject: [PATCH 1/2] mocklibc: Fix compiler warning + +print_indent is defined in one file and used in another without a +forward declaration. That leads to a compiler warning/error. + +This commit fixes that. +--- + subprojects/mocklibc.wrap | 2 ++ + subprojects/packagefiles/mocklibc-print-indent.diff | 13 +++++++++++++ + 2 files changed, 15 insertions(+) + create mode 100644 subprojects/packagefiles/mocklibc-print-indent.diff + +diff --git a/subprojects/mocklibc.wrap b/subprojects/mocklibc.wrap +index af82298..539ee83 100644 +--- a/subprojects/mocklibc.wrap ++++ b/subprojects/mocklibc.wrap +@@ -1,10 +1,12 @@ + [wrap-file] + directory = mocklibc-1.0 + + source_url = https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mocklibc/mocklibc-1.0.tar.gz + source_filename = mocklibc-1.0.tar.gz + source_hash = b2236a6af1028414783e9734a46ea051916ec226479d6a55a3bb823bff68f120 + + patch_url = https://wrapdb.mesonbuild.com/v1/projects/mocklibc/1.0/2/get_zip + patch_filename = mocklibc-1.0-2-wrap.zip + patch_hash = 0280f96a2eeb3c023e5acf4e00cef03d362868218d4a85347ea45137c0ef6c56 ++ ++diff_files = mocklibc-print-indent.diff +diff --git a/subprojects/packagefiles/mocklibc-print-indent.diff b/subprojects/packagefiles/mocklibc-print-indent.diff +new file mode 100644 +index 0000000..4aaed40 +--- /dev/null ++++ b/subprojects/packagefiles/mocklibc-print-indent.diff +@@ -0,0 +1,13 @@ ++diff -up mocklibc-1.0/src/netgroup-debug.c.print-indent mocklibc-1.0/src/netgroup-debug.c ++--- mocklibc-1.0/src/netgroup-debug.c.print-indent 2023-04-11 10:20:53.717381559 -0400 +++++ mocklibc-1.0/src/netgroup-debug.c 2023-04-11 10:21:02.296270333 -0400 ++@@ -21,6 +21,9 @@ ++ #include ++ #include ++ +++void print_indent (FILE *stream, +++ unsigned int indent); +++ ++ void netgroup_debug_print_entry(struct entry *entry, FILE *stream, unsigned int indent) { ++ print_indent(stream, indent); ++ +-- +2.39.2 + diff --git a/0002-user-manager-Fix-another-compiler-warning.patch b/0002-user-manager-Fix-another-compiler-warning.patch new file mode 100644 index 0000000..47b510e --- /dev/null +++ b/0002-user-manager-Fix-another-compiler-warning.patch @@ -0,0 +1,145 @@ +From 99aa57bfa59e2578c4ef47e84338f7de85c6f61b Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Tue, 11 Apr 2023 10:11:05 -0400 +Subject: [PATCH 2/2] user-manager: Fix another compiler warning + +-Wswitch-enum apparently complains about missing entries even if there +is a default:. + +This commit ensures ACT_USER_MANAGER_SEAT_STATE_UNLOADED is added to the +default case to fix that warning. +--- + src/libaccountsservice/act-user-manager.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/libaccountsservice/act-user-manager.c b/src/libaccountsservice/act-user-manager.c +index 61b4da5..3bbd480 100644 +--- a/src/libaccountsservice/act-user-manager.c ++++ b/src/libaccountsservice/act-user-manager.c +@@ -1727,60 +1727,61 @@ unload_seat (ActUserManager *manager) + { + ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager); + + priv->seat.state = ACT_USER_MANAGER_SEAT_STATE_UNLOADED; + + g_free (priv->seat.id); + priv->seat.id = NULL; + + g_free (priv->seat.session_id); + priv->seat.session_id = NULL; + + g_debug ("ActUserManager: seat unloaded, so trying to set loaded property"); + maybe_set_is_loaded (manager); + } + + static void + load_new_session_incrementally (ActUserManagerNewSession *new_session) + { + switch (new_session->state) { + case ACT_USER_MANAGER_NEW_SESSION_STATE_GET_UID: + get_uid_for_new_session (new_session); + break; + case ACT_USER_MANAGER_NEW_SESSION_STATE_GET_X11_DISPLAY: + get_x11_display_for_new_session (new_session); + break; + case ACT_USER_MANAGER_NEW_SESSION_STATE_MAYBE_ADD: + maybe_add_new_session (new_session); + break; + case ACT_USER_MANAGER_NEW_SESSION_STATE_LOADED: + break; ++ case ACT_USER_MANAGER_NEW_SESSION_STATE_UNLOADED: + default: + g_assert_not_reached (); + } + } + + static void + free_fetch_user_request (ActUserManagerFetchUserRequest *request) + { + ActUserManager *manager = request->manager; + ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager); + + if (request->user != NULL) { + g_object_set_data (G_OBJECT (request->user), "fetch-user-request", NULL); + g_object_weak_unref (G_OBJECT (request->user), (GWeakNotify) on_user_destroyed, manager); + } + + priv->fetch_user_requests = g_slist_remove (priv->fetch_user_requests, request); + if (request->type == ACT_USER_MANAGER_FETCH_USER_FROM_USERNAME_REQUEST) { + g_free (request->username); + } + + g_free (request->object_path); + g_free (request->description); + + g_cancellable_cancel (request->cancellable); + g_object_unref (request->cancellable); + + + g_debug ("ActUserManager: unrefing manager owned by fetch user request"); + g_object_unref (manager); +@@ -2243,60 +2244,61 @@ load_users (ActUserManager *manager) + return; + } + + load_user_paths (manager, (const char * const *) user_paths); + + load_included_usernames (manager); + + priv->list_cached_users_done = TRUE; + } + + static gboolean + load_seat_incrementally (ActUserManager *manager) + { + ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager); + + priv->seat.load_idle_id = 0; + + switch (priv->seat.state) { + case ACT_USER_MANAGER_SEAT_STATE_GET_SESSION_ID: + get_current_session_id (manager); + break; + case ACT_USER_MANAGER_SEAT_STATE_GET_ID: + get_seat_id_for_current_session (manager); + break; + case ACT_USER_MANAGER_SEAT_STATE_GET_SEAT_PROXY: + get_seat_proxy (manager); + break; + case ACT_USER_MANAGER_SEAT_STATE_LOADED: + g_debug ("ActUserManager: Seat loading sequence complete"); + break; ++ case ACT_USER_MANAGER_NEW_SESSION_STATE_UNLOADED: + default: + g_assert_not_reached (); + } + + if (priv->seat.state == ACT_USER_MANAGER_SEAT_STATE_LOADED) { + load_sessions (manager); + } + + maybe_set_is_loaded (manager); + + return FALSE; + } + + static gboolean + load_idle (ActUserManager *manager) + { + ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager); + + priv->seat.state = ACT_USER_MANAGER_SEAT_STATE_UNLOADED + 1; + load_seat_incrementally (manager); + priv->load_id = 0; + + return FALSE; + } + + static void + queue_load_seat (ActUserManager *manager) + { + ActUserManagerPrivate *priv = act_user_manager_get_instance_private (manager); + +-- +2.39.2 + From ee7ad809878ae8b6e9588e4edb25aae8cf97c449 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 12:51:08 +0000 Subject: [PATCH 52/64] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 19d0e35..bc5e6c3 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 23.13.9 -Release: 1%{?dist} +Release: 2%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -114,6 +114,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 23.13.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Tue Apr 11 2023 Ray Strode - 23.13.9-1 - Update to 23.13.9 - Fix C99 compile error From bfbfb6cc44bad1226d5f76a9a02bb11eeb3af56c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Sat, 9 Dec 2023 08:39:56 +0000 Subject: [PATCH 53/64] Migrate to SPDX license This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_2 --- accountsservice.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index bc5e6c3..9ddc79b 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 23.13.9 Release: 2%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information -License: GPLv3+ +License: GPL-3.0-or-later URL: https://www.freedesktop.org/wiki/Software/AccountsService/ #VCS: git:git://gitlab.freedesktop.org/accountsservice/accountsservice From 57b673b4397fa6c8cff093caa508ff21d46a20b6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 12:04:54 +0000 Subject: [PATCH 54/64] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 9ddc79b..1012e45 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 23.13.9 -Release: 2%{?dist} +Release: 3%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPL-3.0-or-later URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -114,6 +114,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 23.13.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Wed Jul 19 2023 Fedora Release Engineering - 23.13.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From f0d1b9e1004e0dcec4627bce93ca11953b15664d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 07:21:17 +0000 Subject: [PATCH 55/64] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 1012e45..5bfb8cd 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 23.13.9 -Release: 3%{?dist} +Release: 4%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPL-3.0-or-later URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -114,6 +114,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 23.13.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 23.13.9-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 818e53856f733a0000fcc451c3e8f0eeaff9fba7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 16:32:40 +0000 Subject: [PATCH 56/64] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 5bfb8cd..01b23b4 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 23.13.9 -Release: 4%{?dist} +Release: 5%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPL-3.0-or-later URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -114,6 +114,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 23.13.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Wed Jan 24 2024 Fedora Release Engineering - 23.13.9-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 426fd4f94cd32805e5c7c17d12d0e593814d687b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 10:31:02 +0000 Subject: [PATCH 57/64] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 01b23b4..3455c8a 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 23.13.9 -Release: 5%{?dist} +Release: 6%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPL-3.0-or-later URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -114,6 +114,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 23.13.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Jul 17 2024 Fedora Release Engineering - 23.13.9-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From efa2651275b2f496cde2de6c8237acdf922e827d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 1 Feb 2025 19:52:48 +0100 Subject: [PATCH 58/64] Add explicit BR: libxcrypt-devel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Esser --- accountsservice.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 3455c8a..56984bf 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 23.13.9 -Release: 6%{?dist} +Release: 7%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPL-3.0-or-later URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -20,6 +20,7 @@ BuildRequires: git BuildRequires: meson BuildRequires: vala BuildRequires: python3-dbusmock +BuildRequires: libxcrypt-devel Requires: polkit Requires: shadow-utils @@ -114,6 +115,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Sat Feb 01 2025 Björn Esser - 23.13.9-7 +- Add explicit BR: libxcrypt-devel + * Thu Jan 16 2025 Fedora Release Engineering - 23.13.9-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From d8c40145fd61fa2ee1d888f7e77b4f55ef2d423f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Thu, 30 Jan 2025 23:50:51 +0100 Subject: [PATCH 59/64] Remove unused patch file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Esser --- 0001-daemon-Fix-boot-delay.patch | 340 ------------------------------- 1 file changed, 340 deletions(-) delete mode 100644 0001-daemon-Fix-boot-delay.patch diff --git a/0001-daemon-Fix-boot-delay.patch b/0001-daemon-Fix-boot-delay.patch deleted file mode 100644 index c0c7c6e..0000000 --- a/0001-daemon-Fix-boot-delay.patch +++ /dev/null @@ -1,340 +0,0 @@ -From bef4aa0d07924e22c0689d5308802b576d756e19 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Fri, 24 Mar 2023 12:16:46 -0400 -Subject: [PATCH] daemon: Fix boot delay - -commit 836a9135fe2d8fdc7d6de3a6d11fb9a5fd05f926 made accountsservice -reload wtmp less aggressively. - -Unfortunately, if wtmp is modified during boot, that added latency -and delay the user list getting loaded. - -This commit addresses the problem by tracking how pressing the queued -reload operation is, and makes it happen sooner if a higher priority -request comes in. ---- - src/daemon.c | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - -diff --git a/src/daemon.c b/src/daemon.c -index 151f294..9209976 100644 ---- a/src/daemon.c -+++ b/src/daemon.c -@@ -43,79 +43,89 @@ - #include - #include - #include - #include - - #include "user-classify.h" - #include "wtmp-helper.h" - #include "daemon.h" - #include "util.h" - #include "user.h" - #include "accounts-user-generated.h" - - #define PATH_PASSWD "passwd" - #define PATH_SHADOW "shadow" - #define PATH_GROUP "/etc/group" - #define PATH_DM "/etc/systemd/system/display-manager.service" - - enum - { - PROP_0, - PROP_DAEMON_VERSION - }; - - typedef enum - { - DISPLAY_MANAGER_TYPE_NONE = -1, - DISPLAY_MANAGER_TYPE_GDM, - DISPLAY_MANAGER_TYPE_LIGHTDM - } DisplayManagerType; - -+typedef enum -+{ -+ USER_RELOAD_TYPE_NONE = 0, -+ USER_RELOAD_TYPE_IMMEDIATELY, -+ USER_RELOAD_TYPE_SOON, -+ USER_RELOAD_TYPE_EVENTUALLY -+} UserReloadType; -+ - typedef struct - { - GDBusConnection *bus_connection; - - GHashTable *users; - gsize number_of_normal_users; - GList *explicitly_requested_users; - - User *autologin; - - GFileMonitor *passwd_monitor; - GFileMonitor *shadow_monitor; - GFileMonitor *group_monitor; - GFileMonitor *dm_monitor; - GFileMonitor *wtmp_monitor; - - GQueue *pending_list_cached_users; - -+ UserReloadType reload_type; - guint reload_id; -+ - guint autologin_id; - - PolkitAuthority *authority; - GHashTable *extension_ifaces; - } DaemonPrivate; - - typedef struct passwd * (* EntryGeneratorFunc) (Daemon *, - GHashTable *, - GHashTable *, - gpointer *, - struct spwd **shadow_entry); - - typedef struct - { - Daemon *daemon; - GDBusMethodInvocation *context; - } ListUserData; - - static void finish_list_cached_users (ListUserData *data); - - static void list_user_data_free (ListUserData *data); - - static void daemon_accounts_accounts_iface_init (AccountsAccountsIface *iface); - - G_DEFINE_TYPE_WITH_CODE (Daemon, daemon, ACCOUNTS_TYPE_ACCOUNTS_SKELETON, G_ADD_PRIVATE (Daemon) G_IMPLEMENT_INTERFACE (ACCOUNTS_TYPE_ACCOUNTS, daemon_accounts_accounts_iface_init)); - - G_DEFINE_AUTOPTR_CLEANUP_FUNC (Daemon, g_object_unref) - - static const GDBusErrorEntry accounts_error_entries[] = - { -@@ -598,60 +608,61 @@ reload_users (Daemon *daemon) - user_unregister (user); - } - } - - /* Register all the new users */ - g_hash_table_iter_init (&iter, users); - while (g_hash_table_iter_next (&iter, &name, &value)) { - User *user = value; - User *stale_user; - - stale_user = g_hash_table_lookup (old_users, name); - - if (!stale_user || (!user_get_cached (stale_user) && user_get_cached (user))) { - user_register (user); - accounts_accounts_emit_user_added (ACCOUNTS_ACCOUNTS (daemon), - user_get_object_path (user)); - } - g_object_thaw_notify (G_OBJECT (user)); - } - - g_hash_table_destroy (old_users); - } - - static gboolean - reload_users_timeout (Daemon *daemon) - { - DaemonPrivate *priv = daemon_get_instance_private (daemon); - - reload_users (daemon); - priv->reload_id = 0; -+ priv->reload_type = USER_RELOAD_TYPE_NONE; - - g_queue_foreach (priv->pending_list_cached_users, - (GFunc) finish_list_cached_users, NULL); - g_queue_clear (priv->pending_list_cached_users); - - return FALSE; - } - - static gboolean load_autologin (Daemon *daemon, - gchar **name, - gboolean *enabled, - GError **error); - - static gboolean - reload_autologin_timeout (Daemon *daemon) - { - DaemonPrivate *priv = daemon_get_instance_private (daemon); - AccountsAccounts *accounts = ACCOUNTS_ACCOUNTS (daemon); - gboolean enabled; - g_autofree gchar *name = NULL; - - g_autoptr (GError) error = NULL; - User *user = NULL; - - priv->autologin_id = 0; - - if (!load_autologin (daemon, &name, &enabled, &error)) { - g_debug ("failed to load autologin conf file: %s", error->message); - return FALSE; - } -@@ -671,87 +682,100 @@ reload_autologin_timeout (Daemon *daemon) - users[0] = user_get_object_path (user); - users[1] = NULL; - accounts_accounts_set_automatic_login_users (accounts, users); - if (priv->autologin != user) { - g_object_set (user, "automatic-login", TRUE, NULL); - priv->autologin = g_object_ref (user); - g_signal_emit_by_name (priv->autologin, "changed", 0); - } - } else { - g_debug ("automatic login is disabled"); - accounts_accounts_set_automatic_login_users (accounts, NULL); - } - - return FALSE; - } - - static void - queue_reload_users_eventually (Daemon *daemon) - { - DaemonPrivate *priv = daemon_get_instance_private (daemon); - - if (priv->reload_id > 0) { - return; - } - - /* we wait 10 seconds before reloading the users, so e.g. wtmp - * parsing doesn't hammer the cpu if the user is logging in - * and out in a continuous loop. - */ - priv->reload_id = g_timeout_add_seconds (10, (GSourceFunc) reload_users_timeout, daemon); -+ priv->reload_type = USER_RELOAD_TYPE_EVENTUALLY; - } - - static void - queue_reload_users_soon (Daemon *daemon) - { - DaemonPrivate *priv = daemon_get_instance_private (daemon); - -+ if (priv->reload_type > USER_RELOAD_TYPE_SOON) { -+ g_source_remove (priv->reload_id); -+ priv->reload_id = 0; -+ } -+ - if (priv->reload_id > 0) { - return; - } - - /* we wait half a second or so in case /etc/passwd and - * /etc/shadow are changed at the same time, or repeatedly. - */ - priv->reload_id = g_timeout_add (500, (GSourceFunc) reload_users_timeout, daemon); -+ priv->reload_type = USER_RELOAD_TYPE_SOON; - } - - static void - queue_reload_users (Daemon *daemon) - { - DaemonPrivate *priv = daemon_get_instance_private (daemon); - -+ if (priv->reload_type > USER_RELOAD_TYPE_IMMEDIATELY) { -+ g_source_remove (priv->reload_id); -+ priv->reload_id = 0; -+ } -+ - if (priv->reload_id > 0) { - return; - } - - priv->reload_id = g_idle_add ((GSourceFunc) reload_users_timeout, daemon); -+ priv->reload_type = USER_RELOAD_TYPE_IMMEDIATELY; - } - - static void - queue_reload_autologin (Daemon *daemon) - { - DaemonPrivate *priv = daemon_get_instance_private (daemon); - - if (priv->autologin_id > 0) { - return; - } - - priv->autologin_id = g_idle_add ((GSourceFunc) reload_autologin_timeout, daemon); - } - - static void - on_users_monitor_changed (GFileMonitor *monitor, - GFile *file, - GFile *other_file, - GFileMonitorEvent event_type, - Daemon *daemon) - { - DaemonPrivate *priv = daemon_get_instance_private (daemon); - - if (event_type != G_FILE_MONITOR_EVENT_CHANGED && - event_type != G_FILE_MONITOR_EVENT_CREATED) { - return; - } - - if (monitor == priv->wtmp_monitor) { - queue_reload_users_eventually (daemon); -@@ -1120,60 +1144,61 @@ finish_list_cached_users (ListUserData *data) - } - - if (!user_get_cached (user)) { - g_debug ("user %s %ld not cached", name, (long) uid); - continue; - } - - g_debug ("user %s %ld not excluded", name, (long) uid); - g_ptr_array_add (object_paths, (gpointer) user_get_object_path (user)); - } - g_ptr_array_add (object_paths, NULL); - - accounts_accounts_complete_list_cached_users (NULL, data->context, (const gchar * const *) object_paths->pdata); - - list_user_data_free (data); - } - - static gboolean - daemon_list_cached_users (AccountsAccounts *accounts, - GDBusMethodInvocation *context) - { - Daemon *daemon = (Daemon *) accounts; - DaemonPrivate *priv = daemon_get_instance_private (daemon); - ListUserData *data; - - data = list_user_data_new (daemon, context); - - if (priv->reload_id > 0) { - /* reload pending -- finish call in reload_users_timeout */ - g_queue_push_tail (priv->pending_list_cached_users, data); -+ queue_reload_users (daemon); - } else { - finish_list_cached_users (data); - } - - return TRUE; - } - - static int - sort_languages (gconstpointer element_1, - gconstpointer element_2, - GHashTable *language_frequency_map) - { - const char *language_1 = *(const char **) element_1; - const char *language_2 = *(const char **) element_2; - int count_1, count_2; - - count_1 = GPOINTER_TO_INT (g_hash_table_lookup (language_frequency_map, language_1)); - count_2 = GPOINTER_TO_INT (g_hash_table_lookup (language_frequency_map, language_2)); - - if (count_2 == count_1) { - return strcmp (language_1, language_2); - } - - return count_2 - count_1; - } - - static gboolean - daemon_get_users_languages (AccountsAccounts *accounts, - GDBusMethodInvocation *context) - { --- -2.39.2 - From aed49581fd0ccfc2a051eeb1fd704dd93549f319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 1 Feb 2025 21:36:33 +0100 Subject: [PATCH 60/64] Add patch to use the reentrant interfaces of libxcrypt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Esser --- ...-reentrant-interfaces-of-crypt-_gens.patch | 111 ++++++++++++++++++ accountsservice.spec | 6 +- 2 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 0003-act-user-Use-the-reentrant-interfaces-of-crypt-_gens.patch diff --git a/0003-act-user-Use-the-reentrant-interfaces-of-crypt-_gens.patch b/0003-act-user-Use-the-reentrant-interfaces-of-crypt-_gens.patch new file mode 100644 index 0000000..3d36eee --- /dev/null +++ b/0003-act-user-Use-the-reentrant-interfaces-of-crypt-_gens.patch @@ -0,0 +1,111 @@ +From e050e4aa99818f7559ab48568ea6662dc4104317 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= +Date: Thu, 30 Jan 2025 12:36:21 +0100 +Subject: [PATCH 3/3] act-user: Use the reentrant interfaces of + crypt{,_gensalt}(3) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The crypt(3) function is known to clobber its static allocated internal +buffer when called multiple times consecutively or (especially) when +called in parallel (e.g. from independently operation threads), and +should generally not be used if a reentrant implementation exists. + +The reentrant interface, named crypt_rn(3), operates in the same way as +the well known crypt(3) function, but takes an extra parameter of +'struct crypt_data' which includes space for its result (among other +things), so applications can utilize the reentrant interface, in a way +each invocation of the crypt_rn(3) function will freely operate on their +own dedicated memory areas when hashing passphrases. + +The same applies for the crypt_gensalt(3) function, to which libxcrypt +offers a variety of reentrant interfaces as well. + +Also ensure the buffers in use are properly zeroized. + +Signed-off-by: Björn Esser +--- + src/libaccountsservice/act-user.c | 53 ++++++++----------------------- + 1 file changed, 13 insertions(+), 40 deletions(-) + +diff --git a/src/libaccountsservice/act-user.c b/src/libaccountsservice/act-user.c +index 77b7b2f..4fd2c62 100644 +--- a/src/libaccountsservice/act-user.c ++++ b/src/libaccountsservice/act-user.c +@@ -1748,51 +1748,22 @@ act_user_set_account_type (ActUser *user, + } + } + +-#ifdef HAVE_CRYPT_GENSALT + static gchar * +-generate_salt_for_crypt_hash (void) +-{ +- return g_strdup (crypt_gensalt (NULL, 0, NULL, 0)); +-} +-#else +-static const gchar +-salt_char (GRand *rand) ++make_crypted (const gchar *plain) + { +- const gchar salt[] = "ABCDEFGHIJKLMNOPQRSTUVXYZ" +- "abcdefghijklmnopqrstuvxyz" +- "./0123456789"; +- +- return salt[g_rand_int_range (rand, 0, G_N_ELEMENTS (salt))]; +-} ++ gchar *crypted = NULL; ++ g_autofree struct crypt_data *cd = NULL; + +-static gchar * +-generate_salt_for_crypt_hash (void) +-{ +- g_autoptr (GString) salt = NULL; +- g_autoptr (GRand) rand = NULL; +- gint i; ++ cd = g_malloc0 (sizeof (struct crypt_data)); + +- rand = g_rand_new (); +- salt = g_string_sized_new (21); ++ crypt_gensalt_rn (NULL, 0, NULL, 0, ++ cd->input, sizeof (cd->input)); ++ crypted = g_strdup (crypt_rn (plain, cd->input, ++ cd, sizeof (struct crypt_data))); + +- /* sha512crypt */ +- g_string_append (salt, "$6$"); +- for (i = 0; i < 16; i++) { +- g_string_append_c (salt, salt_char (rand)); +- } +- g_string_append_c (salt, '$'); ++ explicit_bzero (cd, sizeof (struct crypt_data)); + +- return g_strdup (salt->str); +-} +-#endif +- +-static gchar * +-make_crypted (const gchar *plain) +-{ +- g_autofree char *salt = NULL; +- +- salt = generate_salt_for_crypt_hash (); +- return g_strdup (crypt (plain, salt)); ++ return crypted; + } + + /** +@@ -1828,7 +1799,9 @@ act_user_set_password (ActUser *user, + &error)) { + g_warning ("SetPassword call failed: %s", error->message); + } +- memset (crypted, 0, strlen (crypted)); ++ if (crypted) { ++ explicit_bzero (crypted, strlen (crypted)); ++ } + } + + /** +-- +2.48.1 + diff --git a/accountsservice.spec b/accountsservice.spec index 56984bf..3d66dc1 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 23.13.9 -Release: 7%{?dist} +Release: 8%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPL-3.0-or-later URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -29,6 +29,7 @@ Requires: shadow-utils # https://bugzilla.redhat.com/show_bug.cgi?id=2185850 Patch10001: 0001-mocklibc-Fix-compiler-warning.patch Patch10002: 0002-user-manager-Fix-another-compiler-warning.patch +Patch10003: 0003-act-user-Use-the-reentrant-interfaces-of-crypt-_gens.patch %description The accountsservice project provides a set of D-Bus interfaces for @@ -115,6 +116,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Sat Feb 01 2025 Björn Esser - 23.13.9-8 +- Add patch to use the reentrant interfaces of libxcrypt + * Sat Feb 01 2025 Björn Esser - 23.13.9-7 - Add explicit BR: libxcrypt-devel From 1f25a53b2f262d67de70c22980640bd0304f5406 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 16:43:27 +0000 Subject: [PATCH 61/64] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- accountsservice.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/accountsservice.spec b/accountsservice.spec index 3d66dc1..a93443c 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 23.13.9 -Release: 8%{?dist} +Release: 9%{?dist} Summary: D-Bus interfaces for querying and manipulating user account information License: GPL-3.0-or-later URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -116,6 +116,9 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 23.13.9-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Sat Feb 01 2025 Björn Esser - 23.13.9-8 - Add patch to use the reentrant interfaces of libxcrypt From ff794108e56c9c033d8e35699f9f68157d6810f3 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 30 Oct 2025 20:01:31 +0100 Subject: [PATCH 62/64] Convert to %autorelease and %autochangelog ... using 'rpmautospec convert'. Escaping of RPM macros was removed from the 'changelog' file [1]. [1] https://docs.pagure.org/fedora-infra.rpmautospec/autochangelog.html https://fedora-infra.github.io/rpmautospec-docs/autochangelog.html [skip changelog] --- accountsservice.spec | 339 +------------------------------------------ changelog | 336 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 338 insertions(+), 337 deletions(-) create mode 100644 changelog diff --git a/accountsservice.spec b/accountsservice.spec index a93443c..812a9ad 100644 --- a/accountsservice.spec +++ b/accountsservice.spec @@ -1,6 +1,6 @@ Name: accountsservice Version: 23.13.9 -Release: 9%{?dist} +Release: %autorelease Summary: D-Bus interfaces for querying and manipulating user account information License: GPL-3.0-or-later URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -116,339 +116,4 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/accountsservice/interfaces/ %{_datadir}/vala/vapi/accountsservice.* %changelog -* Wed Jul 23 2025 Fedora Release Engineering - 23.13.9-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sat Feb 01 2025 Björn Esser - 23.13.9-8 -- Add patch to use the reentrant interfaces of libxcrypt - -* Sat Feb 01 2025 Björn Esser - 23.13.9-7 -- Add explicit BR: libxcrypt-devel - -* Thu Jan 16 2025 Fedora Release Engineering - 23.13.9-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Jul 17 2024 Fedora Release Engineering - 23.13.9-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jan 24 2024 Fedora Release Engineering - 23.13.9-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 23.13.9-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jul 19 2023 Fedora Release Engineering - 23.13.9-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Apr 11 2023 Ray Strode - 23.13.9-1 -- Update to 23.13.9 -- Fix C99 compile error - Resolves: #2185850 - -* Fri Mar 24 2023 Ray Strode - 23.11.69-2 -- Fix delay during boot for some users - Resolves: #2180768 - -* Wed Mar 15 2023 Ray Strode - 23.11.69-1 -- Update to 23.11.69 - -* Wed Jan 18 2023 Fedora Release Engineering - 22.08.8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Mon Sep 26 2022 Kalev Lember - 22.08.8-2 -- Rebuild - -* Sat Aug 27 2022 Leigh Scott - 22.08.8-1 -- Update to 22.08.8 - -* Tue Jul 26 2022 Tomas Popela - 0.6.55-11 -- Fix the build with meson 0.60+ - -* Wed Jul 20 2022 Fedora Release Engineering - 0.6.55-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jan 19 2022 Fedora Release Engineering - 0.6.55-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jul 21 2021 Fedora Release Engineering - 0.6.55-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jun 25 2021 Björn Esser - 0.6.55-7 -+ accountsservice-0.6.55-7 -- Add patch to use yescrypt for new user passwords, fixes rhbz#1976334 - -* Mon Jan 25 2021 Fedora Release Engineering - 0.6.55-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Sep 04 2020 Bastien Nocera - 0.6.55-5 -+ accountsservice-0.6.55-5 -- Own /usr/share/accountsservice - -* Fri Jul 31 2020 Fedora Release Engineering - 0.6.55-4 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 0.6.55-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jan 28 2020 Fedora Release Engineering - 0.6.55-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Sep 26 2019 Benjamin Berg - 0.6.55-1 -- Update to 0.6.55 - Resolves: #1755838 - -* Wed Jul 24 2019 Fedora Release Engineering - 0.6.54-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Jan 31 2019 Fedora Release Engineering - 0.6.54-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Jan 21 2019 Alexandru-Sever Horin - 0.6.54-4 -- Add patch from upstream to fix UID detection - Resolves: #1646418 - -* Thu Jan 17 2019 Adam Williamson - 0.6.54-3 -- Explicitly enable systemd support (#1576903) (Elliott Sales de Andrade) - -* Mon Jan 14 2019 Björn Esser - 0.6.54-2 -- Rebuilt for libcrypt.so.2 (#1666033) - -* Sat Sep 29 2018 Ray Strode - 0.6.54-1 -- Update to 0.6.54 - -* Thu Sep 27 2018 Ray Strode - 0.6.53-1 -- Update to 0.6.53 - -* Mon Sep 24 2018 Adam Williamson - 0.6.50-1 -- Update to 0.6.50, plus a couple of backported patches - Resolves: #1576903 - -* Thu Jul 12 2018 Fedora Release Engineering - 0.6.49-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu May 10 2018 Ray Strode - 0.6.49-1 -- Update to 0.6.49 (brown bag release) - -* Thu May 10 2018 Ray Strode - 0.6.48-1 -- Update to 0.6.48 - Resolves: #1575780 - -* Fri May 04 2018 Ray Strode - 0.6.47-2 -- fix crash on user deletion - Resolves: #1573550 - -* Tue Apr 24 2018 Ray Strode - 0.6.47-1 -- Update to 0.6.47 - -* Sat Apr 21 2018 Peter Robinson 0.4.46-1 -- Update to 0.6.46 -- Spec cleanup, use %%license - -* Wed Feb 07 2018 Fedora Release Engineering - 0.6.42-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sun Feb 04 2018 Igor Gnatenko - 0.6.42-8 -- Switch to %%ldconfig_scriptlets - -* Thu Jan 25 2018 Igor Gnatenko - 0.6.42-7 -- Fix systemd executions/requirements - -* Wed Jan 24 2018 Ray Strode - 0.6.42-6 -- Fix crash introduced by glibc/libxcrypt change - https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt - Resolves: #1538181 - -* Sat Jan 20 2018 Björn Esser - 0.6.42-5 -- Rebuilt for switch to libxcrypt - -* Wed Aug 02 2017 Fedora Release Engineering - 0.6.42-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 0.6.42-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Feb 10 2017 Fedora Release Engineering - 0.6.42-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Thu Jun 09 2016 Ray Strode - 0.6.42-1 -- Update to 0.6.42 -- Fixes systemd incompatibility - -* Tue May 31 2016 Ray Strode - 0.6.40-4 -- Don't create /root/.cache at startup - Resolves: #1331926 - -* Wed Feb 03 2016 Fedora Release Engineering - 0.6.40-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Tue Jun 16 2015 Fedora Release Engineering - 0.6.40-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Fri Jan 23 2015 Ray Strode 0.6.40-1 -- Update to 0.6.40 - -* Fri Oct 17 2014 Ray Strode 0.6.39-2 -- More ListCachedUsers race fixes (this time with SSSD) - Related: #1147504 - -* Thu Oct 16 2014 Ray Strode 0.6.39-1 -- Update to 0.6.39 -- Fixes ListCachedUsers race at startup - -* Thu Sep 18 2014 Stef Walter - 0.6.38-1 -- Update to 0.6.38 -- Fixes polkit policy rhbz#1094138 -- Remove dbus-glib-devel dependency, accountsservice uses gdbus now - -* Fri Aug 15 2014 Fedora Release Engineering - 0.6.37-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Tue Jul 22 2014 Kalev Lember - 0.6.37-2 -- Rebuilt for gobject-introspection 1.41.4 - -* Sat Jun 07 2014 Kalev Lember - 0.6.37-1 -- Update to 0.6.37, drop upstreamed patches - -* Sat Jun 07 2014 Fedora Release Engineering - 0.6.35-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Fri Jan 10 2014 Matthias Clasen - 0.6.35-4 -- Consistently call userdel with -f - -* Wed Nov 20 2013 Ray Strode 0.6.35-3 -- Only treat users < 1000 as system users -- only use user heuristics on the range 500-1000 - -* Mon Nov 11 2013 Ray Strode 0.6.35-2 -- pass --enable-user-heuristics which fedora needs so users - with UIDs less than 1000 show up in the user list. - -* Mon Oct 28 2013 Ray Strode 0.6.35-1 -- Update to 0.6.35 - Related: #1013721 - -* Sat Aug 03 2013 Fedora Release Engineering - 0.6.34-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Tue Jun 11 2013 Ray Strode 0.6.34-1 -- Update to 0.6.34 - -* Tue Jun 11 2013 Matthias Clasen - 0.6.33-1 -- Update to 0.6.33 - -* Tue May 14 2013 Matthias Clasen - 0.6.32-1 -- Update to 0.6.32 - -* Thu Apr 18 2013 Matthias Clasen - 0.6.31-2 -- Hardened build - -* Tue Apr 16 2013 Matthias Clasen - 0.6.31-1 -- Update to 0.6.31 - -* Wed Feb 13 2013 Fedora Release Engineering - 0.6.30-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Wed Jan 16 2013 Richard Hughes - 0.6.30-1 -- Update to 0.6.30 - -* Fri Nov 16 2012 Matthias Clasen - 0.6.26-1 -- Update to 0.6.26 - -* Tue Oct 2 2012 Matthias Clasen - 0.6.25-2 -- Update to 0.6.25 -- Use systemd scriptlets (#856649) - -* Wed Jul 18 2012 Fedora Release Engineering - 0.6.22-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sat Jul 14 2012 Ville Skyttä - 0.6.22-2 -- Add ldconfig scriptlets to -libs. - -* Thu Jun 28 2012 Ray Strode 0.6.22-1 -- Update to 0.6.22. -- Fixes CVE-2012-2737 - local file disclosure - Related: #832532 - -* Thu May 30 2012 Matthias Clasen 0.6.21-1 -- Update to 0.6.21 - -* Fri May 04 2012 Ray Strode 0.6.20-1 -- Update to 0.6.20. Should fix user list. - Related: #814690 - -* Thu May 03 2012 Ray Strode 0.6.19-1 -- Update to 0.6.19 - Allows user deletion of logged in users - Related: #814690 - -* Wed Apr 11 2012 Matthias Clasen - 0.6.18-1 -- Update to 0.6.18 - -* Tue Mar 27 2012 Ray Strode 0.6.17-1 -- Update to latest release - -* Sun Mar 4 2012 Peter Robinson - 0.6.15-4 -- Fix unitdir with usrmove - -* Thu Jan 12 2012 Fedora Release Engineering - 0.6.15-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Tue Nov 29 2011 Matthias Clasen 0.6.15-2 -- Make resetting user icons work -- Update to 0.6.15 -- Fixes session chooser at login screen when logged into vt - -* Wed Sep 21 2011 Ray Strode 0.6.14-2 -- Fix wtmp loading so users coming from the network are - remembered in the user list in subsequent boots - -* Wed Sep 21 2011 Ray Strode 0.6.14-1 -- Update to 0.6.14 - -* Sun Sep 4 2011 Matthias Clasen - 0.6.13-3 -- Fix fast user switching - -* Mon Aug 15 2011 Kalev Lember - 0.6.13-2 -- Rebuilt for rpm bug #728707 - -* Tue Jul 19 2011 Matthias Clasen - 0.6.13-1 -- Update to 0.6.13 -- Drop ConsoleKit dependency - -* Mon Jun 06 2011 Ray Strode 0.6.12-1 -- Update to latest release - -* Wed May 18 2011 Matthias Clasen 0.6.11-1 -- Update to 0.6.11 - -* Mon Feb 07 2011 Fedora Release Engineering - 0.6.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Wed Feb 02 2011 Ray Strode 0.6.3-1 -- Update to 0.6.3 - -* Thu Jan 27 2011 Matthias Clasen 0.6.2-1 -- Update to 0.6.2 - -* Wed Jul 21 2010 Matthias Clasen 0.6.1-1 -- Update to 0.6.1 -- Install systemd unit file - -* Mon Apr 5 2010 Matthias Clasen 0.6-2 -- Always emit changed signal on icon change - -* Tue Mar 30 2010 Matthias Clasen 0.6-1 -- Update to 0.6 - -* Mon Mar 22 2010 Matthias Clasen 0.5-1 -- Update to 0.5 - -* Mon Feb 22 2010 Bastien Nocera 0.4-3 -- Fix directory ownership - -* Mon Feb 22 2010 Bastien Nocera 0.4-2 -- Add missing directories to the filelist - -* Fri Jan 29 2010 Matthias Clasen 0.4-1 -- Initial packaging, based on work by Richard Hughes +%autochangelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..d744908 --- /dev/null +++ b/changelog @@ -0,0 +1,336 @@ +* Wed Jul 23 2025 Fedora Release Engineering - 23.13.9-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Feb 01 2025 Björn Esser - 23.13.9-8 +- Add patch to use the reentrant interfaces of libxcrypt + +* Sat Feb 01 2025 Björn Esser - 23.13.9-7 +- Add explicit BR: libxcrypt-devel + +* Thu Jan 16 2025 Fedora Release Engineering - 23.13.9-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Jul 17 2024 Fedora Release Engineering - 23.13.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 23.13.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 23.13.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 23.13.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Apr 11 2023 Ray Strode - 23.13.9-1 +- Update to 23.13.9 +- Fix C99 compile error + Resolves: #2185850 + +* Fri Mar 24 2023 Ray Strode - 23.11.69-2 +- Fix delay during boot for some users + Resolves: #2180768 + +* Wed Mar 15 2023 Ray Strode - 23.11.69-1 +- Update to 23.11.69 + +* Wed Jan 18 2023 Fedora Release Engineering - 22.08.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Sep 26 2022 Kalev Lember - 22.08.8-2 +- Rebuild + +* Sat Aug 27 2022 Leigh Scott - 22.08.8-1 +- Update to 22.08.8 + +* Tue Jul 26 2022 Tomas Popela - 0.6.55-11 +- Fix the build with meson 0.60+ + +* Wed Jul 20 2022 Fedora Release Engineering - 0.6.55-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 0.6.55-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 0.6.55-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 25 2021 Björn Esser - 0.6.55-7 ++ accountsservice-0.6.55-7 +- Add patch to use yescrypt for new user passwords, fixes rhbz#1976334 + +* Mon Jan 25 2021 Fedora Release Engineering - 0.6.55-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Sep 04 2020 Bastien Nocera - 0.6.55-5 ++ accountsservice-0.6.55-5 +- Own /usr/share/accountsservice + +* Fri Jul 31 2020 Fedora Release Engineering - 0.6.55-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 0.6.55-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 0.6.55-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Sep 26 2019 Benjamin Berg - 0.6.55-1 +- Update to 0.6.55 + Resolves: #1755838 + +* Wed Jul 24 2019 Fedora Release Engineering - 0.6.54-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 0.6.54-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 21 2019 Alexandru-Sever Horin - 0.6.54-4 +- Add patch from upstream to fix UID detection + Resolves: #1646418 + +* Thu Jan 17 2019 Adam Williamson - 0.6.54-3 +- Explicitly enable systemd support (#1576903) (Elliott Sales de Andrade) + +* Mon Jan 14 2019 Björn Esser - 0.6.54-2 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Sat Sep 29 2018 Ray Strode - 0.6.54-1 +- Update to 0.6.54 + +* Thu Sep 27 2018 Ray Strode - 0.6.53-1 +- Update to 0.6.53 + +* Mon Sep 24 2018 Adam Williamson - 0.6.50-1 +- Update to 0.6.50, plus a couple of backported patches + Resolves: #1576903 + +* Thu Jul 12 2018 Fedora Release Engineering - 0.6.49-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu May 10 2018 Ray Strode - 0.6.49-1 +- Update to 0.6.49 (brown bag release) + +* Thu May 10 2018 Ray Strode - 0.6.48-1 +- Update to 0.6.48 + Resolves: #1575780 + +* Fri May 04 2018 Ray Strode - 0.6.47-2 +- fix crash on user deletion + Resolves: #1573550 + +* Tue Apr 24 2018 Ray Strode - 0.6.47-1 +- Update to 0.6.47 + +* Sat Apr 21 2018 Peter Robinson 0.4.46-1 +- Update to 0.6.46 +- Spec cleanup, use %license + +* Wed Feb 07 2018 Fedora Release Engineering - 0.6.42-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Feb 04 2018 Igor Gnatenko - 0.6.42-8 +- Switch to %ldconfig_scriptlets + +* Thu Jan 25 2018 Igor Gnatenko - 0.6.42-7 +- Fix systemd executions/requirements + +* Wed Jan 24 2018 Ray Strode - 0.6.42-6 +- Fix crash introduced by glibc/libxcrypt change + https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt + Resolves: #1538181 + +* Sat Jan 20 2018 Björn Esser - 0.6.42-5 +- Rebuilt for switch to libxcrypt + +* Wed Aug 02 2017 Fedora Release Engineering - 0.6.42-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.6.42-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0.6.42-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jun 09 2016 Ray Strode - 0.6.42-1 +- Update to 0.6.42 +- Fixes systemd incompatibility + +* Tue May 31 2016 Ray Strode - 0.6.40-4 +- Don't create /root/.cache at startup + Resolves: #1331926 + +* Wed Feb 03 2016 Fedora Release Engineering - 0.6.40-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jun 16 2015 Fedora Release Engineering - 0.6.40-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Jan 23 2015 Ray Strode 0.6.40-1 +- Update to 0.6.40 + +* Fri Oct 17 2014 Ray Strode 0.6.39-2 +- More ListCachedUsers race fixes (this time with SSSD) + Related: #1147504 + +* Thu Oct 16 2014 Ray Strode 0.6.39-1 +- Update to 0.6.39 +- Fixes ListCachedUsers race at startup + +* Thu Sep 18 2014 Stef Walter - 0.6.38-1 +- Update to 0.6.38 +- Fixes polkit policy rhbz#1094138 +- Remove dbus-glib-devel dependency, accountsservice uses gdbus now + +* Fri Aug 15 2014 Fedora Release Engineering - 0.6.37-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jul 22 2014 Kalev Lember - 0.6.37-2 +- Rebuilt for gobject-introspection 1.41.4 + +* Sat Jun 07 2014 Kalev Lember - 0.6.37-1 +- Update to 0.6.37, drop upstreamed patches + +* Sat Jun 07 2014 Fedora Release Engineering - 0.6.35-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Jan 10 2014 Matthias Clasen - 0.6.35-4 +- Consistently call userdel with -f + +* Wed Nov 20 2013 Ray Strode 0.6.35-3 +- Only treat users < 1000 as system users +- only use user heuristics on the range 500-1000 + +* Mon Nov 11 2013 Ray Strode 0.6.35-2 +- pass --enable-user-heuristics which fedora needs so users + with UIDs less than 1000 show up in the user list. + +* Mon Oct 28 2013 Ray Strode 0.6.35-1 +- Update to 0.6.35 + Related: #1013721 + +* Sat Aug 03 2013 Fedora Release Engineering - 0.6.34-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jun 11 2013 Ray Strode 0.6.34-1 +- Update to 0.6.34 + +* Tue Jun 11 2013 Matthias Clasen - 0.6.33-1 +- Update to 0.6.33 + +* Tue May 14 2013 Matthias Clasen - 0.6.32-1 +- Update to 0.6.32 + +* Thu Apr 18 2013 Matthias Clasen - 0.6.31-2 +- Hardened build + +* Tue Apr 16 2013 Matthias Clasen - 0.6.31-1 +- Update to 0.6.31 + +* Wed Feb 13 2013 Fedora Release Engineering - 0.6.30-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jan 16 2013 Richard Hughes - 0.6.30-1 +- Update to 0.6.30 + +* Fri Nov 16 2012 Matthias Clasen - 0.6.26-1 +- Update to 0.6.26 + +* Tue Oct 2 2012 Matthias Clasen - 0.6.25-2 +- Update to 0.6.25 +- Use systemd scriptlets (#856649) + +* Wed Jul 18 2012 Fedora Release Engineering - 0.6.22-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jul 14 2012 Ville Skyttä - 0.6.22-2 +- Add ldconfig scriptlets to -libs. + +* Thu Jun 28 2012 Ray Strode 0.6.22-1 +- Update to 0.6.22. +- Fixes CVE-2012-2737 - local file disclosure + Related: #832532 + +* Thu May 30 2012 Matthias Clasen 0.6.21-1 +- Update to 0.6.21 + +* Fri May 04 2012 Ray Strode 0.6.20-1 +- Update to 0.6.20. Should fix user list. + Related: #814690 + +* Thu May 03 2012 Ray Strode 0.6.19-1 +- Update to 0.6.19 + Allows user deletion of logged in users + Related: #814690 + +* Wed Apr 11 2012 Matthias Clasen - 0.6.18-1 +- Update to 0.6.18 + +* Tue Mar 27 2012 Ray Strode 0.6.17-1 +- Update to latest release + +* Sun Mar 4 2012 Peter Robinson - 0.6.15-4 +- Fix unitdir with usrmove + +* Thu Jan 12 2012 Fedora Release Engineering - 0.6.15-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Nov 29 2011 Matthias Clasen 0.6.15-2 +- Make resetting user icons work +- Update to 0.6.15 +- Fixes session chooser at login screen when logged into vt + +* Wed Sep 21 2011 Ray Strode 0.6.14-2 +- Fix wtmp loading so users coming from the network are + remembered in the user list in subsequent boots + +* Wed Sep 21 2011 Ray Strode 0.6.14-1 +- Update to 0.6.14 + +* Sun Sep 4 2011 Matthias Clasen - 0.6.13-3 +- Fix fast user switching + +* Mon Aug 15 2011 Kalev Lember - 0.6.13-2 +- Rebuilt for rpm bug #728707 + +* Tue Jul 19 2011 Matthias Clasen - 0.6.13-1 +- Update to 0.6.13 +- Drop ConsoleKit dependency + +* Mon Jun 06 2011 Ray Strode 0.6.12-1 +- Update to latest release + +* Wed May 18 2011 Matthias Clasen 0.6.11-1 +- Update to 0.6.11 + +* Mon Feb 07 2011 Fedora Release Engineering - 0.6.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Feb 02 2011 Ray Strode 0.6.3-1 +- Update to 0.6.3 + +* Thu Jan 27 2011 Matthias Clasen 0.6.2-1 +- Update to 0.6.2 + +* Wed Jul 21 2010 Matthias Clasen 0.6.1-1 +- Update to 0.6.1 +- Install systemd unit file + +* Mon Apr 5 2010 Matthias Clasen 0.6-2 +- Always emit changed signal on icon change + +* Tue Mar 30 2010 Matthias Clasen 0.6-1 +- Update to 0.6 + +* Mon Mar 22 2010 Matthias Clasen 0.5-1 +- Update to 0.5 + +* Mon Feb 22 2010 Bastien Nocera 0.4-3 +- Fix directory ownership + +* Mon Feb 22 2010 Bastien Nocera 0.4-2 +- Add missing directories to the filelist + +* Fri Jan 29 2010 Matthias Clasen 0.4-1 +- Initial packaging, based on work by Richard Hughes From 94c4c867a591a9dda979967ddc9d9381d3e625ea Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 19 Nov 2025 16:13:58 +0100 Subject: [PATCH 63/64] Restore escaped RPM macros in 'changelog' file The %autochangelog documentation was wrong about not escaping RPM macros in the 'changelog' file [1]. This reverts parts of commit ff794108e56c9c033d8e35699f9f68157d6810f3. [1] https://docs.pagure.org/fedora-infra.rpmautospec/autochangelog.html https://fedora-infra.github.io/rpmautospec-docs/autochangelog.html https://github.com/fedora-infra/rpmautospec/issues/360 [skip changelog] --- changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/changelog b/changelog index d744908..15ec2b4 100644 --- a/changelog +++ b/changelog @@ -125,13 +125,13 @@ * Sat Apr 21 2018 Peter Robinson 0.4.46-1 - Update to 0.6.46 -- Spec cleanup, use %license +- Spec cleanup, use %%license * Wed Feb 07 2018 Fedora Release Engineering - 0.6.42-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Sun Feb 04 2018 Igor Gnatenko - 0.6.42-8 -- Switch to %ldconfig_scriptlets +- Switch to %%ldconfig_scriptlets * Thu Jan 25 2018 Igor Gnatenko - 0.6.42-7 - Fix systemd executions/requirements From e30086dfa43638348a9e6e35f29bd2f16574ab43 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 16 Jan 2026 03:24:50 +0000 Subject: [PATCH 64/64] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild