xorg-server: Changes to 'ubuntu'
ChangeLog | 781 ++++++++++
Xext/xcmisc.c | 1
Xext/xvdisp.c | 20
Xi/chgdctl.c | 8
Xi/chgfctl.c | 2
Xi/sendexev.c | 3
Xi/xiallowev.c | 2
Xi/xichangecursor.c | 2
Xi/xichangehierarchy.c | 35
Xi/xigetclientpointer.c | 1
Xi/xigrabdev.c | 9
Xi/xipassivegrab.c | 12
Xi/xiproperty.c | 14
Xi/xiquerydevice.c | 1
Xi/xiquerypointer.c | 2
Xi/xiselectev.c | 8
Xi/xisetclientpointer.c | 3
Xi/xisetdevfocus.c | 4
Xi/xiwarppointer.c | 2
configure.ac | 5
dbe/dbe.c | 17
debian/changelog | 32
debian/patches/06_Revert-fb-reorder-Bresenham-error-correction-to-avoi.diff | 68
debian/patches/09_Xserver-man-iglx.diff | 16
debian/patches/series | 2
debian/patches/xmir.patch | 136 -
dix/dispatch.c | 3
dix/region.c | 20
dri3/dri3_request.c | 6
fb/fbseg.c | 20
glx/clientinfo.c | 20
glx/glxcmds.c | 85 -
glx/glxcmdsswap.c | 4
glx/glxserver.h | 43
glx/indirect_dispatch.c | 25
glx/indirect_dispatch_swap.c | 26
glx/indirect_program.c | 2
glx/indirect_reqsize.c | 142 -
glx/indirect_reqsize.h | 181 +-
glx/indirect_texture_compression.c | 4
glx/indirect_util.c | 9
glx/rensize.c | 114 -
glx/single2.c | 23
glx/single2swap.c | 19
glx/singlepix.c | 60
glx/singlepixswap.c | 50
glx/swap_interval.c | 2
glx/unpack.h | 3
hw/xfree86/dri2/dri2ext.c | 3
include/dix.h | 7
include/regionstr.h | 10
man/Xserver.man | 10
os/access.c | 6
os/rpcauth.c | 4
present/present.c | 18
present/present_request.c | 6
randr/rrsdispatch.c | 4
render/render.c | 20
test/Makefile.am | 2
test/misc.c | 37
test/xi1/Makefile.am | 34
test/xi1/protocol-xchangedevicecontrol.c | 122 +
test/xi2/protocol-xigetclientpointer.c | 5
test/xi2/protocol-xipassivegrabdevice.c | 8
test/xi2/protocol-xiquerypointer.c | 4
test/xi2/protocol-xiwarppointer.c | 3
xfixes/select.c | 1
67 files changed, 1857 insertions(+), 494 deletions(-)
New commits:
commit 7e83b9b581d0b84479c1954f2defd380279d4d1f
Author: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Date: Sat Dec 13 14:18:05 2014 +0100
Fix FTBFS with the bool redefinition by undef'ing it after including mir.
diff --git a/debian/changelog b/debian/changelog
index 5287cff..908b4a9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.16.2.901-1ubuntu2) vivid; urgency=medium
+
+ * Fix FTBFS with the bool redefinition by undef'ing it after including mir.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Sat, 13 Dec 2014 14:13:17 +0100
+
xorg-server (2:1.16.2.901-1ubuntu1) vivid; urgency=medium
* Merge from released debian-unstable.
diff --git a/debian/patches/xmir.patch b/debian/patches/xmir.patch
index f60216f..23a620a 100644
--- a/debian/patches/xmir.patch
+++ b/debian/patches/xmir.patch
@@ -1,8 +1,6 @@
-diff --git a/configure.ac b/configure.ac
-index e5387bf..ec171d9 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -627,6 +627,7 @@ AC_ARG_ENABLE(linux_acpi, AS_HELP_STRING([--disable-linux-acpi], [Disable buildi
+@@ -632,6 +632,7 @@
AC_ARG_ENABLE(linux_apm, AS_HELP_STRING([--disable-linux-apm], [Disable building APM support on Linux (if available).]), [enable_linux_apm=$enableval], [enable_linux_apm=yes])
AC_ARG_ENABLE(systemd-logind, AS_HELP_STRING([--enable-systemd-logind], [Build systemd-logind support (default: auto)]), [SYSTEMD_LOGIND=$enableval], [SYSTEMD_LOGIND=auto])
AC_ARG_ENABLE(suid-wrapper, AS_HELP_STRING([--enable-suid-wrapper], [Build suid-root wrapper for legacy driver support on rootless xserver systems (default: no)]), [SUID_WRAPPER=$enableval], [SUID_WRAPPER=no])
@@ -10,7 +8,7 @@ index e5387bf..ec171d9 100644
dnl DDXes.
AC_ARG_ENABLE(xorg, AS_HELP_STRING([--enable-xorg], [Build Xorg server (default: auto)]), [XORG=$enableval], [XORG=auto])
-@@ -1348,6 +1349,15 @@ if test "x$XINERAMA" = xyes; then
+@@ -1368,6 +1369,15 @@
SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES $XINERAMAPROTO"
fi
@@ -20,13 +18,13 @@ index e5387bf..ec171d9 100644
+ AC_SUBST([XMIR_CFLAGS])
+ AC_DEFINE(XMIR, 1, [Support wayland mode])
+ SDK_REQUIRED_MODULES="$SDK_REQUIRED_MODULES mirclient"
-+fi
++fi
+AM_CONDITIONAL(XMIR, [test "x$XMIR" = xyes])
+
AM_CONDITIONAL(XACE, [test "x$XACE" = xyes])
if test "x$XACE" = xyes; then
AC_DEFINE(XACE, 1, [Build X-ACE extension])
-@@ -2573,6 +2583,7 @@ hw/xfree86/utils/Makefile
+@@ -2598,6 +2608,7 @@
hw/xfree86/utils/man/Makefile
hw/xfree86/utils/cvt/Makefile
hw/xfree86/utils/gtf/Makefile
@@ -34,11 +32,9 @@ index e5387bf..ec171d9 100644
hw/dmx/config/Makefile
hw/dmx/config/man/Makefile
hw/dmx/doc/Makefile
-diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
-index c5992c3..c9a077f 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
-@@ -34,16 +34,20 @@ if INT10MODULE
+@@ -34,16 +34,20 @@
INT10_SUBDIR = int10
endif
@@ -61,11 +57,9 @@ index c5992c3..c9a077f 100644
bin_PROGRAMS = Xorg
nodist_Xorg_SOURCES = sdksyms.c
-diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
-index 2adef44..f8c3a7e 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
-@@ -118,6 +118,7 @@ static ModuleDefault ModuleDefaults[] = {
+@@ -118,6 +118,7 @@
{.name = "fb",.toLoad = TRUE,.load_opt = NULL},
{.name = "shadow",.toLoad = TRUE,.load_opt = NULL},
#endif
@@ -73,7 +67,7 @@ index 2adef44..f8c3a7e 100644
{.name = NULL,.toLoad = FALSE,.load_opt = NULL}
};
-@@ -272,6 +273,17 @@ xf86ModulelistFromConfig(void ***optlist)
+@@ -272,6 +273,17 @@
return NULL;
}
@@ -91,11 +85,9 @@ index 2adef44..f8c3a7e 100644
if (xf86configptr->conf_modules) {
/* Walk the disable list and let people know what we've parsed to
* not be loaded
-diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
-index 35a673d..082e454 100644
--- a/hw/xfree86/common/xf86Events.c
+++ b/hw/xfree86/common/xf86Events.c
-@@ -614,6 +614,10 @@ xf86VTSwitch(void)
+@@ -614,6 +614,10 @@
{
DebugF("xf86VTSwitch()\n");
@@ -106,22 +98,18 @@ index 35a673d..082e454 100644
#ifdef XFreeXDGA
if (!DGAVTSwitch())
return;
-diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c
-index 984c39b..9b23d9a 100644
--- a/hw/xfree86/common/xf86Globals.c
+++ b/hw/xfree86/common/xf86Globals.c
-@@ -204,3 +204,6 @@ Bool xf86VidModeAllowNonLocal = FALSE;
+@@ -207,3 +207,6 @@
#endif
RootWinPropPtr *xf86RegisteredPropertiesTable = NULL;
Bool xorgHWAccess = FALSE;
+Bool xorgMir = FALSE;
+const char *mirID = NULL;
+const char *mirSocket = NULL;
-diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
-index e2b32a0..d942ffd 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
-@@ -100,7 +100,14 @@ xf86DeleteDriver(int drvIndex)
+@@ -100,7 +100,14 @@
if (xf86DriverList[drvIndex]->module)
UnloadModule(xf86DriverList[drvIndex]->module);
free(xf86DriverList[drvIndex]);
@@ -137,11 +125,9 @@ index e2b32a0..d942ffd 100644
}
}
-diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
-index 5a45004..931381d 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
-@@ -540,7 +540,7 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
+@@ -564,7 +564,7 @@
* needed at this early stage.
*/
@@ -150,13 +136,13 @@ index 5a45004..931381d 100644
xorgHWFlags flags = HW_IO;
if (xf86DriverList[i]->Identify != NULL)
-@@ -551,12 +551,22 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
+@@ -575,12 +575,22 @@
GET_REQUIRED_HW_INTERFACES,
&flags);
+ if (xorgMir &&
+ (NEED_IO_ENABLED(flags) || !(flags & HW_SKIP_CONSOLE))) {
-+
++
+ ErrorF("Driver needs flags %lu, incompatible with nested, deleting.\n", flags);
+ xf86DeleteDriver(i);
+ continue;
@@ -173,7 +159,7 @@ index 5a45004..931381d 100644
}
if (xorgHWOpenConsole)
-@@ -644,9 +654,13 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
+@@ -675,9 +685,13 @@
}
/* Remove (unload) drivers that are not required */
@@ -189,7 +175,7 @@ index 5a45004..931381d 100644
/*
* At this stage we know how many screens there are.
-@@ -1479,6 +1493,17 @@ ddxProcessArgument(int argc, char **argv, int i)
+@@ -1515,6 +1529,17 @@
xf86Info.ShareVTs = TRUE;
return 1;
}
@@ -207,7 +193,7 @@ index 5a45004..931381d 100644
/* OS-specific processing */
return xf86ProcessArgument(argc, argv, i);
-@@ -1552,6 +1577,8 @@ ddxUseMsg(void)
+@@ -1588,6 +1613,8 @@
ErrorF
("-novtswitch don't automatically switch VT at reset & exit\n");
ErrorF("-sharevts share VTs with another X server\n");
@@ -216,11 +202,9 @@ index 5a45004..931381d 100644
/* OS-specific usage */
xf86UseMsg();
ErrorF("\n");
-diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h
-index 6e374eb..226ae5d 100644
--- a/hw/xfree86/common/xf86Priv.h
+++ b/hw/xfree86/common/xf86Priv.h
-@@ -91,6 +91,11 @@ extern _X_EXPORT int xf86NumScreens;
+@@ -93,6 +93,11 @@
extern _X_EXPORT const char *xf86VisualNames[];
extern _X_EXPORT int xf86Verbose; /* verbosity level */
extern _X_EXPORT int xf86LogVerbose; /* log file verbosity level */
@@ -232,7 +216,7 @@ index 6e374eb..226ae5d 100644
extern _X_EXPORT RootWinPropPtr *xf86RegisteredPropertiesTable;
-@@ -148,6 +153,7 @@ extern _X_EXPORT int (*xf86PMGetEventFromOs) (int fd, pmEvent * events,
+@@ -150,6 +155,7 @@
int num);
extern _X_EXPORT pmWait (*xf86PMConfirmEventToOs) (int fd, pmEvent event);
@@ -240,17 +224,15 @@ index 6e374eb..226ae5d 100644
/* xf86Helper.c */
extern _X_EXPORT void
xf86LogInit(void);
-diff --git a/hw/xfree86/ramdac/xf86Cursor.c b/hw/xfree86/ramdac/xf86Cursor.c
-index fac6822..7becd5f 100644
--- a/hw/xfree86/ramdac/xf86Cursor.c
+++ b/hw/xfree86/ramdac/xf86Cursor.c
-@@ -58,7 +58,12 @@ xf86InitCursor(ScreenPtr pScreen, xf86CursorInfoPtr infoPtr)
+@@ -58,7 +58,12 @@
xf86CursorScreenPtr ScreenPriv;
miPointerScreenPtr PointPriv;
- if (!xf86InitHardwareCursor(pScreen, infoPtr))
+ infoPtr->pScrn = xf86ScreenToScrn(pScreen);
-+
++
+ /* If we can't create a hardware cursor don't bother initialising HW cursor support */
+ if (infoPtr->MaxWidth != 0 &&
+ infoPtr->MaxHeight != 0 &&
@@ -258,11 +240,9 @@ index fac6822..7becd5f 100644
return FALSE;
if (!dixRegisterPrivateKey(&xf86CursorScreenKeyRec, PRIVATE_SCREEN, 0))
-diff --git a/hw/xfree86/ramdac/xf86HWCurs.c b/hw/xfree86/ramdac/xf86HWCurs.c
-index 953c86a..d8994be 100644
--- a/hw/xfree86/ramdac/xf86HWCurs.c
+++ b/hw/xfree86/ramdac/xf86HWCurs.c
-@@ -114,8 +114,6 @@ xf86InitHardwareCursor(ScreenPtr pScreen, xf86CursorInfoPtr infoPtr)
+@@ -114,8 +114,6 @@
infoPtr->RealizeCursor = RealizeCursorInterleave0;
}
@@ -271,9 +251,6 @@ index 953c86a..d8994be 100644
return TRUE;
}
-diff --git a/hw/xfree86/xmir/#xmir.h# b/hw/xfree86/xmir/#xmir.h#
-new file mode 100644
-index 0000000..1ca78b1
--- /dev/null
+++ b/hw/xfree86/xmir/#xmir.h#
@@ -0,0 +1,14 @@
@@ -283,7 +260,7 @@ index 0000000..1ca78b1
+ uint32_t stride;
+} MirBufferInfo;
+
-+typedef void (*XMirBufferReceivedProcPtr)(WindowPtr window,
++typedef void (*XMirBufferReceivedProcPtr)(WindowPtr window,
+ MirBufferInfo *info);
+
+typedef struct xmir_screen {
@@ -291,9 +268,6 @@ index 0000000..1ca78b1
+ MirSurface *root_surf;
+ RealizeWindowProcPtr RealizeWindow;
+} xmir_screen;
-diff --git a/hw/xfree86/xmir/Makefile.am b/hw/xfree86/xmir/Makefile.am
-new file mode 100644
-index 0000000..80715f8
--- /dev/null
+++ b/hw/xfree86/xmir/Makefile.am
@@ -0,0 +1,26 @@
@@ -323,9 +297,6 @@ index 0000000..80715f8
+ xmir-private.h
+
+sdk_HEADERS = xmir.h
-diff --git a/hw/xfree86/xmir/xmir-output.c b/hw/xfree86/xmir/xmir-output.c
-new file mode 100644
-index 0000000..6cfb9da
--- /dev/null
+++ b/hw/xfree86/xmir/xmir-output.c
@@ -0,0 +1,678 @@
@@ -654,7 +625,7 @@ index 0000000..6cfb9da
+ const char *error_msg;
+
+ if (mode->HDisplay == 0 || mode->VDisplay == 0)
-+ return FALSE;
++ return FALSE;
+
+ xf86Msg(X_INFO, "Initial configuration for crtc %p:\n", crtc);
+ xmir_dump_config(xmir_crtc->config);
@@ -820,7 +791,7 @@ index 0000000..6cfb9da
+static void
+xmir_output_destroy(xf86OutputPtr xf86output)
+{
-+ /* The MirDisplayOutput* in driver_private gets cleaned up by
++ /* The MirDisplayOutput* in driver_private gets cleaned up by
+ mir_display_config_destroy() */
+}
+
@@ -917,7 +888,7 @@ index 0000000..6cfb9da
+ xmir_update_config(crtc_config);
+
+ /* Trigger RANDR refresh */
-+ RRGetInfo(xf86ScrnToScreen(scrn), TRUE);
++ RRGetInfo(xf86ScrnToScreen(scrn), TRUE);
+}
+
+static void
@@ -1004,12 +975,9 @@ index 0000000..6cfb9da
+
+ /* TODO: Use initial Mir state rather than setting up our own */
+ xf86InitialConfiguration(scrn, TRUE);
-+
++
+ return TRUE;
+}
-diff --git a/hw/xfree86/xmir/xmir-private.h b/hw/xfree86/xmir/xmir-private.h
-new file mode 100644
-index 0000000..15d89f0
--- /dev/null
+++ b/hw/xfree86/xmir/xmir-private.h
@@ -0,0 +1,106 @@
@@ -1119,9 +1087,6 @@ index 0000000..15d89f0
+xmir_process_from_eventloop(void);
+
+ #endif /* _MIR_PRIVATE_H */
-diff --git a/hw/xfree86/xmir/xmir-thread-proxy.c b/hw/xfree86/xmir/xmir-thread-proxy.c
-new file mode 100644
-index 0000000..2e60aec
--- /dev/null
+++ b/hw/xfree86/xmir/xmir-thread-proxy.c
@@ -0,0 +1,124 @@
@@ -1218,7 +1183,7 @@ index 0000000..2e60aec
+}
+
+void
-+xmir_post_to_eventloop(xmir_marshall_handler *handler, void *msg)
++xmir_post_to_eventloop(xmir_marshall_handler *handler, void *msg)
+{
+ ssize_t written;
+ const int total_size = sizeof *handler + handler->msg_size;
@@ -1249,9 +1214,6 @@ index 0000000..2e60aec
+ }
+}
+
-diff --git a/hw/xfree86/xmir/xmir-window.c b/hw/xfree86/xmir/xmir-window.c
-new file mode 100644
-index 0000000..18a19bf
--- /dev/null
+++ b/hw/xfree86/xmir/xmir-window.c
@@ -0,0 +1,343 @@
@@ -1590,7 +1552,7 @@ index 0000000..18a19bf
+ xmir->DestroyWindow = screen->DestroyWindow;
+ screen->DestroyWindow = xmir_destroy_window;
+
-+ xmir->submit_rendering_handler =
++ xmir->submit_rendering_handler =
+ xmir_register_handler(&xmir_handle_buffer_available,
+ sizeof (xmir_window *));
+ if (xmir->submit_rendering_handler == NULL)
@@ -1598,9 +1560,6 @@ index 0000000..18a19bf
+
+ return TRUE;
+}
-diff --git a/hw/xfree86/xmir/xmir.c b/hw/xfree86/xmir/xmir.c
-new file mode 100644
-index 0000000..ceb81e1
--- /dev/null
+++ b/hw/xfree86/xmir/xmir.c
@@ -0,0 +1,263 @@
@@ -1655,7 +1614,7 @@ index 0000000..ceb81e1
+#include <mir_toolkit/mir_client_library_drm.h>
+
+static DevPrivateKeyRec xmir_screen_private_key;
-+/*
++/*
+ * We have only a single Mir connection, regardless of how many
+ * drivers load.
+ */
@@ -1781,7 +1740,7 @@ index 0000000..ceb81e1
+ xf86Msg(X_WARNING, "xf86Cursor initialisation failed\n");
+
+ /* Hook up focus -> VT switch proxy */
-+ xmir->focus_event_handler =
++ xmir->focus_event_handler =
+ xmir_register_handler(&xmir_handle_focus_event,
+ sizeof(Bool));
+ if (xmir->focus_event_handler == NULL)
@@ -1803,7 +1762,7 @@ index 0000000..ceb81e1
+_X_EXPORT void
+xmir_screen_destroy(xmir_screen *xmir)
+{
-+
++
+}
+
+_X_EXPORT void
@@ -1839,7 +1798,7 @@ index 0000000..ceb81e1
+xMirSetup(void* module, void* opts, int *errmaj, int *errmin)
+{
+ static Bool setupDone = FALSE;
-+
++
+ if (setupDone) {
+ if (errmaj)
+ *errmaj = LDR_ONCEONLY;
@@ -1856,7 +1815,7 @@ index 0000000..ceb81e1
+ return NULL;
+ }
+
-+ xmir_init_thread_to_eventloop();
++ xmir_init_thread_to_eventloop();
+
+ setupDone = TRUE;
+
@@ -1867,12 +1826,9 @@ index 0000000..ceb81e1
+xMirTeardown(void* module)
+{
+}
-diff --git a/hw/xfree86/xmir/xmir.h b/hw/xfree86/xmir/xmir.h
-new file mode 100644
-index 0000000..78396a3
--- /dev/null
+++ b/hw/xfree86/xmir/xmir.h
-@@ -0,0 +1,103 @@
+@@ -0,0 +1,106 @@
+/*
+ * Copyright © 2012 Canonical, Inc
+ *
@@ -1911,6 +1867,9 @@ index 0000000..78396a3
+#include <stdint.h>
+#include <mir_toolkit/mir_client_library.h>
+
++/* Fix because the library defines one of its members as having the name bool */
++#undef bool
++
+#include "xf86str.h"
+#include "scrnintstr.h"
+#include "window.h"
@@ -1943,7 +1902,7 @@ index 0000000..78396a3
+
+_X_EXPORT void
+xmir_screen_close(ScreenPtr screen, xmir_screen *xmir);
-+
++
+_X_EXPORT void
+xmir_screen_destroy(xmir_screen *xmir);
+
@@ -1976,11 +1935,9 @@ index 0000000..78396a3
+xmir_screen_for_each_damaged_window(xmir_screen *xmir, xmir_window_proc callback);
+
+#endif /* _XMIR_H */
-diff --git a/include/list.h b/include/list.h
-index 455c670..c5f8d11 100644
--- a/include/list.h
+++ b/include/list.h
-@@ -184,6 +184,14 @@ __xorg_list_del(struct xorg_list *prev, struct xorg_list *next)
+@@ -184,6 +184,14 @@
prev->next = next;
}
@@ -1995,8 +1952,6 @@ index 455c670..c5f8d11 100644
/**
* Remove the element from the list it is in. Using this function will reset
* the pointers to/from this element so it is removed from the list. It does
-diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in
-index 8bf9d38..9bcfe7c 100644
--- a/include/xorg-server.h.in
+++ b/include/xorg-server.h.in
@@ -227,4 +227,7 @@
@@ -2007,13 +1962,11 @@ index 8bf9d38..9bcfe7c 100644
+#undef XMIR
+
#endif /* _XORG_SERVER_H_ */
-diff --git a/test/Makefile.am b/test/Makefile.am
-index 32edc7a..39c86ca 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
-@@ -6,7 +6,12 @@ if XORG
+@@ -6,7 +6,12 @@
# For now, requires xf86 ddx, could be adjusted to use another
- SUBDIRS += xi2
+ SUBDIRS += xi1 xi2
noinst_PROGRAMS += xkb input xtest misc fixes xfree86 hashtabletest os signal-logging touch
-endif
+
@@ -2025,7 +1978,7 @@ index 32edc7a..39c86ca 100644
check_LTLIBRARIES = libxservertest.la
TESTS=$(noinst_PROGRAMS)
-@@ -37,6 +42,8 @@ touch_LDADD=$(TEST_LDADD)
+@@ -37,6 +42,8 @@
signal_logging_LDADD=$(TEST_LDADD)
hashtabletest_LDADD=$(TEST_LDADD)
os_LDADD=$(TEST_LDADD)
@@ -2034,9 +1987,6 @@ index 32edc7a..39c86ca 100644
libxservertest_la_LIBADD = $(XSERVER_LIBS)
if XORG
-diff --git a/test/xmir-thread-proxy.c b/test/xmir-thread-proxy.c
-new file mode 100644
-index 0000000..7cf19cf
--- /dev/null
+++ b/test/xmir-thread-proxy.c
@@ -0,0 +1,154 @@
@@ -2176,7 +2126,7 @@ index 0000000..7cf19cf
+
+ xmir_process_from_eventloop();
+
-+ assert(check == NUM_THREADS);
++ assert(check == NUM_THREADS);
+}
+
+static void
commit 495f55531e5ef4bd93a46436b55a0845f11364b2
Author: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Date: Thu Dec 11 16:17:27 2014 +0100
release to vivid
diff --git a/debian/changelog b/debian/changelog
index 1340401..5287cff 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,8 @@
-xorg-server (2:1.16.2.901-1ubuntu1) UNRELEASED; urgency=medium
+xorg-server (2:1.16.2.901-1ubuntu1) vivid; urgency=medium
* Merge from released debian-unstable.
- -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Thu, 11 Dec 2014 16:15:36 +0100
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Thu, 11 Dec 2014 16:17:07 +0100
xorg-server (2:1.16.2.901-1) unstable; urgency=medium
commit 188080cb3e175e798afd9d70055e0f70cf29360f
Author: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Date: Thu Dec 11 16:17:05 2014 +0100
Merge from released debian-unstable.
diff --git a/debian/changelog b/debian/changelog
index d7e4d3b..1340401 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xorg-server (2:1.16.2.901-1ubuntu1) UNRELEASED; urgency=medium
+
+ * Merge from released debian-unstable.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Thu, 11 Dec 2014 16:15:36 +0100
+
xorg-server (2:1.16.2.901-1) unstable; urgency=medium
* New upstream release
commit 113fefcb3e81629291dd9cbfa14613908f967326
Author: Julien Cristau <jcristau@debian.org>
Date: Tue Dec 9 22:25:56 2014 +0100
Upload to unstable
diff --git a/debian/changelog b/debian/changelog
index 03e9c0c..392dd42 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.16.2.901-1) UNRELEASED; urgency=medium
+xorg-server (2:1.16.2.901-1) unstable; urgency=medium
* New upstream release
+ fb: Fix Bresenham algorithms for commonly used small segments
@@ -16,7 +16,7 @@ xorg-server (2:1.16.2.901-1) UNRELEASED; urgency=medium
* 09_Xserver-man-iglx.diff: adjust Xserver man page, we disable indirect glx
contexts by default.
- -- Julien Cristau <jcristau@debian.org> Tue, 09 Dec 2014 21:39:42 +0100
+ -- Julien Cristau <jcristau@debian.org> Tue, 09 Dec 2014 22:04:20 +0100
xorg-server (2:1.16.1.901-1) unstable; urgency=medium
commit eafda1e17bd997eaa2c4b636c990ba57830bae3a
Author: Julien Cristau <jcristau@debian.org>
Date: Tue Dec 9 22:03:52 2014 +0100
Merge 1.16.2.901
Drop obsolete patch, adjust Xserver.man for -iglx default.
diff --git a/ChangeLog b/ChangeLog
index cf9123f..04c9c9c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,784 @@
+commit 9b037af0410bb1f63d370d8b8be06135de7af600
+Author: Julien Cristau <jcristau@debian.org>
+Date: Tue Dec 9 20:55:02 2014 +0100
+
+ Bump to 1.16.2.901
+
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit f7ff55a374d91f8b513159809ed41c3e029a6074
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Dec 9 09:31:00 2014 -0800
+
+ dix: GetHosts bounds check using wrong pointer value [CVE-2014-8092 pt. 6]
+
+ GetHosts saves the pointer to allocated memory in *data, and then
+ wants to bounds-check writes to that region, but was mistakenly using
+ a bare 'data' instead of '*data'. Also, data is declared as void **,
+ so we need a cast to turn it into a byte pointer so we can actually do
+ pointer comparisons.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit 1559a94395258fd73e369f1a2c98a44bfe21a486)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 8e7c4380a56ab05412f630e9b6e02580cb04a804
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Dec 9 09:30:59 2014 -0800
+
+ Missing parens in REQUEST_FIXED_SIZE macro [CVE-2014-8092 pt. 5]
+
+ The 'n' parameter must be surrounded by parens in both places to
+ prevent precedence from mis-computing things.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit 9802a0162f738de03585ca3f3b8a8266494f7d45)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 1069ca99298bf1e85e001bfde90b00a42afdb5d8
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Dec 9 09:30:58 2014 -0800
+
+ glx: Can't mix declarations and code in X.org sources [CVE-2014-8098 pt. 9]
+
+ We're using compiler compatibility settings which generate warnings
+ when a variable is declared after the first statement.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com>
+ Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit 61b17c0f10307e25e51e30e6fb1d3e3127f82d86)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 044764b5c627d1a6e8ea1dd8cf741a26aeb4b2e7
+Author: Keith Packard <keithp@keithp.com>
+Date: Tue Dec 9 09:30:57 2014 -0800
+
+ dbe: Call to DDX SwapBuffers requires address of int, not unsigned int [CVE-2014-8097 pt. 2]
+
+ When the local types used to walk the DBE request were changed, this
+ changed the type of the parameter passed to the DDX SwapBuffers API,
+ but there wasn't a matching change in the API definition.
+
+ At this point, with the API frozen, I just stuck a new variable in
+ with the correct type. Because we've already bounds-checked nStuff to
+ be smaller than UINT32_MAX / sizeof(DbeSwapInfoRec), we know it will
+ fit in a signed int without overflow.
+
+ Signed-off-by: Keith Packard <keithp@keithp.com
+ Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit b20912c3d45cbbde3c443e6c3d9e189092fe65e1)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 73b1880eb37bd8ffbc3e36739e94f9b56b8323b9
+Author: Robert Morell <rmorell@nvidia.com>
+Date: Wed Nov 12 18:51:43 2014 -0800
+
+ glx: Fix mask truncation in __glXGetAnswerBuffer [CVE-2014-8093 6/6]
+
+ On a system where sizeof(unsigned) != sizeof(intptr_t), the unary
+ bitwise not operation will result in a mask that clears all high bits
+ from temp_buf in the expression:
+ temp_buf = (temp_buf + mask) & ~mask;
+
+ Signed-off-by: Robert Morell <rmorell@nvidia.com>
+ Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit 7e7630bbb775573eea2a2335adb9d190c3e1e971)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 912df16404b80ea143bd75cdacc0d0976bae4c96
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 10 12:13:48 2014 -0500
+
+ glx: Pass remaining request length into ->varsize (v2) [CVE-2014-8098 8/8]
+
+ v2: Handle more multiplies in indirect_reqsize.c (Julien Cristau)
+
+ Reviewed-by: Julien Cristau <jcristau@debian.org>
+ Reviewed-by: Michal Srb <msrb@suse.com>
+ Reviewed-by: Andy Ritger <aritger@nvidia.com>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit e883c170c15493ab3637c0a01890f5a7ca4e16a5)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 92de7a90a1f48b7fd37b8c78f6a2b8dfa13714a6
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 10 12:13:47 2014 -0500
+
+ glx: Length checking for non-generated single requests (v2) [CVE-2014-8098 7/8]
+
+ v2:
+ Fix single versus vendor-private length checking for ARB_imaging subset
+ extensions. (Julien Cristau)
+
+ v3:
+ Fix single versus vendor-private length checking for ARB_imaging subset
+ extensions. (Julien Cristau)
+
+ Reviewed-by: Michal Srb <msrb@suse.com>
+ Reviewed-by: Andy Ritger <aritger@nvidia.com>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit 984583a497c813df5827ae22483133e704fee79c)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 44ed4a6547136a0945cd85f93b83392cf53f58f2
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 10 12:13:46 2014 -0500
+
+ glx: Length-checking for non-generated vendor private requests [CVE-2014-8098 6/8]
+
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Reviewed-by: Michal Srb <msrb@suse.com>
+ Reviewed-by: Andy Ritger <aritger@nvidia.com>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit 44ba149f28ece93c2fbfc9cc980588de5322dd4b)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit fe9672204ad9edc09c4ae6ba1b9e9de09ec98287
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 10 12:13:45 2014 -0500
+
+ glx: Request length checks for SetClientInfoARB [CVE-2014-8098 5/8]
+
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Reviewed-by: Julien Cristau <jcristau@debian.org>
+ Reviewed-by: Michal Srb <msrb@suse.com>
+ Reviewed-by: Andy Ritger <aritger@nvidia.com>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit afe177020d1fb776c6163f21eddc82cb185b95ca)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 525db4433b042ad5a116ca0366498f5bc36e1640
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 10 12:13:44 2014 -0500
+
+ glx: Top-level length checking for swapped VendorPrivate requests [CVE-2014-8098 4/8]
+
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Reviewed-by: Julien Cristau <jcristau@debian.org>
+ Reviewed-by: Michal Srb <msrb@suse.com>
+ Reviewed-by: Andy Ritger <aritger@nvidia.com>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit c91e4abc3b892f42802efa20fef7ada442c2d3f5)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit cbf197e1c97ae0402abfc35514ef62120baee3a6
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 10 12:13:43 2014 -0500
+
+ glx: Length checking for RenderLarge requests (v2) [CVE-2014-8098 3/8]
+
+ This is a half-measure until we start passing request length into the
+ varsize function, but it's better than the nothing we had before.
+
+ v2: Verify that there's at least a large render header's worth of
+ dataBytes (Julien Cristau)
+
+ Reviewed-by: Michal Srb <msrb@suse.com>
+ Reviewed-by: Andy Ritger <aritger@nvidia.com>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit a33a939e6abb255b14d8dbc85fcbd2c55b958bae)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+ Conflicts:
+ glx/glxcmds.c
+
+commit 7590915c9d76ff7efdc6398a37351df9fab2ce7d
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 10 12:13:42 2014 -0500
+
+ glx: Integer overflow protection for non-generated render requests (v3) [CVE-2014-8093 5/6]
+
+ v2:
+ Fix constants in __glXMap2fReqSize (Michal Srb)
+ Validate w/h/d for proxy targets too (Keith Packard)
+
+ v3:
+ Fix Map[12]Size to correctly reject order == 0 (Julien Cristau)
+
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Reviewed-by: Michal Srb <msrb@suse.com>
+ Reviewed-by: Andy Ritger <aritger@nvidia.com>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit 698888e6671d54c7ae41e9d456f7f5483a3459d2)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 20bc891f767a398bff3301369f8a78f9e65b7eda
+Author: Julien Cristau <jcristau@debian.org>
+Date: Mon Nov 10 12:13:41 2014 -0500
+
+ glx: Length checking for GLXRender requests (v2) [CVE-2014-8098 2/8]
+
+ v2:
+ Remove can't-happen comparison for cmdlen < 0 (Michal Srb)
+
+ Reviewed-by: Adam Jackson <ajax@redhat.com>
+ Reviewed-by: Michal Srb <msrb@suse.com>
+ Reviewed-by: Andy Ritger <aritger@nvidia.com>
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit be09e0c988ffdb0371293af49fb4ea8f49ed324a)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 233429c1d8c1183bead2d6f3726c92a7fc557ca9
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 10 12:13:40 2014 -0500
+
+ glx: Add safe_{add,mul,pad} (v3) [CVE-2014-8093 4/6]
+
+ These are paranoid about integer overflow, and will return -1 if their
+ operation would overflow a (signed) integer or if either argument is
+ negative.
+
+ Note that RenderLarge requests are sized with a uint32_t so in principle
+ this could be sketchy there, but dix limits bigreqs to 128M so you
+ shouldn't ever notice, and honestly if you're sending more than 2G of
+ rendering commands you're already doing something very wrong.
+
+ v2: Use INT_MAX for consistency with the rest of the server (jcristau)
+ v3: Reject negative arguments (anholt)
+
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Reviewed-by: Julien Cristau <jcristau@debian.org>
+ Reviewed-by: Michal Srb <msrb@suse.com>
+ Reviewed-by: Andy Ritger <aritger@nvidia.com>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit 2a5cbc17fc72185bf0fa06fef26d1f782de72595)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit e7dc700de969242983ca0964e38e87a79675f7fa
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 10 12:13:39 2014 -0500
+
+ glx: Fix image size computation for EXT_texture_integer [CVE-2014-8098 1/8]
+
+ Without this we'd reject the request with BadLength. Note that some old
+ versions of Mesa had a bug in the same place, and would _send_ zero
+ bytes of image data; these will now be rejected, correctly.
+
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Reviewed-by: Julien Cristau <jcristau@debian.org>
+ Reviewed-by: Michal Srb <msrb@suse.com>
+ Reviewed-by: Andy Ritger <aritger@nvidia.com>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit 13d36923e0ddb077f4854e354c3d5c80590b5d9d)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 25e0fe2b59189be91a84626bc45278c7596ac438
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 10 12:13:38 2014 -0500
+
+ glx: Additional paranoia in __glXGetAnswerBuffer / __GLX_GET_ANSWER_BUFFER (v2) [CVE-2014-8093 3/6]
+
+ If the computed reply size is negative, something went wrong, treat it
+ as an error.
+
+ v2: Be more careful about size_t being unsigned (Matthieu Herrb)
+ v3: SIZE_MAX not SIZE_T_MAX (Alan Coopersmith)
+
+ Reviewed-by: Julien Cristau <jcristau@debian.org>
+ Reviewed-by: Michal Srb <msrb@suse.com>
+ Reviewed-by: Andy Ritger <aritger@nvidia.com>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit 717a1b37767b41e14859e5022ae9e679152821a9)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit de17ad13eb38af4bd5c8f085200bdab88496062f
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 10 12:13:37 2014 -0500
+
+ glx: Be more strict about rejecting invalid image sizes [CVE-2014-8093 2/6]
+
+ Before this we'd just clamp the image size to 0, which was just
+ hideously stupid; if the parameters were such that they'd overflow an
+ integer, you'd allocate a small buffer, then pass huge values into (say)
+ ReadPixels, and now you're scribbling over arbitrary server memory.
+
+ Reviewed-by: Keith Packard <keithp@keithp.com>
+ Reviewed-by: Julien Cristau <jcristau@debian.org>
+ Reviewed-by: Michal Srb <msrb@suse.com>
+ Reviewed-by: Andy Ritger <aritger@nvidia.com>
+ Signed-off-by: Adam Jackson <ajax@redhat.com>
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+ (cherry picked from commit ab2ba9338aa5e85b4487bc7fbe69985c76483e01)
+ Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 1d496e046e398cd9d6d77edf8958967c86983bf0
+Author: Adam Jackson <ajax@redhat.com>
+Date: Mon Nov 10 12:13:36 2014 -0500
+
+ glx: Be more paranoid about variable-length requests [CVE-2014-8093 1/6]
+
+ If the size computation routine returns -1 we should just reject the
+ request outright. Clamping it to zero could give an attacker the
+ opportunity to also mangle cmdlen in such a way that the subsequent
+ length check passes, and the request would get executed, thus passing
Reply to: