Index: mate-screensaver-1.19.0/src/setuid.c # (vdanen) drops setgid calls to work with tcb auth =================================================================== --- mate-screensaver-1.19.0/src/setuid.c +++ mate-screensaver-1.19.0/src/setuid.c 2017-10-29 00:50:28.732394364 +0300 @@ -77,11 +77,13 @@ if (setgroups (1, &gid) < 0) sgs_errno = errno ? errno : -1; - errno = 0; +#if 0 + errno = 0; if (setgid (gid) != 0) gid_errno = errno ? errno : -1; - errno = 0; +#endif + errno = 0; if (setuid (uid) != 0) uid_errno = errno ? errno : -1; @@ -207,7 +209,7 @@ *orig_uid = uid_gid_string (euid, egid); } - if (uid != euid || gid != egid) + if (euid == (uid_t) 0 && (uid != euid || gid != egid)) { #ifdef HAVE_BSDAUTH /* we need to setgid auth to run the bsd_auth(3) login_* helpers */ struct group *authg = getgrnam("auth");