diff --git a/.cvsignore b/.cvsignore index d453f72..a9bc8d1 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -xorg-server-1.6.0.tar.bz2 +xorg-server-1.6.1.tar.bz2 diff --git a/10-x11-keymap.fdi b/10-x11-keymap.fdi deleted file mode 100644 index c78f05b..0000000 --- a/10-x11-keymap.fdi +++ /dev/null @@ -1,8 +0,0 @@ - - - - - fedora-setup-keyboard - - - diff --git a/fedora-setup-keyboard b/fedora-setup-keyboard deleted file mode 100644 index 945af89..0000000 --- a/fedora-setup-keyboard +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env python -# encoding: utf-8 -# vim: tabstop=4 expandtab autoindent shiftwidth=4 fileencoding=utf-8 -""" -fedora-setup-keyboard.py - -Written by Alexander D. Kanevskiy -""" - -import sys, os, dbus -import rhpl.keyboard_models -from rhpl.simpleconfig import SimpleConfigFile - -KBDCONFIG = "/etc/sysconfig/keyboard" - -def main(): - # Sanity checks - if 'UDI' not in os.environ: - sys.exit(1) - if not os.access(KBDCONFIG, os.R_OK): - sys.exit(0) - # Read config - kbd_config = SimpleConfigFile() - kbd_config.read(KBDCONFIG) - kbd_models = rhpl.keyboard_models.KeyboardModels().get_models() - (layout, model, variant, options) = tuple(kbd_models.get(kbd_config.info.get('KEYTABLE',''), ['', '', '', '', ''])[1:]) - result_dict = { 'layout': layout, 'model': model, 'variant': variant, 'options': options } - - # Now let's dbus fun begin - if 'HALD_DIRECT_ADDR' in os.environ: - bus = dbus.connection.Connection(os.environ['HALD_DIRECT_ADDR']) - else: - bus = dbus.SystemBus() - kbd = dbus.Interface(bus.get_object("org.freedesktop.Hal", os.environ['UDI']), 'org.freedesktop.Hal.Device') - for key in result_dict: - # Respect user settings - value = kbd_config.info.get(key.upper(), result_dict[key]) - if not value: - try: - kbd.RemoveProperty("input.xkb.%s" % key) - except dbus.exceptions.DBusException: - pass # key already not exist - else: - kbd.SetPropertyString("input.xkb.%s" % key, value) - - -if __name__ == '__main__': - main() diff --git a/import.log b/import.log index be8df06..782e371 100644 --- a/import.log +++ b/import.log @@ -3,3 +3,4 @@ xorg-x11-server-1_5_1-1_fc10:HEAD:xorg-x11-server-1.5.1-1.fc10.src.rpm:122219855 xorg-x11-server-1_5_2-1_fc10:HEAD:xorg-x11-server-1.5.2-1.fc10.src.rpm:1223667007 xorg-x11-server-1_5_3-1_fc10:HEAD:xorg-x11-server-1.5.3-1.fc10.src.rpm:1225918317 xorg-x11-server-1_6_0-1_fc11:HEAD:xorg-x11-server-1.6.0-1.fc11.src.rpm:1235594175 +xorg-x11-server-1_6_1-1_fc11:HEAD:xorg-x11-server-1.6.1-1.fc11.src.rpm:1239742477 diff --git a/sources b/sources index 0ce3d96..6eb325e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -aafe73f5807ce8bb534727ecb72467c7 xorg-server-1.6.0.tar.bz2 +ed0878bf32a24d4948c3b8a122a39eff xorg-server-1.6.1.tar.bz2 diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 3eb2907..3f0b15d 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -18,8 +18,8 @@ Summary: X.Org X11 X server Name: xorg-x11-server -Version: 1.6.0 -Release: 20%{?dist} +Version: 1.6.1 +Release: 1%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -56,9 +56,7 @@ Patch1003: xserver-1.4.99-pic-libxf86config.patch Patch2013: xserver-1.4.99-document-fontpath-correctly.patch Patch2014: xserver-1.5.0-projector-fb-size.patch -# Trivial things to never merge upstream ever -# Don't merge this without protecting the gccisms. -Patch5001: xserver-1.4.99-alloca-poison.patch +# Trivial things to never merge upstream ever: # This really could be done prettier. Patch5002: xserver-1.4.99-ssh-isnt-local.patch @@ -85,7 +83,7 @@ Patch6012: xserver-1.5.99.902-sod-off-poulsbo.patch Patch6013: xserver-1.6.0-selinux-less.patch # selinux performance hack -Patch6014: xserver-1.6.0-selinux-nlfd.patch +#Patch6014: xserver-1.6.0-selinux-nlfd.patch # https://bugs.freedesktop.org/show_bug.cgi?id=20087 Patch6015: xserver-1.5.99.902-vnc.patch @@ -93,17 +91,9 @@ Patch6015: xserver-1.5.99.902-vnc.patch # Make autoconfiguration chose nouveau driver for NVIDIA GPUs Patch6016: xserver-1.5.99.902-nouveau.patch -# from master, may end up in 1.6.1. -Patch6018: xserver-1.6.0-XIPropToInt.patch -Patch6019: xserver-1.6.0-XATOM_FLOAT.patch -Patch6020: xserver-1.6.0-preferred-thinko.patch -Patch6021: xserver-1.6.0-selinux-raw.patch Patch6022: xserver-1.6.0-primary.patch -Patch6023: xserver-1.6.0-selinux-destroy.patch Patch6024: xserver-1.6.0-xinerama-cursors.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=490984 -Patch6025: xserver-1.6.0-xtest-pointerscreen.patch # http://bugs.freedesktop.org/show_bug.cgi?id=20557 Patch6026: xserver-1.6.0-xinerama-crashes.patch @@ -543,6 +533,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Apr 14 2009 Adam Jackson 1.6.1-1 +- xserver 1.6.1 + * Mon Apr 13 2009 Adam Jackson 1.6.0-20 - Obsolete a bunch of input drivers. (#493221) diff --git a/xserver-1.4.99-alloca-poison.patch b/xserver-1.4.99-alloca-poison.patch deleted file mode 100644 index 5fa874a..0000000 --- a/xserver-1.4.99-alloca-poison.patch +++ /dev/null @@ -1,27 +0,0 @@ -From d8f0b7e388f61a9ae528466dafac1bdfaf5b77ca Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Mon, 10 Dec 2007 15:25:01 -0500 -Subject: [PATCH] Poison {DE,}ALLOCATE_LOCAL so we don't build broken drivers. - ---- - include/os.h | 4 ++++ - 1 files changed, 4 insertions(+), 0 deletions(-) - -diff --git a/include/os.h b/include/os.h -index c53a9ea..0960d0c 100644 ---- a/include/os.h -+++ b/include/os.h -@@ -50,6 +50,10 @@ SOFTWARE. - #define OS_H - - #include "misc.h" -+ -+#pragma GCC poison ALLOCATE_LOCAL -+#pragma GCC poison DEALLOCATE_LOCAL -+ - #include - - #define NullFID ((FID) 0) --- -1.5.2.4 - diff --git a/xserver-1.6.0-XATOM_FLOAT.patch b/xserver-1.6.0-XATOM_FLOAT.patch deleted file mode 100644 index 996f195..0000000 --- a/xserver-1.6.0-XATOM_FLOAT.patch +++ /dev/null @@ -1,123 +0,0 @@ -From a48c81dcdf569a3f634ac23e08d2491354de6a36 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Fri, 5 Dec 2008 16:24:57 +1000 -Subject: [PATCH] Xi: add XATOM_FLOAT to server-defined properties. - -This property is used to denote type float for input properties. Such -properties can be accessed easily through the XIPropToFloat() function. - -Code originally written by Simon Thum. - -Signed-off-by: Peter Hutterer ---- - Xi/xiproperty.c | 55 +++++++++++++++++++++++++++++++++++++++++- - include/exevents.h | 6 ++++ - include/xserver-properties.h | 4 +++ - 3 files changed, 64 insertions(+), 1 deletions(-) - -diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c -index cd9805a..6da8424 100644 ---- a/Xi/xiproperty.c -+++ b/Xi/xiproperty.c -@@ -49,7 +49,8 @@ static struct dev_properties - Atom type; - char *name; - } dev_properties[] = { -- {0, XI_PROP_ENABLED} -+ {0, XI_PROP_ENABLED}, -+ {0, XATOM_FLOAT} - }; - - static long XIPropHandlerID = 1; -@@ -137,6 +138,58 @@ XIPropToInt(XIPropertyValuePtr val, int *nelem_return, int **buf_return) - return Success; - } - -+/** -+ * Convert the given property's value(s) into @nelem_return float values and -+ * store them in @buf_return. If @nelem_return is larger than the number of -+ * values in the property, @nelem_return is set to the number of values in the -+ * property. -+ * -+ * If *@buf_return is NULL and @nelem_return is 0, memory is allocated -+ * automatically and must be freed by the caller. -+ * -+ * Possible errors returned: -+ * Success -+ * BadMatch ... Wrong atom type, atom is not XA_FLOAT -+ * BadValue ... Wrong format, format is not 32 -+ * BadAlloc ... NULL passed as buffer and allocation failed. -+ * BadLength ... @buff is NULL but @nelem_return is non-zero. -+ * -+ * @param val The property value -+ * @param nelem_return The maximum number of elements to return. -+ * @param buf_return Pointer to an array of at least @nelem_return values. -+ * @return Success or the error code if an error occured. -+ */ -+_X_EXPORT int -+XIPropToFloat(XIPropertyValuePtr val, int *nelem_return, float **buf_return) -+{ -+ int i; -+ float *buf; -+ -+ if (!val->type || val->type != XIGetKnownProperty(XATOM_FLOAT)) -+ return BadMatch; -+ -+ if (val->format != 32) -+ return BadValue; -+ if (!*buf_return && *nelem_return) -+ return BadLength; -+ -+ buf = *buf_return; -+ -+ if (!buf && !(*nelem_return)) -+ { -+ buf = xcalloc(val->size, sizeof(float)); -+ if (!buf) -+ return BadAlloc; -+ *buf_return = buf; -+ *nelem_return = val->size; -+ } else if (val->size < *nelem_return) -+ *nelem_return = val->size; -+ -+ for (i = 0; i < val->size && i < *nelem_return; i++) -+ buf[i] = ((float*)val->data)[i]; -+ -+ return Success; -+} - - /** - * Init those properties that are allocated by the server and most likely used -diff --git a/include/exevents.h b/include/exevents.h -index 485347b..2504baf 100644 ---- a/include/exevents.h -+++ b/include/exevents.h -@@ -257,4 +257,10 @@ extern _X_EXPORT int XIPropToInt( - int **buf_return - ); - -+extern _X_EXPORT int XIPropToFloat( -+ XIPropertyValuePtr val, -+ int *nelem_return, -+ float **buf_return -+); -+ - #endif /* EXEVENTS_H */ -diff --git a/include/xserver-properties.h b/include/xserver-properties.h -index 4d602b5..f8aeab6 100644 ---- a/include/xserver-properties.h -+++ b/include/xserver-properties.h -@@ -26,6 +26,10 @@ - #ifndef _XSERVER_PROPERTIES_H_ - #define _XSERVER_PROPERTIES_H_ - -+/* Type for a 4 byte float. Storage format IEEE 754 in client's default -+ * byte-ordering. */ -+#define XATOM_FLOAT "FLOAT" -+ - /* BOOL. 0 - device disabled, 1 - device enabled */ - #define XI_PROP_ENABLED "Device Enabled" - --- -1.6.0.6 - diff --git a/xserver-1.6.0-XIPropToInt.patch b/xserver-1.6.0-XIPropToInt.patch deleted file mode 100644 index c2c7672..0000000 --- a/xserver-1.6.0-XIPropToInt.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 669f6810af9a89187d6149841925fe765f3988ff Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Wed, 19 Nov 2008 15:50:57 +1000 -Subject: [PATCH] Xi: add XIPropToInt() auxiliary function. - -Converts an XIPropertyValuePtr to an integer, provided that type and format is -right. - -Code originally written by Simon Thum. - -Signed-off-by: Peter Hutterer ---- - Xi/xiproperty.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - include/exevents.h | 6 ++++ - 2 files changed, 74 insertions(+), 0 deletions(-) - -diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c -index e79a2ed..cd9805a 100644 ---- a/Xi/xiproperty.c -+++ b/Xi/xiproperty.c -@@ -32,6 +32,7 @@ - #include "dix.h" - #include "inputstr.h" - #include -+#include - #include - #include "exglobals.h" - #include "exevents.h" -@@ -71,6 +72,73 @@ XIGetKnownProperty(char *name) - } - - /** -+ * Convert the given property's value(s) into @nelem_return integer values and -+ * store them in @buf_return. If @nelem_return is larger than the number of -+ * values in the property, @nelem_return is set to the number of values in the -+ * property. -+ * -+ * If *@buf_return is NULL and @nelem_return is 0, memory is allocated -+ * automatically and must be freed by the caller. -+ * -+ * Possible return codes. -+ * Success ... No error. -+ * BadMatch ... Wrong atom type, atom is not XA_INTEGER -+ * BadAlloc ... NULL passed as buffer and allocation failed. -+ * BadLength ... @buff is NULL but @nelem_return is non-zero. -+ * -+ * @param val The property value -+ * @param nelem_return The maximum number of elements to return. -+ * @param buf_return Pointer to an array of at least @nelem_return values. -+ * @return Success or the error code if an error occured. -+ */ -+_X_EXPORT int -+XIPropToInt(XIPropertyValuePtr val, int *nelem_return, int **buf_return) -+{ -+ int i; -+ int *buf; -+ -+ if (val->type != XA_INTEGER) -+ return BadMatch; -+ if (!*buf_return && *nelem_return) -+ return BadLength; -+ -+ switch(val->format) -+ { -+ case 8: -+ case 16: -+ case 32: -+ break; -+ default: -+ return BadValue; -+ } -+ -+ buf = *buf_return; -+ -+ if (!buf && !(*nelem_return)) -+ { -+ buf = xcalloc(val->size, sizeof(int)); -+ if (!buf) -+ return BadAlloc; -+ *buf_return = buf; -+ *nelem_return = val->size; -+ } else if (val->size < *nelem_return) -+ *nelem_return = val->size; -+ -+ for (i = 0; i < val->size && i < *nelem_return; i++) -+ { -+ switch(val->format) -+ { -+ case 8: buf[i] = ((CARD8*)val->data)[i]; break; -+ case 16: buf[i] = ((CARD16*)val->data)[i]; break; -+ case 32: buf[i] = ((CARD32*)val->data)[i]; break; -+ } -+ } -+ -+ return Success; -+} -+ -+ -+/** - * Init those properties that are allocated by the server and most likely used - * by the DIX or the DDX. - */ -diff --git a/include/exevents.h b/include/exevents.h -index 2a7ec97..485347b 100644 ---- a/include/exevents.h -+++ b/include/exevents.h -@@ -251,4 +251,10 @@ extern _X_EXPORT Atom XIGetKnownProperty( - - extern DeviceIntPtr XIGetDevice(xEvent *ev); - -+extern _X_EXPORT int XIPropToInt( -+ XIPropertyValuePtr val, -+ int *nelem_return, -+ int **buf_return -+); -+ - #endif /* EXEVENTS_H */ --- -1.6.0.6 - diff --git a/xserver-1.6.0-preferred-thinko.patch b/xserver-1.6.0-preferred-thinko.patch deleted file mode 100644 index 55c69e0..0000000 --- a/xserver-1.6.0-preferred-thinko.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 33c791b421db742e78c74028a5ef5f6604e66c48 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Mon, 2 Mar 2009 13:00:31 -0500 -Subject: [PATCH] Fix output setup when only one head, and it's not the zeroth one. - ---- - hw/xfree86/modes/xf86Crtc.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c -index a8fd099..ad6ca98 100644 ---- a/hw/xfree86/modes/xf86Crtc.c -+++ b/hw/xfree86/modes/xf86Crtc.c -@@ -2070,9 +2070,9 @@ xf86TargetPreferred(ScrnInfoPtr scrn, xf86CrtcConfigPtr config, - (float)config->output[p]->mm_height; - - if (aspect) -- preferred_match[0] = bestModeForAspect(config, enabled, aspect); -+ preferred_match[p] = bestModeForAspect(config, enabled, aspect); - -- if (preferred_match[0]) -+ if (preferred_match[p]) - ret = TRUE; - - } while (0); --- -1.6.1.3 - diff --git a/xserver-1.6.0-selinux-destroy.patch b/xserver-1.6.0-selinux-destroy.patch deleted file mode 100644 index 448793c..0000000 --- a/xserver-1.6.0-selinux-destroy.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 00fb367cffcc6dd36e5c023757414ed63e13e643 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Tue, 3 Mar 2009 14:32:52 -0500 -Subject: [PATCH] Don't bother relabeling resources that are being destroyed - ---- - Xext/xselinux.c | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/Xext/xselinux.c b/Xext/xselinux.c -index 6085983..f8495ea 100644 ---- a/Xext/xselinux.c -+++ b/Xext/xselinux.c -@@ -1150,6 +1150,8 @@ SELinuxResourceState(CallbackListPtr *pcbl, pointer unused, pointer calldata) - - if (rec->type != RT_WINDOW) - return; -+ if (rec->state != ResourceStateAdding) -+ return; - - pWin = (WindowPtr)rec->value; - subj = dixLookupPrivate(&wClient(pWin)->devPrivates, subjectKey); --- -1.6.1.3 - diff --git a/xserver-1.6.0-selinux-nlfd.patch b/xserver-1.6.0-selinux-nlfd.patch deleted file mode 100644 index 27edf22..0000000 --- a/xserver-1.6.0-selinux-nlfd.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 0731394b205f003143ceec1bde04b6c6726f9c10 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Mon, 2 Mar 2009 18:45:27 -0500 -Subject: [PATCH] selinux netlink socket hack - ---- - Xext/xselinux.c | 29 +++++++++++++++++++++++++++++ - configure.ac | 4 ++++ - include/dix-config.h.in | 2 ++ - 3 files changed, 35 insertions(+), 0 deletions(-) - -diff --git a/Xext/xselinux.c b/Xext/xselinux.c -index 6085983..419c0ae 100644 ---- a/Xext/xselinux.c -+++ b/Xext/xselinux.c -@@ -1887,6 +1887,22 @@ SProcSELinuxDispatch(ClientPtr client) - } - } - -+#ifdef HAVE_AVC_NETLINK_ACQUIRE_FD -+static int netlink_fd; -+ -+static void -+SELinuxBlockHandler(void *data, struct timeval **tv, void *read_mask) -+{ -+} -+ -+static void -+SELinuxWakeupHandler(void *data, int err, void *read_mask) -+{ -+ if (FD_ISSET(netlink_fd, (fd_set *)read_mask)) -+ avc_netlink_check_nb(); -+} -+#endif -+ - - /* - * Extension Setup / Teardown -@@ -1917,6 +1933,12 @@ SELinuxResetProc(ExtensionEntry *extEntry) - label_hnd = NULL; - - audit_close(audit_fd); -+#ifdef HAVE_AVC_NETLINK_ACQUIRE_FD -+ avc_netlink_release_fd(); -+ RemoveBlockAndWakeupHandlers(SELinuxBlockHandler, SELinuxWakeupHandler, -+ NULL); -+ RemoveGeneralSocket(netlink_fd); -+#endif - - avc_destroy(); - avc_active = 0; -@@ -2013,6 +2035,13 @@ SELinuxExtensionInit(INITARGS) - if (atom_client_ctx == BAD_RESOURCE) - FatalError("SELinux: Failed to create atom\n"); - -+#ifdef HAVE_AVC_NETLINK_ACQUIRE_FD -+ netlink_fd = avc_netlink_acquire_fd(); -+ AddGeneralSocket(netlink_fd); -+ RegisterBlockAndWakeupHandlers(SELinuxBlockHandler, SELinuxWakeupHandler, -+ NULL); -+#endif -+ - /* Register callbacks */ - ret &= dixRegisterPrivateInitFunc(subjectKey, SELinuxSubjectInit, NULL); - ret &= dixRegisterPrivateDeleteFunc(subjectKey, SELinuxSubjectFree, NULL); -diff --git a/configure.ac b/configure.ac -index 72ae67e..55a880e 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -920,6 +920,10 @@ if test "x$XSELINUX" = xyes; then - AC_CHECK_LIB(selinux, avc_init, [], AC_MSG_ERROR([SELinux library not found])) - AC_CHECK_HEADERS([libaudit.h], [], AC_MSG_ERROR([SELinux extension requires audit system headers])) - AC_CHECK_LIB(audit, audit_open, [], AC_MSG_ERROR([SELinux extension requires audit system library])) -+ AC_CHECK_DECL(avc_netlink_acquire_fd, -+ [AC_DEFINE(HAVE_AVC_NETLINK_ACQUIRE_FD, 1, "Have avc_netlink_acquire_fd")], -+ [], -+ [#include ]) - AC_DEFINE(XSELINUX, 1, [Build SELinux extension]) - SELINUX_LIB="-lselinux -laudit" - fi -diff --git a/include/dix-config.h.in b/include/dix-config.h.in -index 3da193f..66c3008 100644 ---- a/include/dix-config.h.in -+++ b/include/dix-config.h.in -@@ -442,4 +442,6 @@ - #include "dix-config-apple-verbatim.h" - #endif - -+#undef HAVE_AVC_NETLINK_ACQUIRE_FD -+ - #endif /* _DIX_CONFIG_H_ */ --- -1.6.1.3 - diff --git a/xserver-1.6.0-selinux-raw.patch b/xserver-1.6.0-selinux-raw.patch deleted file mode 100644 index 13758fb..0000000 --- a/xserver-1.6.0-selinux-raw.patch +++ /dev/null @@ -1,225 +0,0 @@ -From 252522d2caa87dbfb510436a56332bd6e86b1a96 Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Mon, 2 Mar 2009 18:31:18 -0500 -Subject: [PATCH] selinux raw patch - ---- - Xext/xselinux.c | 64 +++++++++++++++++++++++++++--------------------------- - 1 files changed, 32 insertions(+), 32 deletions(-) - -diff --git a/Xext/xselinux.c b/Xext/xselinux.c -index 8e026be..6085983 100644 ---- a/Xext/xselinux.c -+++ b/Xext/xselinux.c -@@ -186,19 +186,19 @@ SELinuxAtomToSIDLookup(Atom atom, SELinuxObjectRec *obj, int map, int polymap) - obj->poly = 1; - - /* Look in the mappings of names to contexts */ -- if (selabel_lookup(label_hnd, &ctx, name, map) == 0) { -+ if (selabel_lookup_raw(label_hnd, &ctx, name, map) == 0) { - obj->poly = 0; - } else if (errno != ENOENT) { - ErrorF("SELinux: a property label lookup failed!\n"); - return BadValue; -- } else if (selabel_lookup(label_hnd, &ctx, name, polymap) < 0) { -+ } else if (selabel_lookup_raw(label_hnd, &ctx, name, polymap) < 0) { - ErrorF("SELinux: a property label lookup failed!\n"); - return BadValue; - } - - /* Get a SID for context */ -- if (avc_context_to_sid(ctx, &obj->sid) < 0) { -- ErrorF("SELinux: a context_to_SID call failed!\n"); -+ if (avc_context_to_sid_raw(ctx, &obj->sid) < 0) { -+ ErrorF("SELinux: a context_to_SID_raw call failed!\n"); - rc = BadAlloc; - } - -@@ -343,7 +343,7 @@ SELinuxEventToSID(unsigned type, security_id_t sid_of_window, - SELinuxObjectRec *sid_return) - { - const char *name = LookupEventName(type); -- security_context_t con; -+ security_context_t ctx; - type &= 127; - - if (type >= numKnownEvents) { -@@ -359,16 +359,16 @@ SELinuxEventToSID(unsigned type, security_id_t sid_of_window, - - if (!knownEvents[type]) { - /* Look in the mappings of event names to contexts */ -- if (selabel_lookup(label_hnd, &con, name, SELABEL_X_EVENT) < 0) { -+ if (selabel_lookup_raw(label_hnd, &ctx, name, SELABEL_X_EVENT) < 0) { - ErrorF("SELinux: an event label lookup failed!\n"); - return BadValue; - } - /* Get a SID for context */ -- if (avc_context_to_sid(con, knownEvents + type) < 0) { -- ErrorF("SELinux: a context_to_SID call failed!\n"); -+ if (avc_context_to_sid_raw(ctx, knownEvents + type) < 0) { -+ ErrorF("SELinux: a context_to_SID_raw call failed!\n"); - return BadAlloc; - } -- freecon(con); -+ freecon(ctx); - } - - /* Perform a transition to obtain the final SID */ -@@ -474,7 +474,7 @@ SELinuxLabelClient(ClientPtr client) - /* Try to get a context from the socket */ - if (fd < 0 || getpeercon_raw(fd, &ctx) < 0) { - /* Otherwise, fall back to a default context */ -- if (selabel_lookup(label_hnd, &ctx, "remote", SELABEL_X_CLIENT) < 0) -+ if (selabel_lookup_raw(label_hnd, &ctx, "remote", SELABEL_X_CLIENT) < 0) - FatalError("SELinux: failed to look up remote-client context\n"); - } - -@@ -509,8 +509,8 @@ SELinuxLabelClient(ClientPtr client) - - finish: - /* Get a SID from the context */ -- if (avc_context_to_sid(ctx, &subj->sid) < 0) -- FatalError("SELinux: client %d: context_to_sid(%s) failed\n", -+ if (avc_context_to_sid_raw(ctx, &subj->sid) < 0) -+ FatalError("SELinux: client %d: context_to_sid_raw(%s) failed\n", - client->index, ctx); - - sidget(obj->sid = subj->sid); -@@ -541,7 +541,7 @@ SELinuxLabelInitial(void) - FatalError("SELinux: couldn't get context of X server process\n"); - - /* Get a SID from the context */ -- if (avc_context_to_sid(ctx, &subj->sid) < 0) -+ if (avc_context_to_sid_raw(ctx, &subj->sid) < 0) - FatalError("SELinux: serverClient: context_to_sid(%s) failed\n", ctx); - - sidget(obj->sid = subj->sid); -@@ -827,20 +827,20 @@ SELinuxExtension(CallbackListPtr *pcbl, pointer unused, pointer calldata) - /* XXX there should be a separate callback for this */ - if (obj->sid == unlabeled_sid) { - const char *name = rec->ext->name; -- security_context_t con; -+ security_context_t ctx; - security_id_t sid; - - serv = dixLookupPrivate(&serverClient->devPrivates, subjectKey); - - /* Look in the mappings of extension names to contexts */ -- if (selabel_lookup(label_hnd, &con, name, SELABEL_X_EXT) < 0) { -+ if (selabel_lookup_raw(label_hnd, &ctx, name, SELABEL_X_EXT) < 0) { - ErrorF("SELinux: a property label lookup failed!\n"); - rec->status = BadValue; - return; - } - /* Get a SID for context */ -- if (avc_context_to_sid(con, &sid) < 0) { -- ErrorF("SELinux: a context_to_SID call failed!\n"); -+ if (avc_context_to_sid_raw(ctx, &sid) < 0) { -+ ErrorF("SELinux: a context_to_SID_raw call failed!\n"); - rec->status = BadAlloc; - return; - } -@@ -851,11 +851,11 @@ SELinuxExtension(CallbackListPtr *pcbl, pointer unused, pointer calldata) - if (avc_compute_create(serv->sid, sid, SECCLASS_X_EXTENSION, - &obj->sid) < 0) { - ErrorF("SELinux: a SID transition call failed!\n"); -- freecon(con); -+ freecon(ctx); - rec->status = BadValue; - return; - } -- freecon(con); -+ freecon(ctx); - } - - /* Perform the security check */ -@@ -1156,7 +1156,7 @@ SELinuxResourceState(CallbackListPtr *pcbl, pointer unused, pointer calldata) - - if (subj->sid) { - security_context_t ctx; -- int rc = avc_sid_to_context(subj->sid, &ctx); -+ int rc = avc_sid_to_context_raw(subj->sid, &ctx); - if (rc < 0) - FatalError("SELinux: Failed to get security context!\n"); - rc = dixChangeWindowProperty(serverClient, -@@ -1172,7 +1172,7 @@ SELinuxResourceState(CallbackListPtr *pcbl, pointer unused, pointer calldata) - - if (obj->sid) { - security_context_t ctx; -- int rc = avc_sid_to_context(obj->sid, &ctx); -+ int rc = avc_sid_to_context_raw(obj->sid, &ctx); - if (rc < 0) - FatalError("SELinux: Failed to get security context!\n"); - rc = dixChangeWindowProperty(serverClient, -@@ -1288,7 +1288,7 @@ SELinuxSendContextReply(ClientPtr client, security_id_t sid) - int len = 0; - - if (sid) { -- if (avc_sid_to_context(sid, &ctx) < 0) -+ if (avc_sid_to_context_raw(sid, &ctx) < 0) - return BadValue; - len = strlen(ctx) + 1; - } -@@ -1347,9 +1347,9 @@ ProcSELinuxSetCreateContext(ClientPtr client, unsigned offset) - *pSid = NULL; - - if (stuff->context_len > 0) { -- if (security_check_context(ctx) < 0) -+ if (security_check_context_raw(ctx) < 0) - return BadValue; -- if (avc_context_to_sid(ctx, pSid) < 0) -+ if (avc_context_to_sid_raw(ctx, pSid) < 0) - return BadValue; - } - return Success; -@@ -1393,9 +1393,9 @@ ProcSELinuxSetDeviceContext(ClientPtr client) - if (rc != Success) - return rc; - -- if (security_check_context(ctx) < 0) -+ if (security_check_context_raw(ctx) < 0) - return BadValue; -- if (avc_context_to_sid(ctx, &sid) < 0) -+ if (avc_context_to_sid_raw(ctx, &sid) < 0) - return BadValue; - - subj = dixLookupPrivate(&dev->devPrivates, subjectKey); -@@ -1511,9 +1511,9 @@ SELinuxPopulateItem(SELinuxListItemRec *i, PrivateRec **privPtr, CARD32 id, - SELinuxObjectRec *obj = dixLookupPrivate(privPtr, objectKey); - SELinuxObjectRec *data = dixLookupPrivate(privPtr, dataKey); - -- if (avc_sid_to_context(obj->sid, &i->octx) < 0) -+ if (avc_sid_to_context_raw(obj->sid, &i->octx) < 0) - return BadValue; -- if (avc_sid_to_context(data->sid, &i->dctx) < 0) -+ if (avc_sid_to_context_raw(data->sid, &i->dctx) < 0) - return BadValue; - - i->id = id; -@@ -1941,7 +1941,7 @@ SELinuxExtensionInit(INITARGS) - ExtensionEntry *extEntry; - struct selinux_opt selabel_option = { SELABEL_OPT_VALIDATE, (char *)1 }; - struct selinux_opt avc_option = { AVC_OPT_SETENFORCE, (char *)0 }; -- security_context_t con; -+ security_context_t ctx; - int ret = TRUE; - - /* Check SELinux mode on system */ -@@ -1988,11 +1988,11 @@ SELinuxExtensionInit(INITARGS) - if (!label_hnd) - FatalError("SELinux: Failed to open x_contexts mapping in policy\n"); - -- if (security_get_initial_context("unlabeled", &con) < 0) -+ if (security_get_initial_context_raw("unlabeled", &ctx) < 0) - FatalError("SELinux: Failed to look up unlabeled context\n"); -- if (avc_context_to_sid(con, &unlabeled_sid) < 0) -+ if (avc_context_to_sid_raw(ctx, &unlabeled_sid) < 0) - FatalError("SELinux: a context_to_SID call failed!\n"); -- freecon(con); -+ freecon(ctx); - - /* Prepare for auditing */ - audit_fd = audit_open(); --- -1.6.1.3 - diff --git a/xserver-1.6.0-xtest-pointerscreen.patch b/xserver-1.6.0-xtest-pointerscreen.patch deleted file mode 100644 index 286edd1..0000000 --- a/xserver-1.6.0-xtest-pointerscreen.patch +++ /dev/null @@ -1,73 +0,0 @@ -From c3e5af42be915b27056644c2df6a4ce30b4ab5f3 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Wed, 25 Mar 2009 15:51:43 +1000 -Subject: [PATCH] Xext: set POINTER_SCREEN flag in XTestFakeInput if necessary. (RH #490984) - -The POINTER_SCREEN flag must be set explicitly for XTest core events to avoid -out-of-range events when the lastSlave was an SD with an explicit axis range. -Device events sent through XTest don't need this flag, they are expected to be -in the valuator range of the device anyway. - -Red Hat Bug 490984 - -Signed-off-by: Peter Hutterer ---- - Xext/xtest.c | 14 +++++++++++--- - 1 files changed, 11 insertions(+), 3 deletions(-) - -diff --git a/Xext/xtest.c b/Xext/xtest.c -index a7f3830..3ff02ed 100644 ---- a/Xext/xtest.c -+++ b/Xext/xtest.c -@@ -161,6 +161,7 @@ ProcXTestFakeInput(client) - int nevents; - int i; - int base = 0; -+ int flags = 0; - - nev = (stuff->length << 2) - sizeof(xReq); - if ((nev % sizeof(xEvent)) || !nev) -@@ -211,8 +212,14 @@ ProcXTestFakeInput(client) - client->errorValue = ev->u.u.type; - return BadValue; - } -+ -+ if (ev->u.u.detail == xFalse) -+ flags |= POINTER_ABSOLUTE; - } else -+ { - firstValuator = 0; -+ flags |= POINTER_ABSOLUTE; -+ } - - if (nev == 1 && type == XI_DeviceMotionNotify && !dev->valuator) - { -@@ -281,6 +288,8 @@ ProcXTestFakeInput(client) - valuators[1] = ev->u.keyButtonPointer.rootY; - numValuators = 2; - firstValuator = 0; -+ if (ev->u.u.detail == xFalse) -+ flags = POINTER_ABSOLUTE | POINTER_SCREEN; - break; - default: - client->errorValue = ev->u.u.type; -@@ -378,14 +387,13 @@ ProcXTestFakeInput(client) - GetEventList(&events); - switch(type) { - case MotionNotify: -- nevents = GetPointerEvents(events, dev, type, 0, -- (ev->u.u.detail == xFalse) ? POINTER_ABSOLUTE : 0, -+ nevents = GetPointerEvents(events, dev, type, 0, flags, - firstValuator, numValuators, valuators); - break; - case ButtonPress: - case ButtonRelease: - nevents = GetPointerEvents(events, dev, type, ev->u.u.detail, -- POINTER_ABSOLUTE, firstValuator, -+ flags, firstValuator, - numValuators, valuators); - break; - case KeyPress: --- -1.6.0.6 -