Blob Blame History Raw
From ae60cb25636b6f68d087591de11fd681f6f8c918 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 19 Nov 2019 09:29:16 -0500
Subject: [PATCH] gnome-session: don't validate shell before using it

Users sometimes set their shell to an invalid shell to prevent
login from proceeding.

GNOME on Wayland still allows login in these cases.

This commit makes the behavior match expectations by skipping
shell validity checks when deciding to run though a login shell.
---
 gnome-session/gnome-session.in | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
index ce63df56..7d967d34 100755
--- a/gnome-session/gnome-session.in
+++ b/gnome-session/gnome-session.in
@@ -1,28 +1,25 @@
 #!/bin/sh
 
 if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
    [ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
-   [  -n "$SHELL" ] &&
-   grep -q "$SHELL" /etc/shells &&
-   ! (echo "$SHELL" | grep -q "false") &&
-   ! (echo "$SHELL" | grep -q "nologin"); then
+   [  -n "$SHELL" ]; then
   if [ "$1" != '-l' ]; then
     exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
   else
     shift
   fi
 fi
 
 SETTING=$(gsettings get org.gnome.system.locale region)
 REGION=${SETTING#\'}
 REGION=${REGION%\'}
 
 if [ -n "$REGION" ]; then
   export LC_TIME=$REGION
   export LC_NUMERIC=$REGION
   export LC_MONETARY=$REGION
   export LC_MEASUREMENT=$REGION
   export LC_PAPER=$REGION
 fi
 
 exec @libexecdir@/gnome-session-binary "$@"
-- 
2.21.0