debian/changelog | 3 +++ debian/patches/xorg-wrapper-envp.diff | 15 +++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-)
New commits: commit b57a76cfb9801786cc922e34ec1bd9e42802e472 Author: Julien Cristau <jcris...@debian.org> Date: Wed Sep 2 11:55:29 2015 +0200 Only reset environment in the Xorg wrapper if we didn't drop privileges. diff --git a/debian/changelog b/debian/changelog index 82e7b25..e35fa2d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,9 @@ xorg-server (2:1.17.2-3) UNRELEASED; urgency=medium * Update Vcs-* fields. * Add upstream url. + [ Julien Cristau ] + * Only reset environment in the Xorg wrapper if we didn't drop privileges. + -- Laurent Bigonville <bi...@debian.org> Sat, 22 Aug 2015 16:29:11 +0200 xorg-server (2:1.17.2-2) experimental; urgency=medium diff --git a/debian/patches/xorg-wrapper-envp.diff b/debian/patches/xorg-wrapper-envp.diff index 6e427f4..47fa90e 100644 --- a/debian/patches/xorg-wrapper-envp.diff +++ b/debian/patches/xorg-wrapper-envp.diff @@ -1,7 +1,7 @@ -diff --git a/hw/xfree86/xorg-wrapper.c b/hw/xfree86/xorg-wrapper.c -index 22e97ad..10e6fe8 100644 ---- a/hw/xfree86/xorg-wrapper.c -+++ b/hw/xfree86/xorg-wrapper.c +Index: xorg-server/hw/xfree86/xorg-wrapper.c +=================================================================== +--- xorg-server.orig/hw/xfree86/xorg-wrapper.c ++++ xorg-server/hw/xfree86/xorg-wrapper.c @@ -190,6 +190,7 @@ int main(int argc, char *argv[]) int total_cards = 0; int allowed = CONSOLE_ONLY; @@ -10,12 +10,15 @@ index 22e97ad..10e6fe8 100644 progname = argv[0]; -@@ -265,7 +266,7 @@ int main(int argc, char *argv[]) +@@ -265,7 +266,10 @@ int main(int argc, char *argv[]) } argv[0] = buf; - (void) execv(argv[0], argv); -+ (void) execve(argv[0], argv, envp); ++ if (getuid() == geteuid()) ++ (void) execv(argv[0], argv); ++ else ++ (void) execve(argv[0], argv, envp); fprintf(stderr, "%s: Failed to execute %s: %s\n", progname, buf, strerror(errno)); exit(1);