diff options
Diffstat (limited to '0001-gnome-session-don-t-validate-shell-before-using-it.patch')
-rw-r--r-- | 0001-gnome-session-don-t-validate-shell-before-using-it.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/0001-gnome-session-don-t-validate-shell-before-using-it.patch b/0001-gnome-session-don-t-validate-shell-before-using-it.patch new file mode 100644 index 0000000..d39e8cf --- /dev/null +++ b/0001-gnome-session-don-t-validate-shell-before-using-it.patch @@ -0,0 +1,57 @@ +From 63d74edc4b112669fdce14d88d37e2dd0315ff7e 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 ddd1a591..b4b1f8fa 100755 +--- a/gnome-session/gnome-session.in ++++ b/gnome-session/gnome-session.in +@@ -1,32 +1,29 @@ + #!/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=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region) + REGION=${SETTING#\'} + REGION=${REGION%\'} + + if [ -n "$REGION" ]; then + unset LC_TIME LC_NUMERIC LC_MONETARY LC_MEASUREMENT LC_PAPER + + if [ "$LANG" != "$REGION" ] ; then + export LC_TIME=$REGION + export LC_NUMERIC=$REGION + export LC_MONETARY=$REGION + export LC_MEASUREMENT=$REGION + export LC_PAPER=$REGION + fi + fi + + exec @libexecdir@/gnome-session-binary "$@" +-- +2.32.0 + |