Blame SOURCES/0001-gnome-session-don-t-validate-shell-before-using-it.patch

dd9e11
From ae60cb25636b6f68d087591de11fd681f6f8c918 Mon Sep 17 00:00:00 2001
dd9e11
From: Ray Strode <rstrode@redhat.com>
dd9e11
Date: Tue, 19 Nov 2019 09:29:16 -0500
dd9e11
Subject: [PATCH] gnome-session: don't validate shell before using it
dd9e11
dd9e11
Users sometimes set their shell to an invalid shell to prevent
dd9e11
login from proceeding.
dd9e11
dd9e11
GNOME on Wayland still allows login in these cases.
dd9e11
dd9e11
This commit makes the behavior match expectations by skipping
dd9e11
shell validity checks when deciding to run though a login shell.
dd9e11
---
dd9e11
 gnome-session/gnome-session.in | 5 +----
dd9e11
 1 file changed, 1 insertion(+), 4 deletions(-)
dd9e11
dd9e11
diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
dd9e11
index ce63df56..7d967d34 100755
dd9e11
--- a/gnome-session/gnome-session.in
dd9e11
+++ b/gnome-session/gnome-session.in
dd9e11
@@ -1,28 +1,25 @@
dd9e11
 #!/bin/sh
dd9e11
 
dd9e11
 if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
dd9e11
    [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
dd9e11
-   [  -n "$SHELL" ] &&
dd9e11
-   grep -q "$SHELL" /etc/shells &&
dd9e11
-   ! (echo "$SHELL" | grep -q "false") &&
dd9e11
-   ! (echo "$SHELL" | grep -q "nologin"); then
dd9e11
+   [  -n "$SHELL" ]; then
dd9e11
   if [ "$1" != '-l' ]; then
dd9e11
     exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
dd9e11
   else
dd9e11
     shift
dd9e11
   fi
dd9e11
 fi
dd9e11
 
dd9e11
 SETTING=$(gsettings get org.gnome.system.locale region)
dd9e11
 REGION=${SETTING#\'}
dd9e11
 REGION=${REGION%\'}
dd9e11
 
dd9e11
 if [ -n "$REGION" ]; then
dd9e11
   export LC_TIME=$REGION
dd9e11
   export LC_NUMERIC=$REGION
dd9e11
   export LC_MONETARY=$REGION
dd9e11
   export LC_MEASUREMENT=$REGION
dd9e11
   export LC_PAPER=$REGION
dd9e11
 fi
dd9e11
 
dd9e11
 exec @libexecdir@/gnome-session-binary "$@"
dd9e11
-- 
dd9e11
2.21.0
dd9e11