Xorg without root rights breaks by streams redirection (#1177513)

This commit is contained in:
Simone Caronni 2015-01-22 21:29:28 +01:00
parent bc47eb7490
commit ff011b3db3
2 changed files with 71 additions and 271 deletions

View File

@ -0,0 +1,34 @@
From c70ab1d87b4aec8f171615aa8dee4a1fc1104b4b Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Tue, 20 Jan 2015 16:18:34 +0100
Subject: [PATCH xinit] startx: Pass -keeptty when telling the server to start
on the current tty
Detaching from the tty causes systemd-logind to refuse service to the xserver,
the xserver already tries to detect that it is being asked to run on the
current tty and then automatically enables -keeptty, but this code fails if
all of stdin, stdout and stderr are redirected to a file. So explicitly tell
the xserver to not detach when we're telling it to run on the current tty.
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1177513
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
startx.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/startx.cpp b/startx.cpp
index 1c6fce0..45d7bd9 100644
--- a/startx.cpp
+++ b/startx.cpp
@@ -195,7 +195,7 @@ if [ x"$server" = x ]; then
tty=$(tty)
if expr match "$tty" '^/dev/tty[0-9]\+$' > /dev/null; then
tty_num=$(echo "$tty" | grep -oE '[0-9]+$')
- vtarg="vt$tty_num"
+ vtarg="vt$tty_num -keeptty"
fi
#endif
--
2.1.0

View File

@ -1,57 +1,59 @@
%define pkgname xinit
Summary: X.Org X11 X Window System xinit startup scripts
Name: xorg-x11-%{pkgname}
Version: 1.3.4
Release: 2%{?dist}
License: MIT
Group: User Interface/X
URL: http://www.x.org
Summary: X.Org X11 X Window System xinit startup scripts
Name: xorg-x11-%{pkgname}
Version: 1.3.4
Release: 3%{?dist}
License: MIT
URL: http://www.x.org
Source0: http://xorg.freedesktop.org/archive/individual/app/%{pkgname}-%{version}.tar.bz2
Source10: xinitrc-common
Source11: xinitrc
Source12: Xclients
Source13: Xmodmap
Source14: Xresources
Source0: http://xorg.freedesktop.org/archive/individual/app/%{pkgname}-%{version}.tar.bz2
Source10: xinitrc-common
Source11: xinitrc
Source12: Xclients
Source13: Xmodmap
Source14: Xresources
# NOTE: Xsession is used by xdm/kdm/gdm and possibly others, so we keep it
# here instead of the xdm package.
Source16: Xsession
Source17: localuser.sh
Source18: xinit-compat.desktop
Source19: xinit-compat
Source16: Xsession
Source17: localuser.sh
Source18: xinit-compat.desktop
Source19: xinit-compat
# Fedora specific patches
Patch1: xinit-1.0.2-client-session.patch
# submitted upstream, rhbz#1111684
Patch2: 0001-startx-Pass-nolisten-tcp-by-default.patch
# submitted upstream, rhbz#1177513
Patch3: 0001-startx-Pass-keeptty-when-telling-the-server-to-start.patch
BuildRequires: pkgconfig(x11)
BuildRequires: dbus-devel
BuildRequires: pkgconfig
BuildRequires: libX11-devel
BuildRequires: dbus-devel
# NOTE: startx needs xauth in order to run, but that is not picked up
# automatically by rpm. (Bug #173684)
Requires: xorg-x11-xauth
Requires: xorg-x11-xauth
# next two are for localuser.sh
Requires: coreutils
Requires: xorg-x11-server-utils
Requires: coreutils
Requires: xhost
%package session
Summary: Display manager support for ~/.xsession and ~/.Xclients
Group: User Interface/X
Provides: %{pkgname} = %{version}
%description
X.Org X11 X Window System xinit startup scripts
X.Org X11 X Window System xinit startup scripts.
%package session
Summary: Display manager support for ~/.xsession and ~/.Xclients
%description session
Allows legacy ~/.xsession and ~/.Xclients files to be used from display managers
Allows legacy ~/.xsession and ~/.Xclients files to be used from display
managers.
%prep
%setup -q -n %{pkgname}-%{version}
%patch1 -p1 -b .client-session
%patch1 -p1
%patch2 -p1
%patch3 -p1
%build
%configure
@ -105,6 +107,10 @@ install -p -m644 -D %{SOURCE18} $RPM_BUILD_ROOT%{_datadir}/xsessions/xinit-compa
%{_datadir}/xsessions/xinit-compat.desktop
%changelog
* Thu Jan 22 2015 Simone Caronni <negativo17@gmail.com> - 1.3.4-3
- Xorg without root rights breaks by streams redirection (#1177513).
- Format SPEC file; trim changelog.
* Wed Oct 1 2014 Hans de Goede <hdegoede@redhat.com> - 1.3.4-2
- Add support for MATE to Xclients (#1147905)
@ -162,243 +168,3 @@ install -p -m644 -D %{SOURCE18} $RPM_BUILD_ROOT%{_datadir}/xsessions/xinit-compa
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.9-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sat Sep 25 2010 Parag Nemade <paragn AT fedoraproject.org> - 1.0.9-19
- Merge-review cleanup (#226653)
* Fri Aug 27 2010 Matěj Cepl <mcepl@redhat.com> - 1.0.9-18
- Fix ownership of files.
* Tue Aug 24 2010 Adam Tkac <atkac redhat com> - 1.0.9-17
- rebuild to ensure F14 has higher NVR than F13
* Wed Mar 24 2010 Matěj Cepl <mcepl@redhat.com> - 1.0.9-16
- Remove explicit %%attr from _bindir
* Thu Feb 04 2010 Matěj Cepl <mcepl@redhat.com> - 1.0.9-15
- Add xinit-compat script
Patch from Rex Dieter, bug 540546
Move xinit-compat script to -session subpackage.
* Fri Jan 29 2010 Ville Skyttä <ville.skytta@iki.fi> - 1.0.9-14
- Eliminate dependency on which.
- Change Xclients, Xsession and xinitrc-common to make fewer stat calls.
- Install xinitrc-common non-executable.
* Tue Nov 10 2009 Matěj Cepl <mcepl@redhat.com> - 1.0.9-13
- Fix SELinux labels on $errfile (fixes bug# 530419)
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.9-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Wed Jun 17 2009 Nalin Dahyabhai <nalin@redhat.com> - 1.0.9-11
- pull up ck-xinit-session changes for #502258 from from F11 branch
* Sun Jun 14 2009 Matthias Clasen <mclasen@redhat.com> - 1.0.9-10
- Don't own /etc/X11, since its already owned by filesystem
* Mon Jun 08 2009 Matěj Cepl <mcepl@redhat.com> - 1.0.9-9
- consider scripts in /etc/X11/xinit/Xclients.d/ as well
- add back scripts in Release -7 and -8 from F11 branch.
* Fri May 22 2009 Nalin Dahyabhai <nalin@redhat.com> 1.0.9-8
- have ck-xinit-session tell the session bus to set
XDG_SESSION_COOKIE for services which it autostarts (#502258)
- add direct build dependency on dbus-devel, since we call it
directly now
* Fri May 08 2009 Adam Jackson <ajax@redhat.com> 1.0.9-7
- xinit-1.0.9-unset.patch: Also unset XDG_SESSION_COOKIE in
startx. (#489999)
* Wed Mar 11 2009 Adam Jackson <ajax@redhat.com> 1.0.9-6
- xinitrc-common: Load /etc/X11/Xresources with -nocpp
* Wed Feb 25 2009 Adam Tkac <atkac redhat com> 1.0.9-5
- run ck-xinit-session for all sessions where the xdg cookie isn't already
set (#452156, patch from Patrice Dumas)
- add which Requires (#413041, patch from Patrice Dumas)
* Mon Aug 25 2008 Matthias Clasen <mclasen@redhat.com> 1.0.9-4
- Make the gnome session actually take the gnome case in the switch (#458694)
- Update patches
- Drop upstreamed patch
* Mon Aug 11 2008 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.0.9-3
- Really fix license tag.
* Tue Jul 15 2008 Adam Jackson <ajax@redhat.com> 1.0.9-2
- Fix license tag.
* Wed Jun 11 2008 Adam Jackson <ajax@redhat.com> 1.0.9-1
- xinit 1.0.9
* Tue Apr 08 2008 Adam Jackson <ajax@redhat.com> 1.0.7-7
- Xsession: Don't start ssh-agent for gnome sessions anymore, gnome-keyring
acts as an agent now. (#441123)
* Wed Mar 12 2008 Ray Strode <rstrode@redhat.com> 1.0.7-6
- Add a new subpackage to add ~/.xsessions and ~/.Xclients
to session list
* Mon Feb 11 2008 Adam Jackson <ajax@redhat.com> 1.0.7-5
- Xresources: s/don't/do not/, cpp is dumb. (#431704)
* Mon Feb 11 2008 Adam Jackson <ajax@redhat.com> 1.0.7-4
- xinit-1.0.7-unset.patch: Unset various session-related environment
variables at the top of startx. (#431899)
* Mon Feb 4 2008 Ray Strode <rstrode@redhat.com> 1.0.7-3
- don't special case dbus-launch. dbus-x11 now installs
a script into /etc/X11/xinit/xinitrc.d.
- Drop the weird grep rule for extensions ending in .sh
when sourcing /etc/X11/xinit/xinitrc.d
* Fri Oct 12 2007 Nalin Dahyabhai <nalin@redhat.com> 1.0.7-2
- Try opening the console-kit session after the user's UID has already
been granted access to the server by localuser.sh, so that console-kit-daemon
can connect and ask the server for information just by having switch to the
user's UID (#287941).
* Mon Sep 24 2007 Adam Jackson <ajax@redhat.com> 1.0.7-1
- xinit 1.0.7
* Tue Aug 21 2007 Adam Jackson <ajax@redhat.com> - 1.0.2-27
- Rebuild for build id
* Mon Aug 6 2007 Soren Sandmann <sandmann@redhat.com> 1.0.2-26
- Bump release
* Mon Aug 6 2007 Soren Sandmann <sandmann@redhat.com> 1.0.2-25
- Fix typo: s/unask/umask/ - Bug 250882, Jan ONDREJ (ondrejj@salstar.sk)
* Thu Aug 2 2007 Soren Sandmann <sandmann@redhat.com> 1.0.2-24
- Fix bug 212167, CVE-2006-5214
* Sun Jul 29 2007 Soren Sandmann <sandmann@redhat.com> 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 <sandmann@redhat.com> 1.0.2-22
- Remove xinput.sh. Bug 244963.
* Mon May 21 2007 Adam Jackson <ajax@redhat.com> 1.0.2-21
- localuser.sh: Run silently.
* Sat Apr 21 2007 Matthias Clasen <mclasen@redhat.com> 1.0.2-20
- Don't install INSTALL
* Thu Apr 19 2007 Warren Togami <wtogami@redhat.com> 1.0.2-19
- disable SCIM by default in non-Asian languages #237054
If you want to use SCIM, use im-chooser to enable it.
* Mon Apr 02 2007 David Zeuthen <davidz@redhat.com> 1.0.2-18
- Man pages are now in section 1, not in section 1x
* Mon Apr 02 2007 David Zeuthen <davidz@redhat.com> 1.0.2-17
- Also BR xorg-x11-util-macros since we autoreconf
* Mon Apr 02 2007 David Zeuthen <davidz@redhat.com> 1.0.2-16
- Add ConsoleKit support (#233183)
* Mon Nov 27 2006 Adam Jackson <ajax@redhat.com> 1.0.2-15
- Bump EVR to fix 6 to 7 updates.
* Fri Nov 10 2006 Ray Strode <rstrode@redhat.com> - 1.0.2-14
- start client in its own session with no controlling tty
(bug 214649)
* Mon Oct 23 2006 Kristian Høgsberg <krh@redhat.com> - 1.0.2-13
- Update Xsession to not use switchdesk for the hard coded kde and twm
cases.
* Sun Oct 01 2006 Jesse Keating <jkeating@redhat.com> - 1.0.2-12
- rebuilt for unwind info generation, broken in gcc-4.1.1-21
* Mon Sep 25 2006 Kristian Høgsberg <krh@redhat.com> - 1.0.2-11.fc6
- Bump and rebuild.
* Mon Sep 25 2006 Kristian Høgsberg <krh@redhat.com> - 1.0.2-10.fc6
- Move hardcoded xsetroot background color to fallback cases (#205901).
* Thu Aug 17 2006 Kristian Høgsberg <krh@redhat.com> - 1.0.2-9.fc6
- Start ssh-agent for startx also (#169259).
* Sat Jul 22 2006 Adam Jackson <ajackson@redhat.com> 1.0.2-8.fc6
- Fix SourceN line for localuser.sh to not collide.
* Fri Jul 21 2006 Adam Jackson <ajackson@redhat.com> 1.0.2-7.fc6
- Added localuser.sh.
* Wed Jul 19 2006 Mike A. Harris <mharris@redhat.com> 1.0.2-6.fc6
- Added fix to Xclients script, based on patch from bug (#190799)
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> 1.0.2-5.1.fc6
- rebuild
* Wed Jul 05 2006 Mike A. Harris <mharris@redhat.com> 1.0.2-5.fc6
- Implemented changes to xinput.sh based on suggestions from (#194458)
* Wed Jun 21 2006 Mike A. Harris <mharris@redhat.com> 1.0.2-4
- Added documentation to doc macro.
* Tue Jun 20 2006 Mike A. Harris <mharris@redhat.com> 1.0.2-3
- Added xinit-1.0.2-setuid.diff to fix potential security issue (#196094)
* Tue Jun 06 2006 Mike A. Harris <mharris@redhat.com> 1.0.2-2
- Added "BuildRequires: pkgconfig" for bug (#194187)
* Thu Apr 27 2006 Adam Jackson <ajackson@redhat.com> 1.0.2-1
- Update xinit to 1.0.2
* Thu Feb 16 2006 Mike A. Harris <mharris@redhat.com> 1.0.1-2
- Change Conflicts to Obsoletes for xorg-x11 and XFree86 (#181414)
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> 1.0.1-1.2
- bump again for double-long bug on ppc(64)
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> 1.0.1-1.1
- rebuilt for new gcc4.1 snapshot and glibc changes
* Wed Jan 18 2006 Mike A. Harris <mharris@redhat.com> 1.0.1-1
- Updated to xinit 1.0.1 from X11R7.0
* Fri Dec 16 2005 Mike A. Harris <mharris@redhat.com> 1.0.0-1
- Updated to xinit 1.0.0 from X11R7 RC4.
- Changed manpage dir from man1x to man1 to match upstream default.
* Tue Nov 22 2005 Mike A. Harris <mharris@redhat.com> 0.99.3-6
- Add "Requires: xauth" for startx, to fix bug (#173684)
* Mon Nov 14 2005 Jeremy Katz <katzj@redhat.com> 0.99.3-5
- Do not provide xinit anymore, gdm has been fixed and that breaks things
with the obsoletes
* Sat Nov 12 2005 Mike A. Harris <mharris@redhat.com> 0.99.3-4
- Added Xsession script from xinitrc, as it is very similar codebase, which
shares "xinitrc-common" anyway, and all of the display managers use it.
* Fri Nov 11 2005 Mike A. Harris <mharris@redhat.com> 0.99.3-3
- Updated to xinit 0.99.3 from X11R7 RC2.
* Mon Nov 07 2005 Mike A. Harris <mharris@redhat.com> 0.99.2-3
- Added "Provides: xinitrc = 5.0.0-1" for temporary compatibility between
monolithic and modular X. This will be removed however for FC5.
* Mon Oct 31 2005 Mike A. Harris <mharris@redhat.com> 0.99.2-2
- Import custom Red Hat xinit scripts from xinitrc package.
- Obsolete xinitrc package, as we include the scripts/configs here now.
- Fix all scripts/configs to avoid the now obsolete /usr/X11R6 prefix.
* Mon Oct 31 2005 Mike A. Harris <mharris@redhat.com> 0.99.2-1
- Updated to xinit 0.99.2 from X11R7 RC1.
- Change manpage location to 'man1x' in file manifest.
* Wed Oct 05 2005 Mike A. Harris <mharris@redhat.com> 0.99.0-2
- Use Fedora-Extras style BuildRoot tag.
- Update BuildRequires to use new library package names.
- Tidy up spec file a bit.
* Wed Aug 24 2005 Mike A. Harris <mharris@redhat.com> 0.99.0-1
- Initial build.