[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libxv: Changes to 'debian-unstable'



 ChangeLog                       |   42 ++++++++++++++++++++++++++
 configure.ac                    |    2 -
 debian/changelog                |   11 ++++++
 debian/control                  |   12 +++----
 debian/copyright                |    2 -
 debian/patches/series           |    1 
 debian/upstream/signing-key.asc |   64 ++++++++++++++++++++++++++++++++++++++++
 debian/watch                    |    3 +
 src/Makefile.am                 |    2 -
 src/Xv.c                        |   46 ++++++++++++++++++----------
 10 files changed, 157 insertions(+), 28 deletions(-)

New commits:
commit e2ebef6a1a2f50c1fac846ec55e78b19a46c06a6
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Oct 7 15:34:43 2016 +0200

    Remove obsolete Conflicts/Replaces from pre-wheezy.

diff --git a/debian/changelog b/debian/changelog
index 72f434d..228544a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ libxv (2:1.0.11-1) UNRELEASED; urgency=medium
   * Let uscan verify tarball signatures.
   * Update a bunch of URLs in packaging to https.
   * Add placeholder comment into series file.
+  * Remove obsolete Conflicts/Replaces from pre-wheezy.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 07 Oct 2016 15:20:58 +0200
 
diff --git a/debian/control b/debian/control
index 13229ad..e161e88 100644
--- a/debian/control
+++ b/debian/control
@@ -77,8 +77,6 @@ Depends:
  libx11-dev,
  libxext-dev,
  x11proto-video-dev,
-Conflicts: x11proto-video-dev (<< 2.2+cvs.20050712-1)
-Replaces: x11proto-video-dev (<< 2.2+cvs.20050712-1)
 Description: X11 Video extension library (development headers)
  libXv provides an X Window System client interface to the XVideo
  extension to the X protocol.

commit edfd931c1f5589fdc8410454c9af6f71ae1aa87e
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Oct 7 15:28:34 2016 +0200

    Add placeholder comment into series file.

diff --git a/debian/changelog b/debian/changelog
index 5513c24..72f434d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ libxv (2:1.0.11-1) UNRELEASED; urgency=medium
     - Fixes CVE-2016-5407.
   * Let uscan verify tarball signatures.
   * Update a bunch of URLs in packaging to https.
+  * Add placeholder comment into series file.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 07 Oct 2016 15:20:58 +0200
 
diff --git a/debian/patches/series b/debian/patches/series
index e69de29..fdffa2a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -0,0 +1 @@
+# placeholder

commit 61121213ca9be2cc246eb728ecc092106ec641c7
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Oct 7 15:28:24 2016 +0200

    Update a bunch of URLs in packaging to https.

diff --git a/debian/changelog b/debian/changelog
index 1e84115..5513c24 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ libxv (2:1.0.11-1) UNRELEASED; urgency=medium
   * New upstream release.
     - Fixes CVE-2016-5407.
   * Let uscan verify tarball signatures.
+  * Update a bunch of URLs in packaging to https.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 07 Oct 2016 15:20:58 +0200
 
diff --git a/debian/control b/debian/control
index 3663be8..13229ad 100644
--- a/debian/control
+++ b/debian/control
@@ -14,8 +14,8 @@ Build-Depends:
  automake,
  libtool,
  xutils-dev (>= 1:7.5+4),
-Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/libxv
-Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/libxv.git
+Vcs-Git: https://anonscm.debian.org/git/pkg-xorg/lib/libxv.git
+Vcs-Browser: https://anonscm.debian.org/cgit/pkg-xorg/lib/libxv.git
 
 Package: libxv1
 Section: libs
@@ -35,7 +35,7 @@ Description: X11 Video extension library
  including YUV.
  .
  More information about X.Org can be found at:
- <URL:http://www.X.org>
+ <URL:https://www.X.org>
  .
  This module can be found at
  git://anongit.freedesktop.org/git/xorg/lib/libXv
@@ -61,7 +61,7 @@ Description: X11 Video extension library (debug package)
  Non-developers likely have little use for this package.
  .
  More information about X.Org can be found at:
- <URL:http://www.X.org>
+ <URL:https://www.X.org>
  .
  This module can be found at
  git://anongit.freedesktop.org/git/xorg/lib/libXv
@@ -91,7 +91,7 @@ Description: X11 Video extension library (development headers)
  libxv1.  Non-developers likely have little use for this package.
  .
  More information about X.Org can be found at:
- <URL:http://www.X.org>
+ <URL:https://www.X.org>
  .
  This module can be found at
  git://anongit.freedesktop.org/git/xorg/lib/libXv
diff --git a/debian/copyright b/debian/copyright
index 7aaa9d0..f93231b 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,5 +1,5 @@
 This package was downloaded from
-http://xorg.freedesktop.org/releases/individual/lib/
+https://xorg.freedesktop.org/releases/individual/lib/
 
 Original Debian package author(s): Stephen Early, Mark Eichin, Branden 
   Robinson, ISHIKAWA Mutsumi, Daniel Stone
diff --git a/debian/watch b/debian/watch
index 27b6755..8846da3 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,4 +1,4 @@
 #git=git://anongit.freedesktop.org/xorg/lib/libXv
 version=3
 opts=pgpsigurlmangle=s/$/.sig/ \
-http://xorg.freedesktop.org/releases/individual/lib/ libXv-(.*)\.tar\.gz
+https://xorg.freedesktop.org/releases/individual/lib/ libXv-(.*)\.tar\.gz

commit c305179918dc4ebcacfe1204fe144c41b1f877c9
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Oct 7 15:22:32 2016 +0200

    Let uscan verify tarball signatures.

diff --git a/debian/changelog b/debian/changelog
index f931eae..1e84115 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ libxv (2:1.0.11-1) UNRELEASED; urgency=medium
 
   * New upstream release.
     - Fixes CVE-2016-5407.
+  * Let uscan verify tarball signatures.
 
  -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 07 Oct 2016 15:20:58 +0200
 
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..b4e5575
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,64 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+79+hF4bWyw==
+=WW1Z
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
index ab11350..27b6755 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,3 +1,4 @@
 #git=git://anongit.freedesktop.org/xorg/lib/libXv
 version=3
+opts=pgpsigurlmangle=s/$/.sig/ \
 http://xorg.freedesktop.org/releases/individual/lib/ libXv-(.*)\.tar\.gz

commit 9ccc2ee8b935e086592064136598ed8882bb3eeb
Author: Andreas Boll <andreas.boll.dev@gmail.com>
Date:   Fri Oct 7 15:21:30 2016 +0200

    Bump changelogs

diff --git a/ChangeLog b/ChangeLog
index b8c4e88..8afa56a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,45 @@
+commit ef2a282876acc2316d338f8b66344ad5a2947057
+Author: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date:   Tue Oct 4 21:29:55 2016 +0200
+
+    libXv 1.0.11
+    
+    Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>
+
+commit d9da580b46a28ab497de2e94fdc7b9ff953dab17
+Author: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date:   Sun Sep 25 21:30:03 2016 +0200
+
+    Protocol handling issues in libXv - CVE-2016-5407
+    
+    The Xv query functions for adaptors and encodings suffer from out of
+    boundary accesses if a hostile X server sends a maliciously crafted
+    response.
+    
+    A previous fix already checks the received length against fixed values
+    but ignores additional length specifications which are stored inside
+    the received data.
+    
+    These lengths are accessed in a for-loop. The easiest way to guarantee
+    a correct processing is by validating all lengths against the
+    remaining size left before accessing referenced memory.
+    
+    This makes the previously applied check obsolete, therefore I removed
+    it.
+    
+    Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
+    Reviewed-by: Matthieu Herrb <matthieu@herrb.eu>
+
+commit cf8cc328f1e370a548b71581bada7e1ee073c756
+Author: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date:   Sat Jul 26 14:07:26 2014 -0700
+
+    Fix typo in dependencies for lint library
+    
+    Breaks out of tree lintlib builds by causing VPATH lookup to fail.
+    
+    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
 commit 736d7ac5a94c7aa6761d50ab58339a3d9a116c51
 Author: Alan Coopersmith <alan.coopersmith@oracle.com>
 Date:   Sat Sep 7 22:19:48 2013 -0700
diff --git a/debian/changelog b/debian/changelog
index df1d223..f931eae 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+libxv (2:1.0.11-1) UNRELEASED; urgency=medium
+
+  * New upstream release.
+    - Fixes CVE-2016-5407.
+
+ -- Andreas Boll <andreas.boll.dev@gmail.com>  Fri, 07 Oct 2016 15:20:58 +0200
+
 libxv (2:1.0.10-1) unstable; urgency=medium
 
   * New upstream release.

commit ef2a282876acc2316d338f8b66344ad5a2947057
Author: Matthieu Herrb <matthieu.herrb@laas.fr>
Date:   Tue Oct 4 21:29:55 2016 +0200

    libXv 1.0.11
    
    Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>

diff --git a/configure.ac b/configure.ac
index 4d651b5..4e68999 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 # Initialize Autoconf
 AC_PREREQ([2.60])
-AC_INIT([libXv], [1.0.10],
+AC_INIT([libXv], [1.0.11],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXv])
 AC_CONFIG_SRCDIR([Makefile.am])
 AC_CONFIG_HEADERS([config.h])

commit d9da580b46a28ab497de2e94fdc7b9ff953dab17
Author: Tobias Stoeckmann <tobias@stoeckmann.org>
Date:   Sun Sep 25 21:30:03 2016 +0200

    Protocol handling issues in libXv - CVE-2016-5407
    
    The Xv query functions for adaptors and encodings suffer from out of
    boundary accesses if a hostile X server sends a maliciously crafted
    response.
    
    A previous fix already checks the received length against fixed values
    but ignores additional length specifications which are stored inside
    the received data.
    
    These lengths are accessed in a for-loop. The easiest way to guarantee
    a correct processing is by validating all lengths against the
    remaining size left before accessing referenced memory.
    
    This makes the previously applied check obsolete, therefore I removed
    it.
    
    Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
    Reviewed-by: Matthieu Herrb <matthieu@herrb.eu>

diff --git a/src/Xv.c b/src/Xv.c
index e47093a..be450c4 100644
--- a/src/Xv.c
+++ b/src/Xv.c
@@ -158,6 +158,7 @@ XvQueryAdaptors(
     size_t size;
     unsigned int ii, jj;
     char *name;
+    char *end;
     XvAdaptorInfo *pas = NULL, *pa;
     XvFormat *pfs, *pf;
     char *buffer = NULL;
@@ -197,17 +198,13 @@ XvQueryAdaptors(
     /* GET INPUT ADAPTORS */
 
     if (rep.num_adaptors == 0) {
-        /* If there's no adaptors, there's nothing more to do. */
+        /* If there are no adaptors, there's nothing more to do. */
         status = Success;
         goto out;
     }
 
-    if (size < (rep.num_adaptors * sz_xvAdaptorInfo)) {
-        /* If there's not enough data for the number of adaptors,
-           then we have a problem. */
-        status = XvBadReply;
-        goto out;
-    }
+    u.buffer = buffer;
+    end = buffer + size;
 
     size = rep.num_adaptors * sizeof(XvAdaptorInfo);
     if ((pas = Xmalloc(size)) == NULL) {
@@ -225,9 +222,12 @@ XvQueryAdaptors(
         pa++;
     }
 
-    u.buffer = buffer;
     pa = pas;
     for (ii = 0; ii < rep.num_adaptors; ii++) {
+        if (u.buffer + sz_xvAdaptorInfo > end) {
+            status = XvBadReply;
+            goto out;
+        }
         pa->type = u.pa->type;
         pa->base_id = u.pa->base_id;
         pa->num_ports = u.pa->num_ports;
@@ -239,6 +239,10 @@ XvQueryAdaptors(
         size = u.pa->name_size;
         u.buffer += pad_to_int32(sz_xvAdaptorInfo);
 
+        if (u.buffer + size > end) {
+            status = XvBadReply;
+            goto out;
+        }
         if ((name = Xmalloc(size + 1)) == NULL) {
             status = XvBadAlloc;
             goto out;
@@ -259,6 +263,11 @@ XvQueryAdaptors(
 
         pf = pfs;
         for (jj = 0; jj < pa->num_formats; jj++) {
+            if (u.buffer + sz_xvFormat > end) {
+                Xfree(pfs);
+                status = XvBadReply;
+                goto out;
+            }
             pf->depth = u.pf->depth;
             pf->visual_id = u.pf->visual;
             pf++;
@@ -327,6 +336,7 @@ XvQueryEncodings(
     size_t size;
     unsigned int jj;
     char *name;
+    char *end;
     XvEncodingInfo *pes = NULL, *pe;
     char *buffer = NULL;
     union {
@@ -364,17 +374,13 @@ XvQueryEncodings(
     /* GET ENCODINGS */
 
     if (rep.num_encodings == 0) {
-        /* If there's no encodings, there's nothing more to do. */
+        /* If there are no encodings, there's nothing more to do. */
         status = Success;
         goto out;
     }
 
-    if (size < (rep.num_encodings * sz_xvEncodingInfo)) {
-        /* If there's not enough data for the number of adaptors,
-           then we have a problem. */
-        status = XvBadReply;
-        goto out;
-    }
+    u.buffer = buffer;
+    end = buffer + size;
 
     size = rep.num_encodings * sizeof(XvEncodingInfo);
     if ((pes = Xmalloc(size)) == NULL) {
@@ -391,10 +397,12 @@ XvQueryEncodings(
         pe++;
     }
 
-    u.buffer = buffer;
-
     pe = pes;
     for (jj = 0; jj < rep.num_encodings; jj++) {
+        if (u.buffer + sz_xvEncodingInfo > end) {
+            status = XvBadReply;
+            goto out;
+        }
         pe->encoding_id = u.pe->encoding;
         pe->width = u.pe->width;
         pe->height = u.pe->height;
@@ -405,6 +413,10 @@ XvQueryEncodings(
         size = u.pe->name_size;
         u.buffer += pad_to_int32(sz_xvEncodingInfo);
 
+        if (u.buffer + size > end) {
+            status = XvBadReply;
+            goto out;
+        }
         if ((name = Xmalloc(size + 1)) == NULL) {
             status = XvBadAlloc;
             goto out;

commit cf8cc328f1e370a548b71581bada7e1ee073c756
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sat Jul 26 14:07:26 2014 -0700

    Fix typo in dependencies for lint library
    
    Breaks out of tree lintlib builds by causing VPATH lookup to fail.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

diff --git a/src/Makefile.am b/src/Makefile.am
index 0948474..06e9ffd 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -23,7 +23,7 @@ lintlibdir = $(libdir)
 
 lintlib_DATA = $(LINTLIB)
 
-$(LINTLIB): $(libXau_la_SOURCES)
+$(LINTLIB): $(libXv_la_SOURCES)
 	$(LINT) -y -oXv -x $(ALL_LINT_FLAGS) $(libXv_la_SOURCES)
 
 CLEANFILES = $(LINTLIB)


Reply to: