debian/changelog | 6 ++ debian/control | 21 +++++++- debian/patches/0005-fix-horiz-scrolling.patch | 23 +++++++++ debian/patches/0006-axis-label-overrun.patch | 66 ++++++++++++++++++++++++++ debian/patches/series | 2 debian/rules | 4 + 6 files changed, 121 insertions(+), 1 deletion(-)
New commits: commit 0368af80cc1903618fb3f467c3e2193bf4a60208 Author: Maarten Lankhorst <maarten.lankho...@canonical.com> Date: Fri Jul 20 11:28:00 2012 +0200 Update packaging * Add upstream bugfixes from ubuntu: - 0005-fix-horiz-scrolling.patch - 0006-axis-label-overrun.patch * I messed up the tree, manually unapply debian/patches/0005* if you build directly from git against 2.7.0 tarball, this will be fixed by a new point release * Add -dbg package for symbols diff --git a/debian/changelog b/debian/changelog index 19588e1..25056d3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,12 @@ xserver-xorg-input-evdev (1:2.7.0-2) UNRELEASED; urgency=low [ Maarten Lankhorst ] * Bump build-dep to xorg 2:1.12.99.901 * Remove upstreamed 0001-configure.ac-Fix-udev-libudev-dependency.patch + * Add upstream bugfixes from ubuntu: + - 0005-fix-horiz-scrolling.patch + - 0006-axis-label-overrun.patch + * I messed up the tree, manually unapply debian/patches/0005* if you + build directly from git, this will be fixed by a new point release + * Add -dbg package for symbols -- Maarten Lankhorst <maarten.lankho...@canonical.com> Mon, 16 Jul 2012 13:24:29 +0200 diff --git a/debian/control b/debian/control index 8fe99e5..34eaea7 100644 --- a/debian/control +++ b/debian/control @@ -17,7 +17,7 @@ Build-Depends: xutils-dev (>= 1:7.5+4), libudev-dev, libmtdev-dev, -Standards-Version: 3.9.1 +Standards-Version: 3.9.3 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-input-evdev Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-input-evdev.git @@ -68,3 +68,22 @@ Description: X.Org X server -- evdev input driver (development headers) <URL:http://www.X.org> . This package is built from the X.org xf86-input-evdev driver module. + +Package: xserver-xorg-input-evdev-dbg +Architecture: linux-any +Depends: + ${misc:Depends}, + xserver-xorg-input-evdev (= ${binary:Version}), +Section: debug +Priority: extra +Description: X.Org X server -- evdev input driver (development headers) + This package provides the development headers for the evdev input driver + found in xserver-xorg-input-evdev. Non-developers likely have little use + for this package. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-input-evdev driver module. + . + This package provides debugging symbols for this Xorg X driver. diff --git a/debian/patches/0005-fix-horiz-scrolling.patch b/debian/patches/0005-fix-horiz-scrolling.patch new file mode 100644 index 0000000..144e1da --- /dev/null +++ b/debian/patches/0005-fix-horiz-scrolling.patch @@ -0,0 +1,23 @@ +From: Peter Hutterer <peter.hutte...@who-t.net> +Subject: [PATCH evdev] Fix inverted horizontal scroll (#46205) + +REL_HWHEEL has a positive increment, not a negative one like REL_WHEEL. + +X.Org Bug 46205 <http://bugs.freedesktop.org/show_bug.cgi?id=46205> + +Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> +Reviewed-by: Chase Douglas <chase.doug...@canonical.com> + +diff --git a/src/evdev.c b/src/evdev.c +index d540b87..8cf630c 100644 +--- a/src/evdev.c ++++ b/src/evdev.c +@@ -1600,7 +1600,7 @@ EvdevAddRelValuatorClass(DeviceIntPtr device) + else if (axis == REL_DIAL) + SetScrollValuator(device, axnum, SCROLL_TYPE_VERTICAL, -1.0, SCROLL_FLAG_NONE); + else if (axis == REL_HWHEEL) +- SetScrollValuator(device, axnum, SCROLL_TYPE_HORIZONTAL, -1.0, SCROLL_FLAG_NONE); ++ SetScrollValuator(device, axnum, SCROLL_TYPE_HORIZONTAL, 1.0, SCROLL_FLAG_NONE); + #endif + } + diff --git a/debian/patches/0006-axis-label-overrun.patch b/debian/patches/0006-axis-label-overrun.patch new file mode 100644 index 0000000..df7519e --- /dev/null +++ b/debian/patches/0006-axis-label-overrun.patch @@ -0,0 +1,66 @@ +From 4145fe1c087708bf5d6608e328342282ecb93ab0 Mon Sep 17 00:00:00 2001 +From: Chase Douglas <chase.doug...@canonical.com> +Date: Wed, 6 Jun 2012 12:07:12 -0700 +Subject: [PATCH] Fix buffer overrun when populating axis label property array + +The axis label property array currently only has enough elements for the +non-multitouch axes. This change allocates enough space for all axes, +which prevents an array overrun write. This may manifest as stack +corruption on some platforms. + +Signed-off-by: Chase Douglas <chase.doug...@canonical.com> +Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> +--- + src/evdev.c | 8 +++++--- + src/evdev.h | 1 + + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/evdev.c b/src/evdev.c +index 4b86f66..a628273 100644 +--- a/src/evdev.c ++++ b/src/evdev.c +@@ -1304,6 +1304,7 @@ EvdevAddAbsValuatorClass(DeviceIntPtr device) + } + #ifdef MULTITOUCH + if (num_mt_axes_total > 0) { ++ pEvdev->num_mt_vals = num_mt_axes_total; + pEvdev->mt_mask = valuator_mask_new(num_mt_axes_total); + if (!pEvdev->mt_mask) { + xf86Msg(X_ERROR, "%s: failed to allocate MT valuator mask.\n", +@@ -2879,7 +2880,8 @@ EvdevInitProperty(DeviceIntPtr dev) + if ((pEvdev->num_vals > 0) && (prop_axis_label = XIGetKnownProperty(AXIS_LABEL_PROP))) + { + int mode; +- Atom atoms[pEvdev->num_vals]; ++ int num_axes = pEvdev->num_vals + pEvdev->num_mt_vals; ++ Atom atoms[num_axes]; + + if (pEvdev->flags & EVDEV_ABSOLUTE_EVENTS) + mode = Absolute; +@@ -2890,9 +2892,9 @@ EvdevInitProperty(DeviceIntPtr dev) + mode = Absolute; + } + +- EvdevInitAxesLabels(pEvdev, mode, pEvdev->num_vals, atoms); ++ EvdevInitAxesLabels(pEvdev, mode, num_axes, atoms); + XIChangeDeviceProperty(dev, prop_axis_label, XA_ATOM, 32, +- PropModeReplace, pEvdev->num_vals, atoms, FALSE); ++ PropModeReplace, num_axes, atoms, FALSE); + XISetDevicePropertyDeletable(dev, prop_axis_label, FALSE); + } + /* Button labelling */ +diff --git a/src/evdev.h b/src/evdev.h +index 309b215..c2f9246 100644 +--- a/src/evdev.h ++++ b/src/evdev.h +@@ -153,6 +153,7 @@ typedef struct { + int grabDevice; /* grab the event device? */ + + int num_vals; /* number of valuators */ ++ int num_mt_vals; /* number of multitouch valuators */ + int axis_map[max(ABS_CNT, REL_CNT)]; /* Map evdev <axis> to index */ + ValuatorMask *vals; /* new values coming in */ + ValuatorMask *old_vals; /* old values for calculating relative motion */ +-- +1.7.9.5 + diff --git a/debian/patches/series b/debian/patches/series index e69de29..ab563b2 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -0,0 +1,2 @@ +0005-fix-horiz-scrolling.patch +0006-axis-label-overrun.patch diff --git a/debian/rules b/debian/rules index 3d192dc..52d3737 100755 --- a/debian/rules +++ b/debian/rules @@ -15,3 +15,7 @@ override_dh_shlibdeps: %: dh $@ --with quilt,autoreconf,xsf --builddirectory=build/ + +# Debug package: +override_dh_strip: + dh_strip --dbg-package=xserver-xorg-input-evdev-dbg -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1ss9vs-0002gg...@vasks.debian.org