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

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