.gear/rules | 2 + .../tags/e0fb79a8b4b1cea711fc382ee22dfb6f0be35bab | 6 + .gear/tags/list | 1 + data/mate-screensaver | 14 +-- data/org.mate.screensaver.gschema.xml.in | 2 +- mate-screensaver.spec | 132 +++++++++++++++++++++ src/setuid.c | 10 +- 7 files changed, 148 insertions(+), 19 deletions(-) diff --git a/.gear/rules b/.gear/rules new file mode 100644 index 0000000..4b0460c --- /dev/null +++ b/.gear/rules @@ -0,0 +1,2 @@ +tar: v@version@:. +diff: v@version@:. . diff --git a/.gear/tags/e0fb79a8b4b1cea711fc382ee22dfb6f0be35bab b/.gear/tags/e0fb79a8b4b1cea711fc382ee22dfb6f0be35bab new file mode 100644 index 0000000..9cfe5f8 --- /dev/null +++ b/.gear/tags/e0fb79a8b4b1cea711fc382ee22dfb6f0be35bab @@ -0,0 +1,6 @@ +object 8d40eb861f8fa239adf0a159291f498529e9fd2b +type commit +tag v1.26.2 +tagger raveit65 1683981045 +0200 + +version 1.26.2 diff --git a/.gear/tags/list b/.gear/tags/list new file mode 100644 index 0000000..b02958d --- /dev/null +++ b/.gear/tags/list @@ -0,0 +1 @@ +e0fb79a8b4b1cea711fc382ee22dfb6f0be35bab v1.26.2 diff --git a/data/mate-screensaver b/data/mate-screensaver index 47e65a2..47fb418 100644 --- a/data/mate-screensaver +++ b/data/mate-screensaver @@ -2,14 +2,6 @@ # Fedora Core auth include system-auth -auth optional pam_gnome_keyring.so -account include system-auth -password include system-auth -session include system-auth - -# SuSE/Novell -#auth include common-auth -#auth optional pam_gnome_keyring.so -#account include common-account -#password include common-password -#session include common-session +account required pam_deny.so +password required pam_deny.so +session required pam_deny.so diff --git a/data/org.mate.screensaver.gschema.xml.in b/data/org.mate.screensaver.gschema.xml.in index 96d390d..248f4c3 100644 --- a/data/org.mate.screensaver.gschema.xml.in +++ b/data/org.mate.screensaver.gschema.xml.in @@ -91,7 +91,7 @@ Allow the session status message to be displayed when the screen is locked. - '@datadir@/backgrounds/mate/desktop/Stripes.png' + '@datadir@/design/current/backgrounds/default.png' Picture Filename File to use for the background image. diff --git a/mate-screensaver.spec b/mate-screensaver.spec new file mode 100644 index 0000000..7245f27 --- /dev/null +++ b/mate-screensaver.spec @@ -0,0 +1,132 @@ +%define _libexecdir %_prefix/libexec + +Name: mate-screensaver +Version: 1.26.2 +Release: alt1 +Epoch: 2 +Summary: MATE Screensaver +License: GPLv2+ and LGPLv2+ +Group: Graphical desktop/MATE +Url: http://mate-desktop.org/ +Packager: Valery Inozemtsev + +Requires: pam_gnome-keyring + +Source: %name-%version.tar +Patch: %name-%version-%release.patch + +BuildRequires: mate-common libSM-devel libXScrnSaver-devel libXxf86misc-devel libXxf86vm-devel +BuildRequires: libdbus-glib-devel libmatekbd-devel libnotify-devel libpam-devel libsystemd-devel +BuildRequires: mate-desktop-devel mate-menus-devel xmlto + +%description +mate-screensaver is a screen saver and locker that aims to have +simple, sane, secure defaults and be well integrated with the desktop. + +%package devel +Group: Development/C +Summary: Development files for mate-screensaver + +%description devel +Development files for mate-screensaver + +%prep +%setup -q +%patch -p1 + +%build +%autoreconf +%configure \ + --disable-schemas-compile \ + --enable-docbook-docs \ + --with-mit-ext \ + --with-xf86gamma-ext \ + --with-libgl \ + --with-shadow \ + --enable-pam \ + --enable-authentication-scheme=pam \ + --enable-locking \ + --with-systemd \ + --without-console-kit + +%make_build + +%install +%make DESTDIR=%buildroot install +install -m644 -pD doc/mate-screensaver.html %buildroot%_datadir/doc/mate-screensaver/mate-screensaver.html + +%find_lang %name --with-gnome --all-name + +%files -f %name.lang +%doc AUTHORS NEWS README COPYING +%_docdir/%name +%_sysconfdir/pam.d/%name +%_sysconfdir/xdg/menus/mate-screensavers.menu +%_sysconfdir/xdg/autostart/%name.desktop +%_bindir/mate-screensaver* +%_libexecdir/%name-* +%_libexecdir/%name/floaters +%_libexecdir/%name/popsquares +%_libexecdir/%name/slideshow +%attr(2711,root,chkpwd) %_libexecdir/%name-dialog +%_desktopdir/%name-preferences.desktop +%_desktopdir/screensavers/*.desktop +%_datadir/%name +%_datadir/backgrounds/cosmos +%_datadir/pixmaps/mate-logo-white.svg +%_datadir/pixmaps/gnome-logo-white.svg +%_datadir/desktop-directories/mate-screensaver.directory +%_datadir/glib-2.0/schemas/org.mate.screensaver.gschema.xml +%_datadir/mate-background-properties/cosmos.xml +%_datadir/dbus-1/services/org.mate.ScreenSaver.service +%_man1dir/*.1* + +%files devel +%_libdir/pkgconfig/*.pc + +%changelog +* Mon May 15 2023 Valery Inozemtsev 2:1.26.2-alt1 +- 1.26.2 + +* Tue Apr 11 2023 Valery Inozemtsev 2:1.26.1-alt2 +- set default background to design/current/backgrounds/default.png (closes: #45817) + +* Sat Dec 18 2021 Valery Inozemtsev 2:1.26.1-alt1 +- 1.26.1 + +* Thu Nov 11 2021 Paul Wolneykien 2:1.26.0-alt2 +- Switch to PAM authentication scheme. + +* Fri Aug 06 2021 Valery Inozemtsev 2:1.26.0-alt1 +- 1.26.0 + +* Fri Aug 21 2020 Valery Inozemtsev 2:1.24.1-alt1 +- 1.24.1 + +* Tue Feb 25 2020 Valery Inozemtsev 2:1.24.0-alt1 +- 1.24.0 + +* Tue Oct 15 2019 Valery Inozemtsev 2:1.22.2-alt1 +- 1.22.2 + +* Wed Apr 24 2019 Valery Inozemtsev 2:1.22.1-alt1 +- 1.22.1 + +* Mon Mar 04 2019 Valery Inozemtsev 2:1.22.0-alt1 +- 1.22.0 + +* Fri Jan 11 2019 Paul Wolneykien 2:1.20.3-alt2 +- Added helper protocol library. +- Improved PAM helper (supports PAM conversation). + +* Mon Dec 24 2018 Valery Inozemtsev 2:1.20.3-alt1 +- 1.20.3 + +* Wed Dec 12 2018 Valery Inozemtsev 2:1.20.2-alt1 +- 1.20.2 + +* Thu Mar 15 2018 Valery Inozemtsev 1:1.20.0-alt1 +- initial build from git.mate-desktop.org + +* Thu Feb 22 2018 Vladimir D. Seleznev 1.20.0-alt1_1 +- new fc release diff --git a/src/setuid.c b/src/setuid.c index b40e750..c253610 100644 --- a/src/setuid.c +++ b/src/setuid.c @@ -75,15 +75,11 @@ set_ids_by_number (uid_t uid, if (uid == (uid_t) -1) uid = (uid_t) -2; errno = 0; - if (setgroups (1, &gid) < 0) - sgs_errno = errno ? errno : -1; - - errno = 0; - if (setgid (gid) != 0) + if (setresgid (gid, gid, gid) != 0) gid_errno = errno ? errno : -1; errno = 0; - if (setuid (uid) != 0) + if (setresuid (uid, uid, uid) != 0) uid_errno = errno ? errno : -1; if (uid_errno == 0 && gid_errno == 0 && sgs_errno == 0) @@ -219,7 +215,7 @@ hack_uid (char **nolock_reason, } gid = authg->gr_gid; #endif /* !HAVE_BSDAUTH */ - if (! set_ids_by_number (uid, gid, uid_message)) + if (!set_ids_by_number (euid == 0 ? uid : euid, egid == 0 ? gid : egid, uid_message)) { reason = g_strdup ("unable to discard privileges.");