diff --git a/configure.ac b/configure.ac index 96524c58b..b593fc75a 100644 --- a/configure.ac +++ b/configure.ac @@ -923,7 +923,7 @@ if test "x$SUID_WRAPPER" = xyes; then PKG_CHECK_MODULES([LIBDRM], $LIBDRM) dnl This is a define so that if some platforms want to put the wrapper dnl somewhere else this can be easily changed - AC_DEFINE_DIR(SUID_WRAPPER_DIR, libexecdir, [Where to install Xorg.bin and Xorg.wrap]) + AC_DEFINE_DIR(SUID_WRAPPER_DIR, libexecdir, [Where to install the Xorg binary and Xorg.wrap]) SETUID="no" fi AM_CONDITIONAL(SUID_WRAPPER, [test "x$SUID_WRAPPER" = xyes]) diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am index d46bf0a86..27f2cc6cb 100644 --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am @@ -106,7 +106,7 @@ if INSTALL_SETUID endif if SUID_WRAPPER $(MKDIR_P) $(DESTDIR)$(SUID_WRAPPER_DIR) - mv $(DESTDIR)$(bindir)/Xorg $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg.bin + mv $(DESTDIR)$(bindir)/Xorg $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg ${INSTALL} -m 755 Xorg.sh $(DESTDIR)$(bindir)/Xorg -chown root $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg.wrap && chmod u+s $(DESTDIR)$(SUID_WRAPPER_DIR)/Xorg.wrap endif diff --git a/hw/xfree86/Xorg.sh.in b/hw/xfree86/Xorg.sh.in index cef4859c8..481413523 100644 --- a/hw/xfree86/Xorg.sh.in +++ b/hw/xfree86/Xorg.sh.in @@ -1,11 +1,11 @@ #!/bin/sh # -# Execute Xorg.wrap if it exists otherwise execute Xorg.bin directly. +# Execute Xorg.wrap if it exists otherwise execute Xorg directly. # This allows distros to put the suid wrapper in a separate package. basedir=@SUID_WRAPPER_DIR@ if [ -x "$basedir"/Xorg.wrap ]; then exec "$basedir"/Xorg.wrap "$@" else - exec "$basedir"/Xorg.bin "$@" + exec "$basedir"/Xorg "$@" fi diff --git a/hw/xfree86/man/Xorg.wrap.man b/hw/xfree86/man/Xorg.wrap.man index 58937c74b..11090f1f4 100644 --- a/hw/xfree86/man/Xorg.wrap.man +++ b/hw/xfree86/man/Xorg.wrap.man @@ -33,7 +33,7 @@ Xorg.wrap \- Xorg X server binary wrapper The Xorg X server may need root rights to function properly. To start the Xorg X server with these rights your system is using a suid root wrapper installed as __suid_wrapper_dir__/Xorg.wrap which will execute the real -X server which is installed as __suid_wrapper_dir__/Xorg.bin . +X server which is installed as __suid_wrapper_dir__/Xorg. .PP By default Xorg.wrap will autodetect if root rights are necessary, and if not it will drop its elevated rights before starting the real X server. diff --git a/hw/xfree86/xorg-wrapper.c b/hw/xfree86/xorg-wrapper.c index 4ea47331b..22e97ad5d 100644 --- a/hw/xfree86/xorg-wrapper.c +++ b/hw/xfree86/xorg-wrapper.c @@ -255,18 +255,18 @@ int main(int argc, char *argv[]) } } - snprintf(buf, sizeof(buf), "%s/Xorg.bin", SUID_WRAPPER_DIR); + snprintf(buf, sizeof(buf), "%s/Xorg", SUID_WRAPPER_DIR); /* Check if the server is executable by our real uid */ if (access(buf, X_OK) != 0) { - fprintf(stderr, "%s: Missing execute permissions for %s/Xorg.bin: %s\n", - progname, SUID_WRAPPER_DIR, strerror(errno)); + fprintf(stderr, "%s: Missing execute permissions for %s: %s\n", + progname, buf, strerror(errno)); exit(1); } argv[0] = buf; (void) execv(argv[0], argv); - fprintf(stderr, "%s: Failed to execute %s/Xorg.bin: %s\n", - progname, SUID_WRAPPER_DIR, strerror(errno)); + fprintf(stderr, "%s: Failed to execute %s: %s\n", + progname, buf, strerror(errno)); exit(1); }