Accepting request 617169 from GNOME:Factory

Note: Depends on polkit-default-privs sub in staging C - so please add it to that one.

- Add accountsservice-missing-users-on-gdm-login.patch: Don't abort
  loading users when an /etc/shadow entry found missing
  (boo#1090003 fdo#106904).
- Update to version 0.6.49:
  + Fix crash on startup from previous compiler warning fix.
- Changes from version 0.6.48:
  + Fix crashes when adding admin user and when user is removed.
  + Performance improvements handling really large wtmp files.
- Changes from version 0.6.47:
  + Fix problem where libaccountsservice users weren't getting
    property change updates.
  + Reduce memory usage of cached users in daemon process.
  + Drop premature user-added/user-removed signals that erroneously
    get emitted before ListCachedUsers call finishes.
- Update to version 0.6.46:
  + Fix systemd unit file to use default standard output;
  + Performance improvements;
  + Leak fixes;
  + Crash fixes;
  + Support extra groups for admin users;
  + Add policy that allows admins to allow users to change their
    own password;
  + Introspection fixes;
  + Elogind support;
  + Decruftification of username blacklist;
  + Updated translations.
- Add:
  + gio-2.0 and gio-unix-2.0 pkgconfig modules BuildRequires to
    avoid implicit dependencies.
  + xmlto and xsltproc BuildRequires to enable documentation.
- Drop remove-no-longer-used-system-accounts.patch: fixed upstream.
- Rebase patches:
  + accountsservice-sysconfig.patch and
  + accountsservice-filter-suse-accounts.patch.

OBS-URL: https://build.opensuse.org/request/show/617169
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/accountsservice?expand=0&rev=58
This commit is contained in:
Yuchen Lin 2018-06-19 09:53:54 +00:00 committed by Git OBS Bridge
commit 112486e4f6
8 changed files with 114 additions and 38 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fb0fc293aa75d59f5ef5db719d37a21831c4dd74a97526ee7e51ce936311ef26
size 382740

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:251e5dd56db839e9470d97692ef6e5e07dc659196f27b65b228a3e14f46e560c
size 384108

View File

@ -2,7 +2,7 @@ Index: accountsservice-0.6.37/src/user-classify.c
=================================================================== ===================================================================
--- accountsservice-0.6.37.orig/src/user-classify.c --- accountsservice-0.6.37.orig/src/user-classify.c
+++ accountsservice-0.6.37/src/user-classify.c +++ accountsservice-0.6.37/src/user-classify.c
@@ -53,7 +53,13 @@ static const char *default_excludes[] = @@ -51,7 +51,13 @@ static const char *default_excludes[] =
"man", "man",
"at", "at",
"gdm", "gdm",

View File

@ -0,0 +1,36 @@
From c9503bcb40c21da08b7938279117d68ec37ac1f1 Mon Sep 17 00:00:00 2001
From: Felix Zhang <fezhang@suse.com>
Date: Wed, 13 Jun 2018 11:05:52 +0800
Subject: [PATCH] daemon: don't abort loading users even if missing shadow
entries
Some system accounts, e.g. sshd have no entries in /etc/shadow
because they are created prior to /etc/shadow and have no passwords.
Right now load_entries aborts iterating through /etc/passwd entries
if it fails to find the corresponding /etc/shadow entry, ignoring
all the users behind it, making those users missing from the gdm
login screen user list.
https://bugs.freedesktop.org/show_bug.cgi?id=106904
---
src/daemon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/daemon.c b/src/daemon.c
index e711a46..2851ed6 100644
--- a/src/daemon.c
+++ b/src/daemon.c
@@ -235,8 +235,8 @@ entry_generator_fgetpwent (Daemon *daemon,
if (shadow_entry_buffers != NULL) {
*spent = &shadow_entry_buffers->spbuf;
- return pwent;
}
+ return pwent;
}
}
--
2.13.7

View File

@ -21,7 +21,7 @@ Index: accountsservice-0.6.37/src/daemon.c
=================================================================== ===================================================================
--- accountsservice-0.6.37.orig/src/daemon.c --- accountsservice-0.6.37.orig/src/daemon.c
+++ accountsservice-0.6.37/src/daemon.c +++ accountsservice-0.6.37/src/daemon.c
@@ -44,6 +44,7 @@ @@ -47,6 +47,7 @@
#include "wtmp-helper.h" #include "wtmp-helper.h"
#include "daemon.h" #include "daemon.h"
#include "util.h" #include "util.h"
@ -29,16 +29,16 @@ Index: accountsservice-0.6.37/src/daemon.c
#define PATH_PASSWD "/etc/passwd" #define PATH_PASSWD "/etc/passwd"
#define PATH_SHADOW "/etc/shadow" #define PATH_SHADOW "/etc/shadow"
@@ -376,7 +377,7 @@ reload_autologin_timeout (Daemon *daemon @@ -560,7 +561,7 @@ reload_autologin_timeout (Daemon *daemon
daemon->priv->autologin_id = 0; daemon->priv->autologin_id = 0;
if (!load_autologin (daemon, &name, &enabled, &error)) { if (!load_autologin (daemon, &name, &enabled, &error)) {
- g_debug ("failed to load gdms custom.conf: %s", error->message); - g_debug ("failed to load gdms custom.conf: %s", error->message);
+ g_debug ("failed to load autologin config: %s", error->message); + g_debug ("failed to load autologin config: %s", error->message);
g_error_free (error); return FALSE;
g_free (name); }
@@ -1272,6 +1273,43 @@ daemon_local_check_auth (Daemon @@ -1434,6 +1435,43 @@ daemon_local_check_auth (Daemon
g_object_unref (subject); g_object_unref (subject);
} }
@ -82,17 +82,17 @@ Index: accountsservice-0.6.37/src/daemon.c
gboolean gboolean
load_autologin (Daemon *daemon, load_autologin (Daemon *daemon,
gchar **name, gchar **name,
@@ -1282,6 +1320,8 @@ load_autologin (Daemon *daemon, @@ -1444,6 +1482,8 @@ load_autologin (Daemon *daemon,
GError *local_error; GError *local_error = NULL;
gchar *string; g_autofree gchar *string = NULL;
+ return load_autologin_suse (daemon, name, enabled, error); + return load_autologin_suse (daemon, name, enabled, error);
+ +
keyfile = g_key_file_new (); keyfile = g_key_file_new ();
if (!g_key_file_load_from_file (keyfile, if (!g_key_file_load_from_file (keyfile,
PATH_GDM_CUSTOM, PATH_GDM_CUSTOM,
@@ -1329,6 +1369,8 @@ save_autologin (Daemon *daemon, @@ -1483,6 +1523,8 @@ save_autologin (Daemon *daemon,
gchar *data; g_autofree gchar *data = NULL;
gboolean result; gboolean result;
+ return save_autologin_suse (daemon, name, enabled, error); + return save_autologin_suse (daemon, name, enabled, error);

View File

@ -1,3 +1,49 @@
-------------------------------------------------------------------
Wed Jun 13 06:00:22 UTC 2018 - fezhang@suse.com
- Add accountsservice-missing-users-on-gdm-login.patch: Don't abort
loading users when an /etc/shadow entry found missing
(boo#1090003 fdo#106904).
-------------------------------------------------------------------
Sun May 13 23:59:22 UTC 2018 - luc14n0@linuxmail.org
- Update to version 0.6.49:
+ Fix crash on startup from previous compiler warning fix.
- Changes from version 0.6.48:
+ Fix crashes when adding admin user and when user is removed.
+ Performance improvements handling really large wtmp files.
- Changes from version 0.6.47:
+ Fix problem where libaccountsservice users weren't getting
property change updates.
+ Reduce memory usage of cached users in daemon process.
+ Drop premature user-added/user-removed signals that erroneously
get emitted before ListCachedUsers call finishes.
-------------------------------------------------------------------
Fri Apr 6 02:43:51 UTC 2018 - luc14n0@linuxmail.org
- Update to version 0.6.46:
+ Fix systemd unit file to use default standard output;
+ Performance improvements;
+ Leak fixes;
+ Crash fixes;
+ Support extra groups for admin users;
+ Add policy that allows admins to allow users to change their
own password;
+ Introspection fixes;
+ Elogind support;
+ Decruftification of username blacklist;
+ Updated translations.
- Add:
+ gio-2.0 and gio-unix-2.0 pkgconfig modules BuildRequires to
avoid implicit dependencies.
+ xmlto and xsltproc BuildRequires to enable documentation.
- Drop remove-no-longer-used-system-accounts.patch: fixed upstream.
- Rebase patches:
+ accountsservice-sysconfig.patch and
+ accountsservice-filter-suse-accounts.patch.
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Feb 28 16:22:37 UTC 2018 - dimstar@opensuse.org Wed Feb 28 16:22:37 UTC 2018 - dimstar@opensuse.org

View File

@ -17,30 +17,37 @@
Name: accountsservice Name: accountsservice
Version: 0.6.45 Version: 0.6.49
Release: 0 Release: 0
Summary: D-Bus Service to Manipulate User Account Information Summary: D-Bus Service to Manipulate User Account Information
License: GPL-3.0-or-later License: GPL-3.0-or-later
Group: System/Daemons Group: System/Daemons
URL: http://www.freedesktop.org/wiki/Software/AccountsService/ URL: http://www.freedesktop.org/wiki/Software/AccountsService/
Source: http://www.freedesktop.org/software/accountsservice/%{name}-%{version}.tar.xz Source: http://www.freedesktop.org/software/accountsservice/%{name}-%{version}.tar.xz
# WARNING: do not remove/significantly change patch0 without updating the relevant patch in gdm too # WARNING: do not remove/significantly change patch0 without updating the relevant patch in gdm too
# PATCH-FIX-OPENSUSE accountsservice-sysconfig.patch bnc#688071 vuntz@opensuse.org -- Read/write autologin configuration from sysconfig, like gdm (see gdm-sysconfig-settings.patch) # PATCH-FIX-OPENSUSE accountsservice-sysconfig.patch bnc#688071 vuntz@opensuse.org -- Read/write autologin configuration from sysconfig, like gdm (see gdm-sysconfig-settings.patch)
Patch0: accountsservice-sysconfig.patch Patch0: accountsservice-sysconfig.patch
# PATCH-FIX-OPENSUSE accountsservice-filter-suse-accounts.patch vuntz@opensuse.org -- Filter out some system users that are specific to openSUSE # PATCH-FIX-OPENSUSE accountsservice-filter-suse-accounts.patch vuntz@opensuse.org -- Filter out some system users that are specific to openSUSE
Patch1: accountsservice-filter-suse-accounts.patch Patch1: accountsservice-filter-suse-accounts.patch
# PATCH-FIX-UPSTREAM accountsservice-missing-users-on-gdm-login.patch boo#1090003 fdo#106904 fezhang@suse.com -- Don't abort loading users when an /etc/shadow entry found missing
Patch2: accountsservice-missing-users-on-gdm-login.patch
## SLE-only patches start at 1000
# PATCH-FEATURE-SLE as-fate318433-prevent-same-account-multi-logins.patch fate#318433 cxiong@suse.com -- prevent multiple simultaneous login. # PATCH-FEATURE-SLE as-fate318433-prevent-same-account-multi-logins.patch fate#318433 cxiong@suse.com -- prevent multiple simultaneous login.
Patch2: as-fate318433-prevent-same-account-multi-logins.patch Patch1000: as-fate318433-prevent-same-account-multi-logins.patch
# PATCH-FIX-UPSTREAM remove-no-longer-used-system-accounts.patch bsc#1063794 fdo#103879 qzheng@suse.com -- drop operator, nobody4 and noaccess from the blacklist.
Patch3: remove-no-longer-used-system-accounts.patch
# needed for patch0 # needed for patch0
BuildRequires: gnome-common BuildRequires: gnome-common
BuildRequires: gobject-introspection-devel BuildRequires: gobject-introspection-devel >= 0.40.0
BuildRequires: intltool BuildRequires: intltool
BuildRequires: pkgconfig BuildRequires: pkgconfig
# needed for patch0 # needed for patch0
BuildRequires: vala BuildRequires: vala
BuildRequires: pkgconfig(glib-2.0) BuildRequires: xmlto
BuildRequires: xsltproc
BuildRequires: pkgconfig(gio-2.0) >= 2.37.3
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.44
BuildRequires: pkgconfig(libsystemd) >= 186 BuildRequires: pkgconfig(libsystemd) >= 186
BuildRequires: pkgconfig(polkit-gobject-1) BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(systemd)
@ -93,9 +100,10 @@ querying and manipulating user account information.
%setup -q %setup -q
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%patch3 -p1
%if !0%{?is_opensuse}
%patch2 -p1 %patch2 -p1
# Sle-only patches start at 1000
%if !0%{?is_opensuse}
%patch1000 -p1
%endif %endif
%build %build
@ -128,7 +136,7 @@ find %{buildroot} -type f -name "*.la" -delete -print
%files %files
%license COPYING %license COPYING
%doc AUTHORS NEWS README %doc NEWS README
%{_unitdir}/accounts-daemon.service %{_unitdir}/accounts-daemon.service
%{_sysconfdir}/dbus-1/system.d/org.freedesktop.Accounts.conf %{_sysconfdir}/dbus-1/system.d/org.freedesktop.Accounts.conf
%{_libexecdir}/accounts-daemon %{_libexecdir}/accounts-daemon
@ -148,6 +156,7 @@ find %{buildroot} -type f -name "*.la" -delete -print
%{_libdir}/girepository-1.0/AccountsService-1.0.typelib %{_libdir}/girepository-1.0/AccountsService-1.0.typelib
%files devel %files devel
%doc AUTHORS TODO
%doc %{_datadir}/gtk-doc/html/lib%{name}/ %doc %{_datadir}/gtk-doc/html/lib%{name}/
%{_libdir}/*.so %{_libdir}/*.so
%{_libdir}/pkgconfig/accountsservice.pc %{_libdir}/pkgconfig/accountsservice.pc

View File

@ -1,15 +0,0 @@
diff --git a/src/user-classify.c b/src/user-classify.c
index 9b4af06..4b3fdd1 100644
--- a/src/user-classify.c
+++ b/src/user-classify.c
@@ -39,10 +39,7 @@ static const char *default_excludes[] = {
"mail",
"news",
"uucp",
- "operator",
"nobody",
- "nobody4",
- "noaccess",
"postgres",
"pvm",
"rpm",