diff --git a/Xsession b/Xsession index f773cdc..6ba7f7f 100644 --- a/Xsession +++ b/Xsession @@ -50,27 +50,28 @@ case $# in fi; case "$1" in - failsafe) - exec -l $SHELL -c "xterm -geometry 80x24-0-0" - ;; - gnome) - exec -l $SHELL -c "$SSH_AGENT $DBUS_LAUNCH gnome-session" - ;; - kde|kde1|kde2) - exec -l $SHELL -c "$SSH_AGENT $DBUS_LAUNCH startkde" - ;; - twm) + failsafe) + exec -l $SHELL -c "xterm -geometry 80x24-0-0" + ;; + gnome) + exec -l $SHELL -c "$SSH_AGENT $DBUS_LAUNCH gnome-session" + exec $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"$DBUS_LAUNCH gnome-session\"" + ;; + kde|kde1|kde2) + exec $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"$DBUS_LAUNCH startkde\"" + ;; + twm) # fall back to twm - exec -l $SHELL -c "$SSH_AGENT $DBUS_LAUNCH twm" - ;; - *) + exec $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"DBUS_LAUNCH twm\"" + ;; + *) # GDM provies either a command line as the first argument or # provides 'failsafe', 'default' or 'custom'. KDM will do the # same at some point - if [ "$1" != "default" -a "$1" != "custom" ]; then - exec -l $SHELL -c "$SSH_AGENT $DBUS_LAUNCH $1" - fi - ;; + if [ "$1" != "default" -a "$1" != "custom" ]; then + exec $SSH_AGENT /bin/sh -c "exec -l $SHELL -c \"$DBUS_LAUNCH $1\"" + fi + ;; esac esac fi diff --git a/xorg-x11-xinit.spec b/xorg-x11-xinit.spec index 537b7ec..8c66b89 100644 --- a/xorg-x11-xinit.spec +++ b/xorg-x11-xinit.spec @@ -110,6 +110,11 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/xinit.1* %changelog +* Sun Jul 29 2007 Soren Sandmann 1.0.2-23 +- Fix Xsession to run the login shell inside the setgid ssh-agent, rather + than the other way around. This preserves LD_LIBRARY_PRELOAD. + Patch from Stefan Becker, bug 164869. + * Fri Jul 27 2007 Soren Sandmann 1.0.2-22 - Remove xinput.sh. Bug 244963.