diff --git a/SOURCES/0001-data-don-t-send-change-updates-for-login-history.patch b/SOURCES/0001-data-don-t-send-change-updates-for-login-history.patch new file mode 100644 index 0000000..c17836b --- /dev/null +++ b/SOURCES/0001-data-don-t-send-change-updates-for-login-history.patch @@ -0,0 +1,88 @@ +From efaf411c9159364c248fc44ccc6d6403875665a2 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Thu, 9 May 2019 14:58:34 -0400 +Subject: [PATCH] data: don't send change updates for login-history + +The login-history property of user objects can be quite large. +If wtmp is changed frequently, that can lead to memory fragmentation +in clients. + +Furthermore, most clients never check login-history, so it's +wasted memory and wasted cpu. + +This commit disables change notification for that property. If +a client really needs to get updates, they can manually refresh +their cache when appropriate. +--- + data/org.freedesktop.Accounts.User.xml | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/data/org.freedesktop.Accounts.User.xml b/data/org.freedesktop.Accounts.User.xml +index 4ab989a..bf0d60b 100644 +--- a/data/org.freedesktop.Accounts.User.xml ++++ b/data/org.freedesktop.Accounts.User.xml +@@ -682,60 +682,61 @@ + + + + The users location. + + + + + + + + + + How often the user has logged in. + + + + + + + + + + The last login time. + + + + + + ++ + + + + The login history for this user. + Each entry in the array represents a login session. The first two + members are the login time and logout time, as timestamps (seconds since the epoch). If the session is still running, the logout time + is 0. + + + The a{sv} member is a dictionary containing additional information + about the session. Possible members include 'type' (with values like ':0', 'tty0', 'pts/0' etc). + + + + + + + + + + The filename of a png file containing the users icon. + + + + + + + + + +-- +2.21.0 + diff --git a/SPECS/accountsservice.spec b/SPECS/accountsservice.spec index e65eb2f..dd96260 100644 --- a/SPECS/accountsservice.spec +++ b/SPECS/accountsservice.spec @@ -2,7 +2,7 @@ Name: accountsservice Version: 0.6.50 -Release: 2%{?dist} +Release: 4%{?dist}.1 Summary: D-Bus interfaces for querying and manipulating user account information License: GPLv3+ URL: https://www.freedesktop.org/wiki/Software/AccountsService/ @@ -24,6 +24,8 @@ Requires: shadow-utils Patch0: 0001-lib-don-t-set-loaded-state-until-seat-is-fetched.patch +Patch10001: 0001-data-don-t-send-change-updates-for-login-history.patch + %description The accountsservice project provides a set of D-Bus interfaces for querying and manipulating user account information and an implementation @@ -101,6 +103,10 @@ rm $RPM_BUILD_ROOT%{_libdir}/*.a %{_datadir}/gtk-doc/html/libaccountsservice/* %changelog +* Fri May 10 2019 Ray Strode - 0.6.50-4.1 +- Don't send change updates for login-history + Resolves: #1709190 + * Thu Jul 19 2018 Ray Strode - 0.6.50-2 - Fix user switching Resolves: #1597350