From 855551b3397bb5201d00e5b1f8879a95e5bb5999 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 20:52:46 +0000 Subject: [PATCH 01/25] - 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 02/25] 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 03/25] 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 04/25] 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 05/25] 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 06/25] 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 07/25] 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 08/25] 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 09/25] 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 10/25] 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 11/25] 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 12/25] 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 13/25] 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 14/25] 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 15/25] 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 16/25] 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 17/25] 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 18/25] 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 19/25] 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 20/25] 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 21/25] 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 22/25] 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 23/25] 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 24/25] 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 25/25] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild