Update to usermode-1.114

This commit is contained in:
Jiri Kucera 2021-05-05 02:04:28 +02:00
parent aa53392b50
commit 76346b911b
4 changed files with 27 additions and 59 deletions

1
.gitignore vendored
View File

@ -9,3 +9,4 @@ usermode-1.105.tar.xz
/usermode-1.112.tar.xz /usermode-1.112.tar.xz
/usermode-1.112.autotoolized.tar.xz /usermode-1.112.autotoolized.tar.xz
/usermode-1.113.tar.xz /usermode-1.113.tar.xz
/usermode-1.114.tar.xz

View File

@ -1,49 +0,0 @@
diff --git a/userhelper.c b/userhelper.c
index 4177c89..f2afde7 100644
--- a/userhelper.c
+++ b/userhelper.c
@@ -48,8 +48,6 @@
#ifdef WITH_SELINUX
#include <selinux/selinux.h>
-#include <selinux/flask.h>
-#include <selinux/av_permissions.h>
#endif
#include "shvar.h"
@@ -111,7 +109,7 @@ static int checkAccess(unsigned int selaccess) {
struct av_decision avd;
int retval = security_compute_av(user_context,
user_context,
- SECCLASS_PASSWD,
+ string_to_security_class("passwd"),
selaccess,
&avd);
@@ -2267,7 +2265,8 @@ main(int argc, char **argv)
const char *new_home_phone;
const char *new_shell;
#ifdef WITH_SELINUX
- unsigned perm;
+ security_class_t class;
+ access_vector_t perm;
#endif
/* State variable we pass around. */
@@ -2426,12 +2425,13 @@ main(int argc, char **argv)
user_name = g_strdup(argv[optind]);
#ifdef WITH_SELINUX
+ class = string_to_security_class("passwd");
if (c_flag)
- perm = PASSWD__PASSWD;
+ perm = string_to_av_perm(class, "passwd");
else if (s_flag)
- perm = PASSWD__CHSH;
+ perm = string_to_av_perm(class, "chsh");
else
- perm = PASSWD__CHFN;
+ perm = string_to_av_perm(class, "chfn");
if (is_selinux_enabled() > 0 &&
checkAccess(perm)!= 0) {

View File

@ -1 +1 @@
SHA512 (usermode-1.113.tar.xz) = 0653da8cff94b86bd67ca1bed50bb77a929f5da1c047e6c627273fc319cc3bf6df7c5af1b5be160b2068632199d194bd00bcf43f702927a34b884149800c7f21 SHA512 (usermode-1.114.tar.xz) = 703eb218704c7a11cdce25a71f4fc91bf4f042a8b185f79f3954699081c0db8a6234ad6f11738d8b2fe6a492a03d029cbe01762a47869edc473e4fbaa6e0ee32

View File

@ -1,26 +1,31 @@
# Add `--without gtk' option (enable gtk by default):
%bcond_without gtk
Summary: Tools for certain user account management tasks Summary: Tools for certain user account management tasks
Name: usermode Name: usermode
Version: 1.113 Version: 1.114
Release: 1%{?dist} Release: 1%{?dist}
License: GPLv2+ License: GPLv2+
URL: https://pagure.io/%{name}/ URL: https://pagure.io/%{name}/
Source: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.xz Source: https://releases.pagure.org/%{name}/%{name}-%{version}.tar.xz
Source1: config-util Source1: config-util
# Backport of 48c4085004caad1ec928fa103b7f3e3fe684c826
# - <selinux/flask.h> and <selinux/av_permissions.h> are now deprecated
Patch0: selinux_deprecated.patch
Requires: pam, passwd, util-linux Requires: pam, passwd, util-linux
# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/IJFYI5Q2BYZKIGDFS2WLOBDUSEGWHIKV/ # https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/IJFYI5Q2BYZKIGDFS2WLOBDUSEGWHIKV/
BuildRequires: make BuildRequires: make
BuildRequires: gcc BuildRequires: gcc
BuildRequires: desktop-file-utils, gettext, glib2-devel, gtk2-devel, intltool BuildRequires: gettext, glib2-devel, intltool
BuildRequires: libblkid-devel, libSM-devel, libselinux-devel, libuser-devel %if %{with gtk}
BuildRequires: pam-devel, perl-XML-Parser, startup-notification-devel BuildRequires: desktop-file-utils, gtk2-devel, startup-notification-devel, libSM-devel
%endif
BuildRequires: libblkid-devel, libselinux-devel, libuser-devel
BuildRequires: pam-devel, perl-XML-Parser
BuildRequires: util-linux BuildRequires: util-linux
%if %{with gtk}
%package gtk %package gtk
Summary: Graphical tools for certain user account management tasks Summary: Graphical tools for certain user account management tasks
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
%endif
%global _hardened_build 1 %global _hardened_build 1
@ -29,6 +34,7 @@ The usermode package contains the userhelper program, which can be
used to allow configured programs to be run with superuser privileges used to allow configured programs to be run with superuser privileges
by ordinary users. by ordinary users.
%if %{with gtk}
%description gtk %description gtk
The usermode-gtk package contains several graphical tools for users: The usermode-gtk package contains several graphical tools for users:
userinfo, usermount and userpasswd. Userinfo allows users to change userinfo, usermount and userpasswd. Userinfo allows users to change
@ -38,27 +44,30 @@ passwords.
Install the usermode-gtk package if you would like to provide users with Install the usermode-gtk package if you would like to provide users with
graphical tools for certain account management tasks. graphical tools for certain account management tasks.
%endif
%prep %prep
%setup -q %setup -q
%patch0 -p1
%build %build
%configure --with-selinux %configure --with-selinux %{!?with_gtk:--without-gtk}
%make_build %make_build
%install %install
%make_install INSTALL='install -p' %make_install INSTALL='install -p'
%if %{with gtk}
# make userformat symlink to usermount # make userformat symlink to usermount
ln -sf usermount $RPM_BUILD_ROOT%{_bindir}/userformat ln -sf usermount $RPM_BUILD_ROOT%{_bindir}/userformat
ln -s usermount.1 $RPM_BUILD_ROOT%{_mandir}/man1/userformat.1 ln -s usermount.1 $RPM_BUILD_ROOT%{_mandir}/man1/userformat.1
%endif
mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps
install -p -m 644 %{SOURCE1} \ install -p -m 644 %{SOURCE1} \
$RPM_BUILD_ROOT/etc/security/console.apps/config-util $RPM_BUILD_ROOT/etc/security/console.apps/config-util
%if %{with gtk}
for i in redhat-userinfo.desktop redhat-userpasswd.desktop \ for i in redhat-userinfo.desktop redhat-userpasswd.desktop \
redhat-usermount.desktop; do redhat-usermount.desktop; do
echo 'NotShowIn=GNOME;KDE;' >>$RPM_BUILD_ROOT%{_datadir}/applications/$i echo 'NotShowIn=GNOME;KDE;' >>$RPM_BUILD_ROOT%{_datadir}/applications/$i
@ -66,6 +75,7 @@ for i in redhat-userinfo.desktop redhat-userpasswd.desktop \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \ --dir $RPM_BUILD_ROOT%{_datadir}/applications \
$RPM_BUILD_ROOT%{_datadir}/applications/$i $RPM_BUILD_ROOT%{_datadir}/applications/$i
done done
%endif
%find_lang %{name} %find_lang %{name}
@ -78,6 +88,7 @@ done
%{_mandir}/man8/consolehelper.8* %{_mandir}/man8/consolehelper.8*
%config(noreplace) /etc/security/console.apps/config-util %config(noreplace) /etc/security/console.apps/config-util
%if %{with gtk}
%files gtk %files gtk
%{_bindir}/usermount %{_bindir}/usermount
%{_mandir}/man1/usermount.1* %{_mandir}/man1/usermount.1*
@ -94,8 +105,13 @@ done
%{_datadir}/%{name} %{_datadir}/%{name}
%{_datadir}/pixmaps/* %{_datadir}/pixmaps/*
%{_datadir}/applications/* %{_datadir}/applications/*
%endif
%changelog %changelog
* Tue May 04 2021 Jiri Kucera <jkucera@redhat.com> - 1.114-1
- Update to usermode-1.114
- Allow to optionally disable GTK
* Mon May 03 2021 Jiri Kucera <jkucera@redhat.com> - 1.113-1 * Mon May 03 2021 Jiri Kucera <jkucera@redhat.com> - 1.113-1
- Update to usermode-1.113 - Update to usermode-1.113