diff options
-rw-r--r-- | dist/libxcb/NEWS | 6 | ||||
-rw-r--r-- | dist/libxcb/autogen.sh | 4 | ||||
-rw-r--r-- | dist/libxcb/configure.ac | 2 | ||||
-rw-r--r-- | dist/libxcb/src/c_client.py | 8 | ||||
-rw-r--r-- | dist/libxcb/src/xcb_out.c | 2 | ||||
-rw-r--r-- | dist/libxcb/test-driver | 127 |
6 files changed, 142 insertions, 7 deletions
diff --git a/dist/libxcb/NEWS b/dist/libxcb/NEWS index 533d72b87..7dfe1b459 100644 --- a/dist/libxcb/NEWS +++ b/dist/libxcb/NEWS @@ -1,3 +1,9 @@ +Release 1.9.1 (2013-05-30) +========================== + +* Fix python code to work with python-3 +* Security fix for integer overflow in read_packet() [CVE-2013-2064] + Release 1.9 (2012-10-05) ======================== diff --git a/dist/libxcb/autogen.sh b/dist/libxcb/autogen.sh index 904cd6746..fc34bd55c 100644 --- a/dist/libxcb/autogen.sh +++ b/dist/libxcb/autogen.sh @@ -9,4 +9,6 @@ cd $srcdir autoreconf -v --install || exit 1 cd $ORIGDIR || exit $? -$srcdir/configure --enable-maintainer-mode "$@" +if test -z "$NOCONFIGURE"; then + $srcdir/configure "$@" +fi diff --git a/dist/libxcb/configure.ac b/dist/libxcb/configure.ac index 736438305..9796f904c 100644 --- a/dist/libxcb/configure.ac +++ b/dist/libxcb/configure.ac @@ -4,7 +4,7 @@ # Initialize Autoconf AC_PREREQ(2.57) AC_INIT([libxcb], - 1.9, + 1.9.1, [xcb@lists.freedesktop.org]) AC_CONFIG_SRCDIR([xcb.pc.in]) # Set common system defines for POSIX extensions, such as _GNU_SOURCE diff --git a/dist/libxcb/src/c_client.py b/dist/libxcb/src/c_client.py index 27a01b193..ec66223f1 100644 --- a/dist/libxcb/src/c_client.py +++ b/dist/libxcb/src/c_client.py @@ -2616,7 +2616,7 @@ def _man_request(self, name, cookie_type, void, aux): (cookie_type, self.c_reply_name, base_func_name)) f.write('.SH ERRORS\n') if hasattr(self, "doc") and self.doc: - for errtype, errtext in self.doc.errors.iteritems(): + for errtype, errtext in self.doc.errors.items(): f.write('.IP \\fI%s\\fP 1i\n' % (_t(('xcb', errtype, 'error')))) errtext = re.sub(r'`([^`]+)`', r'\\fI\1\\fP', errtext) f.write('%s\n' % (errtext)) @@ -2634,7 +2634,7 @@ def _man_request(self, name, cookie_type, void, aux): see = ['.BR %s (3)' % 'xcb-requests'] if self.doc.example: see.append('.BR %s (3)' % 'xcb-examples') - for seename, seetype in self.doc.see.iteritems(): + for seename, seetype in self.doc.see.items(): if seetype == 'program': see.append('.BR %s (1)' % seename) elif seetype == 'event': @@ -2764,7 +2764,7 @@ def _man_event(self, name): see = ['.BR %s (3)' % 'xcb_generic_event_t'] if self.doc.example: see.append('.BR %s (3)' % 'xcb-examples') - for seename, seetype in self.doc.see.iteritems(): + for seename, seetype in self.doc.see.items(): if seetype == 'program': see.append('.BR %s (1)' % seename) elif seetype == 'event': @@ -2908,7 +2908,7 @@ Refer to the README file in xcb/proto for more info. # Ensure the man subdirectory exists try: os.mkdir('man') -except OSError, e: +except OSError as e: if e.errno != errno.EEXIST: raise diff --git a/dist/libxcb/src/xcb_out.c b/dist/libxcb/src/xcb_out.c index 405f963de..a4f52fb31 100644 --- a/dist/libxcb/src/xcb_out.c +++ b/dist/libxcb/src/xcb_out.c @@ -272,7 +272,7 @@ int xcb_take_socket(xcb_connection_t *c, void (*return_socket)(void *closure), v * write requests, so keep flushing until we're done */ do - ret = _xcb_out_flush_to(c, c->out.request); + ret = _xcb_out_flush_to(c, c->out.request); while (ret && c->out.request != c->out.request_written); if(ret) { diff --git a/dist/libxcb/test-driver b/dist/libxcb/test-driver new file mode 100644 index 000000000..32bf39e83 --- /dev/null +++ b/dist/libxcb/test-driver @@ -0,0 +1,127 @@ +#! /bin/sh +# test-driver - basic testsuite driver script. + +scriptversion=2012-06-27.10; # UTC + +# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +# Make unconditional expansion of undefined variables an error. This +# helps a lot in preventing typo-related bugs. +set -u + +usage_error () +{ + echo "$0: $*" >&2 + print_usage >&2 + exit 2 +} + +print_usage () +{ + cat <<END +Usage: + test-driver --test-name=NAME --log-file=PATH --trs-file=PATH + [--expect-failure={yes|no}] [--color-tests={yes|no}] + [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT +The '--test-name', '--log-file' and '--trs-file' options are mandatory. +END +} + +# TODO: better error handling in option parsing (in particular, ensure +# TODO: $log_file, $trs_file and $test_name are defined). +test_name= # Used for reporting. +log_file= # Where to save the output of the test script. +trs_file= # Where to save the metadata of the test run. +expect_failure=no +color_tests=no +enable_hard_errors=yes +while test $# -gt 0; do + case $1 in + --help) print_usage; exit $?;; + --version) echo "test-driver $scriptversion"; exit $?;; + --test-name) test_name=$2; shift;; + --log-file) log_file=$2; shift;; + --trs-file) trs_file=$2; shift;; + --color-tests) color_tests=$2; shift;; + --expect-failure) expect_failure=$2; shift;; + --enable-hard-errors) enable_hard_errors=$2; shift;; + --) shift; break;; + -*) usage_error "invalid option: '$1'";; + esac + shift +done + +if test $color_tests = yes; then + # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'. + red='[0;31m' # Red. + grn='[0;32m' # Green. + lgn='[1;32m' # Light green. + blu='[1;34m' # Blue. + mgn='[0;35m' # Magenta. + std='[m' # No color. +else + red= grn= lgn= blu= mgn= std= +fi + +do_exit='rm -f $log_file $trs_file; (exit $st); exit $st' +trap "st=129; $do_exit" 1 +trap "st=130; $do_exit" 2 +trap "st=141; $do_exit" 13 +trap "st=143; $do_exit" 15 + +# Test script is run here. +"$@" >$log_file 2>&1 +estatus=$? +if test $enable_hard_errors = no && test $estatus -eq 99; then + estatus=1 +fi + +case $estatus:$expect_failure in + 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; + 0:*) col=$grn res=PASS recheck=no gcopy=no;; + 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; + 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; + *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; + *:*) col=$red res=FAIL recheck=yes gcopy=yes;; +esac + +# Report outcome to console. +echo "${col}${res}${std}: $test_name" + +# Register the test result, and other relevant metadata. +echo ":test-result: $res" > $trs_file +echo ":global-test-result: $res" >> $trs_file +echo ":recheck: $recheck" >> $trs_file +echo ":copy-in-global-log: $gcopy" >> $trs_file + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: |